MuonTrap: Preventing Cross-Domain Spectre-Like Attacks by Capturing Speculative State
arXiv:1911.08384 · doi:10.1109/ISCA45697.2020.00022
Abstract
The disclosure of the Spectre speculative-execution attacks in January 2018 has left a severe vulnerability that systems are still struggling with how to patch. The solutions that currently exist tend to have incomplete coverage, perform badly, or have highly undesirable edge cases that cause application domains to break. MuonTrap allows processors to continue to speculate, avoiding significant reductions in performance, without impacting security. We instead prevent the propagation of any state based on speculative execution, by placing the results of speculative cache accesses into a small, fast L0 filter cache, that is non-inclusive, non-exclusive with the rest of the cache hierarchy. This isolates all parts of the system that can't be quickly cleared on any change in threat domain. MuonTrap uses these speculative filter caches, which are cleared on context and protection-domain switches, along with a series of extensions to the cache coherence protocol and prefetcher. This renders systems immune to cross-domain information leakage via Spectre and a host of similar attacks based on speculative execution, with low performance impact and few changes to the CPU design.
Cited by in corpus (8)
- GhostMinion: A Strictness-Ordered Cache System for Spectre Mitigation
- SoK: Hardware Defenses Against Speculative Execution Attacks
- Hacky Racers: Exploiting Instruction-Level Parallelism to Generate Stealthy Fine-Grained Timers
- PREFENDER: A Prefetching Defender against Cache Side Channel Attacks as A Pretender
- A Survey of Security Concerns and Countermeasures in Modern Micro-architectures with Transient Execution
- On Value Recomputation to Accelerate Invisible Speculation
- Leaking Secrets through Modern Branch Predictor in the Speculative World
- Improving the Representativeness of Simulation Intervals for the Cache Memory System