web-dev-qa-db-ja.com

Torはフィンガープリントからどの程度保護されていますか?

特定のウェブサイトで追跡したくないのですが、jsなしでは機能しません。 「すべてのWebサイトのすべてのデータの読み取りと変更」が必要なプラグインがいくつか見つかったので、別のプラグインが必要でした。私は小さなpythonブラウザまたはクロムプロジェクトに基づいた別のものをコーディングし、それだけ多くのデータ(空のユーザーエージェントなど)を渡さないように設定することを考えていました。また、2番目のオプションはWebでトップ10のフィンガープリントを見つけてランダムに使用しました。欠点は、フィンガープリントが変更されるたびに新しいIPを取得しなければならず、リクエストがさまざまなデバイスから送信されたように見えることです。Torを使用するのが最も簡単な方法です。しかし、それでも私には固有のフィンガープリントがあり、元の問題に戻っていますよね?Torネットワークはこれについて何かしますか?

5
Rápli András

何も変更しない場合、 Torブラウザーすでに構成済み であり、フィンガープリントは他のすべてのTorブラウザーと同一です(そして、最も一般的なフィンガープリントに近い)ウェブ)。指紋を作成するには 多くの可能性があります なので、自分でいじるのではなく、これに依存することをお勧めします。 Torブラウザーバグトラッカー の未解決の問題と解決済みの問題を見て、問題を理解してください。

読み取り専用のライブメディアを介してTailsを使用し、妥当な努力で非常に大量の匿名性を取得することもできます。

10
Noir

ブラウザの識別に使用できるフィンガープリントは、使用可能な機能によって異なります。すべてを無効にして最低限のブラウザを実行している場合、指紋をとるデータはほとんどありません。繰り返しになりますが、過剰なデータが不足すると、トラフィックがよりユニークになります。しかし最終的には、Javascriptを有効にすることで、多くのことを開拓することになります。

このフィンガープリントプロジェクトをgithub( https://github.com/Valve/fingerprintjs )からWebサーバーの1つに複製しました。 Torブラウザでアクセスした場合、ブラウザから次のような通知が届きました。

「このWebサイトは、コンピューターを一意に識別するために使用される可能性があるHTML5キャンバスイメージデータを抽出しようとしました。TorBrowserがこのWebサイトにHTML5キャンバスイメージデータを抽出することを許可しますか?」

また、自分のIDを更新してフィンガープリントのURLにアクセスするたびに、画面の解像度に基づいた一意のフィンガープリントが得られたため、Torにもフィンガープリントが存在しないようです。

これがまさにこの主題についての良い記事です:

http://www.unhappyghost.com/2015/02/forensics-fingerprinting-defenses-in-tor-browser.html

FTA、

JavaScriptは、多くのフィンガープリント情報を明らかにする可能性があります。 useragentに関する情報を抽出するwindow.screenやwindow.navigatorなどのDOMオブジェクトを提供します。また、JavaScriptを使用して、Date()オブジェクトを介してユーザーのタイムゾーンをクエリできます。WebGLは、使用中のビデオカードに関する情報を表示できます。また、高精度のタイミング情報を使用して、CPUとインタープリターの速度を確認できます。将来、Resource Timingなどの新しいJavaScript機能により、未知の量のネットワークタイミング関連情報がリークする可能性があります。

追跡について本当に心配している場合は、次のことをお勧めします。

  • VMを作成し、それからTorブラウザを実行します
  • 間違ったタイムゾーンを設定する
  • ランダムなユーザーアカウント名を使用する
  • 仮想キーボードを使用します(これにより、タイピングスタイル/タイミングフィンガープリントが防止されます)。
  • torブラウザーを除き、ポート80/443とTorが接続する必要のあるものを除いて、すべての送信トラフィックをブロックするように設定します。
  • セキュリティ設定を高に設定します
  • (NoScriptを介して)明示的に必要なページに対してのみJSを有効にする
  • iDを頻繁に変更します。

正確な時間、キーボードレイアウト、MACアドレスなどの可能なオペレーティングシステム識別子への定期的な変更をスクリプト化することをお勧めします。

常に頻繁に更新し、フラッシュを実行しないでください。

[〜#〜] update [〜#〜]利用可能なフィンガープリントJavaScriptの新しいバージョンがあります: https:// github。 com/Valve/fingerprintjs2

これはより良い仕事をしているようで、新しいアイデンティティを設定しても何も起こりません。

次に、フィンガープリントに使用するソースのリストを示します。

  1. ユーザーエージェント
  2. 言語
  3. 色深度
  4. 画面の解像度
  5. タイムゾーン
  6. セッションストレージがあるかどうか
  7. ローカルストレージがあるかどうか
  8. インデックス付きDB
  9. IE特定の 'AddBehavior'
  10. DBを開いています
  11. CPUクラス
  12. プラットホーム
  13. DoNotTrackかどうか
  14. Flashで実装された、インストールされているフォントの完全なリスト(エントロピーを増加させる順序を維持)。
  15. JS/CSS(サイドチャネル技術)で検出されたインストール済みフォントのリスト-フラッシュなしで最大500個のインストール済みフォントを検出できます
  16. キャンバスフィンガープリント
  17. WebGLフィンガープリント
  18. プラグイン(IEを含む)
  19. AdBlockがインストールされているかどうか
  20. ユーザーがその言語を改ざんしています1
  21. ユーザーが画面の解像度を改ざんしました1
  22. ユーザーがOSを改ざんしている1
  23. ユーザーがブラウザを改ざんしました1
  24. タッチスクリーンの検出と機能
3
nyxgeek