エージェントが動くインターネットで、「良い振る舞い」と「悪い振る舞い」を見極める

Jin-Hee LeeMarina Elmore

14分で読了

この記事は以下でも利用可能です EnglishDeutschEspañolEspañol (Latinoamérica)FrançaisItaliano한국어繁體中文简体中文.

長い間、Webセキュリティの世界では「ボットからのトラフィックは悪いもので、人間からのトラフィックは良いものである」という一方向の考え方が一般的でしたが、現在では、このような単純な考えは通用しません。人間が不正を働くこともあれば、ボットがさまざまな形で役に立つこともあります。インターネットを便利で検索しやすいものにするため、サイト運営者が一部の自動トラフィックによるサイトへのアクセスを積極的に受け入れたいと考える場合もあります。

さらに話を複雑にしているのが、「人間」と「ボット」の境界がますます曖昧になっていることです。現在では、1回のセッションの中で、操作の主体が人間からエージェントへ、そして再び人間へと切り替わる「ハイブリッド」なトラフィックも存在します。(たとえば、ユーザーがオンラインストアで商品を探し、購入手続きは自動ショッピングアシスタントに任せるようなケースです)。

では、Webサイトの運営者は、このような複雑な状況にどう対応すればよいのでしょうか。ここで重要なのは、振る舞いを評価することです。この振る舞いは迷惑行為や不正行為に該当するものなのか、どの程度のリスクがあるのか、その行動から判断してこの訪問者を信頼できるのか。このような信頼性を評価するには従来の一時的なある特定の時点を観測するものでは不十分で、継続的な振る舞いを分析した結果で判定する必要があります。

この記事では、ボットや不正行為の問題に取り組むWeb Integrity & Trustチームが、「良い振る舞い」と「悪い振る舞い」をどのような戦略で検出・分析しているのか、その舞台裏をご紹介します。また、変化し続ける「エージェント型インターネット」で生まれる新たな課題にサイト運営者が対応できるよう、役立つツールについても解説します。さらに、Precursorの提供開始後に得られたAIエージェントによるトラフィックに関する知見や、自分のカーソル操作が人間とボットのどちらと判定されるかを確認できるシミュレーションをご紹介します。加えて、近いうちに予定されている注目のリリース情報もお伝えします。

リスクと信頼の定義

まず、Cloudflareでボット検出に取り組むチームが考える、リスク信頼の違いについて説明します。この2つは、同じ尺度の両極にある正反対の概念と見なされることがよくあります。しかしCloudflareでは、互いに独立しながらも影響し合う指標として捉えています。トラフィックにどう対処するかを適切に判断するうえで、信頼は欠かせない要素です。 

リスクとは、Webに対して行われるリクエストや行動などがどの程度害を及ぼすものであるかを判断するもので、その多くは一時的なものです。一方、信頼は評判に基づき、時間をかけて積み重ねていくものです。

これを日常生活の例で説明しましょう。夜、自宅でテレビを楽しんでいると、突然、玄関のチャイムが何度も鳴らされたとします。迷惑なだけでなく、奇妙な行動でもあります。夜遅くにチャイムを立て続けに鳴らされたら、不安を感じるでしょう。

ドアカメラで確認すると、チャイムを鳴らしているのは隣に住む親友でした。当然、あなたは親友を信頼しているので、おそらく家に招き入れるでしょう。

この例では、「夜にチャイムを鳴らす人は全員拒否する」や「チャイムを10回以上鳴らす人は全員拒否する」といったルールだけでは、適切に判断できません。ここでも、信頼が欠かせない要素となります。

インターネット上のトラフィックに話を戻すと、Cloudflareはボット対策および不正対策の製品を開発するにあたり、信頼を基盤とするエコシステム全体の構築を重視しています。そして、すべての人にとってインターネットをより安全にする行動をサイト運営者が促せるよう、そのための動機付けや基盤となる仕組みを提供することを目指しています。悪意のある活動を確実にブロックすることから始め、最終的には、より安全なインターネットづくりへの参加を促していきます。

上から下に信頼性高→低。右の列はサイト所有者の一般的な対処方法です。
上から下に信頼性高→低。右の列はサイト所有者の一般的な対処方法です。

透明性に根ざした良い振る舞い

まずは最も望ましいものから見ていきましょう。何をもって「良い振る舞い」と判断するのでしょうか。その明確な例は、BotBaseに登録されている検証済みのボットやエージェントに見ることができます。先月、Cloudflareは、システム上で追跡している良いボットについて、より実用的な分類方法に更新したことを発表しました。その中で「検証済み」の条件を、1)自分が何者であるかを正直に申告すること、2)獲得した信頼を悪用しないこと、の2つに整理しています。 

サイト運営者とボット運営者が透明性を持って隠し事なくつながることができれば、双方にメリットのある関係を築くことができます。サイト運営者は、Webサイト上で許可する振る舞いやデータの利用方法を明示でき、ボット運営者は、より容易にアクセス許可を得られるようになります。この透明性があれば両者の関係に信頼が生まれます。やましいことが無ければ自分が何者であるかを明らかにすることで、その振る舞いを許可したいサイトから、よりスムーズにアクセスを認めてもらえるはずです。

BotBaseは、単に「どれが良いボットか」を教えてくれるためのものではありません。既知のボットやエージェントを幅広く登録し、それぞれについて確認された情報を提供するディレクトリです。良いボットだけを掲載していた従来のBots Directoryとは異なり、BotBaseでは、好ましくない振る舞いをするボットやエージェントも追跡できます。Cloudflareのシステムは、いったん信頼できると確認されたボットやエージェントについても、その後の振る舞いを継続的に追跡・検証しています。そのため、期待される振る舞いをしなくなった場合には、それを検知できます。Cloudflareネットワーク上で信頼を悪用したボットやエージェントに、簡単にアクセスを許可すべきではありません。そのようなボットやエージェントは、検証済みの対象から外されます。

悪い振る舞い:あからさまなものから巧妙なものまで

数週間前、CloudflareはPrecursorを発表しました。これはクライアント側で継続的に動作するシステムで、ネットワーク上のシグナルだけでは見逃される可能性がある、わずかに人間らしくないボットトラフィックまで検出します。お客様がPrecursorを有効にすると、検出用のJavaScriptがCDNを通じて自動的に挿入されます。そのため、検出処理をどこで、どのように再実行すればよいかを、担当者がその都度確認する必要はありません。さらに、Precursorはユーザーの振る舞いを、セッション全体を通じて継続的に評価します。これにより、クライアント側やブラウザ側のチェックを一度だけ通過する方法を見つけた悪質なトラフィックが、その後も無条件に許可され続けることはなくなります。

Cloudflareの「リスク」と「信頼」の考え方をクライアント側の検出に当てはめると、CAPTCHAや一度限りのチェックはリスクに基づく仕組みであり、判断に必要な前後の状況が不足しているといえます。一方、振る舞いに表れる特徴を利用した検証は、ユーザーのセッション全体からより多くの手掛かりを得られるため、信頼に基づく仕組みです。Precursorは、こうした振る舞いを分析するためのツールです。つまり、Precursorが強力なのは、次のことができるからです:

  1. ユーザーのセッション全体を通じて、信頼に基づく検出を行う。
  2. 複数のページにわたって人間の振る舞いを再現しなければならないようにすることで、ボット開発者の負担を増大させる。

ボット開発者がこうした検出を回避し続けるほど経済的に割に合わなくなる仕組みを作ることで、Cloudflareは攻撃者とのせめぎ合いを優位に進めることができます。

では、Precursorの提供開始後、どのようなことが分かったのでしょうか。この記事の執筆時点におけるわずか24時間分のデータを見ると、Cloudflareネットワーク上の73,438個のゾーンで、2億600万件のPrecursor評価イベントが記録されています。

24時間におけるPrecursorの使用状況を示す統計画面。
24時間におけるPrecursorの使用状況を示す統計画面。

これらのデータからは、検出機能の提供開始時に予想していたことを裏付けるパターンが確認できました。現在では、その傾向を数万ものドメインにわたって検証できます。

  • 不審な振る舞いはセッションの途中で発生することが多く、特定の時点だけを調べる検出方法では捉えられません。
  • セッション中に、操作の主体が人間からAIエージェントへ、さらにAIエージェントから人間へと切り替わることも少なくありません。このような場合、サイト運営者が本来許可したい一連の操作までブロックしないよう、そのトラフィックの意図を理解することが重要です。
    • これは、Webサイトの運営者が用途、目的、データの利用方法に応じてトラフィックを処理できる、ボット分類システムの重要性を示しています。CloudflareがBotBaseの分類方法の更新を優先したのは、まさにこのためです。

Precursorの実際の仕組みを詳しく知りたい方に向けて、発表時のブログ記事では、その一端をご紹介しました。分析対象となるシグナルから、「間違えることこそ人間らしさである」と分かった経緯を説明しています。今回はさらに一歩進み、Precursorがカーソルの動きをどのように追跡するのかを体験できる、インタラクティブなデモをインターネット上の誰もが利用できるようにしました

Precursorがカーソルの動きを評価している画面。
Precursorがカーソルの動きを評価している画面。

Precursor Traceが公開されました。このデモでは、Precursorの検出メカニズムの一部を使い、自分のカーソル操作がどのように評価されるかを確認できます。カーソルを動かす速度に変化があったり、途中で軌道修正したり、どのようなリズムや特徴があるかなど、実際にコンピューターを操作する人間であっても、普段はおそらく意識していないさまざまな要素を見ることができます。ぜひお試しください。

Adaptive Intelligenceが近日登場

Cloudflareのボット検出エンジンでは、リクエストが自動化されたものかどうかを評価し、複数の判定結果を出すことができます。自動化されたリクエストと判断された場合、その判定は、1)実証済みの決定論的な検出方法やボット固有のフィンガープリントに基づく「間違いなく自動化されている」、または 2)CloudflareのBots MLによる予測スコアに基づく「自動化されている可能性が高い」という2つに分けられます。

これまで、Bots MLはバージョン単位で更新され、新しいモデルのバージョンが登場するたびに、新製品として発表されてきました。しかし、ボットが数時間、場合によっては数分という速さで適応していく状況では、この更新ペースでは対応できません。

まったく新しい検出エンジンであるAdaptive Intelligenceは、CloudflareがBots MLの分野でこれまで開発してきたものとは大きく異なります。モデル自体が変化に適応します。これまでに観測したあらゆるデータから学習しているだけでなく、今後も新たに観測する情報に基づいて学習を続け、自ら調整していきます。Adaptive Intelligenceは、良い振る舞いから悪い振る舞いまで、Cloudflareが特定した幅広いトラフィックパターンに基づいて自らを更新します。そのため、お客様は正式な新モデルがリリースされるたびにアップグレードしなくても、常に最新のボット予測検出を利用できるようになります。 

近日中に、Bot Managementをご利用のすべてのお客様がAdaptive Intelligenceを利用できるようになります。間もなく公開されるリリース発表を楽しみにお待ちください。

決定論的な手法を超え、ボットの振る舞いに働きかける

ここまでは、Cloudflare側の戦略、検出、分類方法を中心に説明してきました。これらはすべて、Webサイトの運営者が自分のサイトに適したトラフィックポリシーを設定できるよう、必要なツールを提供するためのものです。ここからはサイト運営者側に焦点を移し、サイト運営者自身がボットの振る舞いに働きかけるための高度な対策について説明します。

あからさまな対策手法には、Cloudflareが「ボットの抗生物質問題」と呼んでいる課題があります。ボットに対して常に決まった応答(403によるブロックなど)を返していると、悪意のあるボット開発者は防御の仕組みを探り、その反応を観察して、簡単にリバースエンジニアリングできてしまいます。

Cloudflareはこの問題を認識しているため、ボットの動きを抑制することに特化した対策を設計しています。また、悪意のあるボットと無害なボットには、それぞれ異なる方法で対応します。具体的には、次の3つのアプローチがあります:

アプローチ1:予測不能性とランダムな処理。自動化されている疑いのあるトラフィックに対し、ブロック、チャレンジ、許可のいずれかをランダムに適用します。これにより、ボットによる自動再試行のロジックやフィンガープリントの特定を困難にします。

アプローチ2:AI Labyrinth。これは、許可されていないボットをAIが生成したWebページの終わりのない迷路に誘い込む防御手法です。偽の方向へ誘導することで、悪意のあるボットのコンピューティングリソースやクロールに使える処理量を浪費させます。サイト運営者は、目的に応じてAI Labyrinthの次の3つのオプションを選択できます。

  • Maze:リンクでつながったページを無限に生成し、ボットに巡回させます。
  • Summary:一見本物らしく見えても、AIの学習データとしてはまったく役に立たない、LLM生成のページ要約をクローラーに提供します。
  • Poison:偽の価格や在庫情報など、意図的に作成した偽コンテンツをボットに提供し、AI学習用に収集するデータへ誤った情報を混入させます。

アプローチ3:良いボットのキューイング。エージェントによるトラフィックが、すべて悪いわけではありません。キューイングでは、ユーザーの指示で動くショッピングエージェントなど、正当な自動トラフィックを完全に拒否することなく、処理量を調整します。

こうしたボットに特化した高度な対策は、年末に近い時期から順次提供を開始する予定です。サイト運営者は、対策をどの程度厳しくするかを選択できるようになります。

また、優れた防御とは、問題が起きる前に先を予測できるものだとCloudflareは考えています。つまり、最新の巧妙な攻撃が発生するたびに、複数のセキュリティ専門家が集まって事後的に対策を設定する必要がなく、自ら学習して軌道修正できる防御です。その一例として、動的に入れ替わる「使い捨て」のルールで構成されたシステムが考えられます。このようにルールセットが常に変化するのは、意図的な設計です。攻撃が絶えず進化するのであれば、防御も同じように進化しなければなりません。そのためCloudflareは、検出と対策の両方で常に一歩先を行けるよう取り組んでいます。

自分に合った信頼のエコシステムを構築する

誰もが、自分のインフラに自動エージェントをどのようにアクセスさせるかを決め、そのための対策を講じることができます。 

まずは、次の機能をお試しください:

特定の時点だけを調べる静的なチェックから、継続的に信頼を評価する仕組みへ移行することで、次々に現れるボット運営者への場当たり的な対応を減らすことができます。Cloudflareのボット検出をまだ利用していない方は、ぜひその機能を確認し、自分に合った信頼のエコシステムを構築してください。

BLOG-3467 5.png