PowerScan
JA

ブラウザフィンガープリンティング:サイトが実際に読み取っているもの

ブラウザフィンガープリント · 読了目安 10 分 · PowerOps 著

写真: Unsplash

CanvasやWebGLからオーディオ、フォント、画面、タイムゾーンまで、ウェブサイトが収集する値を項目ごとに見ていき、なぜランダム化よりも一貫したIDのほうが優れているのかを解説します。

ブラウザフィンガープリンティングとは、ブラウザが保存しているものではなく、報告する値によってブラウザを識別する手法です。Cookieは必要ありません。ブラウザは、どのウェブページにも許されている質問に答えるだけで、その答えを合わせると、再び見分けられるほど特徴的になります。

収集される値

ほとんどのフィンガープリント用スクリプトは、同じいくつかの面から値を読み取ります。

分かりやすいもの

レンダリングに関するもの

人々がフィンガープリンティングと言うときに指すのは、これらの値です。間接的だからです。ページはブラウザに何かを描画させ、実際に描画された内容をそのまま読み戻します。

ネットワークに関するもの

すべての項目をランダム化するのが間違った発想である理由

直感的な防御策は、訪問のたびにすべてを変えることです。しかしこれは、2つの理由で裏目に出ます。

1つ目は矛盾です。ランダム化されたフィールドは互いのことを知りません。Windowsを名乗るUser-Agentの隣に、Apple製ハードウェアにしか搭載されないWebGLレンダラーの文字列があれば、どちらか一方の値だけの場合よりも強いシグナルになります。本物のマシンは内部で矛盾がなく、自分自身と食い違うのは合成されたマシンだけです。

2つ目は不安定さです。訪問のたびに異なるデバイスを報告するアカウントは、現実の誰も所有していないものを説明しています。時間を通じた一貫性こそが、普通のユーザーの姿です。

プロファイルのIDがカバーする範囲

項目扱い方
User-Agentとプラットフォームまとめて生成されるため、名乗るプラットフォームが周囲の値と一致する
画面とピクセル比プロファイルごとに固定され、実在のディスプレイが報告するサイズから選ばれる
タイムゾーンとロケールプロファイルごとに設定され、使用するネットワーク経路と照合される
Canvas、WebGL、オーディオプロファイルごとに安定した処理が施され、開くたびに同一になる
フォントプロファイルが名乗るプラットフォームと整合する、プロファイルごとのセット
WebRTCプロファイルのネットワーク経路と矛盾しないように制約される

自分の設定を確認する

プロファイルを開き、フィンガープリントのテストページにアクセスします。読み取った値を公開しているページがいくつかあり、無料で使えます。確認する価値のある2点は、思いつくものとは違うかもしれません。

  1. 値同士が一致しているか?プラットフォーム、フォント、グラフィックスの文字列、タイムゾーンが、もっともらしい1台のマシンを表しているべきです。
  2. 前回と同じか?プロファイルを閉じて再び開き、テストをやり直します。開くたびに値が動くプロファイルは安定しておらず、重要なのは安定性という性質です。

テストページの希少性スコアは、最も役に立たない数値です。それは、そのページの訪問者と比べた結果であり、訪問者の大多数はアンチディテクトブラウザをテストしている人たちだからです。

すべての記事 · スキャンを実行