高度化する悪性BotからWebアプリケーションを守るには?

3行でわかる本記事のサマリ

  • 悪性Botがもたらす被害として、買占め行為、不正アカウント作成などがあるが、それらがもたらす影響は直接的な被害だけでなく、ブランドイメージの低下などの間接被害もあるため、悪性Bot対策は重要である。
  • 従来はJavaScript、Cookie、CHAPCHA認証などを用いて悪性Bot対策を行ってきたが、それらを突破する高度な悪性Botが登場してきている。
  • 高度な悪性Botには専用ソリューションを活用することで、効果的な対策が可能になる。

はじめに

昨今、ECサイトやチケット販売サイトなどのWebアプリケーションに対して、買い占め行為やアカウント情報の不正取得などのビジネスに悪影響を与える悪性Botが増えてきています。このような悪性Botからの攻撃に対して、これまではアクセス制限やCAPTCHA認証などを用いて防ぐことができていましたが、検知を回避する高度な悪性Botが増えてきたことにより、従来のBot対策では限界が来ています。このブログでは、悪性Botがもたらす被害と、これまでの対策について取り上げるとともに、高度化する悪性Botへのセキュリティ対策について紹介します。

目次

  1. 悪性Botのもたらす被害
  2. 従来の悪性Bot対策と限界
  3. 高度化する悪性Botへの対策
  4. おわりに

1.悪性Botのもたらす被害

Botとは、事前に設定されたタスクを自動的に実行するためのプログラムのことです。Google Analyticsなどに使われるアクセス分析ツールやWeb監視サービスなどに利用されています。一方で、システムやビジネスそのものに脅威をもたらすBotを総称して悪性Botと呼びます。悪性Botの代表的な悪用例として以下のようなものがあります。

①買占め行為

チケットや限定品などを転売するために、Botを利用して買占めを実施

②不正目的でのアカウント作成

無料サービス枠やポイントの不正利用を行うために、Botを利用してアカウントを大量作成

③クレジットカード情報の不正試行

ダークウェブ等で不正に入手したクレジット情報の有効性を確認するために、Botを利用して支払いプロセスを自動で実行

このような悪性Botがもたらす被害は直接的な被害だけではありません。
例えば悪性Botによって買占め行為が行われると、一般消費者へ商品が渡らなくなり、それに伴ってブランドイメージが下がる可能性があります。他にも以下のような二次被害が発生する可能性があるため、悪性Bot対策が重要になってきます。

悪性Bot11.png

2.従来の悪性Bot対策と限界

従来の悪性Bot対策では、Webサイトへのアクセスを解析し、HTTPヘッダやフィンガープリント等の情報をもとにアクセス制御を行うことで悪性Botからの攻撃を防いできました。また、CAPTCHA認証を用いてユーザにテストを課し、テストを突破できないアクセス
や不正な挙動が確認できたアクセスをブロックすることで、一般のユーザのみがWebサイトにアクセスできるような対策を行ってきました。
しかし、正規のユーザになりすましてアクセスしてくる悪性Botや、CAPTCHA認証を回避する高度な悪性Bot等が現れてきたことにより、これまでの対策のみでは悪性Botからの被害を防げなくなってきています。
以下では、従来行ってきた悪性Bot対策とその課題について説明します。

HTTPヘッダによる検知

Linuxの標準コマンド(curlやwget)などを用いてHTTPリクエストを行った場合、 User-Agentヘッダの値に使用したライブラリの文字列とバージョンが含まれます。 ブラウザでアクセスした場合も同様にUser-Agentヘッダの値にブラウザの情報が格納されます。そのため、User-Agentヘッダの値から人かBotかの判断をすることができます。しかし、HTTPヘッダは簡単に偽装できるため、User-Agentヘッダをもとにしたアクセス制限だけでは、Bot対策としては不十分です。

JavaScript/Cookieを用いた検知

自動化されたスクリプトを実行する単純な悪性Botでは、JavaScriptの実行やWebサーバから送られてきたCookieを付与してのリクエスト実行ができません。そのため、クライアント側でJavaScriptの実行ができるか、またWebサーバから送信されたCookieを付与してアクセスできるかを観察することで、人かBotかの判断をすることができます。しかし、GUIを持たない「ヘッドレスブラウザ」を用いたり、Webサイトから送られてきたCookieを付与してリクエストを送るようにプログラムを作成したりすることで、これらのBot対策をかいくぐることができてしまいます。

フィンガープリントを用いた検知

フィンガープリントとは、アクセスしてきたユーザが使っているデバイスやブラウザの情報等、組み合わせてユーザを特定するための情報です。アクセスしてきたユーザの特徴的なパターンを識別することで、人かBotかの判断をすることができます。しかし、高度な悪性Botでは正規のユーザになりすましたり、Torなどの匿名プロキシを使用してアクセスしてきたりするため、フィンガープリントを用いた検知が回避されてしまいます。

CHAPCHA認証を用いた検知

クライアントに歪んだ文字列を提示し、フォームに入力させる文字認証や、特定の画像を選択させる画像認証などのユーザにテストを課して、合格できるかどうかで人かBotかを判断する方法があります。自動化されたBotではこのようなテストを突破出来ないため、有効なBot対策となります。ただし、CAPCTHA認証を導入することでユーザビリティが損なわれ、ユーザ離れにも繋がる可能性があります。
また、マウスの動きやクリックなど、ユーザ行動を模範することでCHAPCHA認証を回避する高度なBotも出現してきています。大量買占めやアカウント情報の不正取得を行っている悪性Botはこのような検知回避技術を持っていることがあり、上記で説明した従来の対策では限界を迎えてきています。

悪性Bot22.png

3.高度化する悪性Botへの対策

高度なBotから守るためには、高精度で人からのアクセスかBotからのアクセスかを判定する仕組みが求められます。しかしながら、前項で説明した対策やIP制限など自前の対策を講じてみても、結果としてBot開発がより進み、攻撃者とWeb管理者の間でいたちごっこ状態となってしまっています。このような中で、独自にBot対策を行うのは限界があると言わざるをえません。

そのため、悪性Botのトレンドを追いかけている専門ベンダによる解析、対策を行う事が最も有効な手段となります。
マクニカでは高度な悪性Bot対策ソリューションとして、Imperva社が提供しているCloud 
WAFのAdvanced Bot Protection(ABP)を取り扱っています。ABPはワールドワイドのクライアントの様々なメトリックを収集・分析することで、クライアントタイプを高精度に識別し、細かなアクセス制御を提供しています。また、URLパス単位でのポリシー設定が可能なため、ログインページのみ厳格な遮断を行いたいといった要件や、スモールスタートで導入したいといった要件を満たすといった、柔軟な対応が可能です。
 

悪性Bot33.png

4.おわりに

今回のブログでは、悪性Botがもたらす被害を切り口に、従来の対策を突破する高度な悪性Botへの対策として、悪性Bot専用ソリューションの必要性について解説してきました。
しかしWebセキュリティでは悪性Bot対策以外にも、Webアプリケーションの脆弱性を狙う攻撃やWeb API保護など、広範囲なセキュリティ対策が必要となります。

弊社では、様々なWebセキュリティの脅威や対策に関する情報発信を行っております。弊社の知見をもとに、皆さまのビジネスをサポートできればと考えておりますので、何かございましたらお気軽にご相談ください。

▼お問い合わせ窓口
お問い合わせはこちら2.JPG

▼資料ダウンロード
資料のダウンロードはこちら.png

メルマガ登録バナー(セキュリティ).jpg

ランキング