2020年も残すところあとわずかとなったので、インターネットトラフィックの40%を占める自動化トラフィックについてみてみましょう。

このブログ記事は、Cloudflareのネットワーク上のボットトラフィックの概要についてまとめたものです。Cloudflareは、企業のお客様のために、包括的なボット管理ツールと、ボット対策モードと呼ばれる効果的な無料ツールを提供しています。毎日自社のネットワークを膨大な量のトラフィックが経由しているため、Cloudflareはグローバルなボットの動向を分析できるところが他とは異なります。

この記事では、ボットトラフィックの基本について説明し、自動化されたリクエストと人間によるリクエスト(ボットとは何ですか?)を区別します。次に、世界中のボットトラフィックのグローバルな概要(RoboBird's Eye Viewボットの1日世界中のボット)についてみていき、北米のトラフィック(北米のトラフィックを調べる)について紹介します。最後に、新型コロナウイルスのパンデミックがグローバルトラフィックに与えた影響について概観し、ヨーロッパのトラフィック (ヨーロッパにおけるコロナ禍のボット) について詳しく見ていきます。

平均して、Cloudflareでは毎秒1800万のHTTPリクエストを処理しています。これは、ボットがインターネットをどのように形作っているか、どれだけのインフラストラクチャが自動化されたリクエストを処理するために注力しているか、お客様が優れたボット管理ソリューションを必要としている理由を理解する絶好の機会です。

ボットとは?

Cloudflareは、トラフィックを4つのボット関連のカテゴリに分類しています。

1. 検証済み

2. 確実に自動化

3. 自動化の可能性が高い

4. 人の可能性が高い

当社の目標は、悪意のあるボットや不要なボットがお客様に害を与えることを阻止し、お客様に、他の自動化トラフィックを管理、および制御する機会を提供することです。

Cloudflareに入ってくる各リクエストには、「ボットスコア」1~99までのラベル付けを行います。スコアが低い場合は、リクエストがボットから来ている可能性が高いことを意味します。スコアが高いほど、リクエストはおそらく人間からのものであることを意味します。このスコアは、ファイアウォール、ログ、Workersで入手でき、お客様はあらゆるスコアに対して柔軟に対応できます。

Cloudflareはまた、顧客が疑わしいボットに対して課すことができるチャレンジプラットフォームを維持しています。これらは CAPTCHA チャレンジまたはJavaScriptチャレンジとして知られています。実際、ファイアウォールルールでスコアを利用できるということは、お客様はご自身が選択したどのようなアクションでも実行できることを意味します。このプラットフォームは対策にも使用することができます。これにより、トラック内で不要なトラフィックが中止されます。

ボット管理がファイアウォールとどのように連携するかについては、サポートページをご覧ください。

当社ではこれらの課題における成功と失敗を追跡し、最終的に検出システムを改善することができます。当社の課題が人間によって解決可能であると仮定すると、(これらは、通常であればボットに提示されることから)効果的な検出は解決率が低いはずです。

検証済みボットは、内部検証済みボットディレクトリに登録されます。これらの良いボットは、検索エンジンと監視ツールを支援します。良いボットは、たとえば、検索エンジンを使って顧客のWebページを見つけることを可能にします。

既知の未検証ボット(シンプルなcurlライブラリを使ったスクレイパーなど)については、当社のヒューリスティックエンジンによって管理される同様のディレクトリを保持します。他の方法で検証されていない場合、このエンジンが検出したリクエストは確実に自動化されていると考えます。

当社の機械学習エンジンは、潜在的なボットを特定する別の方法を提供します。このエンジンは、自動化の可能性が高いリクエストを識別し、自動化の可能性が高いとマークします。この検出メカニズムのメリットは、当社のグローバルネットワークからのデータに基づいて構築されたモデルの恩恵を受けられることです。

リクエストが自動化されたものとしてマークされていない場合は、そのリクエストを人間による可能性が高いものとしてマークし、機械学習システムからボットスコアを渡します。

当社には、行動分析エンジンとJavaScript検出エンジンもあります。これらのシステムの詳細については、Cloudflareのボット管理に関するAlex Bocharovの以前の投稿をご確認ください。

自動化トラフィックの 2 つのボット定義は、多少補完的です。ヒューリスティック検出で検出されたリクエストは、機械学習検出にはカウントされません。当社の機械学習検出によって確実に検出されたリクエストは、既知のヒューリスティックボットディレクトリに登録する必要はありません。このため、「自動化トラフィック」全般について議論する際には、これら2つを組み合わせます。

RoboBird’s Eye View

本データは、2020年1月15日から2020年7月31日までに分析されたCloudflareのお客様に関する情報から得たものです。

まず、当社ネットワーク上のトラフィックについて基本的なことをご説明しましょう。

図1.1 Cloudflareのネットワークにおけるトラフィックの種類

図1.1 は世界中のトラフィックの分類内訳を示します。60.6%は人間による可能性が高く、19.3%は自動化されている可能性が高く、18.1%は確実に自動化されており、検証済みのボットからのトラフィックはわずか2.1%です。合計すると、私たちが採点したリクエストの 39.5% は何らかのボットから来ています。

ボットの1日

通常のトラフィックは1日を通して変動します。ボットもそうでしょうか?確かめてみましょう。図 2.1 は、毎時の平均トラフィックからのトラフィックの偏差を示しています。10%の増加は、その時間が平均時間(1 時間あたりのリクエストの測定)よりも 10%忙しい状態であることを意味します。他のタイプのトラフィックとの比較するために、このチャートには総トラフィック量を含めています。

図 2.1 毎時の平均トラフィックからのトラフィックの偏差。

図 2.2 平均的な日のボットの分類

人間によるトラフィックとボットによるトラフィックの違いがはっきりわかります。人間によるトラフィックは、1日を通して劇的に変動しますが、これは予測できる動きです。人間によるトラフィックは、午前0時から 05:00(UTC:協定世界時間)にかけて、1日の早い段階で15%減少します。これはアメリカ大陸での営業時間終了に対応するのもので、営業時間内の14:00 ~ 17:00(UTC)では最大 25% 増加(UTC)します。逆に、ボットトラフィックはより一貫性があります。遅い時間は、全体的なトラフィックよりも減少が小さくなり、忙しい時間帯はトラフィックが少なくなります。良いボットと悪いボットの違いも明らかです。良いボットはさらに一貫性があり、毎時トラフィックの変動が小さくなります。

しかし、なぜこうなるのでしょう?ボットの大部分は、良いものでも悪いものでも、インターネット上で同じタスクを実行します。悪いボットは、Webサイトをスクレイピングしたり、保護されていないマシンに感染させようとするかもしれません。そして、人間のオペレータの介入をほとんど必要としません。良いボットは、これらの操作の一部を実行できますが、頻度は低く、よりターゲットを絞った方法で実行します。Webサイトをスクレイピングする良いボットは、検索エンジンに追加するためにそうしているかもしれませんが、悪いボットは他の理由により、はるかに高いレートで同じことをするでしょう。

多くのボットは営業時間に沿って活動します。たとえば、スニーカー専門店から独占販売アイテムを盗むことに集中しているスニーカーボットは、自然と新商品発売時に活発になります。

この量の違いは、当社の分類が影響を受けることを意味するものではありません。図2.1に示すように、当社のスコアは1日を通して一貫しています。

図  2.3 毎日のトラフィックの偏差(平均的な日)。曜日別にグループ化したもの。

図 2.4 平均的な1週間のボットの分類。

良いボットが週末に休まないこともわかります。平日と週末では、ほとんどのトラフィックでかなり顕著な違いがありますが、良いボットは一貫したスケジュールを維持します。典型的な平日は平均をわずかに上回るのに対し、トラフィック全体では約 4%の低下が見られます。これは検証済みボットには完全には適用されず、トラフィックは 1% しか減少しません。

世界中のボット

グローバルトラフィックを見てきたので、もう少し深く掘り下げてみましょう。

地域によって、自動化トラフィックに関するトラフィック情勢は異なります。

図 3.1 地域別のトラフィックタイプ

図 3.1 では、トラフィックが地域ごとに分類されており、各タイプのトラフィックがどこから来たかを知ることができます。北米は、主要な自動化トラフィックソースとして特出しています。自動化トラフィックの50%以上が明らかに北米からのものであり、すべての検証済みボットトラフィックのほぼ 80%が北米からのものです。次いでヨーロッパ、アジアと続きます。

図 3.2 各地域におけるトラフィックの分類

図3.2のトラフィックの地域別の内訳をみると、北米のトラフィックがどれほど自動化されているかがわかり、世界平均をはるかに上回っていることがわかります。

北米のトラフィックについて

自動化トラフィックの最大の発生源として、北米は詳しく見る価値があります。

最初に、各国の内訳をみていきます。

図 3.3 北米におけるトラフィックの割合

北米でのリクエストのほとんどは、米国、カナダ、メキシコの3か国からのものです。これらは、北米からの全リクエストの98%、人的ソースからの可能性が高い全リクエストの97%、検証済みボットからのリクエストの100%を占めています。米国だけで全リクエストの88%、人的ソースからの可能性が高いリクエストの82%、確実に自動化されたソースからのリクエストの96%、自動化トラフィックソースからの可能性が高いリクエストの88%、検証済みボットからのリクエストの98% を占めています。

しかし、このことだけをもって、米国が異常な活動量を持っていることを示すものではありません。これらの国の総人口を合わせると約4億9700万人です。米国はその66.5%を占め、メキシコは25.9%、カナダは 7.6%を占めています。このコンテキストでは、米国は生のリクエストに関して過大に表現されていますが、そのトラフィックのうちどれくらいが人間による可能性が高いかという点では過小に見積もられていることがわかります。逆に、カナダのトラフィックは人間による可能性が高いです。

各国について違う視点でみていきましょう。

図 3.4 各国内のトラフィックの割合

米国からのトラフィックの半分以上は何らかの方法で自動化されています。これは、メキシコとカナダの傾向とは明らかに異なります。

米国のボット

これまでのところ、米国が自動化トラフィックにどれくらい貢献しているのか見てきました。さらに理解を深めたい場合は、これらのボットがオンラインになる方法を理解することから始めるのが良いでしょう。トラフィックの発信元のネットワークを調べることでこれを達成できます。ネットワークは、自律システム番号(ASN)によって識別されます。これらは、インターネットインフラストラクチャのバックボーンを形成するものです。

これらを、インターネットサービスプロバイダー(IPS)のようなものだと考えてください。ただし、エンドコンシューマーに向かって外側ではなく、ネットワークに向かって内側に向かっています。ComcastやVerizonのようなISPは、家庭用ASNの例であり、主に人によるトラフィックだと予想されます。Google や Amazon などのクラウドプロバイダーも ASNですが、クラウドサービスを対象としています。これらのリクエストのほとんどは、何らかの方法で自動化されることがわかっています。

ASNレベルでトラフィックを見ることは重要です。クラウドベースのトラフィックや家庭用プロキシを使用したトラフィックを識別できるためです。

米国内の訪問者がどのASNが関連付けられているかを見てみましょう。当社では「アイボール」(エンドユーザー)トラフィックに制限しています。これは、サイト訪問者からのリクエストに対して使用する用語です。

図 4.1 米国の上位ASN

図 4.1 から、クラウドサービスがトラフィックに与える影響が明確にわかります。エンドユーザートラフィックの11.5%はAmazonとGoogleから発生しています。

図 4.2 検証済みボットトラフィックに関する米国の上位ASN

検証済みボットは、Amazon、Google、Microsoft、高度なホスティング、Wowrackなどのクラウドプロバイダーから来て、異なる環境で動作します。

図 4.3 自動化された可能性が高い米国内のトップASNと確実に自動化されたトラフィック

自動化トラフィックには、さまざまなASNがあります。Amazon、Google、Microsoftなどのクラウドプロバイダーは、自動化トラフィックの30%を占めています。Comcastはトラフィックの4.8%を占め、一部のボットは家庭用サービスから来ていることを示しています。

ヨーロッパにおけるコロナ禍のボット

新型コロナウィルスのパンデミックが継続することで、ロックダウンと、人が集まるイベントが制限されることになりました。多くの人が在宅ワークを行っており、このオプションがない人も新しい方法でインターネットを使用しています。全体的に、これはCloudflareのネットワークが大きく成長したことを意味しています。

しかし、コロナ禍でボットトラフィックはどのような影響を受けたのでしょう?まず、コロナ禍で一般的にトラフィックがどのような影響を受けたかについて考えてみましょう。国によってウイルスの影響を受けた時期が異なるので、ここでは違いを見ることになりますが、いいでしょうか。

図 5.1  全地域におけるトラフィックの総量

図 5.1 は、トラフィックの増加だけを示しています。世界的には、平均10%の増加がみられ、北米は年初と比較して40%以上の増加がみられました。アフリカやアジアなどにはあまり変化しなかった地域もありますが、ヨーロッパなどの他の地域では、増加した期間がみられるものの、その後は以前のレベルに戻っています。

具体的なイメージをつかむために、いくつかの国についてみてみましょう。

図 5.2 イタリア、英国、ボルトガルの毎日のトラフィックの進化(ヨーロッパとの比較)

図 5.2 は、データ収集が開始された日の 1 月 15 日を基準にした1日あたりのトラフィックを示しています。比較のために、我々は全体的なヨーロッパのトラフィックと、3つの選択された国(イタリア、英国、ポルトガル)を用いています。イタリアが選ばれた理由は、新型コロナウイルスによる被害が大きく、ロックダウン措置を制定したヨーロッパの最初の国の一つであったためです。イギリスは、当初集団免疫に焦点を当てて、別の戦略を取り、他の国々よりも遅くロックダウンを開始しました。ポルトガルはその2か国の中間で、イタリアよりも遅い時期にロックダウンを行い、状況もかなり異なりました。

今年の初めは、トラフィックは安定しており、変動はヨーロッパの平均に沿っていました。ロックダウンが開始されると、トラフィックは増加しました。イタリアはこれらの国々から最初に外れ、他の国の数週間前に上昇し、平均を十分に上回る状態が続きました。最終的に、すべての国でトラフィックが増加し、その後、安定しました。イタリアは正常の状態に戻り、欧州の平均的な成長をみせているようです。ポルトガルも安定していますが、平日はより忙しくなっています。逆に、英国は、とどまるところを知らず、今年の初めに比べて40%を超える成長をみせています。

図 5.3 イタリア、英国、ポルトガルにおける確実に自動化されトラフィックの毎日の進化(ヨーロッパとの比較)

確実に自動化されたトラフィックには、顕著な変化はそれほど多くはみられませんでした。イタリアのトラフィックは全体を通して安定しており、ポルトガルではより多くの増加がみられました。しかし、最も大きな変化がみられたのは英国で、最初に観測したときと比較して3倍になりました。

図 5.4 イタリア、英国、ポルトガルにおける検証済みボットトラフィックの進化(ヨーロッパとの比較)

検証済みボットトラフィックは安定していましたが、イタリアは例外で3月から5月の間に大規模な増加が確認されました。この原因は何ですか?大量のリクエストを受けたのは、これらのゾーンだけですか?

図 5.5 2020年1月15日を基準とした、イタリアの上位10,000ゾーンにおける検証済みボットトラフィック

答えは、「いいえ」です。上位 10,000 ゾーンのみ (検証済みボットリクエストの合計による) だけを調べてみても、他のゾーンのトラフィックが大幅に増加していることがわかります。では、何が起こっているのでしょうか?

ユーザーエージェントを見てみましょう。トラフィック上昇中の上位10組のユーザーエージェントを取り出して、どのような進化をたどったかをみてみましょう。

図 5.6 2020年1月15日を基準とした、イタリアの上位10組のユーザーエージェントにおける検証済みボットトラフィック

これらの10組のユーザーエージェントが、イタリアから送信される検証済みトラフィックの大部分であることが確認できました。

図 5.7 2020年1月15日を基準とした、イタリアのトップユーザーエージェントにおける検証済みボットトラフィック

実は、この増加の大部分は、単一のユーザーエージェントによるものです。Google画像プロキシのこのインスタンスは、Gmailからの画像リクエストを匿名化するため人気です。

この増加の原因は何ですか?このボットは突然現れたり消えたりするのですか?

そうとも限りません。ボットを扱うときに留意すべき点は、彼らが簡単に国境を越えることです。プロキシサービスとして、このボットはエンドユーザー、つまりメールを開く人の代わりにリクエストをおこなっています。これらのリクエストは、データセンターから発信されるもので、世界中のどこからでも可能です。これらの動きをみてみるために、このボットのトラフィックをいくつかの国でみてみましょう。

図 5.8 GoogleImageProxyの発生国

世界平均はほとんど動きがないことがわかります。Googleがデータセンター間で画像プロキシトラフィックを移動している可能性があり、観測した期間中にそのトラフィックを超えるものはイタリアから来ていることがわかります。

まとめ

Cloudflareは世界的に展開しているので、ボットがどのように動作するのか把握することができます。

2020年上半期は、継続的な新型コロナウイルスパンデミックのため、今年の初めから約35%のWebトラフィックの大幅な増加が見られ、一部のボットはそれを活用しています。

ボット管理がお客様にとってどのように機能するか、自動化トラフィックと人によるトラフィックを区別する方法について説明しました。

世界的なトラフィックがどれほど自動化されているかの概要を説明し、ボットが1日と週を通して行動をどのように変化させるかについて紹介しました。特に、Cloudflareが処理するすべてのトラフィックの39.4%は、疑わしい自動化ソースから発生しています。

自動化トラフィックを地域別に概観することで、自動化エージェントからのトラフィックの発生元となった地域がわかります。北米、ヨーロッパ、アジアは、トラフィックの主な発生源であり、特に自動化トラフィックの発生源でもあります。

その後、自動化トラフィックの大半が発信する北米に焦点を当てました。米国だけでリクエストの大半を占め、さらにその半分以上は自動化されたソースから来ていることを示しました。

これをさらに詳しく調べるために、米国のASNトラフィックについておおまかに説明し、これらのリクエストがどこから来たのかを確認しました。ComcastやAT&TなどのASNは、トラフィック全体の上位ASNでした。しかし、当然のことながら、GoogleやAmazon AWSのようなデータセンターが自動化トラフィックの主な推進要因でした。

最後に、コロナウイルスがヨーロッパのトラフィックにどのように影響したかを検証し、イタリアのトラフィックについてさらに詳しく検証しました。これにより、検証済みのボットトラフィックに関する興味深い洞察が得られ、数ヶ月間、イタリアで大幅に増加がみられたことがわかりました。

この記事は、Cloudflareでのボット管理のほんの一部分について説明したものです。今後、ボット管理に関するこの一連のブログ記事を増やし、ボットに関するさらなる洞察をインターネットに公開したいと考えています。