[論文レビュー] Store-to-Leak Forwarding: Leaking Data on Meltdown-resistant CPUs (Updated and Extended Version)
この論文は、Meltdownに類似した側面チャネル攻撃が、Meltdown対策が施された最新のCPUに対しても、ストアバッファとTLBを活用する新しい手法「ストア・トゥ・リーク・フォワーディング」を用いて依然として可能であることを示している。この攻撃により、42マイクロ秒でKASLRが破られ、JavaScriptおよびIntel SGXエナclaveからの任意のデータ漏洩が可能となり、ソフトウェア対策が依然として不可欠であることを証明している。
Meltdown and Spectre exploit microarchitectural changes the CPU makes during transient out-of-order execution. Using side-channel techniques, these attacks enable leaking arbitrary data from memory. As state-of-the-art software mitigations for Meltdown may incur significant performance overheads, they are only seen as a temporary solution. Thus, software mitigations are disabled on more recent processors, which are not susceptible to Meltdown anymore. In this paper, we show that Meltdown-like attacks are still possible on recent CPUs which are not vulnerable to the original Meltdown attack. We show that the store buffer - a microarchitectural optimization to reduce the latency for data stores - in combination with the TLB enables powerful attacks. We present several ASLRrelated attacks, including a KASLR break from unprivileged applications, and breaking ASLR from JavaScript. We can also mount side-channel attacks, breaking the atomicity of TSX, and monitoring control flow of the kernel. Furthermore, when combined with a simple Spectre gadget, we can leak arbitrary data from memory. Our paper shows that Meltdown-like attacks are still possible, and software fixes are still necessary to ensure proper isolation between the kernel and user space. This updated extended version of the original paper includes new results and explanations on the root cause of the vulnerability and shows how it is different to MDS attacks like Fallout.
研究の動機と目的
- パッチが適用されたCPUにおいて、元のMeltdown脆弱性に対して防御されたCPUに対しても、Meltdownに類似した攻撃が依然として可能かどうかを調査すること。
- ストアバッファのマイクロアーキテクチャ的側面と、それがTLBとどのように相互作用するかを分析し、データ漏洩の原因となるかを検討すること。
- これらのサイドチャネルを実用的に利用して、カーネルのASLRを破壊し、隔離メカニズムを回避することを実証すること。
- この新しい攻撃ベクトルに対し、既存のソフトウェア対策(例:KAISER)の有効性を評価すること。
- ハードウェアの修正がなされた後でも、ユーザー空間とカーネル空間の間のソフトウェアベースの隔離が依然として必要不可欠であることを示すこと。
提案手法
- ストアバッファ内のストア・トゥ・ロード・フォワーディングを悪用し、データ漏洩のためのコントロールチャネルを構築すること。
- ストアバッファの挙動とTLBの状態変化を組み合わせることで、メタデータを漏洩させ、TSXの原子的整合性を破壊すること。
- 予測実行と既存のSpectre v1ガジェットを用いて、データ漏洩を引き起こし、拡大させること。
- マイクロアーキテクチャ的状態変化を測定するサイドチャネル時間測定攻撃を設計し、秘密の値を推定すること。
- 非特権ユーザーアプリケーションおよびJavaScriptから攻撃を実装し、実世界での実現可能性を示すこと。
- Meltdown対策が施された最新のIntel CPU(例:Whiskey Lake、Coffee Lake)で攻撃を検証すること。
実験結果
リサーチクエスチョン
- RQ1元のMeltdown脆弱性に対して防御されたとされるCPUに対しても、Meltdownに類似した攻撃が依然として実行可能かどうか。
- RQ2予測実行を超えた、どのようなマイクロアーキテクチャ的コンponentsが新しいサイドチャネルを可能にしているか。
- RQ3ストアバッファとTLBをどれほど活用して、カーネル空間およびユーザー空間のメモリを漏洩させられるか。
- RQ4この手法を用いて、KASLRおよびASLRを実用的な時間内に破壊できるか。
- RQ5KAISERのような既存のソフトウェア対策が、このような攻撃を防止するのに十分かどうか。
主な発見
- 攻撃は、完全にパッチが適用されたIntel CPUにおいてもわずか42マイクロ秒でKASLRを破壊し、極めて効率的なサイドチャネルであることを示している。
- 研究者たちは、非特権ユーザーアプリケーションからストア・トゥ・リーク・フォワーディング機構を用いてカーネルメモリを漏洩させることに成功した。
- 攻撃はJavaScriptからもASLRを破壊でき、Webベースの隔離に対する深刻な脅威を示している。
- この手法は、カーネルの制御フローを監視し、IntelのTSX(Total Store Buffer)トランザクションの原子的整合性を破壊するのにも利用できる。
- Spectre v1ガジェットと組み合わせることで、現実的で実用的なシナリオにおいて任意のカーネルメモリを漏洩させることができる。
- 本研究は、Meltdownのハードウェア修正が不十分であり、セキュリティを確保するにはソフトウェアベースの隔離が依然として不可欠であることを証明している。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。