Skip to content

ブラウザ指紋:WebGL

WebGL は JavaScript API であり、ウェブページ上でハードウェアアクセラレーションによる 3D 画像を表示するために使用されます。ウェブサイトは WebGL を使用してデバイス指紋を識別できます。一般的に、ウェブサイトは以下の 2 つの方法でこれを行います:

WebGL レポート - 完全な WebGL ブラウザレポートフォームが利用可能で、検出することができます。場合によっては、より高速な分析のためにハッシュに変換されます。 WebGL 画像 - レンダリングされハッシュ値に変換される非表示の 3D 画像。最終的な結果は計算が行われるハードウェアデバイスに依存するため、この方法はデバイスとそのドライバーの異なる組み合わせに対して一意の値を生成します。このアプローチは、異なるデバイスの組み合わせとドライバーに対して一意の値を生成します。 Browserleaks テストなどのウェブサイトを通じて、ウェブサイトが API を介してどのような情報にアクセスできるかを確認できます。

WebGL 画像ノイズ機能

WebGL 設定でノイズモードを選択すると、Mbbrowser はウェブサイトから要求された WebGL 読み取りをインターセプトし、そこに特殊なノイズを追加します。ノイズ値はブラウザプロファイル内で一貫しており、そのファイルのすべての WebGL 画像読み取りが同じ方法で変更されることを意味します。例えば、異なるページにある同じ WebGL 画像は同じ方法で変更され、異なるブラウザセッションにある同じ画像も同じ方法で変更されます。

これにより、ブラウザプロファイル内の一意の指紋に永続性が持たされます。

Since random noise is added to the WebGL image readout, fingerprints are 100% unique if the site applies data analysis techniques.

WebGL メタデータのマスキング

WebGL をノイズモードに設定すると、WebGL メタデータは Mbbrowser によってマスキングされます。これは将来的に WebGL メタデータと画像を個別に非表示にするように改良される予定の古いメカニズムです。

メタデータのマスキングが有効な場合、Mbbrowser は指紋データベースから取得した値に基づいて WebGL のベンダー (Vendor) とレンダラー (Renderer) パラメータを変更します。