2021
DOI: 10.1109/tse.2019.2953709
|View full text |Cite
|
Sign up to set email alerts
|

oo7: Low-Overhead Defense Against Spectre Attacks via Program Analysis

Abstract: The Spectre vulnerability in modern processors has been widely reported. The key insight in this vulnerability is that speculative execution in processors can be misused to access secrets speculatively. Subsequently even though the speculatively executed instructions are squashed, the secret may linger in micro-architectural states such as cache, and can potentially be accessed by an attacker via side channels. We propose oo7, a static analysis approach that can mitigate Spectre attacks by detecting potentiall… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

1
69
0

Year Published

2021
2021
2023
2023

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 62 publications
(81 citation statements)
references
References 15 publications
1
69
0
Order By: Relevance
“…To date, there are four known main variants of Spectre attacks [2]. Most works on analyzers [3], [4], [9]- [12] only focus on the Pattern History Table (PHT) variant (a.k.a Spectre-v1 [1]) which exploits conditional branches, yet they struggle on mediumsize binary code (cf. Table V).…”
Section: Introductionmentioning
confidence: 99%
“…To date, there are four known main variants of Spectre attacks [2]. Most works on analyzers [3], [4], [9]- [12] only focus on the Pattern History Table (PHT) variant (a.k.a Spectre-v1 [1]) which exploits conditional branches, yet they struggle on mediumsize binary code (cf. Table V).…”
Section: Introductionmentioning
confidence: 99%
“…In contrast, our type system enforces speculative constant-time when program instructions are executed out-of-order with unbounded speculationÐ and our tool Blade automatically synthesizes repairs. Separately, oo7 [Wang et al 2018] statically analyzes a binary from a set of untrusted input sources, detecting vulnerable patterns and inserting fences in turn. Our tool, Blade, not only repairs vulnerable programs without user annotation, but ensures that program patches contain a minimum number of fences.…”
Section: Related Workmentioning
confidence: 99%
“…The first objective is to detect the Spectre pattern in binaries. After Spectre unveiling, several attempts have been made to detect this pattern in compilers and to insert fence instructions to secure the binaries [12]. However, as OoO processors automatically speculate over all branches, the pattern can be hidden behind complex control-flow operations.…”
Section: A Detecting Spectre Patternsmentioning
confidence: 99%
“…Finally, OO7 [12] uses a tainting analysis to detect whether a dangerous value (i.e., a value which can be controlled by an attacker) can be used as an address for a speculative load. If such a pattern is detected, a FENCE instruction can be inserted to make the binaries safe.…”
Section: Related Workmentioning
confidence: 99%