EnclaveDom: Privilege Separation for Large-TCB Applications in Trusted Execution Environments

07/30/2019
by   Marcela S. Melara, et al.
0

Trusted executions environments (TEEs) such as Intel(R) SGX provide hardware-isolated execution areas in memory, called enclaves. By running only the most trusted application components in the enclave, TEEs enable developers to minimize the TCB of their applications thereby helping to protect sensitive application data. However, porting existing applications to TEEs often requires considerable refactoring efforts, as TEEs provide a restricted interface to standard OS features. To ease development efforts, TEE application developers often choose to run their unmodified application in a library OS container that provides a full in-enclave OS interface. Yet, this large-TCB development approach now leaves sensitive in-enclave data exposed to potential bugs or vulnerabilities in third-party code imported into the application. Importantly, because the TEE libOS and the application run in the same enclave address space, even the libOS management data structures (e.g. file descriptor table) may be vulnerable to attack, where in traditional OSes these data structures may be protected via privilege isolation. We present EnclaveDom, a privilege separation system for large-TCB TEE applications that partitions an enclave into tagged memory regions, and enforces per-region access rules at the granularity of individual in-enclave functions. EnclaveDom is implemented on Intel SGX using Memory Protection Keys (MPK) for memory tagging. To evaluate the security and performance impact of EnclaveDom, we integrated EnclaveDom with the Graphene-SGX library OS. While no product or component can be absolutely secure, our prototype helps protect internal libOS management data structures against tampering by application-level code. At every libOS system call, EnclaveDom then only grants access to those internal data structures which the syscall needs to perform its task.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/04/2020

Efficient Sealable Protection Keys for RISC-V

With the continuous increase in the number of software-based attacks, th...
research
05/30/2018

Lord of the x86 Rings: A Portable User Mode Privilege Separation Architecture on x86

Modern applications are increasingly advanced and complex, and inevitabl...
research
03/05/2019

Pyronia: Redesigning Least Privilege and Isolation for the Age of IoT

Third-party modules play a critical role in IoT applications, which gene...
research
08/12/2023

SGX-MR-Prot: Efficient and Developer-Friendly Access-Pattern Protection in Trusted Execution Environments

Trusted Execution Environments, such as Intel SGX, use hardware supports...
research
10/31/2017

DynSGX: A Privacy Preserving Toolset for Dynamically Loading Functions into Intel(R) SGX Enclaves

Intel(R) Software Guard eXtensions (SGX) is a hardware-based technology ...
research
10/16/2020

Elasticlave: An Efficient Memory Model for Enclaves

Trusted-execution environments (TEE), like Intel SGX, isolate user-space...
research
01/20/2022

Polytope: Practical Memory Access Control for C++ Applications

Designing and implementing secure software is inarguably more important ...

Please sign up or login with your details

Forgot password? Click here to reset