Skip to main content
QUICK REVIEW

[論文レビュー] Speculative Buffer Overflows: Attacks and Defenses

Vladimir Kiriansky, Carl A. Waldspurger|arXiv (Cornell University)|Jul 10, 2018
Security and Verification in Computing参考文献 22被引用数 127
ひとこと要約

この論文は推測実行時のメモリ安全性を破る推測的バッファオーバーフロー(Spectre1.1およびSpectre1.2)を紹介し、それらのハードウェア/ソフトウェア機構を分析し、推測的store-to-loadフォワーディングを抑制するSLothファミリーのハードウェア対策と手動のソフトウェア防御を提案する。

ABSTRACT

Practical attacks that exploit speculative execution can leak confidential information via microarchitectural side channels. The recently-demonstrated Spectre attacks leverage speculative loads which circumvent access checks to read memory-resident secrets, transmitting them to an attacker using cache timing or other covert communication channels. We introduce Spectre1.1, a new Spectre-v1 variant that leverages speculative stores to create speculative buffer overflows. Much like classic buffer overflows, speculative out-of-bounds stores can modify data and code pointers. Data-value attacks can bypass some Spectre-v1 mitigations, either directly or by redirecting control flow. Control-flow attacks enable arbitrary speculative code execution, which can bypass fence instructions and all other software mitigations for previous speculative-execution attacks. It is easy to construct return-oriented-programming (ROP) gadgets that can be used to build alternative attack payloads. We also present Spectre1.2: on CPUs that do not enforce read/write protections, speculative stores can overwrite read-only data and code pointers to breach sandboxes. We highlight new risks posed by these vulnerabilities, discuss possible software mitigations, and sketch microarchitectural mechanisms that could serve as hardware defenses. We have not yet evaluated the performance impact of our proposed software and hardware mitigations. We describe the salient vulnerability features and additional hypothetical attack scenarios only to the detail necessary to guide hardware and software vendors in threat analysis and mitigations. We advise users to refer to more user-friendly vendor recommendations for mitigations against speculative buffer overflows or available patches.

研究の動機と目的

  • 推測的実行時にメモリ安全性を破る攻撃として推測的バッファオーバーフローを導入する。
  • これらの攻撃を可能にするハードウェア機能を分析して対策を導く。
  • 推測的バッファオーバーフローに対抗するソフトウェア対策とハードウェアソリューション(SLoth)を提案する。
  • 脅威モデルと潜在的ペイロードを議論して防御の深層戦略を情報提供する。

提案手法

  • Spectre1.1 および Spectre1.2 の攻撃メカニズムと必要な推測実行ウィンドウを説明する。
  • ストア→ロードフォワーディングとデータ/TOCTOU防御の推測を基盤とするハードウェア機能を分析する。
  • 古典的なバッファオーバーフロー対策を推測的文脈に適用して改変する(例:推測フェンス、マスキング、および TOCTOU 防御)。
  • SLothファミリ(Store-to-Load Blocking、Lazy Forwarding、Frozen Forwarding)をハードウェア対策として提案する。
  • ゴースト/ハロー、潜在的ペイロードを含むリスクシナリオを概説し、脅威分析と対策設計を導く。

実験結果

リサーチクエスチョン

  • RQ1Spectre1.1 および Spectre1.2 は Spectre1.0 を超えてどんな新しい能力を可能にするのか?
  • RQ2ストアバッファ、MSHR、TLB推測などのハードウェア構造が推測的バッファオーバーフローによってどう利用され得るのか?
  • RQ3ソフトウェアとハードウェアの対策で、過度な性能ペナルティなしに推測的バッファオーバーフローを効果的に防ぐことができるのか?
  • RQ4推測的バッファオーバーフローの脆弱性から生じる現実的な脅威モデルと潜在的攻撃ペイロードは?

主な発見

  • Spectre1.1 は推測ストアによる任意の推測書き込みを可能にし、以前の対策を回避する可能性がある。
  • Spectre1.2 は遅延的保護の適用により読み取り専用データやコードポインタを書き換えることができ、サンドボックスを弱体化させる。
  • 手動および粗い対策は存在するが、費用が高いことが多いか不完全である。データ依存の厳密なマスキングとフロー感度の防御について議論されている。
  • SLothファミリ(Store-to-Load Blocking、Lazy Forwarding、Frozen Forwarding)を、複雑さと性能影響を変化させつつ、ストア→ロードフォワーディングを制約するハードウェア対策として提案。
  • 攻撃ペイロードの議論は、推測実行脅威下でローカルおよびリモートの機密性、完全性、可用性リスクを示唆している。
  • 論文は防御を深層化しベンダーの指針が必要であることを強調しており、対策の性能評価を待つ。

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

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

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

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