SSD経由でウェブサイトがユーザーを監視する新手法「FROST」が判明
ブラウザ内のJavaScriptだけでSSDの入出力タイミングを測定し、ユーザーが閲覧中の他サイトや起動中のアプリを推定できる新手法「FROST」の詳細が研究論文で明らかになった。
ウェブサイトによるユーザー追跡の歴史は長い。閲覧履歴の盗聴、デバイスフィンガープリントの生成、キーストロークやマウス操作のリアルタイム記録──巧妙な監視手法は常に進化を続けてきた。最近ではMetaやYandexまでもがプライバシーを侵害する追跡手法に関与していたことが発覚し、業界に衝波紋が走った。
そして今、ウェブサイトが訪問者を監視するための新たな手法が登場した。標的はブラウザの外、ハードウェアそのもの──具体的にはSSD(ソリッドステートドライブ)である。
SSDの動作からユーザーの行動を読み取る新手法
この手法は「FROST」と名付けられた。正式名称は「Fingerprinting Remotely using OPFS-based SSD Timing」で、研究論文としてその詳細が公開された。FROSTの核心を一言でまとめれば、ブラウザ上で実行されるJavaScriptを通じてSSDの入出力(I/O)タイミングの微細な変動を計測し、ユーザーが何をしているのかを推定するというものだ。
具体的に何がわかるのか。研究者によると、FROSTによってユーザーが他のタブで開いているウェブサイト、さらにはデバイス上で稼働しているアプリケーションまで判別できる可能性があるという。しかも、訪問者が攻撃サイトを開くだけで、追加の操作は一切不要だ。
「競合サイドチャネル」の仕組み
FROSTが利用する攻撃手法は「競合サイドチャネル(contention side channel)」と呼ばれるものだ。サイドチャネル攻撃とは、電磁波の放出やデータキャッシュの動作、タスク完了にかかる時間など、物理的な現象から情報漏洩を引き出す攻撃手法の総称である。
競合サイドチャネルは、複数のプロセスが同じリソースを共有(あるいは奪い合)う際に生じる幹渉を計測する。SSDの場合は、複数のアプリケーションやブラウザタブが同時に読み書きを行うことでI/O処理に遅延が生まれる。FROSTはまさにこの遅延の変動を捉え、何がSSDにアクセスしているのかを推測する。
従来のSSDに対する競合サイドチャネル攻撃は、デバイスに直接アクセスできる環境を必要とするものが多かった。しかしFROSTは、ブラウザ上で完結するという点で、攻撃の敷居を大きく引き下げている。
OPFSという新たな攻撃面
FROSTが鍵となる機能として活用するのが「OPFS(Origin Private File System)」だ。OPFSは、特定のオリジン(ウェブサイトのドメイン)に割り当てられたサンドボックス化されたストレージ領域で、ユーザーの操作なしにウェブサイトが作成できる。
各ファイルシステムはサンドボックス化されており、他のウェブサイトやデバイスシステム本体とは隔離されている。この設計は本来、セキュリティを確保するためのものだ。しかし研究者たちは、このサンドボックス内で実行されるJavaScriptがSSDへのI/O操作のタイミングを計測できる点に着目した。
攻撃者は大きなOPFSファイルに対してランダムな読み取り操作を繰り返し実行することで、SSDの競合状態を継続的に計測する。ユーザーの行動によって引き起こされるSSDの競合が、計測可能なレイテンシ(遅延)の差異として現れる仕組みだ。
深層学習で行動を推定
計測したタイミングデータから具体的な行動を推定するため、FROSTは畳み込みニューラルネットワーク(CNN)を活用する。深層学習を用いてテキストや音声、画像を分析するこの仕組みを、I/Oタイミングのパターン分析に応用した。
事前に訓練されたCNNモデルが、SSDのアクセスパターンを分析し、ユーザーが開いているウェブサイトやアプリケーションを特定する。つまり、生のタイミングデータを収集し、それを機械学習モデルに通すことで、人間が解読困難な微細な信号変化から有意義な情報を抽出できる。
ブラウザの機能拡大が招くセキュリティリスク
研究論文の著者たちは、ブラウザが単なる文書閲覧ツールから複雑なプラットフォームへと進化してきたことを指摘する。GoogleやMicrosoft、Adobeなどの企業が、ブラウザ上で完結する本格的なオフィススイートや写真・動画編集ツール、さらには統合開発環境(IDE)さえも開発してきた。
「これらの機能はウェブアプリケーションの能力を高め、まったく新しいユースケースを可能にする一方で、ブラウザの攻撃表面を拡大している」と著者たちは記述している。そして、すでに新たな脆弱性が指摘されている事例があることも付け加えている。
FROSTはまさに、この攻撃表面の拡大が生み出した成果の一つと言える。OPFSは正当なウェブアプリケーションにとって有用な機能だが、同時にサイドチャネル攻撃の入口ともなり得るのだ。
実用的な脅威か
もちろん、この手法が直ちに大量のウェブサイトに悪用されるわけではない。FROSTの計測精度は、SSDの使用状況やデバイスの仕様、バックグラウンドプロセスの有無など、多くの要因に左右される。論文の著者自身も、実環境での精度や制限事項について詳細な検証が必要であることを認めている。
しかし、ブラウザだけで完結する攻撃手法が実証されたという事実の重みは軽視できない。ユーザーが何の操作もしなくても、悪意あるウェブサイトにアクセスするだけで、プライバシーが侵害される可能性がある。フィッシング詐欺や標的型攻撃との組み合わせを考慮すると、潜在的な脅威は無視し難い。
今後の課題
FROSTの発見は、ブラウザベースのアプリケーションが高度化する中で、セキュリティ設計がどの程度までハードウェアの動作を考慮すべきかという問いを投げかける。サンドボックス化という従来の防御策が、ハードウェアレベルの情報漏洩には対処できないことが改めて浮き彫りになった形だ。
ウェブブラウザは現代のデジタル生活の中心的存在であり、その攻撃表面の拡大は避けて通れない潮流だ。FROSTのような研究が、今後のブラウザ開発やセキュリティ標準の見直しにどこまで影響を与えるか。その動向から目が離せない。
よくある質問
- FROSTとは何ですか?
- FROSTは「Fingerprinting Remotely using OPFS-based SSD Timing」の略で、ブラウザ上で実行されるJavaScriptを用いてSSDの入出力タイミングを計測し、ユーザーが他のタブで開いているウェブサイトやデバイス上で稼働中のアプリケーションを推定する手法です。研究論文として詳細が公開されています。
- 自分のブラウザでFROST攻撃を防ぐ方法はありますか?
- 現時点でFROSTに対する一般的な防御策は確立されていません。ただし、信頼できないウェブサイトに不用意にアクセスしないことは基本的な対策の一つです。また、ブラウザの開発者はOPFS機能の制限やI/O操作のタイミングをランダム化するなどの対策を検討する必要があるとされています。
- FROSTはすでに実際の攻撃に使われていますか?
- FROSTはあくまで研究段階の手法であり、実際の攻撃事例は確認されていません。ただし、ブラウザだけで完結する攻撃手法であることから、悪用されるリスクは無視できないとされています。
コメント