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

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

学習目的

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

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

記事のリンクをコピーする

ボット管理とは?

Bot management - group of bots

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

Bot management is necessary because bots, if left unchecked, can cause massive problems for web properties. Too much bot traffic can put a heavy load on web servers, slowing or denying service to legitimate users (sometimes this takes the form of a DDoS attack). Malicious bots can scrape or download content from a website, steal user credentials, rapidly spread spam content, and perform various other kinds of cyberattacks.

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

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

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

  • ボットと人間の訪問者を識別する
  • ボットのレピュテーションを識別する
  • ボットの配信元IPアドレスを識別し、IP Reputationに基づいてブロックする
  • ボットの挙動を分析する
  • 「良性」のボットを許可リストに追加する
  • Challenge potential bots via a CAPTCHA test, JavaScript injection, or other methods
  • Rate limit any potential bot over-using a service
  • 「悪意のある」ボットが特定のコンテンツやリソースにアクセスするのを禁止する
  • ボットに代替コンテンツを提供する

ボットとは?

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

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

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

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

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

Bots can do essentially any repetitive, non-creative task – anything that can be automated. They can interact with a webpage, fill out and submit forms, click on links, scan (or "crawl") text, and download content. Bots can "watch" videos, post comments, and post, like, or retweet on social media platforms. Some bots can even hold basic conversations with human users – these are known as chatbots.

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

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

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

A bot that performs a needed or helpful service can be considered "good." Customer service chatbots, search engine crawlers, and performance monitoring bots are all examples of good bots. Good bots typically look for and abide by the rules outlined in a website's robots.txt file.

robots.txtファイルとは?

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

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

To identify bots, bot managers may use JavaScript challenges (which determines whether or not a traditional web browser is being used) or CAPTCHA challenges. They may also determine which users are humans and which are bots by behavioral analysis – which means by comparing a user's behavior to the standard behavior of users in the past. Bot managers must have a large collection of quality behavioral data to check against in order to do the latter.

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

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

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

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

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

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

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

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

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