An Analysis of Speculative Type Confusion Vulnerabilities in the Wild

06/29/2021
by   Ofek Kirzner, et al.
0

Spectre v1 attacks, which exploit conditional branch misprediction, are often identified with attacks that bypass array bounds checking to leak data from a victim's memory. Generally, however, Spectre v1 attacks can exploit any conditional branch misprediction that makes the victim execute code incorrectly. In this paper, we investigate speculative type confusion, a Spectre v1 attack vector in which branch mispredictions make the victim execute with variables holding values of the wrong type and thereby leak memory content. We observe that speculative type confusion can be inadvertently introduced by a compiler, making it extremely hard for programmers to reason about security and manually apply Spectre mitigations. We thus set out to determine the extent to which speculative type confusion affects the Linux kernel. Our analysis finds exploitable and potentially-exploitable arbitrary memory disclosure vulnerabilities. We also find many latent vulnerabilities, which could become exploitable due to innocuous system changes, such as coding style changes. Our results suggest that Spectre mitigations which rely on statically/manually identifying "bad" code patterns need to be rethought, and more comprehensive mitigations are needed.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/25/2018

SgxPectre Attacks: Leaking Enclave Secrets via Speculative Execution

This paper presents SgxPectre Attacks that exploit the recently disclose...
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
10/26/2022

Short Paper: Static and Microarchitectural ML-Based Approaches For Detecting Spectre Vulnerabilities and Attacks

Spectre intrusions exploit speculative execution design vulnerabilities ...
research
10/17/2017

Towards Linux Kernel Memory Safety

The security of billions of devices worldwide depends on the security an...
research
10/24/2018

On the Effectiveness of Type-based Control Flow Integrity

Control flow integrity (CFI) has received significant attention in the c...
research
07/26/2018

ret2spec: Speculative Execution Using Return Stack Buffers

Speculative execution is an optimization technique that has been part of...
research
12/29/2017

On quality of implementation of Fortran 2008 complex intrinsic functions on branch cuts

Branch cuts in complex functions in combination with signed zero and sig...

Please sign up or login with your details

Forgot password? Click here to reset