web-dev-qa-db-ja.com

フィンガープリントを防ぐためにランダムなブラウザー情報をスプーフィングする

Torは、ブラウザのフィンガープリントから身を守るために、誰もが同じように見えるようにする方法です。

短い時間間隔で可能な限り多くの情報をランダムに変更/追加する単純なアドオンもトリックをしませんか?これには欠点がありますか?

ランダムフォント、アドオン(またはアドオンのバージョン番号)、ユーザーエージェント(これを実行しているアドオンは既に存在します)を偽装することを考えています。

これを行おうとするプロジェクトはありますか?このアプローチの欠点は何ですか?

編集:このアプローチをTORが使用するアプローチと比較する(誰もが同じように見える)リクエストに応じて、このアプローチの方が優れていると思うものを追加します。 「他の人のようになりたい」というアプローチを使用する場合は、ブラウザをパーソナライズできません。非常に多くのランダムなプラグイン/フォント(可能な情報は何でも)を追加する場合、時々変更されますが、ブラウザをパーソナライズすることもできます。確かに、パーソナライズされたアドオンなどは他のランダムなものほど速くは変化しませんが、指紋を生成するために使用する情報が一致する他の指紋がある場合、サーバーはすべての指紋をチェックする必要があります新しいもので。これは、偽陽性(同じユーザーからのものではない2つの指紋を関連付けること)が発生する可能性が高いという、非常に多くの作業のように思えます。

このアプローチは、私が見ているように、すでにいくつかの絶滅に使用されています。プライベートになりたい場合は、追跡できないように、たとえばIPアドレスを変更しようとします。また、ユーザーエージェントの変更が行われます(特定の時間間隔でランダムに変更するアドオンが既に存在します)。

しかし、なぜこのアプローチを追求できないのでしょうか?最も人気のある50のアドオン/フォントを描き、ランダムなバージョンにランダムな数のアドオンがインストールされていることを常に偽装するとしましょう

これはアドオン/フォントに限定されるだけではありません(これらの情報はフィンガープリントによく使用されることを私は読んだだけです)が、ブラウザが送信するあらゆる情報にこのアプローチを拡張できます。サイトを適切に機能させるには、実際の情報(ウィンドウサイズなど)を送信する必要があります。しかし、フィンガープリントアルゴリズムは、送信する必要があるこの最小限の実際の情報のみに依存できます(そして、panopticlickが取得するすべてのものにそれを行うのとは異なります)。

質問を今すぐ指定するには:これは技術的に達成可能ですか? (ブラウザの情報をこれほどよく偽装できますか)また、なりすましができないため、またはほとんどのサイトが正常に機能するために送信する必要があるために、偽装できない情報は何ですか。そして、これらの情報はすでに特定するのに十分ですか?最新のフィンガープリントアルゴリズムは、これらの「真実である必要がある」情報のみに依存しているか、または(panopticlickのように)手に入るすべてのものを使用していますか?

3
fubal

一見ランダムに見える変更が実際にランダムであるかどうか、または個々のユーザーを追跡するために使用される可能性のある基になるパターン/バイアスがあるかどうかを判断するのは簡単ではありません。一方、指紋の実装と検証は簡単で、指紋がすべてのユーザーに対して同じであるため、追跡には使用できません。したがって、すべてのユーザーを同じように見せることで、個々のユーザーの身元を隠す方がおそらく安全です。

それとは別に、いくつかのWebアプリケーションには、別のブラウザから行われたセッションハイジャックを検出するために、ブラウザのフィンガープリントがセッションクッキーに含まれています。フィンガープリントがランダムに変更されると、セッションCookieが大幅に無効になるため、常に再ログインする必要やショッピングカート内の記事を失うなど、ユーザーに多大な不便を強いることになります。

編集:最近拡張された質問に基づいて、ブラウザをパーソナライズしたり、好きな拡張機能を追加したりする可能性を制限するため、OPはTORによるアプローチを好まないようです。これは本当ですが、OPはそうではないと主張します追跡とフィンガープリントがどのように行われ、どのように行われるかを本当に認識しています。

はい、簡単なフィンガープリントはリクエストを見て、簡単に変更できるUser-Agentなどの情報を抽出するだけです。しかし、この種のフィンガープリントはユーザーの大まかなアイデアを提供するだけであり、特定のユーザーの追跡に単独で使用することはできません。 インストールされている拡張機能を確認する 、確認 ユーザーがログインしているソーシャルネットワーク などの行動分析を使用して、より興味深い追跡を行うことができます。私は本当に読むことをお勧めします クライアント識別メカニズムのテクニカル分析 これは、ユーザーを追跡する多くの異なる方法をカバーしていますが、完全ではありません。

したがって、Torが同じように見えるという考えは、要求だけを同じように見えるようにするだけでなく、同じように動作するようにも制限されません。追加した拡張機能や、ログインしたり単にアクセスしたりするサイトでは、ブラウザの動作が変更されるため、他のブラウザとは外観が異なります。単純な機能のランダム化は役に立ちません。追跡に本当に関心のある人は、どの機能を簡単に偽造できるか知っていて、それらを無視するためです。代わりに、振る舞いを簡単に偽ることはできません。

2
Steffen Ullrich

私の頭の上のところでは、ランダム化アプローチにはいくつかの潜在的なユーザビリティの問題があると思います。

Torユーザーの単一のフィンガープリントを定義し、さまざまなサーバーがどのようにそれに応答するかについて広範なテストを行うことは比較的簡単です。ランダム化されたフィンガープリントを使用すると、ユーザーが通常のコンテンツにアクセスしようとするときに、ある時点で問題が発生する可能性が高く、それらの問題は事前に予測することが不可能で、後で再現することが困難になる可能性があります。

1
zinfandel

また、考慮する必要がある1つのこと:基本的なWebGL操作の結果をランダム化する必要があります。

また、HTML5 Canvas WebGLでレンダリングされた画像を介してシステムのフィンガープリントを作成するためにも使用されます。フォントや画面サイズなどの情報が利用できない場合、これらはさらに有用であると考えられます。ほとんどの場合、テキストの上にパターンを配置して、色付きのペインに色付きのテキストをレンダリングします。次に、この生成された画像のハッシュを作成します。

これらの要因の変化:

  • ブラウザ
  • ブラウザのバージョン
  • グラフィックドライバーのバージョン
  • OSバージョン
  • パッチレベルの異なるソフトウェア/フレームワーク
  • フォントの実装
  • もっともっと
0
Serverfrog

あなたが説明したアプローチは、設計上、今日導入されている最も単純な指紋アルゴリズムが指紋の変化を検出、追跡、推測さえできるため、まったく効果がありません。たとえば、ブラウザーに追加またはブラウザーから削除できるプラグインは、JavaScript動作テストと呼ばれるものによって簡単に検出されます。

また、フォイルするフィンガープリントアルゴリズムについて何もわかりません。ブラウザのフォントを変更してランダムプラグインをインストール/削除しようとすると、変更を忘れてしまう情報がたくさんあります(画面の解像度としましょう)。変更できない他のデータ:CPUタイプ/速度やクロックスキュー測定など( 非表示のサービスを明らかにするための改善されたクロックスキュー測定手法


ツールについて質問しましたが、そのような質問はここではトピックから外れていますが、 Firfox User Agent Switcher はその名前が示すことを実行するアドオンです。ただし、そのために使用されている最も単純なプロの指紋アルゴリズムを破るふりをしないでください。あなたはむしろ、言及された伝統的な方法 here および議論された here を使用する必要があります。

0
user45139