Intel to close Specter leak in Software Guard eXtensions

Spread the love

Researchers have described a Specter side-channel attack on Intel’s Software Guard Extensions that can read the memory of protected SGX enclaves. Intel will release a patch for the SDK.

The researchers describe their attack in a paper titled SgxPectre Attacks: Leaking Enclave Secrets via Speculative Execution, and Intel tells ZDNet that a new SGX toolkit with patch will be released on March 16. The side-channel attack ends the confidentiality that SGX is supposed to provide, and according to the researchers, it appears that any program that uses SGX enclaves is vulnerable to SgxPectre.

Software Guard Extensions is instructional code for recent Intel processors that creates enclaves: shielded portions of memory for sensitive code that even the operating system or hypervisors are not allowed to access directly. Using the SGX SDK, developers can create applications that can run code in the enclaves.

The attackers discovered flaws in the implementation of branch prediction, a feature of all modern CPUs to speed up operations: code from outside the enclave could be used to manipulate the code within the enclave targeted by the branch prediction. In addition, changes in the cache state were found to be detectable, which is exploitable for a successful attack.

To counter branch target injection attacks such as Specter, Intel has released microcode for processors using Indirect Branch Restricted Speculation, Single Thread Indirect Branch Predictors, and Indirect Branch Predictor Barrier techniques. The also counter SgxPectre attacks, but applications that use SGX do not by default check whether the processor is running the latest version of the microcode. In theory, an attacker could roll back Intel’s patches to make a SgxPectre attack successful.

The researchers have released a scanning tool to find vulnerable code in enclave programs. They plan to release exploits at a later date. Intel recommends developers use the SDK toolkit, which will be released on March 16, to make applications resistant to the attack described.

You might also like