悪意のあるウェブサイトがSSDタイミング信号を悪用して訪問者の行動を監視

悪意のあるウェブサイトは、現代のブラウザに存在する微妙なSSDタイミング信号を悪用し、FROSTと呼ばれる新たなサイドチャネル技術を使って、ユーザーがデバイス上でアクセスしているサイトや起動しているアプリを含む行動を密かに追跡できるようになった。

セキュリティ研究者Hannesweissteinerが明らかにしたところによると、罠の仕掛けられたページへの一度のドライブバイ訪問だけで、攻撃者はブラウザ内からSSDの動作をパッシブに監視し始めることができる。

Origin Private File System(OPFS)APIと高解像度タイマーを悪用することで、この攻撃は無害なディスクI/Oを強力なフィンガープリンティングチャネルへと変え、タブをまたいで、さらには同一マシン上の異なるブラウザ間でも機能する。

この研究は、パフォーマンス重視のウェブストレージ機能が従来のサンドボックスの境界を静かに侵食し、新たなクラスのリモート監視脅威を生み出していることを示している。

SSDタイミングがスパイチャネルになる仕組み

FROST(Fingerprinting Remotely using OPFS‑based SSD Timing)と名付けられたこの攻撃は、JavaScriptから被害者のSSDのコンテンションを計測することに依拠している。OPFSを利用することで、悪意のあるサイトはオリジンスコープのサンドボックス内に非常に大きなファイルを密かに作成し、そこから継続的にランダム読み取りを行い、ページキャッシュではなく実際のディスクアクセスを強制することができる。

他のアプリやブラウザのタブが同じSSDを使用するたびに、それらのI/Oがこの読み取りと競合し、ユーザーの行動のフィンガープリントを符号化する微小だが計測可能なレイテンシスパイクが発生する。

計測精度を向上させるため、サイトはStrict Cross-Origin Isolationヘッダーを有効にし、最近のブラウザ防御にもかかわらず performance.now() などの高解像度タイマーをアンロックする。

得られたレイテンシトレースはスケジューリングノイズを除去するよう処理された後、タイミングパターンを特定のウェブサイトやアプリケーションと関連付けることを学習する畳み込みニューラルネットワーク(CNN)に入力される。

LinuxとmacOSでは、研究者たちはネイティブの送信者がSSDコンテンションを変調する高速コバートチャネルも構築した。ブラウザベースの受信者は毎秒数十キロビットという速度でビットをデコードし、基礎となる信号が安定していて情報密度が高いことを確認した。

実際の実験では、FROSTはmacOSシステム上でブラウザとデスクトップの両方の活動を追跡できることが証明された。上位50のAlexaウェブサイトを開く際の10秒間のトレースを記録することで、CNNは悪意のあるChromeタブから別のSafariインスタンスで被害者がどのサイトを読み込んだかを予測でき、クローズドワールド設定でマクロ平均F1スコア88.95、オープンワールド設定で86.95を達成した。

この技術は同様に、Safari、マップ、システム設定などの10個のプリインストール済みmacOSアプリケーションを識別し、起動時のアプリケーションフィンガープリンティングでF1スコア95.83を達成した。

この攻撃はSSDレベルで発生するため、被害者が同じブラウザやタブを使用していることに依存しない。同じドライブを共有している限り、Chrome–Safariやクロスタブのシナリオでも機能する。

重要なのは、OPFSが利用可能な場合には追加の権限が不要であることだ。被害者が攻撃者のページに訪れてバックグラウンドで開いたままにしておけば、それ以降のクリックやダイアログなしに監視を継続できる。

OPFSのない古いブラウザでも、ユーザーをだましてページ用の大きなローカルファイルを選択させることができれば依然として脆弱だが、このバリアントはインタラクションが必要なため弱い。

研究者たちは、FROSTが「ネイティブに近い」ウェブAPIが従来のタイマーベースの緩和策の後でもブラウザ内から強力なサイドチャネルを復活させる可能性を示していると主張している。

主な影響はプライバシーに関するものだ。広告主、悪意のあるトラッカー、または脅威アクターは、ユーザーが訪問するサイトや起動するアプリを密かにプロファイリングし、監視や恐喝のために機密性の高い行動と関連付ける可能性がある。

現在のところ、この攻撃は暗号鍵を抽出するのではなくSSDコンテンションをターゲットにしているが、OPFSバックのストレージがブラウザベンダーが当初クロスオリジンリソースとして想定していなかったリッチなテレメトリソースであることを実証している。

実際上の制約もある。FROSTは被害者の活動がOPFSファイルと同じSSDにアクセスすることを必要とするが、これはコンシューマー向けラップトップではほぼ常に当てはまるものの、マルチディスクのワークステーションではそうでない場合もある。

長時間の計測では、ページキャッシュより先を行くために非常に大きなOPFSファイルを割り当てる必要があり、厳格なディスク監視を行うシステムでは注意を引く可能性がある。

profile-sync-daemonを使ってブラウザプロファイルをRAMに移動するなど一部のニッチな構成では、それらのファイルをSSDから完全に切り離すことでOPFSベースのバリアントを無効化できる。

論文で議論されている緩和策は、正当なアプリを完全に壊すことなくOPFSの悪用を減らすことに焦点を当てている。具体的なアイデアとしては、OPFSファイルのサイズをRAMに収まるよう制限すること、OPFSの使用を高解像度タイマーを無効にする機密機能として扱うこと、または大きなプライベートストレージクォータを付与する前に明示的なユーザー同意を求めることなどが挙げられる。

ブラウザベンダーの対応は今のところ慎重だ。Chromiumはフィンガープリンティングをセキュリティバグとして扱っておらず、AppleとMozillaは問題を認識しているものの、具体的な防御策をまだリリースしていない。

翻訳元: https://gbhackers.com/malicious-websites-exploit-ssd-timing-signals/

ソース: gbhackers.com