高度なブラウザベースの監視技術「FROST」——OPFSベースのSSDタイミングを用いたリモートフィンガープリンティング(Fingerprinting Remotely using OPFS-based SSD Timing)の略——は、JavaScriptのみを使用してソリッドステートドライブのタイミングパターンを悪用することで、悪意あるウェブサイトがユーザーのアクティビティをひそかにプロファイリングすることを可能にする。
グラーツ工科大学の研究者らが開発したFROSTは、Origin Private File System(OPFS)APIを標的とする。これは比較的新しいブラウザ機能で、Webアプリケーションがパーミッションダイアログを表示せずにユーザーのローカルディスクにファイルを作成・保存できるものだ。
OPFSはブラウザ内IDEや動画編集ツールといった正規の生産性アプリケーション向けに設計されたものだが、研究者らはこれを悪用して計測可能なSSD競合を引き起こすことができ、ドライブ自身のアクセスレイテンシが隠れた監視チャネルに転用できることを発見した。
攻撃は被害者が悪意あるウェブページを訪問した瞬間に始まる。攻撃者のJavaScriptはひそかに大容量のOPFSファイルを作成し、ChromeおよびSafariでは利用可能なディスク容量の最大60%を占有した上で、そのファイルに対してランダムな4KBの読み取りを継続的に実行する。
ファイルがOSのページキャッシュ容量を超えるため、すべての読み取りが実際のディスクアクセスを強制する。
被害者が他のウェブサイトやアプリケーションを同時に開くと、そのSSD I/Oが攻撃者の読み取りと競合し、検出可能なレイテンシスパイクが生じ、行動フィンガープリントが漏洩すると、Hannes Weissteiner氏は述べている。
FROSTが従来のSSDサイドチャネル研究と一線を画す点は、ネイティブコードの実行が一切不要であることだ。以前の攻撃はLinuxのio_uring APIのような特権カーネルインターフェースに依存しており、実世界での適用性が制限されていた。
FROSTはブラウザのサンドボックス内で完全に動作し、特別な権限もユーザーのクリックも不審なパーミッションプロンプトも一切必要としない。
高解像度のタイミング計測を実現するために、この攻撃は攻撃者のサーバーにCross-Origin Opener Policy(COOP)およびCross-Origin Embedder Policy(COEP)HTTPヘッダーを設定し、ブラウザのナノ秒レベルのタイマーを有効化してデフォルトのタイマーファジング保護を回避する。
重要なのは、競合がハードウェアのストレージレベルで発生するため、FROSTはクロスブラウザで機能するという点だ。Chromeで動作する悪意あるサイトが、Safariや同じSSDにアクセスする他のアプリケーションのアクティビティを盗み見ることができる。
研究者らはmacOS Sonoma(Apple M2、8GB RAM)およびLinux(AMD Ryzen 7 5800X3D、32GB RAM)上で、2つのカテゴリの攻撃によりFROSTを検証した。
Hannesweissteinerの開示により、Google Chromium、Mozilla Firefox、Apple Safariのセキュリティチームに調査結果が報告された。
各社の反応は概して否定的なものだった。Googleはフィンガープリンティングをセキュリティ上の脆弱性とは見なさないと表明し、Appleはこの攻撃を現時点では対応範囲外としつつも将来的な対策を示唆し、Mozillaは調査結果を認めたものの修正はまだ実施していない。
ブラウザベンダーがストレージベースのフィンガープリンティングを真のプライバシー脅威として扱うまでの間、macOSおよびLinux上で日常的にブラウジングするユーザーは、信頼できないウェブサイトを訪問するたびに、このクラスの攻撃にひそかさらされ続ける。
翻訳元: https://cyberpress.org/sites-ssd-timing-side-channel-attacks/