MuonTrap: Preventing Cross-Domain Spectre-Like Attacks by Capturing Speculative State

Conference Object
Change log
Jones, TM 

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.

Microarchitecture, Hardware Security, Speculative Execution, Spectre
Journal Title
Proceedings - International Symposium on Computer Architecture
Conference Name
ISCA '20: The 47th Annual International Symposium on Computer Architecture
Journal ISSN
Volume Title
All rights reserved
Engineering and Physical Sciences Research Council (EP/K026399/1)
Engineering and Physical Sciences Research Council (EP/M506485/1)
Engineering and Physical Sciences Research Council (EP/P020011/1)
EPSRC (1510365)
Arm Limited
Is supplemented by: