web-dev-qa-db-ja.com

ブラウザの指紋を偽造する方法は?

私はGoogle Chromiumをベースにしたブラウザを開発しており、プライバシーは自由であることに留意しています。しかし、ブラウザのユーザーをフィンガープリントから保護する方法を知る必要があります。

次のリクエストなど、フィンガープリントに関連するリクエストを傍受することを考えていました。

  1. ブラウザプラグインの詳細とユーザーエージェント文字列
  2. HTTP_ACCEPTヘッダー
  3. 画面サイズと色深度
  4. タイムゾーンとシステムフォント

そして、常に同じ(偽の)応答を送信します。エンドユーザーの手を壊すことなくこれを実行したいと考えています。

たとえば、ユーザーが動画を全画面で視聴しようとし、サイトが適切なサイズに変更するために画面サイズを要求した場合、ブラウザは偽の画面サイズを送信しますが、実際にはdisplay真の画面サイズ。

これは可能ですか?サイトを正しく機能させずに、これらのリクエストを傍受してこの情報を非表示にすることは実際に可能ですか?

3
Freedo

Firefoxのオープンソース拡張機能を見つけました [〜#〜] ras [〜#〜] オープンソースなので、コードを掘り下げて、必要に応じて任意のプラットフォームに移植できます...私はこのプラグインをFirefoxでしばらくテストしましたが、PCのモバイルブラウザーや電話のPCブラウザーを偽装しない限り、大丈夫です。

これまでのところ問題はありません。ただし、拡張機能が古いブラウザーバージョンを偽装することをランダムに選択した場合を除き、古いブラウザーバージョンを除外して、現在のバージョンのみを偽装することができます。

この拡張機能は次のことができます。

  • Authorizationヘッダーを無効にする
  • スプーフィングされたIf-None-Matchヘッダーを送信する
  • Spoofed X-Forwarded-Forヘッダーを送信する
  • スプーフィングされたViaヘッダーを送信する
  • なりすましリファラーヘッダー
  • なりすましドキュメント
  • なりすまし受け入れエンコーディング
  • なりすまし受け入れ言語
  • タイムゾーンのなりすまし(UTC)
  • 画面サイズのなりすまし
  • 標準フォントセットを使用

そして、はるかに、そして私はあなたが彼らのドキュメンテーションを見ることができるここで詳細を教えません ここ 。プラグインをデフォルトで「クリックして再生」に設定することも良いアイデアですが、JavaScriptがデフォルトで許可されるようにして、何千ものページを壊さないようにします。

0
Freedo

はい、それは可能ですが、それはあなたが考えるよりもはるかに難しいです、そしてあなたは何があってもいくつかのものを壊してしまうでしょう。全画面ビデオの例をとると、画面サイズを要求するのはWebサイトではなく、Webページで実行されているJavascriptであり、サイズを調整するためにサイズを使用するかどうかは、リクエストの時点ではわかりません。ビデオ、またはブラウザのフィンガープリント。

Torブラウザーバンドル は、これを試み、妥当な成功を収めます。それがどのように機能するか、どのように改善できるかを調べるためにそれを研究することをお勧めします。

5
Mark