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

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

Share facebook icon linkedin icon twitter icon email icon

ボット管理

学習目的

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

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

ボット管理とは?

ボット管理とは、有用なボットがWebプロパティにアクセスすることを許可しながら、望ましくないあるいは悪意のあるインターネットのボットトラフィックをブロックすることを指します。ボット管理はそれを実現するために、ボット活動を検知して望ましいボットと不適切なボットの挙動を識別し、不適切な活動の出所を特定します。

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

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

ボットマネージャーとはボットを管理するあらゆるソフトウェア製品のことです。人間以外のトラフィックをすべてブロックするのではなく、ボットマネージャーは特定のボットをブロックし、その他のボットを許可する必要があります。たとえばすべてのボットをブロックしてしまうと、Googleのボット(Googlebot)がページにインデックスを付けられないので、Googleの検索結果にページが表示されなくなります。その結果、Webサイトへの有機的なトラフィックが大幅に減少してしまいます。

優れたボットマネージャーは次の機能を果たします。

  • ボットと人間の訪問者を識別する
  • ボットのレピュテーションを識別する
  • ボットのオリジンIPアドレスを識別し、IPレピュテーションに基づいてブロックする
  • ボットの挙動を分析する
  • 「良性」のボットをホワイトリストに登録する
  • 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リソースにアクセスできないようにブロックすることができます。

良性のボットは、ホワイトリスト、あるいは許可されたボットのリスト(ブラックリストの反対)に登録できます。さらに、ボットマネージャーは挙動解析によって悪性のボットを識別できます。

もう1つのボット管理アプローチは、robots.txtファイルを使用して罠をセットアップすることです。罠とは偽の目標のことで、このファイルにアクセスした場合は、悪意のあるボットとして識別します。ボットの場合、罠はrobots.txtファイルによってボットに禁止されたサイト上のWebページなどです。良性のボットはrobots.txtファイルを照合してそのWebページを回避しますが、悪性のボットはそのWebページをクローリングすることがあります。罠にアクセスしたボットのIPアドレスの追跡によって、悪性のボットを識別しブロックすることができます。

ボット管理はどんな種類のボット攻撃を緩和しますか?

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

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

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

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

Cloudflareは、1日当たりネットワークを通る何十億ものリクエストからデータを集める、ユニークな能力を持っています。このデータにより、Cloudflareはボット活動を機械学習と挙動解析から識別することができ、有効な良性ボットのホワイトリストと悪性ボットのブラックリストを作成するために必要なデータを提供することができます。Cloudflareには、広範囲なIPレピュテーションのデータベースもあります。Cloudflareのボット管理について詳しく学習します