ユーザーのフィンガープリンタビリティに関する包括的な研究
A comprehensive study of how fingerprintable users are (fingerprinting.study)
要約
この記事は、ブラウザフィンガープリンティングに関するMozillaの大規模研究の補足サイトです。約2500万人のFirefoxユーザーの協力を得て、ブラウザがどの程度識別可能かを測定し、どの特性がユニークさをもたらすかを特定しました。その結果に基づき、Firefox 143に搭載されたフィンガープリンティング保護策を設計しました。ユニークなユーザーの割合は75%から46%に減少しました。
全文翻訳
大規模測定と実世界でのウェブブラウザフィンガープリンティングの緩和策
Tom Ritter1, Fatih Kilic2, Frederik Braun1, Elisa Luo3, Geoffrey M. Voelker3, Stefan Savage3, Christoph Kerschbaumer1
1Mozilla Corporation · 2University of Toronto · 3UC San Diego
これは、Mozillaがブラウザフィンガープリンティングについて実施した研究の補足サイトです。約2500万人のFirefoxリリースユーザーの協力を得て、ブラウザが実際にどの程度識別可能かを測定し、どの特性がそれらをユニークにしているかを発見し、それらを使用してFirefox 143で出荷されたフィンガープリンティング保護策を設計しました。ここでは、論文とその主要な発見を読むことができます。PDFに収まらなかった完全な付録データ、プライバシーを保護した集計データと分析コードをダウンロードできます。データの収集方法を学び、あなたのブラウザを測定された母集団と比較するインタラクティブなテストを実行することもできます。データが答えられる質問がある場合は、フォローアップ研究を提案するためのディスカッションボードもあります。
ブラウザフィンガープリンティングは、現代のウェブにおける既知のトラッキングメカニズムですが、ユーザーに対するその実世界での有効性を測定することは困難でした。堅牢な保護策を構築するために、私たちは大規模で偏りのない母集団全体でユニークさを測定し、どの個々のメトリックがユーザーをユニークにしているかを判断しました。これらの測定では、OHTTPのような複数のプライバシー保護技術が使用され、個々のユーザーがウェブ全体で識別または追跡されないことが保証されました。Firefoxに組み込まれた保護策は、ウェブ互換性の問題を防ぎながら、ユニークに識別可能なユーザーの割合を75%から46%に低下させました。
[図: Line chart. The share of users with a unique fingerprint falls as each of the protections Firefox 143 shipped is added, for three modeled fingerprinters. Fingerprint Pro falls from 75.7% to 46.8%, Signifyd from 60.9% to 38.5%, and Akamai from 18.2% to 9.0%.]
3つの商用フィンガープリンターによってユニークと見なされるユーザーの割合を示しています。各ステップは、4つのオペレーティングシステム全体で重み付けされた、前のすべての保護策の上に1つの保護策を追加します。
論文要旨
ウェブブラウザフィンガープリンティングは、現代のウェブにおける主要なトラッキングメカニズムとなっていますが、その実世界での有効性や、既存の緩和策のどれが大規模で価値を提供するのかは、十分に理解されていません。
本論文では、約2500万人のFirefoxリリースユーザーからの実世界のテレメトリに基づいた、ブラウザフィンガープリンティングの大規模な研究を発表します。このデータセットにより、母集団スケールでのユーザーのユニークさを定量化し、どの特性がこのユニークさに最も貢献しているかを特定できます。
私たちの分析によると、フィンガープリンタビリティは、多くの独立した測定値の蓄積ではなく、少数の高影響特性とその組み合わせによって主に駆動されています。これらの洞察に基づいて、ユニークさとコホート構造への影響に基づいてフィンガープリンティング保護策を提案および評価し、データ駆動型の緩和策を設計します。
Firefox 143で出荷されたこれらの保護策は、ウェブ互換性を維持しながら、ユニークに識別可能なユーザーの割合を75%から46%に削減し、主流ブラウザでフィンガープリンタビリティの実用的な削減が可能であることを示しています。
私たちの主要な発見
ここでは、この論文と私たちの仕事のより広い範囲で提示したいと考えていることを示します。
ユニークさは少数のメトリックによって引き起こされる - 1つでも30個でもない
フィンガープリンティングテストサイトには、ブラウザから取得できる測定値が無限にあるように見えます。ユーザーがユニークなフィンガープリントを持っている場合、それは通常、単一の測定値によるものではありませんが、20または30の測定値によるものでもありません。ユーザーをユニークにするのは、少数のメトリックです。
実際、これは80/20ルールに非常に近いです。具体的には、Fingerprint Pro(私たちがモデル化した中で最も識別力の高いフィンガープリンター)によってユニークと見なされたユーザーの80%は、わずか8つのメトリックでユニークになります。一方、フィンガープリンターは合計50以上のメトリックを収集します。Signifydはより多くのメトリックを収集しますが、ユニークと見なされるユーザーは少なくなります。80以上のメトリックを収集しているにもかかわらず、8つのメトリックでユニークと見なされるユーザーの80%が特定されます。
数値はオペレーティングシステムごとにのみ意味がある
誰かが「ユニークなユーザーは何人いるか」を説明するために単一のパーセンテージを引用するときは、疑うべきです。なぜなら、これは非常に異なる振る舞いをする複数の異なる母集団をまとめているからです。
まず、ベースラインとして、オペレーティングシステムは常にフィンガープリンターに公開されます。私たちは常にウェブ互換性の制約の中で作業しており、ユーザーのオペレーティングシステムについて嘘をつくと、ショートカットキーが壊れたり、間違ったダウンロードが行われたりするなどの問題が発生します。したがって、ウェブサイトがユーザーの実際のOSをいずれにしても学習することを知っている場合、それを母集団をセグメント化して個別に分析するために使用できます。
そして、オペレーティングシステムごとに異なる振る舞いをすることがわかります。確かに、作業の簡潔な要約を提供し、4セットの数値を提供することは非常に困難です。そのため、私たち自身も単一の数値を提供するという罠に陥りますが、前の段落でそうしました。しかし、単一のパーセンテージがあるたびに、どこかにその数値がオペレーティングシステムごとに分解されています。それをすると、それぞれが異なる振る舞いをすることがわかります。
エントロピーはあなたが望む測定値ではない
すべてのメトリックの結果を取り、シャノンエントロピーを計算することは非常に簡単です。これはこの文献における標準的な尺度です。しかし、私たちが示すように、高いシャノンエントロピーはフィンガープリンティングの影響を確実に予測しません。
ユニークさだけでなく、コホートサイズも重要
以前の分析では、ユニークだったユーザーの数を計算しましたが、ユニークではなかった他のユーザーについては分析しませんでした。それらの他のすべてのユーザーは、1つのフィンガープリントを共有する100万人のユーザーか、それぞれ2人のユーザーが共有する50万の異なるフィンガープリントかもしれません。それは大きな違いです。
私たちはシンプソン指数(別名ハーフィンダール・ハーシュマン指数)を使用してその違いを定量化し、異なるコホートセット(共有フィンガープリント)を比較します。これにより、フィンガープリンティング防御策が、ユニークさをどれだけ排除するかだけでなく、ユーザーグループをどれだけ互いに統合するかという点で、どれほど効果的かを比較できます。
例えば、2つの異なる保護策は、それぞれユニークユーザーのシェアを約2.1パーセントポイント削減できます。しかし、一方はコホートスコアを56%改善し、もう一方はわずか13%しか改善しません。ユニークさだけで判断すると、2つの防御策は同等に効果的であるように見えるかもしれませんが、コホートの改善は大幅に異なります。
同じ保護策でもプラットフォームごとにパフォーマンスが大きく異なる
保護策は均一に影響力があるわけではなく、その変動は小さくありません。例として、利用可能な画面解像度をクランプすると、macOSの累積ユニークさから25.3パーセントポイント削減されますが、他の3つのプラットフォームからは3ポイント以下しか削減されません。すべてのユーザー全体で平均すると、その25ポイントの低下は3.5ポイントに縮小します。あるプラットフォームにとって非常に重要な保護策が、全体としてはわずかに見えることがあります。
これは、オペレーティングシステムごとにデータをセグメント化して分析することが非常に重要であるもう1つの理由です。
標準化とランダム化は連携する
ユーザーに同じ値を報告させることで、それらをより似たものに見せることができますが、決してすべての人を同じように見せるわけではありません。一部のユーザーは依然として目立つでしょう。これは、訪問者数が少ないウェブサイトではさらに悪化します。標準化は状況を改善しますが、ランダム化と組み合わせるべきです。ランダム化は、機能するときは非常に強力ですが、常に検出されバイパスされる可能性があります。どちらも単独でプライバシーを提供する負担を担うことはできません。
データは、値が異なるだけでなく、なぜ異なるのかを示す
フィンガープリンティング値とユーザーのハードウェアおよびその他の特性を相関させることで、特定の測定値がユーザー間で異なる理由を特定できます。根本原因を知ることで、より広範囲に到達する保護策を構築し、そうでなければ少数派として目立つ小さなユーザーグループを保護できます。
これらの違いに対処することで、Androidでの画像レンダリング、Web Audio、および数学演算で、より一貫した出力が得られており、さらに根本原因が調査中です。
ユーザーはウェブサイトの破損をその設定に結びつけない
厳格モードからの破損は遅延し、その遅延が原因を隠します。厳格モードをオンにするのは一度限りの行為ですが、破損したウェブサイトは後で到着し、それらを結びつけるものはありません。ユーザーの視点からは、このウェブサイトはFirefoxで機能せず、その理由もわからず、不満を感じています。報告されたレポートでは、隠し設定を有効にして厳格なフィンガープリンティング保護策をオプトインしたにもかかわらず、混乱して助けを求めている人々を数多く目にします。
出荷される保護策はウェブを機能させ続ける必要がある
ユーザーは、変更した設定が破損を引き起こしたことに気づかず、それを修正する方法も知りません。そのため、ウェブを破損させる保護策は、ブラウザも一緒に破損させます。私たちは、測定された影響と互換性の両方に基づいて緩和策を選択し、調整しました。デフォルトでは、互換性はプライバシーとのトレードオフではありません。それはプライバシーの前提条件です。
難しいのは、何が壊れるかを見つけること
ウェブは広大であり、最も無害な変更でさえどこかで何かを壊す可能性が高いです。一部の破損は予測可能であり、設計、テスト、検出に役立ちます。他の破損は、運の連鎖が続く場合にのみ修正されます。誰かが破損を認識し、報告し、適切なハードウェアで再現し、適切な担当者に届ける必要があります。
私たちは意図的にすべてを公開しているわけではありません
商用フィンガープリンターは継続的に進化しており、それらを研究するコミュニティからオープンに借用しています。フィンガープリンティングについて人々を教育するために構築されたサイト(CreepJSなど)は、フィンガープリンティング製品によって直接使用されています。
そのため、私たちは意図的に保守的でした。このデータセットがサポートする分析を実行していないもの、公開できるが公開していないデータ、そして私たちが追求していない攻撃的な側面があります。それは見落としではなく、選択です。私たちは、より良いフィンガープリンターを構築するのを容易にするよりも、質問を開いたままにしておきたいと考えています。
あなた自身のブラウザをテストする
このインタラクティブなテストは、Firefox自身の収集コードが実行した方法に可能な限り近い個々の測定値を再実装し、ブラウザで実行し、各結果を公開された集計データと比較します。各特性について、自分の値と、測定された約2500万台のブラウザのうち何台がそれを共有しているか(全体およびオペレーティングシステム内)を確認できます。
テストは完全にブラウザ内で実行されます。すべての比較はローカルで、静的な参照ファイルに対して行われます。データは保存されたり、私たちに送信されたりすることはありません。
テスト、またはこのサイトの他の何かが間違っているように見える場合は、GitHubで問題を報告してください。テストの問題については、その診断をコピーボタンからの診断を含めるか、測定値を公開で投稿したくない場合は、tom@ritter.vgにメールで送信してください。
論文
論文の拡張版はPDFで利用可能です。
完全な付録データ
論文の付録には、妥当なページ数とPDFフォーマットの制限の背後にある豊富なデータが含まれています。この完全なデータページには、すべてのオペレーティングシステムと3つのモデル化されたサービスごとのすべてのランク、完全な保護チェーン、および印刷解像度で再生成された論文の図が含まれています。
データ収集
私たちの測定値は、Firefoxテレメトリ、特にuser-characteristics ping、専用のテレメトリpingから来ています。定期的に送信される通常のテレメトリpingとは異なり、このpingは明示的に有効にする必要があり(2025年と2026年にそれぞれ1回有効化されました)、休止する前に1つのデータレポートを送信します。
このpingにはクライアントIDは含まれておらず、重複排除に使用されるping固有のUUIDのみが含まれています。他のテレメトリ送信にキーを付けることはできません。これはOblivious HTTP(OHTTP)を介して送信されます。Mozillaとは独立して運営されているリレーが暗号化された送信を転送するため、リレーは送信者のIPアドレスを見ることができますが、内容は見ることはできません。Mozillaは内容を受け取りますが、IPアドレスは受け取りません。収集されたデータへのアクセスは、4人の正規のMozilla従業員に制限されていました。データは90日間保持され、その後削除されました。
集計データと分析コード
私たちは4種類のデータをリリースします。
- モデル化されたフィンガープリンターごと、保護策の異なるフェーズで生成されたフィンガープリントのリスト。OSとロケールはマスク解除されています。
- OSごとに分割された、メトリックあたりの値の頻度の集計テーブル。
- OSごとに分割された、他のメトリックの値と相関したメトリックあたりの値の頻度の集計テーブル。
- 比較を可能にする、レンダリングされたキャンバス画像の詳細な分析。
フィンガープリントリストでは、テレメトリが収集された方法により、ウェブサイトがユーザー特性を測定して生成されたフィンガープリントを再現することはできません。生成後、ファイルは新しい順序にシャッフルされ、100回未満出現したロケールは匿名化されました。
集計テーブルでは、単一のOSごとの母集団内で100回未満観測された値は省略されます。したがって、公開データはコホートを表し、個人を表すものではありません。
キャンバス比較では、生のキャンバスレンダリングが提供されますが、他のユーザーデータとの接続は一切ありません。ユニークなキャンバスレンダリングは提供されず、ハッシュのみが提供されます。
検証と探索のために、データ処理に使用されたコードとさまざまな分析を実行するためのコードがレビュー用に利用可能です。また、論文でキャプチャ、リバースエンジニアリング、およびモデル化された特定のフィンガープリンティングスクリプトも含まれています。
将来の研究
このデータセットから、私たちが尋ねた以上の多くのことを尋ねることができます。私たちが追求しなかったもの、単に思いつかなかったもの、そして私たち以外の誰かに適したものがいくつかあります。
フォローアップ分析を提案するためのディスカッションボードがあります。2種類は投稿する価値があります。
- 公開された集計データから回答可能。 誰でもこれらを実行できます。OSごとの分布がリリースされており、分析ツールキットはオープンです。それでも質問を投稿してください。作業が重複せず、結果が他の人が見つけられる場所に配置されるようにするためです。
- 生のデータが必要。 これらは私たち自身が実行する必要があるでしょう。基になるpingデータは、私たちが決してリリースできないものです。何を知りたいのか、そしてなぜ知りたいのかを説明してください!明確にしておきますが、私たちは生のデータをもう持っていません。しかし、将来的に再収集を行い、分析する可能性があります。すべてを実行することを約束することはできません。また、より良いフィンガープリンターの構築を支援したくないため、いくつかの質問を断る場合があります。