Cloudflare

あるセキュリティ研究者が、Cloudflareのコンテンツ・デリバリー・ネットワーク(CDN)に欠陥を発見した。この欠陥は、SignalやDiscordのようなプラットフォーム上で画像を送信するだけで、その人の大まかな位置情報を公開してしまう可能性がある。

この攻撃のジオロケーティング機能は、ストリートレベルの追跡には十分な精度ではないが、その人がどの地域に住んでいるかを推測し、その人の動きを監視するのに十分なデータを提供することができる。

ダニエルの発見は、ジャーナリスト、活動家、反体制派、さらにはサイバー犯罪者のように、プライバシーに強い関心を持つ人々にとっては特に気になるものだ。

しかし、法執行機関にとっては、この欠陥は容疑者がいる可能性のある国や州について詳しく知ることができ、捜査の助けになるかもしれない。

ステルス的な0クリック追跡

3ヶ月前、Danielというセキュリティ研究者が、Cloudflareが読み込み時間を改善するために、ユーザーに最も近いデータセンターでメディアリソースをキャッシュしていることを発見した。

「3ヶ月前、私は、攻撃者が半径250マイル内の任意のターゲットの位置をつかむことができるユニークな0-クリック匿名化攻撃を発見した」とダニエルは説明した

「ターゲットの携帯電話(またはラップトップのバックグラウンドアプリケーション)にインストールされた脆弱なアプリを使用すると、攻撃者は悪意のあるペイロードを送信し、数秒以内に匿名化を解除することができます。

情報開示攻撃を行うために、研究者はスクリーンショットであれ、プロフィールのアバターであれ、CloudflareのCDNでホストされたユニークな画像とともに誰かにメッセージを送る。

次に彼は、Cloudflare Teleportと呼ばれるカスタムツールを使って特定のデータセンターを経由するリクエストを強制できるCloudflare Workersのバグを利用した。

このような任意のルーティングは通常、Cloudflareのデフォルトのセキュリティ制限によって禁止されており、各リクエストは最も近いデータセンターからルーティングされることになっている。

送信された画像について、異なるCloudflareデータセンターからのキャッシュされたレスポンスを列挙することで、研究者はデータセンター近くの最も近い空港コードを返すCDNに基づいて、ユーザーの大まかな位置をマッピングすることができた。

Calculating response times
レスポンスタイムの計算
Source: hackermondev | GitHub

さらに、SignalやDiscordなど、多くのアプリがプッシュ通知用の画像を自動的にダウンロードするため、攻撃者はユーザーとのインタラクションなしにターゲットを追跡することができ、これはゼロクリック攻撃となる。

追跡精度は50マイルから300マイルの間で、地域や近隣にCloudflareデータセンターがいくつあるかによって異なる。大都市周辺の精度は、地方や人口の少ない地域よりも高いはずだ。

DiscordのCTOであるStanislav Vishnevskiyのジオロケーティングを実験している間に、研究者は、Cloudflareがより良い負荷分散のためにリクエストを処理する複数の近くのデータセンターでエニーキャストルーティングを使用し、さらに精度を向上させることができることを発見した。

Locating the target
ターゲットの特定
Source: hackermondev | GitHub

影響を受けたプラットフォームからのレスポンス

404 Mediaが最初に報じたように、研究者はCloudflare、Signal、Discordに調査結果を開示し、前者は解決済みとマークし、彼に200ドルの報奨金を授与した。

ダニエルは、Workersのバグが修正されたことを確認したが、異なるCDNのロケーションをテストするためにVPNを使用するようにTeleportを再プログラムすることで、現在は少し面倒ではあるが、ジオロケーション攻撃はまだ可能である。

“私は、世界31カ国の様々な場所に3,000以上のサーバーを持つVPNプロバイダーを選びました。

「この新しい方法を使うことで、Cloudflareのデータセンターの約54%に再びアクセスできるようになった。この新しい方法を使えば、Cloudflareの全データセンターの約54%に再び到達することができる。

その後のリクエストに対し、Cloudflareはこのリサーチャーに対し、キャッシュを無効にするのは最終的にはユーザーの責任であると述べた。

Discordは、Cloudflareの問題であるとしてこの報告を拒否し、Signalも、ネットワーク層の匿名機能を実装することは彼らのミッションの範囲外であると指摘した。

はSignal、Discord、Cloudflareの3社に、研究者の調査結果に関するコメントを求めた。

Cloudflareの広報担当者は次のように述べた:

「これは2024年12月に当社のバグ報奨金プログラムを通じて初めて開示され、調査され、直ちに解決されました。GitHub上の “Cloudflare Teleport “プロジェクトを経由して特定のデータセンターにリクエストを行う機能は、セキュリティ研究者が開示の中で言及しているように、すぐに対処されました。当社は、バグ報奨金はすべてのセキュリティチームのツールボックスの重要な一部であると考えており、サードパーティや研究者が当社のチームによるレビューのためにこの種の活動を報告し続けることを引き続き奨励しています。- クラウドフレアの広報担当者