Spectre Attacks: Exploiting Speculative Execution
By Paul C. Kocher, Daniel Genkin, Daniel Gruss, Werner Haas, Michael Hamburg, Moritz Lipp, Stefan Mangard, Thomas Prescher, Michael Schwarz, Yuval Yarom. 2018
2,501 citations recorded by the source corpus.
Modern processors use branch prediction and speculative execution to maximize performance. For example, if the destination of a branch depends on a memory value that is in the process of being read, CPUs will try to guess the destination and attempt to execute ahead. When the memory value finally arrives, the CPU either discards or commits the speculative computation. Speculative logic is unfaithful in how it executes, can access the victim's memory and registers, and can perform operations with measurable side effects. Spectre attacks involve inducing a victim to speculatively perform operations that would not occur during correct program execution and which leak the victim's confidential information via a side channel to the adversary. This paper describes practical attacks that combine methodology from side channel attacks, fault attacks, and return-oriented programming that can read arbitrary memory from the victim's process. More broadly, the paper shows that speculative execution implementations violate the security assumptions underpinning numerous software security mechanisms, including operating system process separation, containerization, just-in-time (JIT) compilation, and countermeasures to cache timing and side-channel attacks. These attacks represent a serious threat to actual systems since vulnerable speculative execution capabilities are found in microprocessors from Intel, AMD, and ARM that are used in billions of devices. While makeshift processor-specific countermeasures are possible in some cases, sound solutions will require fixes to processor designs as well as updates to instruction set architectures (ISAs) to give hardware architects and software developers a common understanding as to what computation state CPU implementations are (and are not) permitted to leak.
Subfields: Artificial Intelligence, Information Systems, Materials Chemistry
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Dawn Song
- Prateek Mittal
- Dan Boneh
- Florian Tramèr
- Nicholas Carlini
- Liwei Song
- Mohammadkazem Taram
- Nicolas Papernot
In Information Systems
- Dawn Song
- Jeremie S. Kim
- Mohammadkazem Taram
- Dean M. Tullsen
- Hadi Esmaeilzadeh
- Florian Tramèr
- Onur Mutlu
- Michael Schwarz
In Materials Chemistry
Citations in the corpus
- Privacy in Deep Learning: A Survey (2020, background): “A malicious party can exploit a system’s backdoor to bypass a server’s authentication mechanism and gain direct access to sensitive datasets, or sensitive parameters and models [30, 31, 32].”
- Slalom: Fast, Verifiable and Private Execution of Neural Networks in Trusted Hardware (2018, background): “The recent Spectre attacks on speculative execution (Kocher et al., 2018) also prove damaging to SGX (as well as to most other processors), as recently shown (Chen et al., 2018; Dall et al., 2018; Van Bulck et al., 2018).”
- Property Inference Attacks on Fully Connected Neural Networks using Permutation Invariant Representations (2018, methodology): “In the second case study we show that a classifier that recognizes Bitcoin mining from performance counters also leaks information about whether the classifier was trained on logs from machines that were patched for the Meltdown and Spectre attacks.”
- DeepAttest: An End-to-End Attestation Framework for Deep Neural Networks (2019, background): “The vulnerabilities of SGX to potential attacks such as spectre[26], cache[17] or other side-channel attacks are later identified.”
- Shredder: Learning Noise to Protect Privacy with Partial DNN Inference on the Edge (2019, methodology): “Even if the provider is trusted, the data can still be vulnerable over communication channels or via side-channel attacks [1, 2] at the provider.”
- Translation Leak-aside Buffer: Defeating Cache Side-channel Protections with TLB Attacks (2018, background): “Most recently, Spectre [32] exploits shared Branch Target Buffers (BTBs) to mount "speculative" control-flow hijacking attacks and control the speculative execution of the victim to leak information.”
- SgxPectre: Stealing Intel Secrets from SGX Enclaves Via Speculative Execution (2018, methodology): “A variety of attack scenarios have been demonstrated, including cross-process memory read [42], kernel memory read from user process, and host memory read from KVM guests [23].”
- Socio-Technological Challenges and Opportunities: Paths Forward (2021, background): “…will be online and accessible to bad actors, and the internet and the technology it enables will continue to be susceptible without strong security and privacy measures in place from the top of the software stack to the underlying hardware running the code [Lipp et al., 2018, Kocher et al., 2019].”
- RIDL: Rogue In-Flight Data Load (2019, background): “the BPU allows attacks known as Bounds Check Bypass (BCB) [2], [5], such as the one in Listing 2.”
- BranchScope: A New Side-Channel Attack on Directional Branch Predictor (2018, background): “The branch poisoning attack presented in Spectre is based on the same basic principle as BranchScope — exploiting collisions be-tween different branch instructions in the branch predictor data structures.”
- Fallout: Leaking Data on Meltdown-resistant CPUs (2019, methodology): “3363219 be harmless and valuable performance features, were discovered to have dangerous industry-wide security implications, affecting operating systems [47, 51], browsers [1, 47], virtual machines [78], Intel SGX [74] and cryptographic hardware accelerators [72].”
- Context-Sensitive Fencing: Securing Speculative Execution via Microcode Customization (2019, background): “Variant Vulnerability Name Spectre v1 [49, 57] Bounds Check Bypass (BCB) Spectre v2 [49, 57] Branch Target Injection (BTI) Spectre v3 [49, 61] Rogue Data Cache Load (RDCL) Spectre v3a [6, 67] Rogue System Register Read (RSRD) Spectre v4 [67] Speculative Store Bypass (SSB) Spectre-NG [78] Lazy FP Sta”
- Foreshadow: Extracting the Keys to the Intel SGX Kingdom with Transient Out-of-Order Execution (2018, neutral): “A first type of Spectre [36] attacks exploit the CPU’s branch prediction machinery to trick a victim protection domain into speculatively executing instructions out of its intended execution path.”
- HardFails: Insights into Software-Exploitable Hardware Bugs (2019, methodology): “Similarly, Spectre [37] exploits out-of-order execution across different user-space processes as arbitrary instruction executions would continue during speculation.”
- Graviton: Trusted Execution Environments on GPUs (2018, background): “Side channels are a serious concern with trusted hardware [10, 12, 22, 38, 45, 50] and building efficient counter measures remains an open problem.”
- RowHammer: A Retrospective (2019, background): “We believe it is no coincidence that two of the groups that concurrently discovered the heavily publicized Meltdown [157] and Spectre [135] vulnerabilities (Google Project Zero and TU Graz InfoSec) have heavily worked on RowHammer attacks before.”
- Packet Chasing: Spying on Network Packets over a Cache Side-Channel (2019, neutral): “However, this complexity often breeds security vulnerabilities, as evidenced recently by Meltdown [1] and Spectre [2].”
- What serverless computing is and should become (2021, background): “22 In addition to adopting mitigations developed for serverful computing, serverless might employ randomized scheduling to make it more difficult for an attacker to target a specific victim.”