Skip to main content
QUICK REVIEW

[論文レビュー] Store-to-Leak Forwarding: Leaking Data on Meltdown-resistant CPUs

Michael Schwarz, Claudio Canella|arXiv (Cornell University)|May 14, 2019
Security and Verification in Computing参考文献 53被引用数 23
ひとこと要約

この論文は、ストアバッファとTLBを悪用することで、Meltdown耐性を備えた最新のCPUでもMeltdownに類似した攻撃が依然として可能であることを示している。ユーザー空間およびJavaScriptからKASLRとASLRを解除する実用的な攻撃が可能であり、Spectreゲージドルと組み合わせることで任意のメモリ読み取りが可能になる。これは、ソフトウェアの緩和策がカーネルとユーザー空間の分離を確保するために依然として不可欠であることを証明している。

ABSTRACT

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 ASLR-related 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.

研究の動機と目的

  • オリジナルのMeltdown脆弱性に対して防御された最新のCPUにおいて、Meltdown風の攻撃が依然として成立するかどうかを調査すること。
  • ストアバッファやTLBなどのマイクロアーキテクチャ的要因が、特権境界を越えて機密データを漏洩させるためにどのように悪用可能かを調査すること。
  • 非特権ユーザーアプリケーションからカーネルのアドレス空間レイアウトランダマイズ(KASLR)を破壊する実用的なサイドチャネル攻撃を示すこと。
  • ストアから漏洩へのフォワーディングとSpectre風ゲージドルを組み合わせることで、任意のメモリ内容を漏洩させる可能性を評価すること。
  • ハードウェアの修正がなされても、マイクロアーキテクチャ的要因における継続的な攻撃ベクトルが存在するため、ソフトウェアの緩和策が依然として不可欠であると主張すること。

提案手法

  • 一時的実行中のストアバッファの挙動を悪用し、ストアから次のロードへデータをフォワードすることでサイドチャネルによる漏洩を可能にする。
  • ストアバッファと翻訳ラックアップバッファ(TLB)を組み合わせ、メモリアクセスパターンを観測し、機密データを推測する。
  • マイクロアーキテクチャ的サイドチャネルを用いて、IntelのTSX(Total Store Execute)命令の原子性を破壊するためのサイドチャネル技術を設計する。
  • Spectre風ゲージドルを悪意ある形で構築し、ストアから漏洩へのフォワーディングと組み合わせることで、カーネルメモリからの任意のメモリ読み取りを可能にする。
  • 非特権ユーザー空間アプリケーションおよびJavaScript環境から実験を行い、実世界での攻撃可能性を示す。
  • タイミングサイドチャネル測定を用いて、カーネルベースアドレスを抽出し、KASLRおよびASLR保護を解除する。

実験結果

リサーチクエスチョン

  • RQ1Meltdown耐性を備えたCPUにおいても、Meltdownに類似した攻撃が依然として実行可能か?
  • RQ2ストアバッファとTLBは、最新のプロセッサにおいて、どの程度サイドチャネルベクトルとしての役割を果たせるか?
  • RQ3非特権ユーザー空間アプリケーションからマイクロアーキテクチャ的サイドチャネルを用いてKASLRとASLRを破壊することは可能か?
  • RQ4ストアから漏洩へのフォワーディングとタイミング解析を用いることで、TSXの原子性を侵害できるか?
  • RQ5ストアから漏洩へのフォワーディングとSpectreゲージドルを組み合わせることで、カーネルメモリからの任意のメモリ内容を漏洩させられるか?

主な発見

  • ストアバッファとTLBを併用することで、Meltdown耐性CPU上でも特権境界を越えてデータを漏洩させるサイドチャネル攻撃を実現できる。
  • タイミングサイドチャネル測定のみを用いて、非特権ユーザー空間アプリケーションから実用的なKASLR破壊が達成された。
  • JavaScript環境内からASLRが破壊された。これは、Webベース実行環境における攻撃面の広がりを示している。
  • IntelのTSXの原子性が侵害され、マイクロアーキテクチャ的サイドチャネルを通じて内部のカーネル制御フローが観測可能になった。
  • Spectreゲージドルと組み合わせることで、ストアから漏洩へのフォワーディング技術により、カーネルメモリからの任意のメモリ読み取りが可能になり、Meltdownに類似した能力が再び復活した。
  • 本研究の結果は、ハードウェアの緩和策だけでは不十分であり、カーネルとユーザー空間の分離を確保するためにはソフトウェアレベルの保護が依然として不可欠であることを示している。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。