2018年04月30日

Firefoxのfingerprinting対策について

調べ途中だけどメモ。

たとえば零細サイトのアクセス解析を想定して。99%がWindowsなのに、たまにMacのChromeからのアクセスがあればそれはおそらく同じ人じゃないか。 フォントの情報から「Windowsなのにヒラギノがある」「マイナー言語用のフォントがインストールされている」、プラグインの情報から「UbuntuのFirefoxでFlashを入れている」など、めったにない情報があると特定が捗る。実際はそんなに珍しい組み合わせでなくてもある程度特定はできる。

Cookieの無効化・削除では対応できない、それらの環境固有の情報をできるだけ無効化したり偽装して、追跡や特定をされるリスクを下げようという話。

ちなみにプライバシー対策としてよく名前が上がるDo-Not-Trackヘッダは大抵のブラウザでデフォルトオフなので、オンにすること自体がfingerprintingに加担するという指摘がある。

resistfingerprinting

about:config から privacy.resistfingerprinting をオンにすると主に次のような偽装をして特定可能な情報量を減らす。

  • タイムゾーンをUTCに
  • Accept-Language を英語に
  • キーボード配列をUSに
  • UserAgentでは、Firefoxのバージョンを直近のESRにする。OSは種類は維持したまま(WindowsならWindows、MacならMac)、バージョンを過去のものにする。Linux系はディストリビューションやプラットフォームもぼかす。
  • インストール済みフォントの一覧を一般的なものに

UserAgentのOSについては、UA以外でも機能の有無でOSを判別できることがあるうえ、OSまで偽装するとサイトがbrokenになる確率が上がるから維持しているらしい。

ほかに

  • Canvas要素でのfingerprintingを防止するために、Canvasを検知すると有効にするか確認を求める
  • タイマー関連の精度を下げる (ハードウェアの特定を防ぐため?)

Accept-Language

日本語のサイトを見るときにAccept-Languageが英語だと逆に特定する機会をあたえてしまう。他にも英語版を強制的に出す、英語版では情報量を削っている、言語切り替えしたら必ずトップページに戻るサイトで困るのでアドオンで対応する。(食べログとか)

Accept-Language per site を入れて、Hostが *.jp*.tabelog.com ではAccept-Languageが ja,en-US;q=0.9,en;q=0.8 になるように設定。

画面サイズ

Panopiticlickでチェックすると “Screen Size and Color Depth” がディスプレイの解像度と違う半端な値になる。 “Weird screen size resistfingerprint” で検索すると案の定 privacy.resistFingerprinting spoofs weird screen resolution で質問があった。 (初めの方の回答は的はずれだが)

仕様としては、画面全体の解像度として報告される値はFirefoxのウィンドウサイズ(window.innerWidth/Height)を送信している。新規ウィンドウは1000x500のように端数を丸めた固定サイズで作られるので各人ごとの固有の情報にはならないとのこと。

質問者が、リサイズと組み合わせると固有の値ができてしまうからいい実装じゃないと思うと答えたところで終わっている。同意見です。検索バーやサイドペインの表示でも値が変わるから微妙だ。

そういえば新しいウィンドウを開くと毎回微妙に使いづらいサイズで立ち上がると思ったらこれか。

  • ウィンドウサイズを固定で作成するとentropyを減らせる #1330882#1407366
  • この機能の移植元であるTor BrowserのTracにもバグ報告として上がっているが放置されている Weird screen sizes reported by Panopticlick
  • Tor Browserではリサイズで警告が出るらしい
  • そのほか、解像度はそんなにバリエーションがないから偽装しても意味ない気にするなとか、ウィンドウサイズをもとにすると別々のタブで開いた2つのページが関連付けられるから危険だとか。

プライバシー対策こじらせると大変なので程々にしたい。

posted by かぷらす at 15:50
"Firefoxのfingerprinting対策について"へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: