Cloudflareは、当初から、悪意のあるボットによるWebサイトのスクレイピングや、API悪用を阻止してきました。これまで当社のボット検出方法を改善し、正当なトラフィック(発送元が人間であってもアプリからであっても)悪意のあるボットと区別することができる大規模な機械学習モデルを展開してきました。また、検索エンジンによる有用なインデックス化などを検出するために、有益なボットの大規模なカタログも作成しました。

しかし、それだけでは十分ではありません。悪意のあるボットはインターネット上の問題であり続けます。そこで、当社は反撃することに決めました。今日から、お客様はCloudflareダッシュボードのファイアウォール設定で「ボットファイトモード」を有効にすることができます。

有効にすると、悪質ボットが検出されたときに、当社が次の 3 つを行います。(1) ボットのCPUをより多く使う計算機負荷の重い課題を課すなどのtarpittingを行うことでボットメーカーを経済的に妨害する。(2) Bandwidth Alliance のパートナーのために、ボットのIPをパートナーに渡し、ボットをオフラインにする。(3)ボットのカーボンコストを補うために木を植える。

悪意のあるボットは、正当なWebコンテンツ製作者やアプリケーションに損害を与え、リソースを悪用してホスティングプロバイダを傷つけるうえ、サーバーの電気代とボットとその犠牲者のクーリングを通じて地球を二重に傷つけます。

もう、たくさんです。当社の目標はもはやインターネット上で悪意のあるボットを実行できなくなるようにする以外にありません。当社の規模を持ってすれば、実現できるものと思っています。

Cloudflare がボットを検出する方法

Cloudflareの秘伝のたれ(あまり秘密ではないですね)は、当社の規模の大きさです。 当社は現在、ごく小規模の個人的Webサイトから人気のアプリや IoTデバイスのバックエンドAPI、そしてインターネット上で最もよく知られている名前(Fortune 1000 の10% を含む)に至るまで、2,000万を超えるインターネットプロパティのトラフィックを処理しています。

この規模だからこそ、膨大かつ多様なトラフィックを見て、インターネット動作の大規模な機械学習モデルを構築できるという大きな利点につながるのです。規模と多様性により、新しいルールやモデルについて迅速かつ簡単にテストが行えます。

ボット検出は、大きく次の 4 つに分けられます。

  • よく知られている正当なボットの識別、
  • どれだけシンプルなボットであっても、そのために書かれ、日常的に使われるルール、
  • 過去のトラフィックに基づいてボットの動作を検出し、それらをブロックする当社のBot Activity Detector モデル、
  • HTTPユーザーエージェントが本来の内容であるかどうかを判断するTrusted Clientモデル。

さらに、CloudflareのDDoS軽減システムGatebotは、DDoSボットをフィンガープリントし、パケットレベルでトラフィックを阻止します。Gatebot以外にも、お客様は当社のファイアウォールのルールにアクセスでき、非常に特定された攻撃タイプを阻止するための詳細なルールを作成できます。

別のモデルでは、IPアドレスが、VPNエンドポイント、家庭向けのブロードバンド加入者、NATを使用する会社、ホスティングプロバイダまたはクラウドプロバイダのうち誰のものかを判断できます。「Bot Cleanup(ボットの一掃)」がターゲットとするのは、この最後のグループです。

現在、Cloudflareは1日あたり30億件を超えるボットリクエストを処理しています。このボットの一部が酷い目に遭うことになります。

Cloudflareがボットと戦う方法

ボット攻撃を開始するコストは、攻撃を支えるCPU時間の経費からなります。当社のモデルで、トラフィックがボットから来ていることがわかり、ボットがホスティングプロバイダまたはクラウドプロバイダにある場合は、CPUを集中的に使用するコードを展開して、ボット作成者により多くのCPUを使わせて、速度を落とします。攻撃者がより多くの CPU を使用することを余儀なくさせ、攻撃中のコストを上げて、将来の攻撃を阻止します。

これは、悪意のあるボットを実行することの経済性を崩すため、ネットワーク全体に展開している、いわゆる「tarpitting」技術の1つです。悪意のあるボットの運用者に警告です。CloudflareのIPスペースの背後にあるリソースをターゲットにすると、無駄骨を折ることになります。

悪意のあるボットをひきつけている1分間、そのボットはインターネット全体に損害を与えないことになります。これは、お客様だけでなく、現在オンラインで悪意のあるボットによる被害を受けているすべての人を保護することを意味します。Cloudflareのバースデーウィークの精神はいつも、インターネット全体にお返しをすることであり、インターネットから悪意のあるボットをなくすよりもふさわしい贈り物はないと考えています。

ボットの時間を無駄にするだけでなく、ボットをシャットダウンさせたいと考えています。ボットをホストするインフラストラクチャープロバイダーがBandwidth Allianceの一部である場合は、ボットのIP アドレスを共有して、プロバイダーがボットを完全にシャットダウンできるようにします。Bandwidth Allianceは、パートナーとのトランジットコスト削減を可能にし、この立ち上げにより、正当なユーザーにとってインターネットをより安全なものにするために、パートナーと協力することができます。

概して、Bot Fight Modeについて話をした人は全員がいいアイディアだと思ってくれました。唯一耳にした反対意見は、短期的にボットにCPUを集中的に解決するよう強要し始めると、ボットが諦める前に、(長期的にはこれが避けられないことだ考えています)炭素排出量を上げることになるかもしれないということだけです。この排出量への対応として、これらのボットが使用する余分なCPUを見積もり、そのカーボンコストを計算し、埋め合わせとより良い未来を構築するために植樹することをお約束します。

植樹

気候変動への対処には、人や企業による多角的な努力が必要です。Cloudflare は今年始めに発表したとおり、グリーン電力証書(従来は北米事業対象)の購入を194都市のグローバルネットワーク全体に拡大しました。

植樹の量を把握するには、ボットをフル稼働させるときに使用される余分なCPUのコストを計算する必要があります。そのしくみは次の通りです。

悪質ボットが使用するかもしれないサーバーの種類(再生不可能なエネルギー源を使用したクラウドサーバー)に対して、450kg CO2/年 (https://www.goclimateneutral.org/blog/the-carbon-footprint-of-servers/ より)の数値を使用すると、CPUコアあたり約8kgのCO2/年が算出されます。ボットがCPUを稼働させる時間を測定できるので、反撃によって排出されるCO2の量を直接見積もることができます。

One Tree Plantedによると、成熟した木1本で約21g CO2/年を吸収することができます。したがって、大まかに言えば、1本の木で2.5CPUコア1年分のCO2を吸収できることになります。

木の成長には時間がかかり、気候変動の課題も規模が大きいので、当社はお金を払ってそれを上回る数の木を植えます。当社が計算の結果ボットとの闘いから排出されたCO2の量を相殺するために必要であると考える木1本につき、当社はOne Tree Plantedに$25を寄付し、25本の木を植えてもらいます。

そしてもちろん、悪質ボットのIPをBandwidth Allianceパートナーに渡して、ボットをシャットダウンし、ボットのカーボンコストを完全に取り除きます。従来、技術業界はEメールスパム送信者やDDoS攻撃請負サービスに対して、そうした努力を無駄にすることで、大きく打ち負かしてきました。当社は、悪意のあるボットを完全に打ち負かすための正しい戦略だと考えています。

ボットの被害を受けるのは誰か?

悪意のあるボットは、お客様のインフラストラクチャーに重大な損害を与える可能性があり、多くの場合お客様のユーザーエクスペリエンスに悪影響を与えます。

たとえば、新しいお客様がcredential stuffing攻撃を受けており、ユーザーのアカウントだけでなく、攻撃規模の大きさから、結果としてお客様のWebサイトの至る所で小規模なサービス拒否攻撃も引き起こしていました。

悪意のあるボットが、お客様が使う従来の脅威防止インフラストラクチャーを過負荷状態にしていたため、当社は攻撃対象となっているお客様として迅速にオンボーディングを開始しました。オンボーディングの一環として、正当なユーザーにトラフィックの影響を与えることなく、当社のBot Management 製品を使用して正確に攻撃を阻止できることを確認しました。

特に在庫買いだめボットの世界で私たちが見てきたもう一つの傾向は、ボットネットを使ったボット同士の組み合わせの増加です。ボットオペレーターは、支払い動機も意欲も非常に高いです。

ターゲットは、一般的に供給が限られていて需要と価値が高い商品です。スニーカー、コンサートのチケット、航空券、短期公演の人気ブロードウェイミュージカルなどを思い浮かべて下さい。小売店でこれらのアイテムを購入できるボットオペレーターは、アフターマーケットで高額なプレミアムを請求することができます。オペレーターは、Eコマース小売業者などのターゲットサイトと、発売予定のスニーカーなど特定のアイテムを識別すると、新規のサービスとしてのレジデンシャルプロキシ市場で時間を購入して、エンドユーザーのマシンと(比較的)クリーンなIPにアクセスができます。そして、そこから攻撃を開始します。

次に、高度な技術とトリガを活用して、非常に広範なオプションと組み合わせを通じて攻撃を生成するために使用されるマシン、ネットワーク、ソフトウェアの特性を変更し、繰り返しや既知のパターンに頼るシステムを阻止します。この種の攻撃は複数のターゲットにもダメージを与えます。Eコマースサイトには、需要の高いアイテムが購入できず、非常に不満を感じるユーザーがいます。最大限の利益を巻き取るためにそこに存在する攻撃者。その攻撃者に全商品を奪われる実在のユーザー。ユーザーたちは気づかないままにボットネットの一部となり、家庭向けブロードバンド接続といったリソースを、同意や認識もないまま利用されてしまいます。

要するに、ボットは企業とそのお客様を傷つけるということです。

まとめ

Cloudflareは、当初から悪意のあるボットと戦い、時間をかけて、ボットを阻止するためにさらに高度な方法を展開してきました。2,000万を超えるインターネットプロパティのパワーを活用して、世界中のネットワークとユーザーの可視性を保護し、加速させ、有益ボットを見分けて、悪質ボットを阻止するという機械学習モデルを構築しています。

しかし、ボットは引き続き課題であり、当社の新しいボットファイトモードが、ボットの作成者によるお客様への攻撃を直接妨いでいきます。それと同時に、気候変動に貢献したくはありませんので、カーオンコストをオフセットするために木を植えて、炭素を吸収し、より良い未来(とインターネット)の構築を支援しています。