Preventing Enclave Malware with Intermediate Enclaves on Semi-honest Cloud Platforms
Soo Jung Moon, Hoorin Park, Wonjun Lee · 2021
Threats to data processing in the cloud computing environment are increasing with emerging cloud applications. Intel Software Guard Extensions (SGX) implements a Trusted Execution Environment (TEE) through hardware-based isolation, which can enhance the security of cloud applications by providing a separate secure space that does not reveal its interior. A trusted memory area isolated by SGX, so-called enclave, protects the confidential code and data from any other software, including highly privileged system software. However, the adversary also benefits from isolation by inserting malicious code into the enclave where the system cannot detect it. Existing studies suggest various measures to deal with enclave malware, but these are based on an underlying assumption that the system must be trusted, which does not apply to the semi-honest cloud platform. To this end, we propose a novel method, named Interclave, that protects the system from enclave malware in the cloud computing environment without trusting any component other than the intermediate enclave. Interclave forces every ECALL and OCALL of a suspicious enclave to be executed through an intermediate enclave. This prevents the malicious behavior of enclave malware such as code-reuse attacks that modify the stack or register values associated with the program's execution address. Interclave stores and restores all stack and register values before and after the execution of the suspicious enclave, ensuring the integrity of these values. Our implementation is done with slight code modifications which occupy only a little storage capacity without complicated hardware changes.