Core Concepts
A novel attack called SIGY that compromises the confidentiality and integrity of Intel SGX enclaves by exploiting the OS's ability to inject fake signals and trigger execution of enclave-registered handlers.
Abstract
The paper presents a new attack called SIGY that compromises the confidentiality and integrity of Intel SGX enclaves by exploiting the OS's ability to inject fake signals and trigger execution of enclave-registered handlers.
Key highlights:
SIGY abuses the programming model where user programs recover from hardware exceptions and respond to signals by executing custom handlers.
SIGY uses the untrusted OS to deliver fake hardware events and inject fake signals in an enclave at any point, causing unintended execution of benign program-defined handlers in the enclave.
7 runtimes and library OSes (Open Enclave, Gramine, Scone, Asylo, Teaclave, Occlum, EnclaveOS) are vulnerable to SIGY.
8 languages supported in Intel SGX have programming constructs that are vulnerable to SIGY.
The paper demonstrates 4 proof of concept exploits on webservers (Nginx, Node.js) and data analytics workloads (in C and Java) to leak secrets and break execution integrity.
The paper proposes software defenses as point-wise solutions, but concludes that some programs simply cannot be protected without limiting functionality.