このコンテンツは自動機械翻訳サービスによる翻訳版であり、皆さまの便宜のために提供しています。原本の英語版と異なる誤り、省略、解釈の微妙な違いが含まれる場合があります。ご不明な点がある場合は、英語版原本をご確認ください。
Cloudflareは最近、2026年に1,111人のインターンを採用するという目標を発表しました。これは、当社の正社員の約25%に相当します。これは、作業的なコードを開発し、本番環境に出荷する機会が数え切れないほどあることを意味します。また、通常では観察が困難な、そしてまだ理解が難しいインターネットの側面を測定する新たな機会も生み出します。
当社のトラフィックによって生成されるデータは膨大な量(その多くはCloudflare Radar経由で公開される)であるにもかかわらず、Cloudflareであっても、測定は困難です。よく耳にするよくある誤解は、「Cloudflareには膨大なデータがあるので、すべての答えが必要である」というものです。膨大な量のデータがあることは素晴らしいことですが、同時に、フィルタリングするためのノイズが多くなり、代替となる説明を除外するために多くの追加作業が必要になります。
Ram Sundara Raman氏は、2022年にCloudflareのインターンとして博士課程に進みました。現在、カリフォルニア大学カリフォルニア大学サン相互接続大学ルーティングサイバー校の見つけ方を尋ねました。Cloudflareでのデータ操作について、彼のインサイトを再度ご案内しました。
Ramのプロジェクトは、研究者たちが所属の大学研究所から共有し、持ち込んだインサイトが、Cloudflareの価値あるプロジェクト(この場合は接続障害の検出とお客様への説明)の基礎を築く重要な例です。将来のインターンに向けたヒント1つ:Cloudflareで取り組むデータや測定のアイデアを実践し、考えているなら、あなたのアイデアがCloudflareにとって重要であるかどうか、どのように、なぜ重要なのかを考えてみるのが良いでしょう。アイデアをお聞かせください!
前置きはここまでにして、ここがRamです。Cloudflareの洞察が、将来のインターンやプラクティショナーにとって、Cloudflareにおける私たちと同じように、有益で新しい情報を提供してくれることを願っています。
大規模なデータからのインサイトは、小さな奇跡かもしれない
Ram Sundara Raman、コンピューターサイエンス・エンジニアリング アシスタント補佐官、UC Santa Cruz
2022年の夏に研究インターンとしてCloudflareに入社する前は、ミシガン大学の博士課程に進み、ネットワークセキュリティとプライバシーに関するさまざまな研究問題に取り組んできました。私の以前はアクティブな測定を行っていましたが、その際、HTTPSインターセプションや接続の改ざんといったセキュリティ問題を検出し定量化するために、プローブを慎重に作成して送信しました。これらの攻撃は、ユーザーとインターネットサーバーの間の強力なネットワークミドルボックスによって実行されるもので、さまざまな地域の多くのユーザーに対してインターネットコンテンツやサービスをブロックし、セキュリティを低下させることもあります。たとえば、2019年にカザフスタンで発生したHTTPSインターセプションの中間者攻撃は、国内で実施した全測定の7~24%で検出されました。
このような攻撃を検出するのは困難です。その基盤となるメカニズムは地理的・時間的変化を持つ多様な仕組みであり、まったく不透明です。さらに、インターネットには、トラフィックが操作されたときにユーザーに報告する技術的なメカニズムがありません。また、サードパーティの行為者が影響を受けるユーザーに対して透明性があることは、稀です。
Cloudflare導入前の私は、こうした課題を解決するために積極的に測定作業を行いました。ミシガン大学のPIとチームと共に、最大規模のアクティブなインターネット検閲観測網であるCensored Planetの開発に貢献し、200か国以上で接続の改ざんを検出しました。しかし、積極的な測定は、規模、リソース、現実世界から見ると、障壁に直面しています。たとえば、Censored Planetは、時間とリソースの限界があるため、最も人気のある2,000のWebサイトに対してしか、ブロックや接続の改ざんを測定することができません。
Censored Planetのようなプロジェクトに携わる中、私はよく大規模なネットワーク事業者やクラウドプロバイダーを目にして、次のように考えました。「彼らの収集するデータを私さえ手に入れれば、この問題は簡単に解決できるでしょう。ほぼすべてのネットワークからの現実のトラフィックをグローバルな視点で把握しており、おそらく、そのレベルのデータ分析を拡張するのに十分なリソースとテレメトリがあるでしょう。たとえば、ミドルボックスが干渉するのを検出するのに、このデータを使うのはどれくらい難しいでしょうか。」
ACM SIGCOMM 23で発表した調査を通じて学んだように、これは非常に難しい場合があります。
検閲に対する私の視点は、Cloudflareでの経験の直接的な結果として進化したものです。Cloudflareは、大規模なデータであっても、大規模な検出は難しいと教えてくれました。インターンシップ時代に行った調査で、ネットワークミドルボックスが特定の接続をブロックしたり、干渉していることは、限られた場所だけでなく、世界中のさまざまな規模で発生していることが明らかになりました。
生産データを使用し、リアルなインサイトに基づいて構築されたインターンシッププロジェクト
この調査では、より広範なアクティブ測定コミュニティによって収集された洞察に基づいて、ミドルボックスがパケットをドロップしたり、RSTパケットを挿入したりして接続を中断させることでインターネットTCP接続を妨害するというものです。同じインサイトから、パケットのドロップとRSTのパターンは決定論であり、その結果、検出可能であることがわかりました。このような能動的な測定の柔軟性は、環境からのレスポンスを引き出すカスタムリクエスト(「プローブ」)を作成することにもつながります。しかし、このような標的を絞ったアプローチは、Cloudflareであっても拡張や維持が困難です。どのようなプローブを作成すべきでしょうか?メールはどこに送られますか?多くのリスクを見逃すリスクが非常に高いのに、Cloudflareが試行する動機はあるでしょうか?
私のインターンシップの目標は、アプローチを逆転して、アクティブではなくパッシブにできるかどうかを確認することでした。Cloudflareが行うものはすべて、スケーラブルで持続可能である必要があります。しかし、改ざんイベントを検出できたとしても、受動的観測に限定されたシステムを構築できるかどうかは完全に不明でした。そのために求められる要件は明確でした。Cloudflareに自然に来るデータのみを観察・使用することです。他のデータセットとの混在も、当社独自のアクティブ測定の実行もありません。どちらも作業を楽にすることができたでしょう。変数を制御することもできたし、おそらく観測された事実を確認することもできたでしょう。でも、その楽しみなところは?それに、Cloudflareはあらゆるデータを持っています。
確かに、適切にサンプリングされていれば、確実に警告し、正しく解釈することが可能です。
有用なインサイト:私は、アクティブな測定を使用して、インターネット接続を改ざんするミドルボックスを見つけるのは、干し草の山から針を見つけるようなものだと、よく耳にします。Cloudflareのパッシブデータセットの視点からこの問題を検討し始めた時、まだ同じリークを探していることにすぐに気づきました。そして、ある意味、それを見つけることはさらに困難になっています。
それは、受動的な観察者として、どこを見るべきかを選択できなくなるからです。しかも、今や干し草は大陸を横断し、何百万人ものユーザーがいて、何千もの接続と切断が起こります。何百万もの現実世界のデータポイントから改ざんを特定するだけでなく、障害や落とし穴が散見されるデータで特定しなければなりませんでした。未知の落とし穴と、その探求車と作業しているような感じでした。
大規模なパッシブデータのトラップとトリップワイヤー
課題が複数あり、私がこうした状況に直面して初めて理解できたのです。もしくは、スケーリングから始めましょう。
まず、大規模なデータセットが大量にあり、主にCloudflareへの着信接続に関連していました。例えば、私がインターンとして働いていた当時、Cloudflareは285以上のデータセンターで、全世界で1秒あたり4,500万件以上のHTTPリクエストを処理していました。Cloudflareはまた、1.1.1.1へのTCP接続を取得します。DNSサーバー。ネットワークエラーログ記録(NEL)データも調査しました。通常、測定研究では、規模が小さすぎるという問題に対処します。ここでは、逆の問題が発生しました。良いことが多すぎるのです。実際には、これらのデータセットはそれぞれ独自のサンプリング方法を持っており、すべてを一緒に利用することは不可能でした。さらに、NELのようなデータセットは、一部のクライアントしかサポートしていないため、また一部のWebサイトしか有効にできないため、バイアスがかかっています。これらのバイアスを評価した結果、NELは最終決定をしませんでした。
この規模を管理するために、Cloudflareのすべての接続拠点(285か所のデータセンターのすべてのサーバー)で受信TCP接続をログに記録し、保存するための特別なIPTABLESルールを構築しました。ただし、データの規模が非常に大きいため、10,000回ごとに1人の均一無作為のサンプルで作業することに制限を設けなければなりませんでした。各サンプルでは、各接続の最初の10のインバウンドパケットのみを記録しました。つまり、使用頻度の低い特定のタイプの改ざんや、フローの後半で発生する改ざん(最初の10パケット以降)は検出できないということです。
それでも、その制約の中で、私たちは改ざん署名を開発することに成功しました。ミドルボックスが干渉すると明らかにする特徴的なパケットパターンです。しかし、データがノイズの多い2つ目のデータが守ることはできず、署名の開発は決して簡単なことではありませんでした。
さまざまなノイズの発生源をすべて予測できたとは考えられません。たとえば、イベントレコードの時間を保持する時間の経過は数ミリ秒でしたが、多くのパケットは1ミリ秒内に到着する可能性があります。つまり、ログに記録されたパケットの順序を信用できないということです。最終的に、サービス拒否攻撃のトラフィックの一部やポートスキャンは、改ざんイベントのように不みえになる可能性があることがわかりました。そして、インターネットの改善に役立つよう設計された特定の「ベストプラクティス」、たとえば「ベストプラクティス」が、私たちの検出します。私たちは、これらのノイズの原因を分析し、署名を繰り返し理解することに、多くの時間を費やしてきました。当社は、IPヘッダーの有効期限(TTL)フィールドの一貫性のない変更など、当社が特定した他の証拠ソースによって支えられている場合にのみ、改ざんとして受け入れました。
これにより、私は最後の話をします。事実上の真実の欠如です。
積極的に制御された実験がなければ、検出したものが実際に改ざんされているときや、インターネット上にある数千の他の現象のいずれかと確認することは極めて困難であったでしょう。幸いなことに、検閲測定分野の多くの研究者の素晴らしい活動のおかげで、データ内の既知のシグナルやパターンを少なくとも認識することができ、それによって多くの改ざんケースを確認することができました。
他にもたくさんありました。しかし、私にとって重要な気付きは、プロバイダーが多くのことを説明してくれるデータをたくさん持っている一方で、どのものが、どれだけ、何について書かれているかを知るのは非常に難しいということです。大規模なインフラストラクチャ運用者にとって、インターネットはフィルタリングされ、サンプリングされ、多くの場合、部分的な視点で表示されます。例えば
Cloudflareのようなサービスは、どの接続が影響を受けたか、どこで接続が開始されたかしかわかりませんが、改ざんしたユーザーは特定できません。
どのドメインがブロックされているかを把握できることもありましたが、必ずしもそうではありませんでした。必要なパケットがCloudflareに到達する前にドロップされている可能性があるためです。
受動的な観察者として、影響を受けるユーザーのアクティビティだけが見え、影響を受ける可能性のあるものは見えません。
インターネット上のWebサイトやサービスを二桁割合で扱う企業としては、こうした制約は驚きですが、理解できるものです。実践は不可能のように思えるかもしれませんが、そうではありません。思ったより大変です。そんな状況にもかかわらず、私たちは混沌から意味を引き出す方法を見つけました。たとえば、Cloudflareが観測したすべての一般的なパケットシーケンスを慎重に、徹底的に列挙し、以前の作業に基づいて、改ざんを示す可能性のあるものを抽出しました。さらに、これらのパケットの署名が実際に改ざんを示すことを示すための裏付けとして、前述の有効期限(TTL)フィールドのような信号を使いました。
これらすべての結果、「大規模なインフラプロバイダーは全容ではない」という単純ながら重要な結論が導き出されます。グローバルな視野を持つことは強力ですが、すぐに容易な観察につながるわけではありません。世界中のすべてのデータがあって、ミドルボックス、セキュリティフィルター、混乱したIoTデバイス、またはタブやブラウザを閉じる通常のユーザーでさえも区別が難しいことがあります。
しかし、その二分割分が問題空間の魅力でもあります。完璧ではないデータを扱うと、創造的になること、ノイズの中にパターンを見つけること、そして欠落しているにも関わらず機能する方法を設計することが求められます。そして、質問する前に、機械学習をただ問題に投げかけることはできませんし、その必要もありません。すべてのノイズがあっても、プロトコルが厳密に特定されているため、パターンの列挙は簡単にできますが、手動で議論する必要があります。
生産データを使用し、リアルなインサイトに基づいて構築されたインターンシッププロジェクト
パケットレベルのサンプルと19種類の改ざん署名を使用したところ、何百ものネットワークにおける特徴的な改ざん挙動が見られ、改ざん率の大幅な増加を追跡することができました(図1)。そして、データの限界にもかかわらず、Cloudflareのネットワークなら、改ざんの現実世界での影響を見ることができるので、うまく機能したのです。また、Luke ValentaとCloudflare Radarチームのたゆまぬ努力のおかげで、当社プロジェクトのデータはCloudflare Radarで継続的に公開されています(図2)。
図1:2022年後半のイラン国内抗議活動期間中の19項目の署名の改ざん率の増加
図2:当社の接続改ざん調査のデータがRadarでライブ配信されます。
しかし、将来的には、このような課題を解決するには、Cloudflareのようなプロバイダーの規模を利用して、標的を絞った測定や測定を行い、インターネットの改ざんの全体像を把握する必要があると考えています。UCSC’s RANDLabの私のチームとCensored Planetの研究グループは、この問題に引き続き取り組んでいます。特に、攻撃が発生した場合やネットワークが変化した場合に、改ざんをどのように自動的に特定できるかを模索しています。
学界と産業界の協力は必ずしも単純なものではありませんが、より良いインターネットの構築に役立つ可能性があります。今ご紹介したようなインターンシップDNSイベントにご興味のある方は、ぜひご応募ください!