Spectre is here to stay: An analysis of side-channels and speculative execution
Ross Mcilroy, Jaroslav Sevcik, Tobias Tebbi, Ben L. Titzer, Toon, Verwaest

TL;DR
This paper analyzes speculative side-channel attacks like Spectre, introduces models to understand them, evaluates mitigations, and concludes that hardware vulnerabilities pose significant challenges for software security, prompting a shift to process isolation.
Contribution
It introduces a mathematical meta-model and an architectural model to analyze speculative vulnerabilities and evaluates software mitigations, proving some are correct but highlighting the difficulty of comprehensive solutions.
Findings
Speculative vulnerabilities can defeat language-enforced confidentiality.
Software mitigations are limited and may not fully prevent side-channel attacks.
Shift to process isolation is necessary for security in browsers like Chrome.
Abstract
The recent discovery of the Spectre and Meltdown attacks represents a watershed moment not just for the field of Computer Security, but also of Programming Languages. This paper explores speculative side-channel attacks and their implications for programming languages. These attacks leak information through micro-architectural side-channels which we show are not mere bugs, but in fact lie at the foundation of optimization. We identify three open problems, (1) finding side-channels, (2) understanding speculative vulnerabilities, and (3) mitigating them. For (1) we introduce a mathematical meta-model that clarifies the source of side-channels in simulations and CPUs. For (2) we introduce an architectural model with speculative semantics to study recently-discovered vulnerabilities. For (3) we explore and evaluate software mitigations and prove one correct for this model. Our analysis is…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
