1. CHERI-TrEE: Flexible enclaves on capability machines
- Author
-
Van Strydonck, Thomas, Noorman, Job, Jackson, Jennifer, Alves Dias, Leonardo, Vanderstraeten, Robin, Oswald, David, Piessens, Frank, Devriese, Dominique, Noorman, Job, Jackson, Jennifer, Alves Dias, Leonardo, Vanderstraeten, Robin, Oswald, David, Piessens, Frank, and Devriese, Dominique
- Subjects
ARM Morello ,enclaves ,capability machines ,trusted execution ,CHERI ,CHERI-RISC-V ,TEE - Abstract
This paper studies the integration of two successful hardware-supported security mechanisms: capabilities and enclaved execution. Capabilities are a powerful and flexible security mechanism for implementing fine-grained memory access control and compartmentalizing untrusted or buggy software components. Capabilities have a long history but have gained significant momentum recently, as evidenced by ARM’s experimental Morello processor that supports the Capability Hardware Enhanced RISC Instructions (CHERI). Enclaved execution is a popular mechanism for dynamically creating Trusted Execution Environments (TEEs), called enclaves. Enclaves are isolated execution contexts that protect the integrity and confidentiality of software in the enclave (even against compromised system software) and that support attestation. Integrating capabilities and enclaved execution in a single processor is challenging because they overlap partially in their security objectives, and a clean integration should unify the way in which these overlapping objectives are achieved. In addition, it is not obvious how attestation should interact with capabilities. In this paper, we propose CHERI-TrEE: a novel design for a processor that cleanly integrates support for both capabilities and enclaved execution. CHERI-TrEE targets low-end embedded systems without virtual memory. We show that CHERI-TrEE is greater than the sum of its parts by showing how it naturally supports useful features that have traditionally been hard to support in enclaved execution, like dynamically growing and shrinking enclaves, non-contiguous and nested enclaves, sharing of memory between enclaves etc. We implement our proposal both in hardware on a RISC-V processor, as well as in a small software hypervisor on top of ARM Morello, and evaluate impact on performance and hardware resources. ispartof: pages:1143-1159 ispartof: Proceedings of the 8th IEEE European Symposium on Security and Privacy pages:1143-1159 ispartof: 8th IEEE European Symposium on Security and Privacy location:Delft date:3 Jul - 7 Jun 2023 status: published
- Published
- 2023