- 現在、Metaに対する集団訴訟が進行中で、裁判所文書によれば同社が Wiretap Act に違反した可能性がある。
- この記事は、裁判所文書と Onavo Protect アプリのリバースエンジニアリング分析に基づいている。
- Facebook は MITM 攻撃を使ってユーザーの暗号化された HTTPS 通信を傍受し、これを「ssl bump」と呼んでいた。
技術概要
- Onavo Protect の Android アプリには、ユーザーに「Facebook Research」が発行した CA 証明書をインストールさせるよう誘導するコードが含まれていた。
- この証明書は、Facebook が TLS 通信を復号するために必要だった。
- 2016年に配布されたアプリには Facebook Research の CA 証明書が含まれており、一部は 2027 年まで有効だった。
- 新しい Android バージョンの登場により、この手法はもはや使えなくなった。
- Snapchat アプリの分析用ドメインは証明書ピンニングを使っていなかったため、MITM 攻撃が可能だった。
- アプリ利用統計に加えて、機微なデータ(例: IMSI)を収集する機能もあった。
仕組み
- 信頼できる証明書を端末にインストールし、すべての通信を VPN 経由で Facebook のインフラに送った後、Squid キャッシュプロキシを使って通信を復号した。
- Snapchat、Amazon、YouTube ドメインの通信が傍受されていた。
- 時間の経過とともに、Android のセキュリティ強化によってこの戦略の成功率は低下した。
- Facebook は代替手段としてアクセシビリティ API を検討していた。
動機
- マーク・ザッカーバーグは、Snapchat に関する信頼できる分析が必要だと述べていた。
- Onavo Protect VPN アプリを通じて、特定ドメインの通信を傍受する技術を他のアプリにも展開しようとする意図があった。
- Facebook は 2013 年に Onavo を約 1 億 2,000 万ドルで買収しており、この技術を有効活用しようとしていた。
技術分析
- HTTPS/TLS を通じてリモートのウェブサイトやサーバーを信頼できる理由は、端末の信頼ストアに保存された公開証明書にある。
- 自己署名証明書を信頼ストアに追加すれば、暗号化された TLS 通信を傍受できる。
- Android 11 以降、ユーザーが追加した証明書は大半のアプリで信頼されないように変更された。
- Snapchat アプリは分析用ドメインに対して証明書ピンニングを使っていなかった。
結論
- Facebook がユーザーの同意なく HTTPS 通信を復号していたことは、倫理規範に反する可能性があり、法的にも問題となり得る。
- Android 7 以降、アプリはユーザーストア内の証明書を信頼しないように変更された。
- Facebook は IMSI のような機微なデータを収集しようとしていた。
GN⁺のまとめ
- この記事は、Facebook が競合他社の通信を傍受するために用いた技術的手法を詳しく説明している。
- Android のセキュリティ強化により、このような手法はもはや有効ではない。
- Facebook によるアクセシビリティ API の悪用可能性は、倫理的な問題を提起している。
- 類似の機能を持つ他のプロジェクトとしては、VPN を通じた通信分析ツールがある。
1件のコメント
Hacker Newsの意見
FBはSCユーザーに「市場調査」への参加とプロキシのインストールを促すために報酬を支払っていたようだ
FBの従業員がMITM(中間者攻撃)について公然と話し、他社にもそれを組み込ませようとしたのは非常に愚かな行動だった
Onavoアプリをダウンロードする必要があるという点で、ユーザーにはある程度の選択権が与えられている
Facebookについて好意的な意見を持てない唯一のテック企業だ
Metaに対する現在の集団訴訟には、Wiretap Act違反を主張する文書が含まれている
FacebookはNSAの前哨基地のように運営されている気がする
SSLbumpに関する法的判例があるべきだ
親族が市場調査に参加しようとして、途中でやめたことがある
インターネット経由で機微な情報を送信する前に、TLS証明書交換を行う必要がある
Metaのような悪意ある行為者は、多くの「ダークパターン」を使っている可能性が高い