CryptoDB
Jack Barnes
Publications
Year
Venue
Title
2022
RWC
Spectre Declassified
Abstract
At RWC 2020, Carruth gave an overview of what Spectre attacks mean for the development for cryptographic software. One central message of his talk was that while certain Spectre-related attacks are considered CPU bugs that should (and are being) fixed in hardware, “Spectre v1 is here for decades. . . ”
Among other coding guidelines, he recommends protecting against such Spectre v1 attacks by:
* moving operations involving long-term keys to a separate agent process; and
* hardening this agent process with speculative load hardening (SHL), if it is affordable.
In this presentation we will show that SLH is insufficient as a protection against Spectre v1, in particular when applied to cryptographic software. While this observation may seem like it contradicts earlier analyses, it is a result of taking declassification of data into account, which is a very common, albeit often implicit, construct in cryptographic software.
On the positive side we show that two small modifications to SLH yield a countermeasure that provably protects against Spectre v1 attacks. What is even more positive is that this countermeasure is—in particular for cryptographic software—expected to be much cheaper than SLH.
In order to widely deploy this countermeasure it is necessary to augment type systems of mainstream programming languages and compilers to distinguish between secret and public data. Such modifications to type systems are already being discussed to systematically protect against traditional timing attacks.
Coauthors
- Jack Barnes (1)
- Gilles Barthe (1)
- Sunjay Cauligi (1)
- Chitchanok Chuengsatiansup (1)
- Daniel Genkin (1)
- Sioli O'Connell (1)
- Peter Schwabe (1)
- Basavesh Ammanaghatta Shivakumar (1)
- Rui Qi Sim (1)
- Yuval Yarom (1)