世界を動かす技術を、日本語で。

ホワイトハウスアプリのネットワークトラフィックを傍受しました

概要

  • White House iOSアプリの動的解析結果のまとめ
  • MITMプロキシを使い、実際の通信内容を詳細に記録
  • 主要な通信先はwhitehouse.gov以外に多数の外部サービス
  • プライバシーマニフェストと実際のデータ収集内容の乖離
  • ElfsightやOneSignal等によるユーザートラッキングの実態

White House iOSアプリ動的解析レポート

  • MITMプロキシ(mitmproxy) を用いて、iPhoneの全HTTPSトラフィックをMacで復号・記録
    • iPhoneにmitmproxy CA証明書をインストール
    • ホーム、ニュース、ライブ、ソーシャル、エクスプロアの全タブを通常利用
  • 全206リクエスト中、whitehouse.gov宛は48件(23%)
    • 残り158件(77%)は外部サービス宛
      • Elfsight、OneSignal、YouTube、Google、Facebook、Twitterなど
  • 主な外部通信先一覧と用途
    • www.whitehouse.gov :WordPress API
    • www.youtube.com / i.ytimg.com / img.youtube.com / yt3.ggpht.com :YouTube動画・サムネイル
    • phosphor.utils.elfsightcdn.com / static.elfsight.com / storage.elfsight.com :Elfsightウィジェット用スクリプト・静的ファイル
    • api.onesignal.com :OneSignalによるアナリティクス・ユーザープロファイリング
    • googleads.g.doubleclick.net / static.doubleclick.net :Google広告・トラッキング
    • scontent-lax7-1.xx.fbcdn.net / pbs.twimg.com :Facebook・Twitter画像CDN
  • OneSignalへの送信データ内容
    • 言語、タイムゾーン、国、IPアドレス
    • アプリ初回・最終利用時刻(UNIXタイムスタンプ)
    • デバイスモデル、OSバージョン、WiFi/セルラー判別、キャリア名、脱獄有無
    • アプリ利用回数・各セッションの利用時間(秒単位)
    • セッションごとに一意の永続IDでトラッキング
    • アプリ起動時にGETで既存プロファイル取得→PATCHで最新情報を逐次更新
    • IPアドレスの変更履歴も保持
  • Elfsightによるウィジェット読み込み・トラッキング
    • 13種類のElfsightドメインにアクセス
    • 各ウィジェットIDごとにcore.service.elfsight.comへ/p/boot/リクエスト
      • サーバー側で必要なJavaScriptファイル群をassets配列で返却
      • クライアント側で<script>要素として動的に挿入・実行
    • TikTok、Instagram、Facebook、YouTubeなど複数SNS連携ウィジェットを確認
    • Elfsightインフラによる10個以上のトラッキングCookie設定
      • elfsight_viewed_recently、CloudflareトラッキングCookie(_cfuvid, __cf_bm等)、セッションIDなど
  • YouTube埋め込みによるGoogle広告トラッキング
    • googleads.g.doubleclick.net、static.doubleclick.net等の広告配信・トラッキングスクリプトが自動読込
    • DoubleClick(Google広告プラットフォーム)によるユーザーエンゲージメント追跡
    • プライバシーマニフェストで未開示
  • プライバシーマニフェスト(NSPrivacyCollectedDataTypes: []、NSPrivacyTracking: false)
    • 「データ収集なし」とラベル記載
    • 実際はOneSignal、Elfsight、Google、Facebook、Twitter等に大量の個人情報・利用状況を送信
  • 解析手法
    • mitmproxy(mitmdump)で全HTTPS通信を復号・記録
    • iOSデバイスを同一WiFiネットワークに接続
    • 証明書:mitmproxy CAをiOSの信頼済み証明書として登録
    • 解析対象:全5タブを1回ずつ通常利用
    • 通信内容の改変・サーバープロービングは一切なし、純粋な観察のみ
    • 個人情報(IPアドレス、デバイスID等)は全てマスキング済み

プライバシーとセキュリティへの示唆

  • 「データ収集なし」表示と実態の大きな乖離
    • 実際には詳細なユーザー情報・利用履歴・ネットワーク情報が複数の外部サービスに送信
  • 外部サービス(特にOneSignal、Elfsight、Google広告)によるユーザートラッキング
    • 永続的なIDとIP履歴によるユーザー行動追跡
    • ウィジェット経由でのサードパーティスクリプト実行・Cookie設定
  • アプリ利用者のプライバシーリスク
    • 意図せぬトラッキングやプロファイリング
    • 利用者への十分な情報開示・同意取得の不備

まとめ・連絡先

  • 本解析はAtomic Computerによるサイバーセキュリティ調査の一環
  • モバイルアプリのセキュリティ評価やご相談は公式サイトより受付
  • ご質問やプロジェクト相談は「Contact us」または「Schedule a call」から

Hackerたちの意見

そうだね…ほとんどのB2Cアプリってそんな感じじゃない?インストールしてるいくつかのアプリのプライバシーレポートを見たけど、サードパーティのドメインがかなり多かったよ。77%ほどではないけど、50%は確実に超えてる(つまり、サードパーティのドメインの方がファーストパーティより多い)。一番驚いたのは、アプリストアの「収集データ」セクションに正しい情報を載せないことだね。追記:ストアのリストが更新されたみたいで、「収集データ」セクションは正しくなってた。

政府のアプリがB2Cみたいに作られてるのがまさに問題なんだよね。

そうそう、ホワイトハウスがデータを集めてHuaweiに送ってるし、全体の収集率は他のアプリよりもかなり悪いよ。それを読んでますます驚いた。ホワイトハウスが他のアプリより20%も悪いのに驚かないの?

ホワイトハウスのサードパーティのテレメトリーにも、他のアプリにも反対するのは全然構わないよ。マルチタスクできるからね。

以前の議論もあったよ。これも読む価値があると思う。 https://news.ycombinator.com/item?id=47555556 https://news.ycombinator.com/item?id=47577761

使ってるSDKもチェックしてみてね: https://appgoblin.info/apps/gov.whitehouse.app/sdks

次は広告が来るよ。

Macにmitmproxyをインストールして、iPhoneを経由させるように設定し、デバイスにmitmproxyのCA証明書をインストールした。 > すべてのHTTPSトラフィックが復号化されてログに記録された。トラフィックに変更は加えられなかった。アプリは普通のユーザーが使うように使われた。iPhoneでネットワークトラフィックを検査するのがそんなに簡単なの?つまり、ユーザーがインストールした証明書を信頼させるのが?Androidでネットワーク検査を結構やってるけど、証明書ピンニングを使ってないアプリでも面倒だよ。それでも、自分のデバイスをコントロールすることの重要性が浮き彫りになるね。どこにデータが送られているのか、何のデータが送られているのかを知る権利があるから。COVIDの時にZoomが中国にトラフィックを送っていることが発覚したのを思い出すよ。最近では、Facebookがプライベートなモバイルブラウジングの活動を追跡して、FBアプリを通じてサーバーに送信していたケースもあった。アプリのネットワーク検査を設定するのが難しいせいで、どれだけ怪しいトラフィックが見逃されているか想像してみて。

CAのインストールにはいくつかの手間がかかるけど、はい、証明書ピンニングを使っていないアプリのトラフィックを傍受するのはiOSではそんなに難しくないよ。証明書ピンニングを使っているアプリは全く別の話で、銀行アプリみたいなものを調べようとして何度も失敗したことがある。最低でもルート化されたデバイスが必要だね。

確かに、iOSでmitmproxyを設定するのはAndroidよりもずっと簡単だよ。でも、証明書ピンニングのあるアプリに遭遇すると、独自のアプリをインストールできるオープンなプラットフォームにいる方が対処しやすいかもね。

それにしても、自分たちのデバイスをコントロールすることの重要性が強調されてるよね。ネットワークトラフィックを簡単にチェックできる能力も含めて。私たちには、自分のデータがどこに送られているのか、何が送られているのかを知る権利があるんだから。一方で、MITMプロキシについて文句を言ってる「セキュリティ」界隈の中に、企業に洗脳されたような騒がしい連中がいるのが面白いなって思う。

COVIDの時に、Zoomが中国にトラフィックを送っていることが発覚したのを思い出す。そうだったね。危機会議を開いている(下位の)政府が、その映像や音声を中国に送っているなんて想像してみてよ。あれが全部録画されている可能性はどれくらいあるんだろう。ディープフェイクのための素晴らしいトレーニングデータだね。

Hacker Newsで議論の続きを見る