This paper presents an approach to provide strong assurance of the secure execution of distributed event-driven applications on shared infrastructures, while relying on a small Trusted Computing Base. We build upon and extend security primitives provided by Trusted Execution Environments (TEEs) to guarantee authenticity and integrity properties of applications, and to secure control of input and output devices. More specifically, we guarantee that if an output is produced by the application, it was allowed to be produced by the application's source code based on an authentic trace of inputs. We present an integrated open-source framework to develop, deploy, and use such applications across heterogeneous TEEs. Beyond authenticity and integrity, our framework optionally provides confidentiality and a notion of availability, and facilitates software development at a high level of abstraction over the platform-specific TEE layer. We support event-driven programming to develop distributed enclave applications in Rust and C for heterogeneous TEE, including Intel SGX, ARM TrustZone and Sancus. In this article we discuss the workings of our approach, the extensions we made to the Sancus processor, and the integration of our development model with commercial TEEs. Our evaluation of security and performance aspects show that TEEs, together with our programming model, form a basis for powerful security architectures for dependable systems in domains such as Industrial Control Systems and the Internet of Things, illustrating our framework's unique suitability for a broad range of use cases which combine cloud processing, mobile and edge devices, and lightweight sensing and actuation.
翻译:本论文提出了一种方法来在共享基础设施上提供强大的分布式事件驱动应用程序的安全执行保障,同时依赖于小型可信计算基础。我们建立在以可信执行环境(TEEs)提供的安全原语之上并对其进行扩展,以保证应用程序的真实性和完整性属性,并保护输入和输出设备的控制权。更具体地说,我们保证,如果应用程序生成输出,则它是根据输入的真实跟踪记录其源代码被允许产生的。我们提供了一个集成的开源框架,以便在异构TEEs上开发、部署和使用此类应用程序。除了真实性和完整性,我们的框架还可以选择提供机密性和可用性的概念,并在平台特定的TEE层上以高级抽象水平促进软件开发。我们支持基于事件的编程,以在异构TEE,包括英特尔SGX、ARM TrustZone和Sancus上开发用于分布式孤立的Rust和C应用程序。在本文中,我们讨论了我们的方法的工作原理、我们对Sancus处理器的扩展以及我们的开发模型与商业TEE的集成。我们对安全性和性能方面的评估表明,TEE连同我们的编程模型,形成了可靠系统的强大安全体系结构基础,适用于工业控制系统和物联网等领域,展示了我们的框架对于结合云处理、移动和边缘设备以及轻量级感知和执行的广泛用例的独特适用性。