Litcius/Paper detail

Spectector: Principled Detection of Speculative Information Flows

Marco Guarnieri, Boris Köpf, José F. Morales, Jan Reineke, Andrés Sánchez

202019 citationsDOIOpen Access PDF

Abstract

Since the advent of Spectre, a number of counter-measures have been proposed and deployed. Rigorously reasoning about their effectiveness, however, requires a well-defined notion of security against speculative execution attacks, which has been missing until now.In this paper (1) we put forward speculative non-interference, the first semantic notion of security against speculative execution attacks, and (2) we develop Spectector, an algorithm based on symbolic execution to automatically prove speculative non-interference, or to detect violations.We implement Spectector in a tool, which we use to detect subtle leaks and optimizations opportunities in the way major compilers place Spectre countermeasures. A scalability analysis indicates that checking speculative non-interference does not exhibit fundamental bottlenecks beyond those inherited by symbolic execution.

Topics & Concepts

Computer scienceSpeculative executionScalabilityCompilerSymbolic executionSpeculative multithreadingComputer securityProgramming languageParallel computingDatabaseMultithreadingSoftwareThread (computing)Security and Verification in ComputingAdvanced Malware Detection TechniquesNetwork Security and Intrusion Detection
Spectector: Principled Detection of Speculative Information Flows | Litcius