(Dis)Proving Spectre Security with Speculation-Passing Style
This program is tentative and subject to change.
Constant-time (CT) verification tools are commonly used for detecting potential side-channel vulnerabilities
in cryptographic libraries. Recently, a new class of tools, called speculative constant-time (SCT) tools, has
also been used for detecting potential Spectre vulnerabilities. In many cases, these SCT tools have emerged
as liftings of CT tools. However, these liftings are seldom defined precisely and are almost never analyzed
formally. The goal of this paper is to address this gap, by developing formal foundations for these liftings, and
to demonstrate that these foundations can yield practical benefits.
Concretely, we introduce a program transformation, coined Speculation-Passing Style (SPS), for reducing
SCT verification to CT verification. Essentially, the transformation instruments the program with a new input
that corresponds to attacker-controlled predictions and modifies the program to follow them. This approach
is sound and complete, in the sense that a program is SCT if and only if its SPS transform is CT. Thus, we can
leverage existing CT verification tools to prove SCT; we illustrate this by combining SPS with three standard
methodologies for CT verification, namely reducing it to noninterference, assertion safety, and dynamic taint
analysis. We realize these combinations with three existing tools, EasyCrypt, Binsec/Rel, and CTGrind, and
we evaluate them on Kocher’s benchmarks for Spectre-v1. Our results focus on Spectre-v1 in the standard CT
leakage model; however, we also discuss applications of our method to other variants of Spectre and other
leakage models.
This program is tentative and subject to change.
Wed 7 OctDisplayed time zone: Pacific Time (US & Canada) change
13:30 - 15:00 | Security and Information FlowOOPSLA at Junior Ballroom 1&2 Chair(s): Mae Milano Princeton University | ||
13:30 18mTalk | (Dis)Proving Spectre Security with Speculation-Passing Style OOPSLA Santiago Arranz Olmos MPI-SP, Gilles Barthe MPI-SP; IMDEA Software Institute, Lionel Blatter MPI-SP, Xingyu Xie MPI-SP, Zhiyuan Zhang MPI-SP DOI | ||
13:48 18mTalk | Decompiling for Constant-Time Analysis OOPSLA Santiago Arranz Olmos MPI-SP, Gilles Barthe MPI-SP; IMDEA Software Institute, Lionel Blatter MPI-SP, Youcef Bouzid ENS Paris-Saclay, Sören van der Wall TU Braunschweig, Zhiyuan Zhang MPI-SP DOI | ||
14:06 18mTalk | Sound Enforcement of Dynamic Release Information Flow Policy OOPSLA DOI Pre-print | ||
14:24 18mTalk | A Type System for Optimizing Dynamic IFC OOPSLA Daniel Galán Pascual ETH Zurich, François Hublet ETH Zurich, Srđan Krstić ETH Zurich, Roman Fischer ETH Zurich, Colin Pfingstl ETH Zurich, David Basin ETH Zurich DOI | ||