SgxPectre can Extract Data from Intel’s SGX Enclaves
A recent research paper from the Ohio State University detailed an update of the Spectre attacks on Intel’s Software Guard Extensions (SGX). SGX is a feature of modern Intel processors that protects selected code and data from disclosure or modification by containing them in “enclaves”. If the attack, named SgxPectre by the researchers, is successful, an attacker would be able to extract data from these enclaves.
While users are still coping with Meltdown and Spectre, a pair of Intel processor vulnerabilities discovered in January of this year, even those serious flaws did not appear to affect SGX enclaves. The enclave security was designed so that even operating systems are not permitted to access what’s inside.
This attack uses Spectre flaws along with vulnerable code patterns in the existing SGX runtime libraries to gain complete access to the contents of the secure enclave. These flaws inherently exist in the runtime libraries — Intel SGX SDK, Rust-SGX, and Graphene-SGX were specifically named.
The researchers demonstrated the exploit adding that, “SGXPECTRE exploits the race condition between the injected, speculatively executed memory references, which lead to side-channel observable cache traces and the latency of the branch resolution.”
SGX enclaves are specifically made to hold valuable and sensitive data so any form of attack that could compromise its security is critical. With SgxPectre, rouge actors at a datacenter could access protected data inside these enclaves.
The researchers also mentioned that apps that implement Google's Retpoline anti-Spectre coding techniques are safe.
To mitigate the impact of this threat, hardware patches can be implemented through microcode updates. The researchers also added a few more recommendations:
- Enclave authors should specify the minimum CPU security version number (CPUSVN) during their development. This is used to generate keys for local and remote attestation, and specifying the CPUSVN of the above mentioned microcode patch as the minimum could prevent SgxPectre.
- Developers of runtime libraries should review their code and remove exploitable gadgets
Intel plans to address SgxPectre with their security update for the Intel SGX SDK that will be released on March 16. Given the severity of the issues, users who might be affected are encouraged to patch and update.
Like it? Add this infographic to your site:
1. Click on the box below. 2. Press Ctrl+A to select all. 3. Press Ctrl+C to copy. 4. Paste the code into your page (Ctrl+V).
Image will appear the same size as you see above.