サイバー脅威・対策

ボット (Bot)

約 5 分で読めます

ボットとは

ボット (Bot) とは、人間の操作なしに自動的にタスクを実行するソフトウェアプログラムの総称です。「Robot」の短縮形に由来し、Web 上のトラフィックの約半数がボットによるものとされています。

ボットには検索エンジンのクローラーやカスタマーサポートのチャットボットのように有益なものと、スクレイピングや不正ログインに使われる悪意のあるものが存在します。Web サイト運営者にとって、良性ボットを受け入れつつ悪性ボットを排除することは、セキュリティとユーザー体験の両面で重要な課題です。

良性ボットの種類と役割

良性ボットはインターネットのインフラを支える重要な存在です。

  • 検索エンジンクローラー: Googlebot、Bingbot などが Web ページを巡回し、検索インデックスを構築する。robots.txt のルールに従い、サイト運営者が指定したクロール制限を尊重する。
  • チャットボット: カスタマーサポートや FAQ 対応を自動化する。自然言語処理を活用し、ユーザーの質問に即座に回答する。24 時間対応が可能で、人的コストを削減できる。
  • 監視ボット: Web サイトの稼働状況、レスポンス時間、SSL 証明書の有効期限などを定期的にチェックし、異常を検知した際にアラートを送信する。
  • フィードクローラー: RSS フィードやニュースサイトを巡回し、コンテンツの更新を収集する。ニュースアグリゲーターやソーシャルメディアのプレビュー生成に使用される。

良性ボットは通常、User-Agent ヘッダーで自身を正しく名乗り、robots.txt を遵守します。ただし、悪性ボットが良性ボットの User-Agent を偽装するケースもあるため、IP アドレスの逆引き DNS で正当性を検証する手法が用いられます。

悪性ボットの脅威

悪性ボットは多様な攻撃に利用され、Web サイトやサービスに深刻な被害をもたらします。

  • スクレイピングボット: 価格情報、コンテンツ、個人データなどを大量に自動収集する。EC サイトの価格を競合が監視する目的や、コンテンツの無断転載に悪用される。
  • クレデンシャルスタッフィング: 流出したアカウント情報のリストを使い、多数のサービスに自動ログインを試行する。パスワードの使い回しが被害を拡大させる主因。
  • スパムボット: コメント欄、問い合わせフォーム、SNS にスパムメッセージを大量投稿する。SEO スパム (不正なリンクの埋め込み) やフィッシングサイトへの誘導に使われる。
  • スニーカーボット / チケットボット: 限定商品やイベントチケットの発売と同時に大量購入し、転売で利益を得る。一般消費者が購入できなくなる社会問題を引き起こしている。
  • DDoS 攻撃ボット: ボットネットの一部として、標的サーバーに大量のリクエストを送信し、サービスを停止させる。

悪性ボットは年々高度化しており、ヘッドレスブラウザを使って人間のブラウジング行動を模倣するものや、CAPTCHA を機械学習で突破するものも登場しています。

ボット検出技術

悪性ボットを検出・排除するために、複数の技術が組み合わせて使用されます。

画像認識や簡単なパズルを通じて人間とボットを区別する。reCAPTCHA v3 はユーザーに操作を求めず、バックグラウンドで行動を分析してスコアリングする。ただし、CAPTCHA ファームや機械学習による突破が課題。
行動分析
マウスの動き、スクロールパターン、キー入力のリズム、ページ滞在時間などを分析し、人間らしい行動かどうかを判定する。ボットは直線的なマウス移動や一定間隔のクリックなど、機械的なパターンを示すことが多い。
レート制限
同一 IP アドレスや同一セッションからのリクエスト頻度を制限する。短時間に大量のリクエストを送信するボットを遮断する基本的な対策。WAF やリバースプロキシで実装される。
JavaScript チャレンジ
JavaScript の実行を要求し、実行できないシンプルなボットを排除する。ブラウザ環境の特徴 (DOM 構造、API の有無) を検証して、ヘッドレスブラウザの検出も行う。
デバイスフィンガープリント
ブラウザフィンガープリントの技術を応用し、同一デバイスからの大量アクセスを検出する。IP アドレスを変更しても、フィンガープリントが一致すれば同一ボットと判定できる。

単一の検出技術では高度なボットを完全に排除することは困難です。複数の技術を組み合わせた多層的なアプローチが効果的であり、Cloudflare Bot Management や AWS WAF Bot Control などのマネージドサービスがこの役割を担っています。

ボットネットとの関係

悪性ボットの多くは単独で動作するのではなく、ボットネットと呼ばれる大規模なネットワークの一部として機能します。ボットネットは、マルウェアに感染した数千から数百万台のデバイスで構成され、攻撃者の指令に従って一斉に動作します。

個々のボットは感染したデバイスの所有者に気づかれないよう設計されており、攻撃指令を受けたときだけ活動します。DDoS 攻撃、スパムメールの大量送信、クレデンシャルスタッフィングなど、大規模な攻撃の実行基盤として悪用されます。

Web サイト運営者の視点では、ボットネットからのアクセスは多数の異なる IP アドレスから分散して行われるため、単純な IP ベースのブロックでは対処が困難です。行動分析やデバイスフィンガープリントなど、IP アドレスに依存しない検出手法が重要になります。

よくある誤解

ボットはすべて悪意がある
Web トラフィックの約半数はボットですが、その多くは検索エンジンのクローラーや監視ボットなど、インターネットの正常な運用に不可欠な良性ボットです。良性ボットをブロックすると、検索エンジンにインデックスされなくなるなどの悪影響が生じます。
CAPTCHA を設置すればボット対策は万全
CAPTCHA は基本的な対策として有効ですが、CAPTCHA ファーム (人間が代行して解く) や機械学習による突破が可能です。高度なボットに対しては、行動分析、レート制限、デバイスフィンガープリントなど複数の技術を組み合わせた多層防御が必要です。
robots.txt でボットを完全にブロックできる
robots.txt はあくまで「お願い」であり、法的な強制力はありません。良性ボットは robots.txt を尊重しますが、悪性ボットは無視します。悪性ボットの排除には、WAF やレート制限などの技術的な対策が必要です。
共有する
B!

関連用語

関連記事