ボット管理とは? | ボットマネージャーの仕組み

ボット管理ではWebサイトやアプリケーションで、いくつかのボットを識別し、ブロックしながら、その他ボットへのアクセスは許可することを必要とします。

Share facebook icon linkedin icon twitter icon email icon

ボット管理

学習目的

この記事を読み終えると、以下のことができます。

  • ボットが何を行うか、ボットを管理する必要がある理由を理解する
  • ボットマネージャー製品が何を行うか知る
  • 許可すべきボットとブロックすべきボットがある理由を知る

ボット管理とは?

ボット管理は、不要な、または悪意のあるインターネットボットトラフィックをブロックし、有用なボットがWebプロパティにアクセスできるようにすることです。ボット管理は、ボットのアクティビティを検出し、ボットの望ましい挙動と望ましくない挙動を識別し、望ましくないアクティビティの原因を特定することでこれを実現します。

ボットを防止しないとWebプロパティで重大な問題が発生する可能性があるため、ボット管理は必須です。大量のボットトラフィックがWebサーバーに過負荷を掛けると、正当なユーザーに対するサービスの遅延や停止を引き起こします(DDoS攻撃の形をとることがあります)。悪意のあるボットは、Webサイトのコンテンツのスクレイピングやダウンロード、ユーザー資格情報の盗難、急速なスパムの拡散、そのほかのさまざまなサイバー攻撃などを行うことがあります。

ボットマネージャーは何を行いますか?

ボットマネージャーは、ボットを管理するすべてのソフトウェア製品です。ボットマネージャーは、人間以外のトラフィックをすべてブロックするのではなく、一部のボットをブロックし、他のボットを許可できなければなりません。たとえば、すべてのボットがブロックされ、Googleボットがページのインデックスを作成できない場合、そのページはGoogle検索結果に表示されず、Webサイトへのオーガニックトラフィックが大幅に減少します。

優れたボットマネージャーは、次の目標を達成します:

  • ボットと人間の訪問者を識別する
  • ボットのレピュテーションを識別する
  • ボットの配信元IPアドレスを識別し、IP Reputationに基づいてブロックする
  • ボットの挙動を分析する
  • 「良性」のボットを許可リストに追加する
  • CAPTCHAテスト、JavaScriptインジェクション、その他の方法による課題を課して潜在的なボットを検証する
  • サービスを過剰に使用する可能性のあるボットのレート制限
  • 「悪意のある」ボットが特定のコンテンツやリソースにアクセスするのを禁止する
  • ボットに代替コンテンツを提供する

ボットとは?

ボットは、ネットワーク上で動作するコンピュータープログラムです。ボットは、特定のアクションを自動的に実行するようにプログラムされています。通常、ボットが実行するタスクはかなり単純ですが、ボットは人間よりもはるかに高速で何度でも実行できます。

たとえば、Googleはボットを使用してWebページを絶えずクロールし、検索用にコンテンツのインデックス付けを行います。人間のチームがインターネット全体に広がるコンテンツを確認するには天文学的な時間がかかりますが、GoogleのボットはGoogleの検索インデックスを最新に保つことができます。

ネガティブな例として、スパマーはメール収集ボットを使用して、インターネット全体からメールアドレスを収集します。ボットはWebページをクロールし、メールアドレス形式(テキスト+ @シンボル+ドメイン)のテキストを探してそのテキストをデータベースに保存します。当然、人間もWebページでメールアドレスを探すことができますが、これらのメール収集ボットは自動化され、特定のパラメーターに適合するテキストのみを検索するため、メールアドレスの特定が飛躍的に速くなります。

人間のユーザーがインターネットにアクセスする場合とは異なり、通常、ボットはGoogle ChromeやMozilla Firefoxのような従来のWebブラウザを介してインターネットに接続しません。マウス(あるいはスマートフォン)を操作してブラウザに表示される視覚的コンテンツをクリックする代わりに、ボットは単にHTTPリクエスト(およびそのほかの活動)をするソフトウェアプログラムであり、多くの場合「ヘッドレスブラウザ」と呼ばれるブラウザを使用します。

ボットは何を行いますか?

ボットは、基本的に、反復的で非創造的なタスク(自動化できるものなら何でも)を実行できます。Webページとやり取りし、フォームに入力して送信し、リンクをクリックし、テキストをスキャン(「クロール」と呼ばれます)し、コンテンツをダウンロードできます。ボットは、ビデオを「視聴」し、コメントを投稿し、ソーシャルメディアプラットフォームに投稿、いいね、またはリツイートすることができます。一部のボットは、人間のユーザーとの基本的な会話を行うこともできます。これらはチャットボットとして知られています。

正当なボットと悪意のあるボットとの違いとは?

驚くべきことに、多くのソースは、すべてのインターネットトラフィックのおよそ半分がボットトラフィックであると推定しています。すべてではなく、一部のソフトウェアがマルウェアであるのと同様に、一部のボットは悪意のあるもので、そしていくつかは、「正当な」ものです。

オンラインの製品またはサービスを悪用するボットは、「悪意のあるもの」とみなすことができます。悪意のあるボットは、ユーザーアカウントに侵入しようとするボットなどの露骨に悪意のあるものから、イベントWebサイトでチケットを買い占めるボットなどのより軽度のリソースの不正使用までさまざまです。

必要なサービスまたは有用なサービスを実行するボットは「正当」であると見なすことができます。カスタマーサービスチャットボット、検索エンジンクローラー、パフォーマンスモニタリングボットはすべて、正当なボットの例です。正当なボットは、Webサイトのrobots.txtファイルで概説されているルールを探して順守します。

robots.txtファイルとは?

Robots.txtは、そのサーバーのプロパティにアクセスするボットのルールを概説するWebサーバー上のファイルです。ただし、ファイル自体はこれらの規則を強制しません。基本的に、ボットをプログラムする人は自主的に、Webサイトにアクセスする前にボットがWebサイトのrobots.txtファイルをチェックするようにすることを期待されます。もちろん、悪意のあるボットは通常、このシステムには従いません。そのため、ボット管理が必要です。

ボット管理の仕組みとは?

ボットを識別するために、ボットマネージャーはJavaScriptチャレンジ(従来のWebブラウザが使用されているかどうかを決定します)またはCAPTCHAチャレンジを使用できます。また、行動分析–ユーザーの行動を過去のユーザーの標準的挙動と比較することによって、どのユーザーが人間であり、どのユーザーがボットであるかを判断することもあります。後者を実施するためには、ボットマネージャーは、基準とするための質の高い挙動データを大量に所有している必要があります。

悪意のあるボットだと判明した場合、異なるページに転送するか、あるいはWebリソースにアクセスできないようにブロックすることができます。

良性のボットは許可リスト、つまり許可されたボットのリスト(ブロックリストの反対)に追加できます。また、ボットマネージャーは挙動解析を通じて良性のボットと悪性のボットを区別できます。

別のボット管理アプローチは、robots.txtファイルを使用してハニーポットをセットアップすることです。ハニーポットは、悪意のある行為者向けの偽の標的であり、アクセスされると悪意のある行為者を悪意のあるものとして暴露します。ボットの場合、robots.txtファイルによってボットが禁止されているサイトのWebページがハニーポットになりえます。正当なボットはrobots.txtファイルを読み取り、そのWebページを回避しますが、一部の悪意のあるボットはそのWebページをクロールします。ハニーポットにアクセスするボットのIPアドレスを追跡することにより、悪意のあるボットを特定してブロックできます。

ボット管理によりどのような種類のボット攻撃が軽減されますか?

ボット管理ソリューションは、さまざまな攻撃の阻止に役立ちます。

次のようなその他のボット活動は必ずしも「悪意のある」ものとは限りませんが、ボットマネージャーはそれらを軽減できなければなりません。

  • 在庫溜め込み
  • ソーシャルフォーラムまたはプラットフォームへの自動投稿
  • ショッピングカートスタッフィング

Cloudflareはボットをどのように管理するか?

Cloudflareは、1日にネットワークを通過する何十億ものリクエストからデータを集める、ユニークな能力を持っています。このデータにより、Cloudflareはボット活動を機械学習と挙動解析を用いて識別することができ、良性のボットの許可リストと悪性のボットのブロックリストを効果的に作成するために必要なデータを提供することができます。Cloudflareには、広範囲なIPレピュテーションのデータベースもあります。Cloudflare Bot Managementの詳細をご確認ください。