Intel SGX Can Be Used to Hide, Execute Malware
The microprocessor giant's Software Guard Extensions security feature can be abused to implement virtually undetectable malware, Graz University researchers say.
March 7, 2018
In a talk at the Black Hat Asia conference later this month, researchers from the Graz University of Technology in Austria plan to show how attackers can abuse Intel's Software Guard Extensions (SGX) microprocessor security feature to steal cryptographic keys and other secrets.
The researchers will present proof-of-concept malware that takes advantage of SGX's code protection features to hide from state-of-the-art detection tools. They will show how the malware can be used to mount an attack for extracting RSA keys and other code that SGX is specifically designed to protect.
According to the researchers, the exploit is the first involving malware running on SGX hardware. Additionally, the researchers will show how such exploits can be used to search for and abuse so-called double-fetch privilege escalation vulnerabilities in secure enclaves — or the special execution environments in SGX.
The main takeaway is that SGX can help attackers hide and execute malware without requiring any root privileges, or operating system modifications says Michael Schwarz, a doctoral student in information security at Graz University.
"This attack, and also the detection of double-fetch bugs, shows that SGX is not this perfect black box, but that certain activities can be observed from the outside," Schwarz says.
SGX is a security mechanism that Intel introduced with its Skylake processor architecture. It is designed to protect code and data from leaks and disclosure. As Schwarz notes in a technical paper, SGX uses secure enclaves working in hardware-isolated memory areas to protect application secrets from hardware attacks. Such enclaves can be used to securely store hardware-encrypted passwords, password managers, cryptographic keys, bitcoin wallets, and other secrets.
Schwarz says his malware does not exploit any vulnerability in SGX. Rather it takes advantage of the fact that Intel considers software-based side-channel attacks on SGX as not possible and therefore out of scope. Side channel attacks gather and use information about some aspect of a system's physical operation to attack and expose sensitive data.
According to Schwarz, despite the restrictions of SGX, attackers can execute malware inside an SGX enclave and use that enclave to then attack and extract data from other enclaves.
"We show how easy it is to extract real-world 4096-bit RSA keys across enclaves using the widespread mbed TLS crypto library," he says. The attack is not limited to RSA, but can be applied to any software, which leaks secrets when attacked via software-based side-channel attacks, Schwarz notes.
"As a further exploit, we show how one can utilize cache attacks to automatically detect double-fetch bugs in scenarios where the code and the binary is not known," he says. Also in the cards is a demonstration of how such vulnerabilities can be exploit using the shared cache, he adds.
The exploit against SGX itself is harder to mount than a regular zero-day exploit, Schwarz concedes. But for someone with a background in micro-architectural attacks, it is perfectly doable, he says. In fact, several undergraduate and graduate level students at Graz University have already mounted such attacks, he claims.
"We require the cryptographic implementation to not be hardened against software-based side-channel attacks," Schwarz says. "Other than that, there are no special requirements."
Related Content:
Black Hat Asia returns to Singapore with hands-on technical Trainings, cutting-edge Briefings, Arsenal open-source tool demonstrations, top-tier solutions and service providers in the Business Hall. Click for information on the conference and to register.
Read more about:
Black Hat NewsAbout the Author
You May Also Like