A Dirty Little History: Bypassing Spectre Hardware Defenses to Leak Kernel Data

Presented at Black Hat USA 2022, Aug. 11, 2022, 3:20 p.m. (40 minutes)

The initial disclosure of Spectre in 2018 led to an unforeseen era of transient execution attacks. These attacks usually allow a lower-privileged attacker to leak arbitrary data from higher privileged security domains by observing the side-effects of transiently executed instructions. One especially powerful attack variant, Branch Target Injection (BTI), abuses misprediction and resulting mispeculation on indirect branches to transiently execute attacker-controlled instructions. To put a stop to this, affected vendors initially relied on a complicated set of software defenses and began only in the last two years to roll out in-silicon defenses to the consumer market.

The initial disclosure of Spectre in 2018 led to an unforeseen era of transient execution attacks. These attacks usually allow a lower-privileged attacker to leak arbitrary data from higher privileged security domains by observing the side-effects of transiently executed instructions. One especially powerful attack variant, Branch Target Injection (BTI), abuses misprediction and resulting mispeculation on indirect branches to transiently execute attacker-controlled instructions. To put a stop to this, affected vendors initially relied on a complicated set of software defenses and began only in the last two years to roll out in-silicon defenses to the consumer market.

To assess the security ramifications of this insight, we developed tooling to automatically test whether a userspace attacker can cause mispredictions in the kernel despite the enabled defenses. Using this tooling, we could verify that BHI, indeed, poses a threat to very recent systems, such as the Google Pixel 6 or systems with 12th generation Intel CPUs. Furthermore, we will also show that this threat is far from theoretical: We developed an end-to-end exploit leaking the contents of etc-shadow in under 10 minutes and provide a technical walk-through accompanied by live demos during this talk.


Presenters:

  • Marius Muench - Security Researcher, VUSec
    Marius (nsr) is a postdoctoral researcher at Vrije Universiteit Amsterdam. His research interests cover (in-)security of embedded systems, as well as binary and microarchitectural exploitation. He obtained his PhD from Sorbonne University in cooperation with EURECOM. He developed and maintains avatar2, a framework for analyzing embedded systems firmware. Most recently, he used the framework in the scope of the FirmWire project for automated security testing of cellular baseband implementations.
  • Enrico Barberis - Security Researcher, VUSec
    Enrico (barbito) is a PhD candidate at VUSec. His current research focuses on microarchitectural attacks and all intrinsic threats introduced by hardware design flaws. In his recent works, he disclosed microarchitectural vulnerabilities such as Floating Point Value Injection and Branch History Injection.
  • Pietro Frigo - Security Researcher, VUSec
    Pietro Frigo is a PhD candidate @ VUSec. His research focuses on hardware security, investigating attack vectors such as Rowhammer and side channels. He disclosed the first WebGL-based Rowhammer attack and was recently behind TRRespass (Rowhammer on DDR4) and the discovery of Intel's MDS and BHI vulnerabilities.

Links:

Similar Presentations: