- Gravy Analyticsのハッキング流出ファイルから数千件のアプリ名と位置データが明らかになり、人気アプリが開発者SDKではなく広告エコシステムを通じて機微な位置情報の収集に利用された可能性が高まった
- 主要な経路として挙げられているのはリアルタイム広告入札のRTB bid streamで、広告を実際に配信しなくても接続先の事業者が端末位置やIPベースの位置を収集できる
- 一覧にはCandy Crush、Tinder、Grindr、MyFitnessPal、Flightradar24、Tumblr、Microsoft 365、Yahoo Mailに加え、妊娠・生理追跡アプリ、宗教アプリ、VPNアプリも含まれる
- Gravyは位置データを商業顧客に販売し、子会社Venntelを通じて米国政府機関にも提供してきた。VenntelのデータはLocate Xのような政府調達の監視ツールにも使われていた
- アプリ開発者が直接位置収集コードを入れていなくても、広告入札の過程でデータが流出しうるため、ユーザー保護の焦点はアプリ自体から広告技術サプライチェーンへと広がっている
Gravyのハッキングファイルが明らかにした位置データ供給網
- ハッキングファイルにはAndroidとiOSの数千件のアプリが含まれており、一部のファイルは各位置データの横にアプリ名も記録していた
- データには米国、ロシア、欧州内のモバイル端末の数千万件の座標が含まれている
- 収集経路がアプリ開発者の埋め込みコードではなく広告エコシステムに見えるため、ユーザーだけでなくアプリ開発者もその収集を知らなかった可能性がある
- 一部の位置データにはタイムスタンプがないが、一覧に2024年5月リリースのCall of Duty: Mobile Season 5が含まれており、2024年のデータである手がかりが残っている
- Gravyが直接データを集めたのか、別の企業から調達したのか、最終的にどの位置データ企業が所有またはライセンスしていたのかは明確ではない
含まれていたアプリと公開リスト
- 404 Mediaはハッキングファイルからアプリ名を抽出して一覧を作成し、全体リストをGoogle Sheetsで公開した
- アプリ一覧はゲーム、出会い系、健康、交通、業務、宗教、VPNなど複数のカテゴリにまたがっている
- ゲーム: Candy Crush、Temple Run、Subway Surfers、Harry Potter: Puzzles & Spells
- 出会い系アプリ: Tinder、Grindr
- 健康・生活アプリ: MyFitnessPal、My Period Calendar & Tracker
- 交通・航空アプリ: Moovit、Flightradar24
- ソーシャル・業務アプリ: Tumblr、Yahoo Mail、Microsoft 365
- 機微カテゴリのアプリ: 妊娠追跡アプリ、ムスリム向け礼拝アプリ、キリスト教の聖書アプリ、複数のVPNアプリ
- AndroidとiOSのアプリがともに含まれており、名称が少し異なる重複アプリも、利用者がインストール済みアプリを検索しやすいよう維持されている
- 複数のセキュリティ研究者も、サイズの異なるアプリ一覧を別途公開している
RTBが主要経路と見なされる理由
- Silent PushのZach Edwardsは、Gravyのデータはアプリ内蔵コードではなくオンライン広告の入札ストリームから調達されたことを示す公開証拠のように見えると評価した
- 過去には位置データ企業がアプリ開発者に費用を払い、位置収集コードの束をアプリに組み込ませていたが、現在ではアプリ内広告の入札過程で位置情報を取得する手法も使われている
- リアルタイム入札では企業がアプリ内の広告枠を買うために入札し、データブローカーがその過程をのぞき見してモバイル端末の位置を収集できる
- 監視企業は広告技術企業を買収したり、潜在的な広告主のように振る舞ったりしてRTBデータにアクセスできる
- 実際に広告を落札したり表示したりする必要はない
- 広告業界に接続するだけで端末データを収集できる
- この場合、位置データにユーザーのIPアドレスが含まれることがあり、IPをジオロケーションに変換しておおよその位置を得られる
研究者が見た技術的手がかり
- Adalytics創業者のKrzysztof Franaszekは、一部のデータが広告関連のRTBから調達された可能性が高いと評価した
- 一部ファイルのuser-agentには
afma-sdkという文字列があり、これはGoogle Mobile Ads SDKで使われる文字列だ
- この手がかりは、一部事例でGoogleの広告プラットフォームが広告を配信し、その広告フローが外部企業や潜在的な政府契約業者による追跡につながった可能性を示している
- Franaszekは、データのかなりの部分がGNSS/GPSではなくIPアドレスベースのジオロケーション参照から推定されたものだとみている
- Edwardsは、アプリの種類が非常に多様である点が、SDKベースの収集よりも大規模RTB収集で見られるパターンに近いと判断している
- GoogleとAppleは複数回のコメント要請に応じていない
Gravy、Venntel、政府監視ツールのつながり
- Gravyは複数のソースからモバイル位置データを集め、商業企業に販売する企業だ
- 子会社Venntelを通じて米国政府機関にも位置データを販売してきた
- Venntelの顧客にはImmigration and Customs Enforcement、Customs and Border Protection、IRS、FBI、Drug Enforcement Administrationが含まれていた
- VenntelはBabel Streetの政府調達監視ツールLocate Xに基盤データを提供していた
- 404 Mediaや他メディアは、Locate Xが州外の中絶クリニック訪問者を監視するために使われうることを前年に示していた
アプリ企業の反応
- Flightradar24はGravyのことは聞いたことがないが広告を表示しており、その広告がFlightradar24を無料に保つ助けになっていると回答した
- TinderはGravy Analyticsと関係はなく、そのデータがTinderアプリから得られた証拠はないと答えたが、アプリ内広告に関する質問には答えなかった
- Muslim ProはGravyを知らず、無料版を支えるため複数の広告ネットワーク経由で広告を表示しているが、それらのネットワークにユーザー位置データの収集を許可していないと答えた
- GrindrはGravy Analyticsと協業したこともデータを提供したこともなく、データ集約業者やブローカーとデータを共有しておらず、複数年にわたり広告パートナーとも位置情報を共有していないと答えた
- ほとんどのアプリ開発者と企業はコメント要請に応じていない
規制とデータ検証
- 2024年12月、FTCはMobilewallaがオンライン広告オークションで消費者データを収集し、オークション参加以外の目的に使うことを禁じた
- FTCはVenntelとGravyがユーザー同意なしにデータを収集したとし、過去の位置データの削除を命じた
- 健康クリニックや礼拝施設のような機微な場所に関連するデータ販売も禁止され、国家安全保障や法執行に関する限定的な例外は残されている
- 404 MediaはハッキングされたGravyデータを複数の方法で検証した
- 一部ファイルにはデータウェアハウジングツールSnowflakeのGravyインスタンスの認証情報が含まれていた
- ハッキングファイル内のURLが実際のSnowflakeインスタンスに対応するか確認した
usersファイルには企業一覧があり、一部企業はGravyとの関係を否定した
- Cuebiqは市場データ評価を定期的に行っているが、この事例は限定的なデータサンプルによるテストであり、顧客には提供されず、試験終了後に削除されたと回答した
- Datonicsは、ファイル内のsegment IDはDatonicsのものではなくGravyのものだと回答した
- 2023年にGravyと合併したUnacastは、ハッキングとRTBベースの位置データ派生に関する複数回のコメント要請に応じていない
1件のコメント
Hacker Newsのコメント
アプリ下部の小さなバナー広告が表示されるたびに、その広告枠をめぐって即席のオークションが行われる。
Googleが入札者に情報を渡すと、入札者はその広告を表示するためにいくら払うかを計算する。
つまりオークションに負けた側もデータの滝を受け取ることになり、そもそもオークションに負けながらデータを収集することを目的とした会社が存在する。
だからCIAの非公開ではない投資部門であるIn-Q-Telが、こうした分析、つまりデジタル監視企業に投資していたとしても驚きではない。
https://www.ftc.gov/news-events/news/press-releases/2024/12/...
Mobilewallaがリアルタイム広告入札取引所で顧客の広告枠に入札する際、落札していなくても入札リクエストの情報を不当に収集・保管していたというFTCの訴状の内容だ。
2018年1月から2020年6月までに、5億件以上のユニークな消費者広告識別子と精密位置データを合わせて収集しており、生の位置データは匿名化されておらず、センシティブな位置を除去するポリシーもなかったため、個人のデバイスと訪問場所を特定できた。
この生データへのアクセス権を、広告主、データブローカー、分析会社などの第三者に販売していたという。
ヘッダー入札に参加すると、人気のモバイルWebサイトを運営しているときに見られるものと似たデータを得られる。
In-Q-Telが取引所のような優れた裁定取引ビジネスに投資するのは驚きではなく、優れた投資家が優れた投資をしているだけで、冷笑的な監視戦略には見えない。
しかしGoogleはこれを取り締まっていない。ユーザーデータを明示的に販売することなく、ユーザーデータを販売する方法だからだ。
素朴には、Googleがこうした入札を社内で処理しているのだと思っていた。
記事で触れられていないのは、位置情報がどのように収集されるかだ。
IPジオロケーションを位置データ収集と呼ぶのは少し無理がある。通常、直接ジオロケーションを取得するより正確ではないので、ブローカーから受け取る必要がないからだ。
ただAndroidではACCESS_COARSE_LOCATIONとACCESS_FINE_LOCATIONのどちらも権限ダイアログが必要なので、正確にどう動作しているのか気になる。
「このジオロケーションデータセットのかなりの部分は、IPアドレスをジオロケーションとして照会して推論されたものに見える。つまり、サプライヤーやその出所がGNSS/GPSデータではなくユーザーのIPアドレスを確認してジオロケーションを導き出しているということだ。これは、データが完全に位置情報SDK由来ではないことを示唆している」という内容がある。
ゲームは私の位置を一切追跡しようとすべきではないし、技術的に精度が低いという理由で免罪されるべきではない。
https://developers.google.com/android/reference/com/google/a...
他のアプリはよく分からない。
comm -12 <(cat gravy_app_list\ -\ count.csv| uvx --from csvkit csvcut -c 2 | rg '\.' | sort) <(adb shell pm list packages -3 | cut -f 2 -d ":" | sort)CSV は https://docs.google.com/spreadsheets/d/1Ukgd0gIWd9gpV6bOx2pc... から入手して、スマートフォンのアプリの中に一致するものがあるか確認できる
自分のリストを見て、2つ気になることがある。PodcastAddict の代替アプリは何がよいのか、有料版では画面広告の表示だけでなく広告トラフィック全体が止まるのか、そしてそもそも MS Outlook がどうやってこのリストに入ったのか
PodcastAddict は位置情報の権限すら要求しない[1]
それならどうやって位置情報にアクセスできるというのか? 記事を詳しく読むと、位置情報は Gravy のアプリから出たものではない可能性もある、という但し書きがある
せいぜい IP ベースの位置情報を得る程度で、それはどのみち訪問するすべてのウェブサイトに渡している情報だ
「このデータセットは Gravy のハッキングから出たもののようだが、Gravy がこの位置データを直接収集したのか、他社から取得したのか、どの位置データ会社が最終的に所有または利用許諾を受けていたのかは不明だ」という内容がある
[1] https://play.google.com/store/apps/details?id=com.bambuna.po...
「こんにちは。このメールの意味が分かりません。当然ながら、すべてのポッドキャストアプリはストリーミングのためにサードパーティのコンテンツへ接続するので、ポッドキャスターが使っているホスティングプラットフォーム、トラッキングサービス、広告サービスはユーザーの IP アドレスにアクセスできます。
ポッドキャストアプリが IP アドレスを漏らしていると言うのは、ウェブブラウザがそうしていると言うのと同じくらい愚かなことです。サードパーティのコンテンツに接続するためのツールにすぎず、VPN を使っていない限り、接続先のサーバーは常に IP アドレスにアクセスできます。
アプリはユーザーの位置情報を持っていません。ご覧の通り位置情報の権限を要求していないため、アプリには共有できる位置情報がありません。ただし、接続するどのサーバーにも IP は当然公開されます。
Xavier」
設定できるので NextDNS [1] を使っているし、AdGuard [2] DNS もおそらくうまく動くはず
grep -f gravy_app_list\ -\ count.csv <(adb shell pm list packages -3 | cut -d":" -f2)だ広告はあらゆるエコシステムに感染するウイルスだ
これはむしろ鉛中毒に近い
本質的に間違っているわけではないが、悪事を働く人たちに好まれすぎている
関連記事: FTC が位置データを販売した Gravy Analytics と Venntel に措置、194ポイント・コメント158件
https://news.ycombinator.com/item?id=42309429
https://web.archive.org/web/20250109211053/https://www.wired...
https://archive.ph/Danyk
https://docs.google.com/spreadsheets/d/1Ukgd0gIWd9gpV6bOx2pc...
https://gist.github.com/fs0c131y/f498b21cba9ee23956fc7d76292...
これらのアプリが位置データの許可可否に関するOSの権限を迂回できる、という意味だと理解してよいのか気になる
自分の理解では、定期的にネットワークリクエストを送るバックグラウンドタスクを作るのは難しくない
バックグラウンドタスクが何らかの一意な識別子を含めて広告ネットワークのサーバーへHTTPリクエストを送り、サーバー側でIPジオロケーションを処理すればよい
多くのモバイルネットワークでは精度は高くないだろうが、一部のISPではIPが近隣地域単位まで細分化されているため、Wi-Fiではかなり細かくなり得る
この可能性を見越して、ほぼすべてのアプリのバックグラウンドアプリ更新をオフにしていたが、アプリ体験の低下はなかった
iOSでトラッカーのIPリクエストをブロックするために端末内にダミーVPNを作る1Blockerを使っていて、バックグラウンドアプリ更新をオフにすると、ブロックされたリクエスト数が大きく減ったのを見た
一部はSentryのような無害な診断だったが、大多数はそうではなかった
iOS開発に詳しい人が、バックグラウンドタスクの実行制限を踏まえて、これが実際に可能なのか説明してくれるとありがたい
おそらく権限がオンなら位置情報を使い、そうでなければIPジオロケーションで代替している可能性が高い
リアルタイム入札はプライバシー保護の面では悪夢で、ユーザーの行動をリアルタイムで全広告事業者にばらまきながら、「悪用しない」という小指の約束に頼る構造だ
精密な位置データがある場合は、ユーザーが権限を許可しているということ
Candy Crushがなぜ精密な位置情報を要求する必要があるのかは分からないが、CCがそうした権限を要求してはいないとかなり確信している
個人的には、Tinderが政府から鉄槌を下されるのを待っている
複数のデーティングアプリを統合した後に得た独占力は本当にとんでもない
インターネットの台頭によって生じた社会的外部性について皆が不満を言うが、長期的に一国の成功にとって、これ以上に重要な変数はそう多くないとは言いにくい
使ったことはないが、ざっくりセックス用のFacebookのようなものだと思っている
Metaのサービス群より悪いのか?