[論文レビュー] Fallout: Reading Kernel Writes From User Space
Falloutは、ストアバッファを介してカーネルに書き込まれたデータをユーザースペースへ漏洩させる一時的実行攻撃であり、Meltdown風の防御を回避し、カーネルデータの漏洩とKASLRの乱択化を可能にする。
Recently, out-of-order execution, an important performance optimization in modern high-end processors, has been revealed to pose a significant security threat, allowing information leaks across security domains. In particular, the Meltdown attack leaks information from the operating system kernel to user space, completely eroding the security of the system. To address this and similar attacks, without incurring the performance costs of software countermeasures, Intel includes hardware-based defenses in its recent Coffee Lake R processors. In this work, we show that the recent hardware defenses are not sufficient. Specifically, we present Fallout, a new transient execution attack that leaks information from a previously unexplored microarchitectural component called the store buffer. We show how unprivileged user processes can exploit Fallout to reconstruct privileged information recently written by the kernel. We further show how Fallout can be used to bypass kernel address space randomization. Finally, we identify and explore microcode assists as a hitherto ignored cause of transient execution. Fallout affects all processor generations we have tested. However, we notice a worrying regression, where the newer Coffee Lake R processors are more vulnerable to Fallout than older generations.
研究の動機と目的
- MeltdownやForeshadowを超える一時的実行攻撃の理解を動機づける。
- 特権データを漏らすストアバッファ転送(WTF)の新しい脆弱性を示す。
- Fallout がユーザースペースから最近書き込まれたカーネルデータを再構成し、カーネルアドレス空間配置の乱択化を実現できることを示す。
- Intelアーキテクチャ全体への影響を評価し、マイクロコード支援の一時的実行リスクを特定する。
提案手法
- ストアバッファにおけるWTF(Write Transient Forwarding)最適化を説明する。
- 部分アドレス一致が発生した場合に、欠陥のあるロードが前のストアから値を一時的に転送する仕組みを説明する。
- 故障を引き起こすロードとキャッシュ covertチャネル(Flush+Reload)を用いた悪用を実証する。
- アーキテクチャ間のハードウェア動作依存性を特徴づける(Pre Coffee Lake R 対 Coffee Lake R)。
- ストアバッファのサイズを実験的に測定し、ハイパースレッディングがストアバッファの分割にどう影響するかを評価する。
実験結果
リサーチクエスチョン
- RQ1特権のないユーザープロセスは、WTF最適化を用いて最近カーネルによって書き込まれたデータを読み取ることができるか?
- RQ2ハードウェア防御(Meltdown風の緩和策)は、Intel世代を超えてFalloutに対して保護となるか?
- RQ3FalloutはKernel Address Space Layout Randomization (KASLR)を乱択化できるか?
- RQ4アーキテクチャとマイクロコード支援は、CPU世代を通じてFalloutの実現性にどのように影響するか?
主な発見
- Falloutは、ストアバッファとWrite Transient Forwarding (WTF)を悪用して、ユーザースペースからカーネルが書き込んだ値を読み取ることを可能にする。
- Coffee Lake R では、WTFがリークするには特定のフォルト抑制機構が必要になるという後退が見られ、従来の世代とは異なる。
- この攻撃はカーネルアドレスを乱択化でき、KASLRの保護を弱体化させる。
- ストアバッファのサイズはSkylake時代のアーキテクチャで56エントリと一致し、ハイパースレッド間の分割が確認されている。
- マイクロコード支援は、故障例外に依存せず一時的実行を引き起こす可能性があり、攻撃対象を拡大する。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。