The widening availability of hardware-based trusted execution environments (TEEs) has been accelerating the adaptation of new applications using TEEs. Recent studies showed that a cloud application consists of multiple distributed software modules provided by mutually distrustful parties. The applications use multiple TEEs (enclaves) communicating through software-encrypted memory channels. Such execution model requires bi-directional protection: protecting the rest of the system from the enclave module with sandboxing and protecting the enclave module from a third-part module and operating systems. However, the current TEE model, such as Intel SGX, cannot efficiently represent such distributed sandbox applications. To overcome the lack of hardware supports for sandboxed TEEs, this paper proposes an extended enclave model called Stockade, which supports distributed sandboxes hardened by hardware. Stockade proposes new three key techniques. First, it extends the hardware-based memory isolation in SGX to confine a user software module only within its enclave. Second, it proposes a trusted monitor enclave that filters and validates systems calls from enclaves. Finally, it allows hardware-protected memory sharing between a pair of enclaves for efficient protected communication without software-based encryption. Using an emulated SGX platform with the proposed extensions, this paper shows that distributed sandbox applications can be effectively supported with small changes of SGX hardware.
翻译:使用基于硬件的可靠执行环境(TEE)的日益普及,加速了使用TEEE的新应用的适应性。最近的研究表明,云层应用包括由互不信任的各方提供的多种分布式软件模块。应用程序使用多种TEE(enclaves),通过软件加密存储渠道进行通信。这种执行模式要求双向保护:保护系统其余部分不受飞地模块的沙箱影响,保护飞地模块不受第三部分模块和操作系统的影响。然而,目前的TEE模型,如Intel SGX,无法有效地代表这种分布式沙箱应用。为克服沙箱TEE缺乏硬件支持的情况,本文件建议采用称为Stockade的扩大飞地模型,支持分散式沙箱的硬件。Stockade提出了三种新的关键技术。首先,在SGX,将基于硬件的内存储存储存储软件模块的隔离范围扩大到只能限制在飞地。第二,它建议建立一个可靠的监控飞地,过滤和验证飞地系统可以呼叫这些分布式沙箱应用。最后,它允许在一组飞地之间以硬件保护性内共享的存储存储器共享,同时使用安全的软纸箱系统。