[論文レビュー] SPOILER: Speculative Load Hazards Boost Rowhammer and Cache Attacks
Spoilerは、メモリの曖昧化におけるマイクロアーキテクチャ的漏洩を暴露し、物理ページ割り当てをユーザ空間に漏らすことで、Rowhammerとキャッシュ攻撃をより高速化し、JavaScriptベースの eviction/search 加速にもつながる。
Modern microarchitectures incorporate optimization techniques such as speculative loads and store forwarding to improve the memory bottleneck. The processor executes the load speculatively before the stores, and forwards the data of a preceding store to the load if there is a potential dependency. This enhances performance since the load does not have to wait for preceding stores to complete. However, the dependency prediction relies on partial address information, which may lead to false dependencies and stall hazards. In this work, we are the first to show that the dependency resolution logic that serves the speculative load can be exploited to gain information about the physical page mappings. Microarchitectural side-channel attacks such as Rowhammer and cache attacks like Prime+Probe rely on the reverse engineering of the virtual-to-physical address mapping. We propose the SPOILER attack which exploits this leakage to speed up this reverse engineering by a factor of 256. Then, we show how this can improve the Prime+Probe attack by a 4096 factor speed up of the eviction set search, even from sandboxed environments like JavaScript. Finally, we improve the Rowhammer attack by showing how SPOILER helps to conduct DRAM row conflicts deterministically with up to 100% chance, and by demonstrating a double-sided Rowhammer attack with normal user's privilege. The later is due to the possibility of detecting contiguous memory pages using the SPOILER leakage.
研究の動機と目的
- 推測実行中のメモリ曖昧化における前例のない漏洩を動機付け、定量化する。
- この漏洩が仮想アドレスと物理アドレスの対応の逆解析を少なくとも1桁以上高速化することを示す。
- この漏洩がPrime+Probeのエビクションセット構築を改善し、より効果的なRowhammer戦略を可能にすることを示す。
- JavaScriptのようなサンドボックス環境におけるSpoiler強化攻撃の実現可能性を評価する。
提案手法
- ストアバファ内で4Kおよび1MBのエイリアシングを発生させて推測ロードをトリガーする実験(アルゴリズム1)を設計し、推測ロードのタイミングを測定する。
- ハードウェア性能カウンターを用いてタイミングと依存解決イベント(例:Ld_Blocks_Partial:Address_Alias、Cycle_Activity:Stalls_Ldm_Pending)を相関させる。
- 1MBのエイリアシングが物理ページ割り当て情報をどう暴露するかを分析し、特に20個の最下位物理アドレスビットの一致を明らかにする。
- ネイティブ環境とJavaScript環境の両方で、仮想アドレスと物理アドレスの対応の逆解析を最大256倍高速化するSpoilerの有効性を評価する。
- Spoilerの連続ページ検出機能によってエビクションセット探索が向上し、ダブルサイドRowhammer攻撃を可能にすることを示す。
- メモリ曖昧化デバイザとハイパースレッディングがSpoilerの漏洩と適用性に与える影響について論じる。
実験結果
リサーチクエスチョン
- RQ1推測ロードハザードは仮想アドレスと物理アドレスの対応を漏らす部分的な物理アドレス情報を明らかにするだろうか?
- RQ2Spoilerはキャッシュ攻撃とRowhammerのための物理アドレス割り当ての逆解析をどれだけ高速化できるか?
- RQ3Spoilerがエビクションセット構築とブラウザベース(JavaScript)攻撃の実現可能性に与える影響は?
- RQ4Spoilerは通常のユーザ権限下で決定的なDRAMの行衝突と高精度のRowhammer攻撃を可能にするか?
主な発見
- Spoilerは推測ロード中の偽依存からの漏洩を暴露し、それは物理アドレスの1MBエイリアシングに依存する。
- この漏洩により仮想アドレスと物理アドレスの対応の逆解析が、これまでの方法より最大256倍高速になる。
- Prime+Probeのエビクションセット探索は最大4096倍高速化され、JavaScriptのようなサンドボックス環境からでもキャッシュ攻撃を可能にする。
- Spoilerは条件下で100%の成功率まで決定的なDRAM行衝突を可能にすることでRowhammerを改善し、通常のユーザ権限下でダブルサイドRowhammerを実証する。
- この漏洩は最初のCore世代から現在のIntel世代にわたって持続し、4Kエイリアシングとは区別され、最新のCPUで影響が大きい。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。