カスタムURIスキームを利用して異なるWebブラウザーにわたりユーザー追跡を可能にする手法 2
あの手この手 部門より
カスタムURIスキームを利用することで、異なるWebブラウザーにわたるユーザーの追跡が可能になるという「scheme flooding」脆弱性をFingerprintJSが公開している(FingerprintJSのブログ記事、 Ghacksの記事、 HackReadの記事、 デモページ)。
この脆弱性はカスタムURIスキームを使用して外部プロトコルのハンドラー呼び出しを試みることで、Webサイトがユーザーのシステムに対応アプリがインストールされているかどうかを知ることが可能というものだ。カスタムURIスキームを利用するアプリのリストを生成することで、システムにインストールされた複数の異なるWebブラウザーで共通の識別子を生成できる。FingerprintJSでは影響を受けるブラウザーとしてデスクトップ版のTor Browser/Safari/Chrome/Firefoxを挙げているが、Chrome以外のChromiumベースブラウザーも影響を受けるとみられる。
ChromiumベースのブラウザーではカスタムURIスキーム実行時にダイアログボックスが表示され、ユーザーの意志に反したアプリケーションの起動を防ぐ仕組みが備わっているが、いったん内蔵PDFビューアーを起動するとこの仕組みがバイパスされる問題があるという。これについてはFingerprintJSがバグとして報告している。
FingerprintJSが公開しているデモでは24のアプリケーションに対応するカスタムURIスキームをチェックして24ビットの識別子を生成する。現在のところmacOSとWindowsにのみ対応しており、Linux上では正しく動作しない。
i-modeでよく見た (スコア:0)
cookie非対応のi-modeでは、カスタムURLでいろんなものを制御してた
正しく動作しない (スコア:0)
「正しく動作しない」とは。
脆弱性が機能しないのは正しくないのか?
IPアドレスあるし追跡と言われても、と思うがTorで困るし同一マシン特定は大きいか。
IPv6の一時アドレスもブラウザごとに割り当てとかになるかもね。