Title
LVI: Hijacking Transient Execution through Microarchitectural Load Value Injection
Abstract
The recent Spectre attack first showed how to inject incorrect branch targets into a victim domain by poisoning microarchitectural branch prediction history. In this paper, we generalize injection-based methodologies to the memory hierarchy by directly injecting incorrect, attacker-controlled values into a victim's transient execution. We propose Load Value Injection (LVI) as an innovative technique to reversely exploit Meltdown-type microarchitectural data leakage. LVI abuses that faulting or assisted loads, executed by a legitimate victim program, may transiently use dummy values or poisoned data from various microarchitectural buffers, before eventually being re-issued by the processor. We show how LVI gadgets allow to expose victim secrets and hijack transient control flow. We practically demonstrate LVI in several proof-of-concept attacks against Intel SGX enclaves, and we discuss implications for traditional user process and kernel isolation. State-of-the-art Meltdown and Spectre defenses, including widespread silicon-level and microcode mitigations, are orthogonal to our novel LVI techniques. LVI drastically widens the spectrum of incorrect transient paths. Fully mitigating our attacks requires serializing the processor pipeline with lfence instructions after possibly every memory load. Additionally and even worse, due to implicit loads, certain instructions have to be blacklisted, including the ubiquitous x86 ret instruction. Intel plans compiler and assembler-based full mitigations that will allow at least SGX enclave programs to remain secure on LVI-vulnerable systems. Depending on the application and optimization strategy, we observe extensive overheads of factor 2 to 19 for prototype implementations of the full mitigation.
Year
DOI
Venue
2020
10.1109/SP40000.2020.00089
2020 IEEE Symposium on Security and Privacy (SP)
Keywords
DocType
ISSN
compiler,SGX enclave programs,LVI-vulnerable systems,hijacking transient execution,Spectre attack,memory hierarchy,attacker-controlled values,LVI gadgets,proof-of-concept attacks,Spectre defenses,microarchitectural load value injection,microarchitectural branch prediction,meltdown-type microarchitectural data leakage,optimization strategy
Conference
1081-6011
ISBN
Citations 
PageRank 
978-1-7281-3498-7
8
0.53
References 
Authors
0
10
Name
Order
Citations
PageRank
Jo Van Bulck112810.30
Ahmad Moghimi2864.34
Michael Schwarz325122.35
moritz lipp420113.16
Marina Minkin5302.28
Daniel Genkin657931.18
Yuval Yarom777535.54
Berk Sunar895668.31
daniel gruss959034.22
Frank Piessens102455162.28