I'm super happy to share that our work "CustomProcessingUnit: Reverse Engineering and Customization of Intel Microcode" has been accepted at #WOOT23! 🎉
We extend our #BHUSA work to show how microcode tracing and patching can be useful to improve CPU performance and security 👀
+ We trace microcode updates to reverse engineer the secret Intel microcode update algorithm and perform its security evaluation.
+ We present the first x86 PAC implementation, attack it with PACMAN, and provide the first public PAC implementation not vulnerable to the attack.
+ We design a novel breakpoint idea: microcode breakpoints, 1000x faster than software breakpoints, and show their application for fuzzing.
+ We present constant-time hardware division to efficiently protect cryptographic software from side channels on data-dependent operations.
Today we disclose ÆPIC Leak: Architecturally Leaking Uninitialized Data from the Microarchitecture 🔥
It is the *first* architectural CPU bug able to leak sensitive data from the cache hierarchy: like an uninitialized read but in the CPU itself.
It affects 10th, 11th and 12th generation Intel CPUs, where the undefined range in APIC MMIO region returns stale data.
ÆPIC Leak is *not* a transient execution attack: it is a bug in the CPU itself. In our work, we show how it precisely allows us to fully dump enclave in seconds