高度化する悪性BotからWebアプリケーションを守るには?
3行でわかる本記事のサマリ
- 悪性ボットがもたらす被害は、買占め行為、不正アカウント作成などがあり、それらは直接的な被害だけでなく、ブランドイメージの低下などの間接被害もあるため、悪性ボット対策がWebアプリケーションの保護に重要となってくる。
- 正規ユーザに偽装してアクセスしてくる高度なボットが増加しており、従来のJavaScript、Cookie、CHAPCHA認証などを用いて悪性ボット対策での保護が困難になってきている。
- 年々進化する高度な悪性ボットには、専用ソリューションを活用することで、効果的な対策を実現できる。
はじめに
昨今、ECサイトやチケット販売サイトなどのWebアプリケーションに対して、買い占め行為やアカウント情報の不正取得などのビジネスに悪影響を与える悪性ボット(Bad Bot)が増えてきています。このような悪性ボットからの攻撃に対して、これまではアクセス制限やCAPTCHA認証などを用いて防ぐことができていましたが、検知を回避する高度な悪性ボットが増えてきたことにより、従来のボット対策では限界が来ています。
このブログでは、悪性ボットがもたらす被害と、これまでの対策について取り上げるとともに、高度化する悪性ボットへのセキュリティ対策について紹介します。
目次
- 悪性ボットがもたらす被害
- 悪性ボットを取り巻く現状とボット対策の限界
- 高度化する悪性ボットへの対策
- おわりに
1.悪性ボットがもたらす被害
悪性ボットの代表的な悪用例について簡単に紹介します。
①買占め行為
チケットや限定品などを転売するために、Botを利用して買占めを実施
②不正目的でのアカウント作成
無料サービス枠やポイントの不正利用を行うために、Botを利用してアカウントを大量作成
③クレジットカード情報の不正試行
ダークウェブ等で不正に入手したクレジット情報の有効性を確認するために、Botを利用して支払いプロセスを自動で実行
このような悪性ボットがもたらす被害は直接的な被害だけではありません。
例えば悪性ボットによって買占め行為が行われると、一般消費者へ商品が渡らなくなり、それに伴って「ブランドイメージの低下」「クレーム対応の人的コスト増加」を引き起こす恐れがあります。他にも以下のような二次被害が発生する可能性があるため、悪性ボット対策が重要です。
2.悪性ボットを取り巻く現状とボット対策の限界
【悪性ボットの割合は年々増加している】
昨今では、攻撃ツールや生成AIモデルの普及によって、スキルを持たない攻撃者でも高度なボット攻撃を行うことが可能となり、悪性ボットの割合が年々上昇しています。
Imperva社のレポート(※参考1)によれば、2023年の全インターネットトラフィックのうち、32%が悪性ボットによるものだと示しています。
【悪性ボットの高度化】
これまでの悪性ボット対策では、「アクセス制御」や「CAPTCHA認証」等を用いて、悪性ボットからの通信をブロックしていました。しかし、悪性ボットは高度化し「正規のユーザになりました悪性ボット」や「CAPTCHA認証を回避する高度な悪性ボット」等が現れ、これまでの対策のみでは悪性ボットからの被害を防げなくなってきているのが現状です。
以下に、従来の悪性ボット対策と現状の課題を説明します。
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はこのような検知回避技術を持っていることがあり、上記で説明した従来の対策では限界を迎えてきています。
3.高度化する悪性Botへの対策
これまで説明した通り、悪性ボットは、正規ユーザに偽装してアクセスしてくるため、人とボットを判別することが困難となってきております。高度なボットからWebアプリケーションを守るためには「人とボットを高精度で判定する仕組み」が求められます。しかしながら、前項で説明した対策やIP制限など自前の対策を講じてみても、結果としてボット開発がより進み、攻撃者とWeb管理者の間でいたちごっこ状態となってしまっています。このような中で、独自にボット対策を行うのは限界があると言わざるをえません。
そのため、悪性ボットのトレンドを追いかけている専門ベンダによる解析、対策を行う事が最も有効な手段となります。
マクニカでは高度な悪性ボット対策ソリューションとして、Imperva社が提供しているCloud WAFのAdvanced Bot Protection(以下ABP)を取り扱っています。ABPはワールドワイドのクライアントの様々なメトリックを収集・分析することで、クライアントタイプを高精度に識別し、細かなアクセス制御を提供しています。また、URLパス単位でのポリシー設定が可能なため、ログインページのみ厳格な遮断を行いたいといった要件や、スモールスタートで導入したいといった要件を満たすといった、柔軟な対応が可能です。
4.おわりに
今回のブログでは、悪性ボットがもたらす被害を切り口に、従来の対策を突破する高度な悪性ボットへの対策として、悪性ボット専用ソリューションの必要性について解説してきましたが、その他にも近年ではAPIの利用拡大に伴い、悪性ボットによるAPIのビジネスロジックを狙った攻撃も急増してきています。
また、悪性ボットはWebアプリケーションを標的とした分散型サービス拒否(DDoS)攻撃に利用されることもあります。
これまでのWebアプリケーションへの対策といえば、Web Application Firewall(WAF)が一般的でしたが、これらの攻撃をWAFのみで全て防御することが難しくなってきています。
このような環境の変化に伴って、現在ではWAAPでWebアプリケーションを守っていることが求められています。
弊社では、様々なWebセキュリティの脅威や対策に関する情報発信を行っております。弊社の知見をもとに、皆さまのビジネスをサポートできればと考えておりますので、何かございましたらお気軽にご相談ください。