萌えハッカーニュースリーダー

2025/08/30 19:33 Meta and Yandex Disclosure: Covert Web-to-App Tracking via Localhost on Android

出典: https://localmess.github.io?new
hakase
博士

やあ、ロボ子。今日のニュースはちょっと面白いぞ。Yandex Metricaスクリプトが、変な動きをしているみたいじゃ。

roboko
ロボ子

博士、どういうことですか? Yandex Metricaスクリプトが何か問題を起こしているんですか?

hakase
博士

そうなんじゃ。どうやら、Yandex Metricaスクリプトが特定のTCPポートを介して、localhostにHTTPリクエストを送っているらしいのじゃ。しかも、そのリクエストには長いパラメータが付いているらしいぞ。

roboko
ロボ子

localhostですか? なぜそんなことを?

hakase
博士

それが面白いところじゃ。Yandexが持っているアプリ、例えばYandex MapsとかYandex Browserが、そのポートでリッスンしているのじゃ。

roboko
ロボ子

なるほど。アプリ間で何か通信をしているんですね。

hakase
博士

そういうことじゃな。Yandexのアプリは、ローカルポートのリストを取得するためにYandexのドメインに接続するらしい。そして、Yandex Metricaスクリプトからのリクエストを受信すると、Base64エンコードされたバイナリペイロードで応答するのじゃ。

roboko
ロボ子

Base64エンコードされたバイナリペイロード…ですか。それには何が入っているんですか?

hakase
博士

Googleの広告IDとかUUIDとか、Java APIからアクセスできる識別子が含まれているらしいぞ。つまり、ユーザーの識別情報がやり取りされている可能性があるのじゃ。

roboko
ロボ子

それはプライバシーに関わる問題ですね。具体的にどのような流れで通信が行われているんですか?

hakase
博士

まず、ユーザーがYandexアプリを開くと、バックグラウンドサービスがHTTPとHTTPSのポートでトラフィックをリッスンするのじゃ。次に、ユーザーがYandex Metricaスクリプトを埋め込んだウェブサイトをブラウザで訪問する。すると、Yandexスクリプトがサーバーにリクエストを送信して、難読化されたパラメータを取得する。そして、そのパラメータがlocalhostに送信されるのじゃ。

roboko
ロボ子

難読化されたパラメータ…ですか。それがデバイスIDに繋がるんですね。

hakase
博士

そういうことじゃ。アプリ内のYandex Metrica SDKがそのパラメータを受信して、暗号化されたデバイスIDを含むレスポンスをウェブサイト上のYandex Metricaスクリプトに返す。最後に、ウェブサイト上のスクリプトがそのIDをサーバーに送信する、という流れじゃ。

roboko
ロボ子

かなり複雑な仕組みですね。でも、なぜこんなことをするんでしょう?

hakase
博士

それが問題なのじゃ。HTTPリクエストをWeb-to-Native ID共有に使うと、ユーザーの閲覧履歴が第三者に漏洩する可能性があるのじゃ。悪意のあるAndroidアプリがYandex Metricaスクリプトによって送信されたHTTPリクエストを傍受して、Origin HTTPヘッダーを監視することで閲覧履歴を収集できる。

roboko
ロボ子

それは大変です! どのブラウザが影響を受けるんですか?

hakase
博士

Chrome、Firefox、Edgeなどのブラウザが影響を受けるらしいぞ。Braveブラウザはこの問題の影響を受けず、DuckDuckGoは最小限の影響のみを受けるとのことじゃ。

roboko
ロボ子

Braveブラウザはプライバシー保護に力を入れているだけありますね。ところで、このYandex Metricaはどれくらいのウェブサイトで使われているんですか?

hakase
博士

BuiltWithによると、Meta Pixelは580万以上のウェブサイトに埋め込まれていて、Yandex Metricaは約300万のウェブサイトに存在するらしい。HTTP Archiveによると、Meta Pixelは240万のウェブサイトに、Yandex Metricaは575,448のウェブサイトに存在する。

roboko
ロボ子

Meta Pixelも同じような問題を抱えている可能性があるんですね。

hakase
博士

そうじゃな。YandexがHTTPを使うようになったのは2017年2月かららしいぞ。YandexとMetaは、Androidプラットフォーム上のlocalhostソケットへの無制限アクセスを利用しているのじゃ。

roboko
ロボ子

ユーザーが気付かないうちに、このようなトラッキングが行われているんですね。プライバシーコントロールでは制御できないとは…。

hakase
博士

そうなんじゃ。しかも、MetaやYandexの公式ドキュメントには、この方法とその目的に関する公開ドキュメントはないらしい。ユーザーがモバイルブラウザでFacebook、Instagram、Yandexにログインしていない場合でも、Incognitoモードを使用している場合でも、Cookieやその他の閲覧データをクリアした場合でも機能するのじゃ。

roboko
ロボ子

それはかなり深刻な問題ですね。サイトが適切なCookieに同意する前にスクリプトをロードすると、この動作がトリガーされるとのことですが、対策は難しいのでしょうか。

hakase
博士

まあ、YandexもMetaも、まさかこんなに詳しく調べられるとは思ってなかったじゃろうな。まさに『藪をつついて蛇を出す』、じゃなくて『ロボ子をつついて真実を出す』、かの?

roboko
ロボ子

博士、それは少し違いますよ…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search