オーストリアのグラーツ工科大学の研究者らは、2つの新しいサイドチャネル攻撃を使用してブラウザプロファイリングを行う自動化システムを考案した。このシステムは、ソフトウェアとハードウェアに関する情報をブラウザのフィンガープリントに公開し、エクスプロイトの有効性を向上させることができる。
研究者のマイケル・シュワルツ氏、フロリアン・ラックナー氏、ダニエル・グルース氏は論文「JavaScriptテンプレート攻撃:標的型攻撃のためのホスト情報の自動推論」の中で、匿名ブラウジングとブラウザプライバシー拡張機能の有効性に疑問を投げかけるブラウザ情報収集手法について説明しています。この論文は今週私たちの注目を集め、今年初めにネットワークおよび分散システムセキュリティシンポジウムで発表されました。
研究者らは、自動化されたブラウザプロファイリング方式はブラウザフィンガープリンティングを容易にし、いくつかのアンチフィンガープリンティング技術を克服し、ブラウザプライバシー拡張機能が「偽装するよりも多くの情報を漏らす可能性があり、半自動的に回避されることさえあり、誤ったセキュリティ感覚につながる」ことを示していると述べている。
ブラウザフィンガープリンティングでは、ブラウザの種類、オペレーティングシステム、さまざまなネットワーク要求ヘッダー、Cookie、拡張機能、画面解像度など、インターネットユーザーのブラウザと関連するソフトウェアおよびハードウェアに関する情報を収集します。
これらのプロパティは JavaScript を使用して収集できます。JavaScript では言語機能、つまり JavaScript オブジェクト構造 (ルートwindow
オブジェクトの子) が公開され、そこから情報を調べることもできます。
技術
これは目新しい問題ではありませんが、命令セットアーキテクチャとメモリアロケータを暴露する2つの新しいサイドチャネル攻撃と組み合わせることで、ここで説明した手法は、自動化されているため、ブラウザ環境の隠蔽されているはずの部分に関する情報を非常に効率的に公開することができます。もちろん、JavaScriptの実行を無効にすることもできますが、その場合、多くのウェブ機能が失われます。
この研究結果は、オンラインプライバシーやオンライン匿名性が保証されていると信じている人にとって、特にフィンガープリンティングに耐性を持つように設計されたTorブラウザのユーザーにとって大きな意味を持つ。この研究は、ユーザーに同じブラウザフィンガープリントを持たせ、群衆に溶け込ませようとするTorの試みが、追加のデータポイントを考慮すると不十分である可能性があることを示唆している。
結局のところ、この技術はあなたの正体をすぐに暴くものではなく、決して完璧ではありませんが、インターネット上であなたを追跡し、広告のターゲットにするために使用される可能性があります。
JavaScriptテンプレート攻撃はユーザーフィンガープリンティングに利用される可能性があります。しかし、この手法はユーザーではなくコンピューティング環境を特定するように設計されているため、エクスプロイトの標的化を容易にする可能性があります。これは、偵察によって脆弱性が確実に特定できる場合に有効です。しかし、グラーツの研究者たちは、この研究が攻撃の拡大ではなく、防御研究の発展につながることを期待しています。
window.Array.name
この手法は非常にシンプルです。まずプロファイリングフェーズが始まります。このフェーズでは、JavaScript オブジェクト(例: 、 )からアクセス可能なプロパティのリストをコンパイルしますperformance.timeOrigin
。これがプロファイルになります。
キャッシュフローの問題についてお話しましょう。このJavaScriptは他のブラウザのタブを覗き見して、あなたが何を訪問しているかを把握することができます。
続きを読む
その後、別のブラウザやオペレーティングシステムなど、異なる環境を用いてデータ収集が繰り返されます。これらのJavaScriptオブジェクトとプロパティの多様なプロファイルを組み合わせることで、バリエーションの探索に使用できるテンプレートが形成されます。
このデータのマトリックスで特定された変異は、Chrome、Edge、Firefox、モバイル Tor の環境に依存する特性を明らかにし、識別と攻撃のターゲット設定に役立つ情報を提供します。
JavaScript テンプレート攻撃用に開発されたサイドチャネル攻撃の 1 つは、2 つのコード スニペット間の実行時の違いを測定し、JIT コンパイラの動作の違いを通じて基礎となる命令セット アーキテクチャを推測することです。
もう 1 つは、メモリ アロケータのタイミングの違いを測定して、割り当てられたメモリ領域のサイズを推測することです。
科学者による JavaScript 環境の調査により、ブラウザのバージョン、インストールされているプライバシー拡張機能、プライバシー モード、オペレーティング システム、デバイスのマイクロアーキテクチャ、仮想マシンによるフィンガープリントの能力だけでなく、JavaScript オブジェクトのプロパティも明らかになりました。
彼らの調査によると、公式ドキュメントでカバーされているものよりもはるかに多くのブラウザプロパティが存在することが示されています。つまり、ブラウザフィンガープリントは現在よりもはるかに詳細になり、より多くのデータポイントを持つ可能性があるということです。例えば、Mozilla Developer NetworkのFirefoxに関するドキュメントでは、2,247個のブラウザプロパティがカバーされています。研究者たちは15,709個のプロパティを捕捉することができました。これらのすべてがフィンガープリントに使用できるわけではなく、重複しているものもありますが、すべてのブラウザで約10,000個のプロパティが使用可能であることがわかったとのことです。
Schwarz、Lackner、Gruss の 3 人は、ブラウザー メーカーがブラウザーとプライバシー拡張機能の改善に取り組む際に、彼らの調査結果を考慮することを期待していると結論付けています。®