Litcius/Paper detail

Colony: A Privileged Trusted Execution Environment With Extensibility

Yubin Xia, Zhichao Hua, Yang Yu, Jinyu Gu, Haibo Chen, Binyu Zang, Haibing Guan

2021IEEE Transactions on Computers20 citationsDOI

Abstract

The code base of system software is growing fast, which results in a large number of vulnerabilities: for example, 296 CVEs have been found in Xen hypervisor and 2195 CVEs in Linux kernel. To reduce the reliance on the trust of system software, many researchers try to provide trusted execution environments (TEEs), which can be categorized into two types: non-privileged TEEs and privileged TEEs. Non-privileged TEEs (e.g., Intel SGX) are extensible, but cannot protect security services like virtual machine introspection (VMI) due to the lack of system-level semantics. On the contrary, privileged TEEs (e.g., the secure world of ARM TrustZone) have system-level semantics, but any additional service implemented in the privileged TEE directly increases the TCB of the entire system. In this article, we propose a new design of TEE to support system-level security services and achieve better extensibility with a small TCB. Each TEE instance of the proposed design is named a <small>Colony</small>. Specifically, we introduce a <i>secure monitor</i> for isolation and capability management. Each <small>Colony</small> is assigned capabilities to access only necessary system-level semantics. We use the new TEE to build four security services, including secure device accessing, VMI tools, a system call tracer, and a much more complex service to virtualize ARM TrustZone with multiple <small>Colonies</small>. We have implemented the system on ARMv7 and ARMv8 platforms, in Xen hypervisor and Linux kernel, and perform a detailed evaluation to show its efficiency.<xref rid="fn1" ref-type="fn"><sup>1</sup></xref><fn id="fn1"><label>1.</label> This paper is an extended version of the conference paper published in USENIX Security&#x2019;17: vTZ: Virtualizing ARM TrustZone <xref ref-type="bibr" rid="ref29">[29]</xref> . A brief summary of differences is in Section<xref ref-type="sec" rid="sec8">8</xref> . </fn>

Topics & Concepts

HypervisorComputer scienceOperating systemExtensibilityTrusted computing baseSemantics (computer science)SoftwareKernel (algebra)System callIsolation (microbiology)Service (business)Linux kernelTrusted ComputingEmbedded systemComputer securityVirtualizationCloud computingProgramming languageCloud computing securityEconomyBiologyMicrobiologyEconomicsCombinatoricsMathematicsSecurity and Verification in ComputingCloud Data Security SolutionsDistributed systems and fault tolerance
Colony: A Privileged Trusted Execution Environment With Extensibility | Litcius