ブラウザのフィンガープリントは、匿名ユーザーを識別するための実行可能な手法ですか?


96

ブラウザのフィンガープリントは、匿名ユーザーを一意に識別するのに十分な方法ですか?マウスジェスチャーや入力パターンなどの生体認証データを組み込むとどうなりますか?

先日、EFFがブラウザの指紋で実行しいるPanopticlickの実験に遭遇しまし

もちろん、私はすぐにプライバシーへの影響と、それが悪にどのように使用されるかを考えました。しかし、一方で、これは非常に良い目的に使用することができ、少なくとも、作業するのは魅力的な問題です。

このトピックを調査しているときに、ブラウザーのフィンガープリントを使用して詐欺を攻撃している会社をいくつか見つけました。そして、いくつかの電子メールを送信した後、少なくとも1つの主要な出会い系サイトが偽のアカウントを検出するメカニズムの1つとしてブラウザーのフィンガープリントを使用していることを確認できます。(注:数百万のユーザーにスケールアップする際にアイデンティティとして機能するほどユニークではないことがわかりました。しかし、私のプログラマーの脳は彼らを信じたくありません)。

詐欺の検出と防止のためにブラウザーの指紋を使用している会社がありますhttp :
//www.bluecava.com/

以下は、ブラウザで一意の識別子として使用できるものの非常に包括的なリストです。http:
//browserspy.dk/


6
お気に入りのブラウザーのプラグインを作成して、ブラウザーの指紋を変更するのはどれくらい簡単でしょうか?できれば、誰かが自由に指紋を変更できるプラグインを配布できると思います。それも、ユーザーのグループ全体がすべて同じ指紋...使用することができますので、事前にロードされた「プロファイル」が含まれている可能性が
FrustratedWithFormsDesigner

1
スタック所にこれを行うことについての関連メタスタックオーバーフローの議論は:アウトSUSS靴下を支援するために、ブラウザのフィンガープリントのいくつかのフォームを実装する

プラグインを使用してブラウザの指紋を変更することについて。このIEEE記事(spectrum.ieee.org/computing/software/...)それは逆効果かもしれない理由を主張している
PiminコンスタンチンKefaloukos

回答:


91

まず、ユーザーが最新のWebでJavaScriptを無効にすることを期待するのは現実的ではないと思います。それでは、PanopticlickがJavaScriptだけで収集できるものと、特定のブラウザーの一意性スコアを見てみましょう。

  • ユーザーエージェント(4,184分の1)
  • HTTP_ACCEPTヘッダー(14分の1)
  • ブラウザプラグインの詳細(180万分の1)
  • タイムゾーン(24分の1)
  • 画面サイズと色深度(1,700分の1)
  • システムフォント(11分の1)
  • クッキーは有効ですか?(1.3に1)
  • SuperCookieの限定テスト(2分の1)

一意性の顕著な点は、明らかにユーザーエージェントとブラウザープラグインです。これらの項目はブラウザの指紋を形成するために一緒に使用されるため、個々のスコアと同じくらい強力であることを忘れないでください。ここでの累積的な一意性は、4,184 x 14 x 1.8 million x 24 x 1,700 x 11 x 1.3 x 2別名本当に大きな数字です。それは...かなりユニークです。

「クリックしてアクティベート」で、現時点ではFlashを無効にしています。Flashを有効にすると:

  • システムフォント(374kに1つ)

Flashは2番目にユニークな検出可能な要素を提供しますが、PanopticlickのデフォルトのJavaScript検出でも生成される膨大な数を考慮すると、この種のブラウザフィンガープリントを機能させるにはFlashが必要かどうかわかりません。JavaScriptを有効にするだけで十分です。

ただし、ブラウザのフィンガープリンティングは話の一部にすぎません。すべてが連携して匿名ユーザーをフィンガープリントできるため、匿名ユーザーから検出できるすべての合計を検討してください。検出されたデータを収集して使用するのはどれくらい難しいですか?

  1. 上記のようなブラウザの詳細スニッフィング(簡単)
  2. IPアドレス。長所と短所で信頼性のレベルがわかっている(簡単)
  3. 使用法(時刻)、タイピング、マウスまたは指の動き、単語の使用(ハード、サーバー側、クライアント側)などのユーザーの行動パターン

ブラウザーのスニッフィングだけで心配することの1つは、ユーザーがブラウザーを切り替えるのが非常に簡単なことです。ほとんどのプラットフォームには、Chrome、Opera、Firefox、Safariの少なくとも4つの優れた無料のブラウザの選択肢があります。そのため、ブラウザのスニッフィングを中断するか、少なくとも中断するために、ブラウザを頻繁に切り替えることができます。

ブラウザを切り替えも、JavaScript、HTML 5 Local Storage、およびFlashが無効になっていても、実際には機能する場合があるため、ここではいわゆるSuperCookiesに言及する価値があります

プライバシー研究者は、すべてのCookieストレージが無効になり、ブラウザのプライバシーモードを使用してサイトが表示された場合でも、500以上のサイトのユーザーを追跡できる営利目的のWeb分析サービスの背後にある悪の天才を明らかにしました。

(好奇心が強いなら、TL; DRバージョンは、ETagヘッダーのあいまいな原則を利用してこれを行うというものです。)

とにかく、ブラウザのスニッフィングに戻ります-これを打ち負かすためにユーザーがやれる不便なことが2つあります。

  1. 常にブラウザを切り替えます。
  2. 常にJavaScriptを無効にして閲覧します。

ユーザーがブラウザの設定を盗聴し、それらを指紋ための方法の一部として使用されていることを認識していない場合は、私は非常に彼らは必ずしもこれら二つの物事のトラブルに行くことはないだろう。仕事だ。

上記のデータに基づいて、私はブラウザスニッフィング信じることができ、典型的な匿名のインターネットユーザーを識別するのに役立つ-それは、我々は通常、IPアドレスのような匿名のインターネットユーザーから検出し、他のものとの組み合わせでのみ有効です。


7
ハッカー+1。あなたの両親はあなたがどのようにあなたの時間を過ごすか知っていますか?
P.Brian.Mackey

2
「まず、ユーザーが最新のWebでJavaScriptを無効にすることを期待するのは現実的ではないと思います。」シンプルなNoScriptソリューションが追跡を完全に停止してくれてうれしいです。
アルダシー

93
「別名本当に大きな数字。それは...かなりユニークです。」これらの機能がユーザー間でランダムに分散されている場合にのみ一意です。大多数のユーザーが、エージェントとプラグイン構成の非常に小さなサブセットを実行する可能性はありますか?高度に相関しているエージェントまたはプラグイン構成はありますか?これが一意であることに依存する場合は、最良の場合だけでなく、ユーザー間のこれらの機能の分布を確認する必要があります。
チャールズE.グラント

3
@Arda Xi:それでも面倒なブラウジングエクスペリエンスが得られます...;)
BoltClock

1
「まず、ユーザーが最新のWebでJavaScriptを無効にすることを期待するのは現実的ではないと思います。」心から、あなたは間違っています。noscriptアドオンを使用すると、既知のサイトで最新のWebを楽しみながら、不明なWebサイトのスクリプトを簡単に無効にできます。
アルク

11

ブラウザのフィンガープリントは、非常に異種のブラウザ/デバイスエコシステムに依存しています。考慮すべきことの1つは、この意味で断片化がはるかに少ない傾向があるスマートフォンやタブレット/パッドでますます多くのサーフィンが行われるにつれて、より均質なエコシステムに向かっているということです。たとえば、iPhone / iPadはすべて本質的に同一に見えます。


3
素晴らしい点であり、ある種の悲しい点です。しかし、それは非常にありそうな現実です。
ジェフアトウッド

iPhoneとiPadのモデルの数は異なります。
ジョジョ

10

ブラウザのフィンガープリントは、匿名ユーザーを一意に識別するのに十分な方法ですか?

いいえ、せいぜいComputerを一意に識別できます。cookie \ sessionを使用せずに、同じネットワーク(同じIP)上にある2つの新しい(および同様の)コンピューターを区別する方法はありません。

マウスジェスチャーや入力パターンなどの生体認証データを組み込むとどうなりますか?

これは現実的ではないようです。「バイオメトリックデータ」はすべてクライアント側であるため、これはJavaScriptでほぼ完全にコーディングする必要があります。ユーザーはそれを止めることができます。また、あなたの「バイオメトリックデータ」はどのように見えますPerl Scriptか?


そうは言っても、この種の戦術を使用して詐欺と戦うことは良い考えです。100%である必要はありません。

詐欺との戦いは漸進的なものであり、詐欺と戦うための単一の弾丸ソリューションはありません。


編集:以下のコメントに返信するため(そしてそれは非常に関連性があるため)、フィンガープリンティングが異なるプロファイルを扱うという事実は、私の信念では、ネットネガティブ*です。これは、悪意のあるユーザーがフィンガープリンティングメカニズムを欺くために使用するものです。ユーザーがフィンガープリンティングで使用されるすべての変数を制御できるという事実は、それ自体が重大な欠陥です

*これが、せいぜい1台のコンピューターを識別することができると言った理由です。それは、コンピューター上の1つのアカウントを識別するよりも優れているからです。両方ができるなら、それは素晴らしいことです。


3
「バイオメトリックデータ」は人々がサイトにアクセスするとき、URL、頻度、単語や言語パターンなどにもなります。これらのいずれもJavaScriptを必要としません
ジェフアトウッド

2
フィンガープリントは、実際に同じマシン上の異なるアカウントでも識別できます。私は英語、スウェーデン語、そしてスペイン語をいくらか知っています。それに応じてMacを構成しました。Firefoxがページを要求すると、「Accept-Language:en-us、en; q = 0.8、sv; q = 0.5、es; q = 0.3」を送信します。妻はスペイン語を知りません。同じマシン上の彼女のアカウントのFirefoxには「es」という用語は含まれていません。はっきり言って、これはあなたが言うことは不可能です。
アンドリューダルケ

Andy、そのユーザープロファイルが、コンピューターの前に座っているという意味ではありません。
モロン

4
Mor、「せいぜいコンピュータを一意に識別できる」という記述は間違っています。最高の状態では、同じコンピューター上の異なるアカウントを区別できます。ネットワークアカウントの場合、同じネットワーク上の2つの異なるアカウントを区別できる場合があります。複数の人がアカウントを使用できることは別の問題です。
アンドリューダルケ

6

@vincentcrには同意しますが、考慮すべき環境がもう1つ追加されます。それは企業ネットワークです。

ここでは、まったく同じブラウザー、プラグイン、フォントなどを使用して数十または数百の(潜在的な)ユーザーを見つける可能性があります。@ vincentcrが示唆する追加の要因もここで失敗します-ユーザーが背後にいる場合、IPアドレスは同じである可能性が高いユーザーの報告された場所と同様に、企業のファイアウォール。

マウスジェスチャとタイピングパターンを考慮に入れたとしても、これらの手法を使用して任意の形式のセキュリティを備えた一意のユーザーを識別できるかどうか、ユーザーアカウントがブラウザーを変更してもユーザーが生き残ることができるようにするには、バックアップする必要がありますとにかく、従来の認証システムを使用してください。

他の人が言ったように、それはスパムボットなどを検出するのにいくらか役立つかもしれません。たとえば、WordPressプラグイン「Bad Behaviour」は、スパムボットを検出するために、HTTPヘッダーを分析します(他の要因もあります)。


非常に良い点。クロックスキューのようなものは検出できますが、これはコンピューターによって異なり、フラッシュを介して実際のIPに到達できるようです。モニターの解像度もあります。これは価値がありますが、企業環境ではあまり役に立ちません。
SMrF

4

膨大な数の組み合わせがあったとしても、それらがすべて均等に分散されるわけではありません。

たとえば、Macbookの何人がストック構成を使用するかを考えてください。または、プラグインをインストールしていない人:それらが大半のユーザーだと思います。

そして、極端に言えば、最も急速に成長しているデバイスのセグメントがあります。特に携帯電話とタブレットのユーザー、特にiPhoneとiPadの場合、メーカーとバージョン番号の2つの変数に限定されます。

そのため、他の要因(IPアドレスや利用可能な場合の場所など)と組み合わせると、優れたヒューリスティックになる可能性がありますが、それ以上ではありません。


3

ブラウザのフィンガープリンティングを使用すると、Web上の個々のユーザーを識別できます。唯一の欠点は、すべてのユーザーにJavaScriptを強制する必要があることです。

次の2つの原則で機能します。

  1. 8つのパラメーターに基づいてブラウザーの指紋を検出する
  2. パラメータを変更して、誰かが指紋を変更したかどうかを検出します。

フィンガープリンティングの成功は、2番目の原則に依存します。誰かが指紋を変更したかどうかを検出します。

詳細については、利用可能なコードを試してください。https://panopticlick.eff.org/で使用されているアルゴリズムは現在100%効率的ではないため、リピーターを検出する独自のアルゴリズムを開発する必要があります。


1
「100%効率的ではない」または「100%効果的でない」その点について詳しく説明していただけますか?
マーティンピーターズ

2

一部のブラウザは、HSTS Supercookiesを介して識別することもできます。

これは、訪問者ごとに安全なリソースと安全でないリソースのランダムなセットへのリクエストを含むページを埋め込み、再訪時のリクエストのパターンを監視できる場所です。各リソースが同じパターンで要求される場合、その情報を使用してユーザーを識別できます。

これらは、そうでなければより一般的なブラウザの指紋を持っているiPhone / iPadを識別するのに特に役立ちます。このアプローチは、HSTSがサポートされていないInternet Explorerにはあまり役立ちません。

この記事では、アプローチについて説明します。 http://www.radicalresearch.co.uk/lab/hstssupercookies/

この記事は、HSTS Supercookiesを活用してユーザーを識別する方法の良い例を提供します。 https://nakedsecurity.sophos.com/2015/02/02/anatomy-of-a-browser-dilemma-how-hsts-supercookies-make-you-choose-between-privacy-or-security/


0

Javascriptは必須ではありません。PHPからスニッフィングするパラメーターは他にもたくさんあります。つまり、ユーザーの99%がJSを持っているので、なぜわざわざ

フィンガープリントは、一意で十分な識別を提供できますか?私はそう信じています。だから、www.visitor-intelligence.comは、その連続したスクリーニングの哲学で言っています。考えてみてください。

あなたの個人的な銀河は、私たちの惑星全体ほど大きくはありません。

フランスのアクセントがついた背の高い茶色の髪、青い目をした女の子があなたの街を何人歩きますか?地球規模で、数百万。しかし、私は彼女があなたの街でかなりユニークだと思います(またはあなたの店を訪れる)。

シャンゼリゼに住んでいない限り。その後、よく見てください。彼女はスリムでモデルのように歩いていますか?彼女は高価なハンドバッグを着ていますか?さて、彼女は今では完全にユニークです:-)

ヘッダーだけを見ると、ブラウザーのバージョン番号と非常に可変性の高いパラメーターが含まれるため、間違っています。

現在、Chrome 27とFirefox 21にいます。気付かないうちにブラウザのバージョンを更新しています。

さて、完全なプラグインリストを見ることも非常に間違っています。それを試してください:firefoxをインストールし、acrobatリーダーをインストールしてから、Chromeをインストールしてください。アクロバットリーダーがChromeプラグインリストに表示されないことは間違いありません:-)

だから...要点は、標準サイズのショップにまともな識別システムを探している場合、フィンガープリントは十分であり、クッキーよりもさらに安定しています(私はほぼ毎日すべてのクッキーを個人的に削除します)。

ちょうど私の2セント

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.