Another month, another speculative execution attack. Earlier this week, Intel disclosed a new speculative execution vulnerability that can be exploited in nearly all systems using its processors. Discovered by researchers from the University of Michigan and VUSec, the attack method, dubbed CacheOut, can be used to exfiltrate sensitive information, including encryption keys. Unlike some previously uncovered vulnerabilities, with CacheOut attackers can even select what data they want to leak, rather than waiting for data to become available.
Microarchitectural Data Sampling
In 2018, the announcement of Meltdown and Spectre disrupted the digital world. These speculative execution vulnerabilities affected nearly every computer in use, appearing in most major processor designs including ARM, Intel, and AMD. In fact, there is now an entire class of attacks on modern CPUs which exploit the speculative execution features present in these processors to expose sensitive information. Since the Meltdown and Spectre revelation, numerous additional speculative execution attacks have been uncovered, such as the Zombieload exploit, made public late in 2019.
Zombieload belongs to a subset of speculative execution attacks called Microarchitectural Data Sampling (MDS). There are several different techniques in this growing threat category, with varying levels of complexity. CacheOut is the most recent technique published with yet another method of exposing sensitive information on computers running Intel processors.
How CacheOut works
The CacheOut exploit abuses various Intel features intended to optimize the execution of your software. This variety of optimizations have been found to cache data in the CPUs buffers such that a carefully orchestrated attack, such as CacheOut, can leave data exposed, ultimately allowing unprivileged users to access it.
Due to the nature of speculative execution, attacks like CacheOut enable them to circumvent protections provided by both the operating system or even Intel’s Software Guard Extensions (SGX) enclave. This means that arbitrary data can then be acquired at will, putting highly sensitive information like cryptographic keys at risk of being stolen.
What can you do?
whiteCryption® Secure Key Box™ is a white-box cryptography library, designed to keep keys encoded at all times, even when in use. It can be used to protect keys from CacheOut and other speculative execution attacks. Keeping keys secure both at rest and in use means that even if a key in memory is leaked, it remains encoded and thus protected—the key is never loaded into the CPU cache in the clear, so it can never be extracted.
Download this Intertrust white paper to learn more about cryptographic key protection and whiteCryption Secure Key Box.
About Jake VanAdrighem
Jake VanAdrighem is Technical Product Manager at Intertrust Technologies, responsible for product vision of Intertrust's whiteCryption Code Protection application security solution and white-box cryptography library Secure Key Box. Jake has a user focused background in systems and compiler engineering.