コンテンツへスキップ
料金
ログイン無料トライアルを開始デモを予約
フィンガープリンティング

WebGLフィンガープリンティング

WebGLフィンガープリンティングとは、WebGL APIを通じてデバイスのGPUとグラフィックスドライバーに問い合わせ、レンダラー文字列、ベンダー、対応拡張機能、シェーダー精度といった識別用のメタデータを導き出す手法です。これらの値は実際のグラフィックスハードウェアとドライバーのビルドを反映するため、WebGLシグナルは非常に安定しており、同じマシン上の異なるブラウザ間でも高い識別力を持ちます。

仕組み

WebGLフィンガープリンティングの仕組み

スクリプトはWebGLレンダリングコンテキストを初期化し、パラメーター照会関数を呼び出してハードウェアとドライバーのメタデータを読み取ります。マスクされていないレンダラーおよびベンダーの文字列は、多くの場合、特定のGPUモデルとドライバーを示し、対応拡張機能の一覧、最大テクスチャサイズ、シェーダー精度の範囲は、グラフィックススタックの能力を露呈させます。

静的なメタデータにとどまらず、スクリプトは3Dシーンをレンダリングしたりシェーダープログラムを実行したりして、その出力を読み戻すこともできます。これはcanvasフィンガープリンティングに似ていますが、グラフィックスパイプライン全体を稼働させます。正確な浮動小数点の結果とピクセル出力はGPUアーキテクチャとドライバーに依存し、さらに識別可能な詳細を追加します。

WebGLのメタデータは、特定のデバイスではGPUとドライバーがめったに変わらないため、非常に安定する傾向があります。また、同じマシン上のブラウザ間でも、すべてが同じハードウェアと通信するため、おおむね一貫しています。これにより、ユーザーエージェントベースのシグナルが異なる場合でも、WebGLはブラウザをまたいだデバイス認識に有用です。

一部のブラウザはプライバシーのためにレンダラー文字列をマスクまたは一般化し、正確なGPUの代わりに汎用的な値を返します。これが起きるとシグナルの精度が低下するため、実装はそれに応じて重み付けし、レンダリングベースのプローブにフォールバックします。

重要な理由

不正防止においてWebGLフィンガープリンティングが重要な理由

WebGLフィンガープリンティングは、ブラウザで利用できるシグナルの中でも最も安定し、ハードウェアに根ざしたものをもたらします。だからこそ、セッション、ブラウザ、削除されたCookieをまたいでデバイスを結びつけるのに重宝されます。アンチフラウドの作業では、ユーザーエージェントを偽装しつつも特徴的なGPUの性質を露呈するアンチディテクトブラウザや仮想マシンの正体を暴くのに役立ちます。そのブラウザ間の一貫性は、複数のブラウザプロファイルを操作する単一の行為者を検知するのに特に有用です。

TRACIOでは

TRACIOでの扱い方

TRACIOはWebGLのレンダラーと能力のデータを130+のシグナルに取り込み、その安定性を活かして同一ハードウェア上のブラウザ変更をまたいで訪問者IDを固定します。報告されたGPUが他のシグナルと矛盾する場合、たとえばモバイルデバイスを名乗りながらデータセンター向けGPUを露呈している場合、TRACIOはその不一致をSmart Signalsを通じて明らかにします。この重層的な利用により、単一の強力なシグナルを過信することなく識別を正確に保ちます。

FAQ

よくある質問

すべてのデバイスを自信を持って識別

月間2,500回のAPI呼び出しの無料プランから始められます。クレジットカードは不要です。