General-purpose operating systems (GPOS), such as Linux, encompass several million lines of code. Statistically, a larger code base inevitably leads to a higher number of potential vulnerabilities and inherently a more vulnerable system. To minimize the impact of vulnerabilities in GPOS, it has become common to implement security-sensitive programs outside the domain of the GPOS, i.e., in a Trusted Execution Environment (TEE). Arm TrustZone is the de-facto technology for implementing TEEs in Arm devices. However, over the last decade, TEEs have been successfully attacked hundreds of times. Unfortunately, these attacks have been possible due to the presence of several architectural and implementation flaws in TrustZone-based TEEs. In this paper, we propose Bao-Enclave, a virtualization-based solution that enables OEMs to remove security functionality from the TEE and move them into normal world isolated environments, protected from potentially malicious OSes, in the form of lightweight virtual machines (VMs). We evaluate Bao-Enclave on real hardware platforms and find out that Bao-Enclave may improve the performance of security-sensitive workloads by up to 4.8x, while significantly simplifying the TEE software TCB.
翻译:普通操作系统(GPOS),如Linux(Linux)等一般用途操作系统,包含数百万条代码。从统计上看,更大的代码基础不可避免地导致潜在脆弱性增加,并必然导致一个更脆弱的系统。为了最大限度地减少GPOS中脆弱性的影响,在GPOS领域之外,即信任的执行环境(TEE)实施对安全敏感的方案已变得司空见惯。Arm Trust区是用于在武器装置中实施TEE的脱facto技术。然而,在过去十年中,TEE成功受到数百次袭击。不幸的是,由于信任区TEE中存在若干建筑和实施缺陷,这些袭击是可能的。在本文件中,我们提议采用虚拟化解决方案,即Bao-Enclave,使OEM能够从TEE中去除安全功能,将其转移到正常的世界孤立环境中,不受轻量级虚拟机器(VMS)的潜在恶意OS。我们评估了实体硬件平台上的Bao-Enclave,发现Bao-Enclave可以大大地简化TEBC-CBS-CBS-CS-C-CLavyal工作量。