正当な理由または悪意のある目的で多くのボットがアプリケーションへのアクセスを試みるなか、どうすれば正当なボットの作業に影響を与えることなく悪質なボットをブロックできるのでしょうか。AppSec チームは、ボットが原因と思われるトラフィックスパイクを特定するためにログを注意深く監視することができますが、適切なツールを使用せずに、トラフィックが正当なボットと悪意のあるボットのどちらによるものかを判断するのは容易ではありません。さらに、巧妙なボットは人間のユーザー との見分けが困難なので、社内でボット管理を行おうとするとセキュリティ脆弱性を生み出しかねません。ボット管理ソフトウェアは、このような問題を解決するために登場しました。
レイヤー7を保護するセキュリティソフトウェアのひとつであるボット管理ソフトウェアを導入することで、組織は悪意のあるボットトラフィックからアプリケーションを守ることができます。組織はこのようなソフトが提供する「検出」、「緩和」、「モニタリング」の機能を利用してデジタルアセットを保護し、セキュアなオンライン環境を維持できます。
ボット検出は、Webサイト上でボットと人間のユーザーを見分け、検出されたボットのアクティビティが正当か悪質かを見極めるプロセスを意味します。ボット管理ソフトウェアにとって、これは最も困難な機能です。巧妙なボットは、人間のトラフィックとほぼ同じように見せかけることができるためです。ボット管理ソフトウェアは、以下のさまざまな検出メソッドを採用してボットを検出します。
ボット管理ソフトウェアでは、さまざまな検出メソッドが使用されています。その中には正当なトラフィックと悪意のあるトラフィックを識別できるものもあります。検出メソッドを個別に使用するとセキュリティギャップが生じる可能性があるので、通常はそれを避けるために複数のメソッドが一緒に使用されます。
CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart の略) は、自分が人間であることを証明するタスクをユーザーに提示するボット検出メソッドで、一般的に広く使用されています。通常ユーザーは、歪んだ文字を認識するタスクやパズルを完成させるタスク、特定の画像を選択するタスクなどの完了が求められます。人間のユーザーはこれらのタスクを簡単にこなせますが、単純なボットがこうしたテストで正確に答えて通過するのは困難です。
このメソッドでは、ユーザーの動作パターンを分析することで、人間のユーザーとボットを見分けます。具体的には、高速なページリクエストや均一のブラウジングパターン、異常なクリックパターンなど、ボットに見られがちな異常または疑わしいアクティビティを特定します。また、セッ ションの期間やマウスの動き、タイピング速度、ナビゲーションパターンなども動作分析では考慮されます。
IP 分析では、受信リクエストに関連付けられている IP アドレスのトラッキングと分析が行われます。悪意のあるアクティビティを実行することが知られている、またはボットらしき動作を行う疑わしい IP アドレスや IP アドレスの範囲を特定するのに役立ちます。このメソッドでは、疑いのある IP アドレスから送信されたリクエストをフラグまたはブロックするのに、IP レピュテーションのデータベースや拒否リストが使用されることがよくあります。
User-Agent 分析では、HTTP リクエストヘッダーに含まれる User-Agent 文字列を確認し、Webサイトまたはアプリケーションへのアク セスに使用されているクライアントソフトウェアまたはデバイスを判断します。ボットトラフィックに独特または特定可能な User-Agent パターンが存在する場合があり、検出システムは既知のボット User-Agent や、異常または疑わしい User-Agent から送信されたリクエストをフラグします。
機械学習や人工知能 (AI) の技術を利用し、ボットに関連付けられるパターンや特徴を認識するモデルをトレーニングします。このようなモデルは大量のデータから学習し、リクエストヘッダーやユーザーインタラクション、マウスの動き、ナビゲーションパターンなどの情報を組み合わせ、異常な動作やボットらしき動作を検出します。
デバイスフィンガープリントでは、ブラウザの属性、オペレーティングシステムの詳細、画面の解像度、インスト ールされたプラグイン、タイムゾーンの設定など、デバイス固有の情報の収集と分析が行われます。これらのデバイス固有の属性は、疑わしい、またはボット特有のデバイス設定を特定するのに役立ちます。
JavaScript チャレンジでは、クライアントサイドでの JavaScript コードの実行を求める追加のタスクまたは確認が行われます。最近の Web ブラウザのほとんどが JavaScript タスクに問題なく対処できますが、ボットの場合、JavaScript コードを正確に解釈して実行するのが困難な場合があります。
巧妙なボットは、これらの検出メソッドのひとつ、またはいくつかをくぐり抜けることができるかもしれませんが、組織の包括的なボット管理戦略の一部としてこれらのメソッドを組み合わせることで、自社のアプリケーションにアクセスする悪意のあるボットトラフィックの大半を検出できます。
ボットが検出されたら、次に必要なプロセスは「緩和」です。緩和とは、潜在的な攻撃を回避するために正常なトラフィックから悪意のあるボットをフィルタリングするプロセスを 意味します。これには、ボットトラフィックが送信される IP アドレスをすぐにブロックすることや、そのようなトラフィックをアプリケーションの別の部分に送信し、誤検知によって販売の機会や望ましいアクションが妨げられる状況を回避することが含まれます。ボット管理製品の大半で、レート制限やブロックの条件となるルールの組み合わせなど、細かなルールセットをボットトラフィックに適用できます。これにより、ブロックの決定による影響が正常なトラフィックに及ぶことがないという確信が得られるので、決定に対する自信が高まります。
モニタリングはボット管理の一環として、可観測性ツールを通じてアプリケーションにアクセスするボットに関するインサイトを得ることを意味します。このようなツールは、ボットトラフィックの詳細、ボットのトレンドや種類など、AppSec チームがトラフィックをより深く理解するのに役立つ包括的な情報を提供します。多くの場合、モニタリングを行うツールでブロック/許可リストやボットポリシーの適用など、さまざまなセキュリティ対策が実行されます。
ボット管理により、正当なボットをインテリジェントに特定して許可しながら、悪質なボットからアプリケーションを保護できます。ボット管理を通じて検出、緩和、モニタリングを行うことで、組織はアプリケーションのトラフィックに対するインサイトを得 ながらセキュアな環境を維持することが可能になります。
Fastly の Next-Gen WAF には、ボット管理機能が組み込まれているので、正当なボットを許可しつつ、アプリケーションを悪意のあるボットから保護できます。収入やユーザーエクスペリエンスに悪影響を及ぼす前に、悪質なボットによる Webサイトや API への攻撃を検出してブロックします。Next-Gen WAF とそのボット管理機能の詳細をご覧ください。