SgxPectre Attacks: Leaking Enclave Secrets via Speculative Execution

02/25/2018
by   Guoxing Chen, et al.
0

This paper presents SgxPectre Attacks that exploit the recently disclosed CPU bugs to subvert the confidentiality of SGX enclaves. Particularly, we show that when branch prediction of the enclave code can be influenced by programs outside the enclave, the control flow of the enclave program can be temporarily altered to execute instructions that lead to observable cache-state changes. An adversary observing such changes can learn secrets inside the enclave memory or its internal registers, thus completely defeating the confidentiality guarantee offered by SGX. To demonstrate the practicality of our SgxPectre Attacks, we have systematically explored the possible attack vectors of branch target injection, approaches to win the race condition during enclave's speculative execution, and techniques to automatically search for code patterns required for launching the attacks. Our study suggests that any enclave program could be vulnerable to SgxPectre Attacks since the desired code patterns are available in most SGX runtimes (e.g., Intel SGX SDK, Rust-SGX, and Graphene-SGX).

READ FULL TEXT

page 1

page 2

page 3

page 4

research
01/03/2018

Spectre Attacks: Exploiting Speculative Execution

Modern processors use branch prediction and speculative execution to max...
research
03/08/2022

You Cannot Always Win the Race: Analyzing the LFENCE/JMP Mitigation for Branch Target Injection

LFENCE/JMP is an existing software mitigation option for Branch Target I...
research
06/29/2021

An Analysis of Speculative Type Confusion Vulnerabilities in the Wild

Spectre v1 attacks, which exploit conditional branch misprediction, are ...
research
11/03/2017

Automated Detection, Exploitation, and Elimination of Double-Fetch Bugs using Modern CPU Features

Double-fetch bugs are a special type of race condition, where an unprivi...
research
01/12/2018

Speculose: Analyzing the Security Implications of Speculative Execution in CPUs

Whenever modern CPUs encounter a conditional branch for which the condit...
research
05/22/2018

You Shall Not Bypass: Employing data dependencies to prevent Bounds Check Bypass

A recent discovery of a new class of microarchitectural attacks called S...
research
09/16/2019

PredatorHP Attacks Interval-Sized Regions

This paper describes shortly the basic principles of the PredatorHP (Pre...

Please sign up or login with your details

Forgot password? Click here to reset