web-dev-qa-db-ja.com

キャンバスのフィンガープリントはOSを識別しますか?

私は最近、ジャーナリストがどのようにハッキングされたかについての this の記事を読みました。彼女は、OSを識別するために「フィンガープリント」手法をどのように使用したかについて説明します。彼らが1ピクセルの画像を使用する方法では、それはキャンバスの指紋技術のように聞こえます。

これについて私が読んだことからの私の理解は、キャンバスフィンガープリントはあなたのOSにあなたからのユニークなフィンガープリントを与え、あなたから識別し、ウェブ上で追跡できるということです。あなたのOSを識別できたのを覚えていません。または、この重要な詳細を見逃しましたか? +

1
JohnnyElite

他の2つの答えは良いですが、(私が見つけた)重要なポイントに明示的に対処していません:記事が言及しているのはnotキャンバスフィンガープリント(また、作者はそれがキャンバスのフィンガープリントであるとは述べていません)!

キャンバスのフィンガープリントについては、 このペーパー で説明されています。要約から:

ブラウザのフォントとWebGLレンダリングに基づいた新しいシステムフィンガープリントを展示します。このフィンガープリントを取得するために、WebサイトはテキストとWebGLシーンを<canvas>要素にレンダリングし、生成されたピクセルを調べます。システムが異なれば、出力も異なるため、フィンガープリントも異なります。広く分散されたシステムフォントで単一の文をレンダリングするなど、非常に単純なテストでさえ、驚くべきバリエーションを生み出します。

あなたの声明を考えると、キャンバスのフィンガープリントについて誤解していると思います。

これについて私が読んだことからの私の理解は、キャンバスフィンガープリントはあなたのOSにあなたからのユニークなフィンガープリントを与え、あなたから識別し、ウェブ上で追跡できるということです。

OSはキャンバスの指紋を決定する要素を果たしますが、グラフィックカード、グラフィックドライバー、ディスプレイなど、他の多くの要素を使用すると、キャンバスの指紋からOSを推測することはおそらく不可能です(また、ポイント)。

述べられているように、記事で使用されているテクニックは次のとおりです。

通常、電子メールに画像が含まれている場合、受信者の電子メールクライアントは、画像を「フェッチ」するために送信者の電子メールサーバーに接続する必要があります。

'fetch'はGETリクエストであり、ヘッダーとしてuseragentがあり、useragentはクライアントのオペレーティングシステムを示します。

2
puzzlepalace

記事から関連部分を引用するには:

それでも、後でメールに小さな画像(1ピクセル×1ピクセル)が含まれていることがわかりました。これは、ハッカーが私のコンピューターを「指紋」する最初の試みでした。

これは、メールクライアントがこの画像を取得するためにHTTPリクエストを実行することを期待して、攻撃者のサーバーにある画像をメールに埋め込むだけのように見えます。 HTTPリクエスト内で、クライアントはUser-Agentヘッダーを送信します。このヘッダーには通常、使用されているブラウザやオペレーティングシステム、インストールされているプラ​​グインに関する情報など、多くの情報が含まれています。私の推測では、フィンガープリントはこのUser-Agentヘッダーを見ることによって簡単に行われたと思います。

リクエストに含まれるUser-Agentヘッダーの例を次に示します。これにより、単純なHTTPリクエストで検出された詳細の量を確認でき、複雑なキャンバスのフィンガープリントは必要ありません。

Linux上のChrome:

Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36

Windows上のChrome:

Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36

Windows上のFirefox:

Mozilla/5.0 (Windows NT 6.1; WOW64; rv:39.0) Gecko/20100101 Firefox/39.0

Windows上のInternetExplorer 11:

Mozilla/5.0 (Windows NT 6.3; Win64; x64; Trident/7.0; rv:11.0) like Gecko

Mac OS X上のSafari:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/536.26.17 (KHTML, like Gecko) Version/6.0.2 Safari/536.26.17

詳細については、 https://msdn.Microsoft.com/en-us/library/ms537503(v = vs.85).aspx を参照してください。

1
Steffen Ullrich

キャンバスのフィンガープリントはOSを識別しますか?

この手法は、使用可能なハードウェアとオペレーティングシステムに応じて、同じキャンバスイメージが異なるマシンで異なる方法でレンダリングされる可能性があるという事実に基づいています。

テキストと画像を表示するために、ブラウザはそれらをホストオペレーティングシステムとハードウェアに描画します。画像の場合、キャンバスフィンガープリントは、3Dグラフィックスと2Dグラフィックスの配置にメジャーグラフィックスドライバーとGPUモデルを使用します。テキストの場合、ブラウザはオペレーティングシステムのフォントレンダリングコードを使用して表示します。

これについて私が読んだことからの私の理解は、キャンバスフィンガープリントがあなたのOSにあなたからのユニークなフィンガープリントを与えるということです

Webサイトにアクセスすると、Webサイトがテキストをレンダリングし、 WebGL シーンがマシンを識別する一意の<canvas>要素にレンダリングされます。

上記のcharateristisは、悪意のある目的に使用できます。

enter image description here

  1. here :から読み取ることができるように、Webフォントを使用してリモートコード実行を実行できます。

このセキュリティ更新プログラムは、MicrosoftWindowsで公開されている脆弱性を解決します。この脆弱性により、ユーザーが特別に細工されたドキュメントを開いたり、TrueTypeフォントファイルが埋め込まれた悪意のあるWebページにアクセスしたりすると、リモートでコードが実行される可能性があります。

0
user45139