Cloudflare CDNのバグによりユーザーの大まかな位置が特定可能になっていた Signalなどセキュアなチャットアプリにもリスク
BleepingComputer – January 22, 2025
CloudflareのCDNサービスに潜む欠陥を利用することにより、任意のユーザーの大まかな位置情報を相手に気づかれぬうちに暴き出す攻撃手法を研究者「Daniel」氏が発見。これは、同社のCDNを利用するSignalやDiscordなどのプラットフォーム上でターゲットへ何らかの画像を送り、これがダウンロードされる際に当該画像をキャッシュしたデータセンターの位置から、ターゲットのおおよその所在地を特定するというもの。特にSignalはジャーナリストや活動家などの利用者も多いことから、この攻撃がもたらすプライバシー上のリスクが危惧されるという。
Cloudflareのキャッシュ機能
Cloudflareは世界120か国超における330以上の都市にデータセンターを置いており、頻繁にアクセスされるコンテンツ(画像、動画、Webページなど)のコピーをこれらのデータセンターでキャッシュ。これによりサーバーロードを削減し、Webサイトパフォーマンスを向上させている。例えばあるデバイスが画像ロードのリクエストを送ると、Cloudflareはこれを最寄りのデータセンターストレージから呼び出すか、ここにコピーが保存されていない場合はオリジンサーバーから呼び出してこれを最寄りのデータセンターでキャッシュし、デバイスへ返す。Daniel氏はこの仕組みから、リクエストされたコンテンツをキャッシュしたデータセンターを特定することでターゲットユーザーの大体の所在地(正確な所在地から半径約400kmの範囲)を調べられるのではないかと考えたという。
Cloudflare Workersのバグを利用したカスタムツール「Cloudflare Teleport」
この手法を実証するため、Daniel氏はまず、Cloudflareがリクエストに対するHTTPレスポンスの中でキャッシュステータスに関する情報を返すことを確認。この情報には、リクエストを処理したデータセンターの最寄りの空港のコードが含まれているという。次に同氏は、Cloudflare Teleportというツールを作成。通常CloudflareへのHTTPリクエストはセキュリティ規制により最寄りのデータセンターで処理されることになっている。しかし、Cloudflare Workersにはリクエストを強制的に特定のデータセンターで処理させることを可能にするバグが存在。Cloudflare Teleportはこのバグ(現在は修正済み)を利用することで、HTTPリクエストを指定のデータセンターへリダイレクトする性能を備える。Daniel氏がこのツールと自作のシンプルなCLIプログラムを利用してあるファビコン画像でテストしたところ、この画像をキャッシュしたすべてのデータセンターの情報を列挙させることに成功したという。
Signalでのテスト
Daniel氏は次に、Signalを使ってこの攻撃をテスト。Signalでは、メッセージの添付ファイルをホストするためのCDNとしてCloudflareを利用している。画像をメッセージの相手に送信すると、相手がメッセージを開いた際にこの画像は自動でダウンロードされ、その後Cloudflareのデータセンターによって画像がキャッシュされる。Daniel氏はテスト画像の送信後に前述のツールを利用し、実際にどのデータセンターが使われたかを特定することに成功したという。またこの攻撃は、ターゲットユーザーによる操作を一切必要としない「ゼロクリック攻撃」にもなり得る。Signalアプリのデフォルトのプッシュ通知では、通知内に相手から送られてきた画像も表示されるが、これはメッセージを開かずともアプリが画像を自動でダウンロードしていることを意味する。ダウンロード時に画像はキャッシュされているため、ターゲットのプッシュ通知がオンの場合にはゼロクリック攻撃が実現可能だということになる。Daniel氏はさらに、Discordでも同様のテストを成功させたという。
バグは修正されるも、攻撃は今なお可能?
カスタムツールCloudflare Teleportが利用したWorkersのバグはCloudflareへ報告され、同社はその後これを修正してDaniel氏に200ドルの報奨金を授与した。しかし同氏はTeleportをプログラミングし直してVPNを利用できるようにすることにより、今なお位置特定攻撃が可能な状態であると主張。新たな手法によりCloudflareの全データセンターのうちおよそ54%に到達することができたという。この訴えに対しCloudflareは、キャッシュを無効化するのは究極的にはユーザー側の責任だ、回答。BleepingComputer紙も同社およびSignal、Discordにコメントを求めているが、まだ返答は得られていないとのこと。
【無料配布中!】インテリジェンス要件定義ガイド
インテリジェンス要件定義に関するガイドブック:『要件主導型インテリジェンスプログラムの構築方法』
以下のバナーより、優先的インテリジェンス要件(PIR)を中心とした効果的なインテリジェンスプログラムを確立するためのポイントなどを解説したSilobreaker社のガイドブック『要件主導型インテリジェンスプログラムの構築方法』の日本語訳バージョンを無料でダウンロードいただけます。
<ガイドブックの主なトピック>
本ガイドブックでは、優先的インテリジェンス要件(PIR)の策定にあたって検討すべき点と、PIRをステークホルダーのニーズに沿ったものにするために考慮すべき点について詳しく解説しています。具体的には、以下のトピックを取り上げます。
- 脅威プロファイルの確立
- ステークホルダーの特定・分析
- ユースケースの確立
- 要件の定義と管理
- データの収集と処理
- 分析と生産
- 報告
- フィードバック
- 実効性の評価