隠されたシステムとブラウザを識別するための新しい技術を導入しました

以前は攻撃手法の開発で知られていたグラーツ工科大学(オーストリア)の研究者グループ MDS, ネットスペクター и 投げハンマー, 覆われていない ブラウザの正確なバージョン、使用されているオペレーティング システム、CPU アーキテクチャ、および隠蔽された識別情報に対処するためのアドオンの使用を特定できる、新しいサードパーティの分析手法に関する情報。

これらのパラメータを決定するには、研究者が用意した JavaScript コードをブラウザで実行するだけで十分です。 実際には、この方法は間接的なユーザー識別のための追加ソースとしてだけでなく、OS、アーキテクチャ、ブラウザを考慮して、エクスプロイトの対象を絞った使用のためのシステム環境パラメータを決定するためにも使用できます。 この方法は、Tor Browser などの非表示の ID ブロック メカニズムを備えたブラウザを使用する場合にも効果的です。 メソッド実装を含むソース コード プロトタイプ コード 出版された MITライセンスの下で。

この決定は、JavaScript のさまざまなブラウザーに特有のプロパティ状態パターンの割り当てと、JIT、CPU、およびメモリ割り当てメカニズムの機能に応じた操作の実行時間の特性に基づいて行われます。 プロパティの定義は、JavaScript から使用できるすべてのオブジェクトのリストを生成することによって行われます。 結局のところ、オブジェクトの数はブラウザ エンジンとそのバージョンに直接相関しています。

関数 getProperties(o) {
varresult = [];
while (o !== null) {
結果 = result.concat(Reflect.ownKeys(o));
o = Object.getPrototypeOf(o);
}
結果を返します。
}

たとえば、Firefox の場合、2247 のプロパティのサポートがドキュメントで宣言されていますが、ドキュメントに記載されていないプロパティを考慮した特定のプロパティの実際の数は 15709 (Tor ブラウザでは 15639) です。Chrome の場合、2698 のプロパティが宣言されていますが、13570 です。実際には提供されています (Chrome for Android - 13119)。 プロパティの数と値は、ブラウザのバージョンごと、およびオペレーティング システムごとに異なります。

値と特定のプロパティの有無を使用して、OS の種類を判断できます。 たとえば、Kubuntu では、window.innerWidth プロパティは 1000 に設定され、Windows 10 では 1001 に設定されます。Windows では、window.navigator.activeVRDisplays プロパティを使用できますが、Linux では使用できません。 Android には多くの特定の呼び出しが提供されていますが、window.SharedWorker はありません。 オペレーティング システムを識別するために、WebGL パラメータの分析を使用することも提案されています。WebGL パラメータの状態はドライバに依存します。 さらに、WEBGL_debug_renderer_infoextension を呼び出すと、オペレーティング システムごとに異なる OpenGL レンダリング エンジンに関する情報を取得できます。

CPU を決定するには、さまざまな典型的なコード ブロックの実行時間の違いの評価が使用されます。その処理は、JIT の動作を考慮して、命令セットのアーキテクチャに依存します (CPU レジスタの数が決定されます)。が関与し、どの場合に JIT が最適化と拡張命令を伴う効率的なコードを生成するか、そうでない場合)。 メモリ割り当てシステムとオペレーティング システムの種類を決定するために、さまざまな構造のメモリ割り当て時間の違いも測定され、メモリ ブロックのサイズを判断するために使用できます。

スクリプトの実行中に決定されたパラメータは、事前にテストされた環境で一般的な参照値と比較されます。 テスト中に、開発された技術により、使用されたブラウザのバージョン、CPU メーカー、使用されたオペレーティング システム、および実際のハードウェア上で実行されているか仮想マシン上で実行されているかを判断することで、40 の異なるテスト環境を正確に判断することが可能になりました。

これとは別に、ブラウザーのアドオン、さらには隠された識別方法やプライベート ブラウジング活動をブロックするように設計されたアドオンを含む個別のアドオン設定を定義する可能性についても言及されています。 提案された方法のコンテキストでは、そのような追加は識別のための別のデータソースになります。 追加は、追加によって導入された元の環境のパラメータの歪みを評価することによって決定されます。

他の識別方法の中でも、次のような間接データの考慮に注目することができます。 画面の解像度、サポートされている MIME タイプのリスト、ヘッダー固有のオプション (HTTP / 2 и HTTPS)、確立された分析 プラグインとフォント、ビデオ カードに固有の特定の Web API の可用性 特徴 WebGL を使用したレンダリングと キャンバス, 操作 CSS を使用した作業の機能の分析 ねずみ и キーボード.

出所: オープンネット.ru

コメントを追加します