With Plundervolt, an Intel Processor's Secure Enclave Is No Longer Secure
Major hardware vulnerability can allow the changing of information that is supposedly stored as secure in the chip’s Secure Enclave.
International researchers have discovered a major hardware vulnerabilitythat they call Plundervolt in most of the modern Intel processors from Skylake onward. It can allow the changing of information that is supposedly stored as secure in the chip's Secure Enclave.
The researchers have a web page with a snazzy logo (designed by Mike Stimpson) dedicated to the vulnerability (CVE-2019-11157) where they attempt to answer some general questions about it.
The vulnerability has been known since June by the group who then informed Intel. It's taken Intel until now to get a patch out to mitigate things. Admittedly, the problems that Intel had to navigate in a solution composed of both microcode (CPU firmware) and BIOS updates were non-trivial.
The method used in the attack is similar to how a gamer might "overclock" a CPU for faster performance in that it uses a privileged power/clock management feature (the CPU's Dynamic Voltage and Frequency Scaling) to do its dirty work: inject faults into a trusted execution environment. These faults can then be actively exploited later by the attacker once the malware program leaves the enclave and is running in its normal space. Thus Plundervolt does not break the SGX in the usual sense, instead it poisons the output.
By the way, this is just the opposite of recent speculative-style SGX attacks like Foreshadow or Spectre. Those methods allow the attacker to read data from SGX enclave memory (i.e. attacks the confidentiality). As the researchers note, "Plundervolt achieves the complementary operation, namely changing values in SGX-protected memory (i.e. attacks the integrity)".
The problem affects many users, not just those using SGX for cryptography programs for example. The group says that Plundervolt can also cause memory safety misbehavior in certain scenarios. For example, the paper finds that out-of-bounds accesses may arise when an attacker faults multiplications emitted by the compiler for array element indices or pointer arithmetic.
They conclude that Plundervolt can break a processor's integrity guarantees, affecting even securely written code. They also claim to show that Plundervolt may affect SGX's attestation functionality, which undermines the building blocks underpinning the security of Intel's SGX ecosystem. The Gang of Six says that, "this represents the first practical attack that directly breaches the integrity guarantees in the Intel SGX security architecture."
Yow.
But there is a bit of upside to all of this. Evidently, Plundervolt can't be exploited remotely. Pointing the victim to malware with JavaScript in it won't get the vulnerability to work.
Plundervolt also doesn't work from within virtualized environments, such as virtual machines and cloud computing services, because that vector was considered by Intel in the design of the SGX architecture. At least in this version of Plundervolt (which doesn't break that architecture), it prevents that kind of exploit.
So, those wanting to close off SGX's possible corruption should patch both the CPU microcode and the BIOS of a machine. Nothing less than that will mitigate the vulnerability.
— Larry Loeb has written for many of the last century's major "dead tree" computer magazines, having been, among other things, a consulting editor for BYTE magazine and senior editor for the launch of WebWeek.
Read more about:
Security NowAbout the Author
You May Also Like