编者按
2022年5月,由网络安全研究国际学术论坛(InForSec)汇编的《网络安全国际学术研究进展》一书正式出版。全书立足网络空间安全理论与实践前沿,主要介绍网络和系统安全领域华人学者在国际学术领域优秀的研究成果,内容覆盖创新研究方法及伦理问题、软件与系统安全、基于模糊测试的漏洞挖掘、网络安全和物联网安全等方向。全书汇总并邀请了近40篇近两年在网络安全国际顶级学术议上发表的论文(一作为华人),联系近百位作者对研究的内容及成果进行综述性的介绍。从即日起,我们将陆续分享《网络安全国际学术研究进展》的精彩内容。
本文的论文原文“SecTEE:A Software-based Approach to Secure Enclave Architecture Using TEE”发表于ACM CCS 2019,作者是Shijun Zhao、Qianying Zhang、Yu Qin、Wei Feng、Dengguo Feng。
01
背景
电路板级物理攻击和软件侧信道攻击等新型攻击手段具有工具简单、低成本、易流程化等特点,是现代计算机软件系统甚至TEE等硬件安全架构(如ARM TrustZone、SGX)面临的严重威胁。为提供高安全的运行环境,产业界和学术界提出了现代Secure Enclave架构,并且已经部署到主流CPU架构中,如苹果处理器的Enclave技术、Intel的SGX技术和RISC-V的Key Stone技术。ARM处理器在智能终端和嵌入式领域具有统治地位,并且越来越广泛地应用到服务器领域。但是在安全性方面,ARM处理器只提供了ARM TrustZone技术,其威胁模型只考虑了软件攻击,完全达不到现代Secure Enclave在物理攻击和软件侧信道攻击方面的安全要求。
针对ARM处理器的安全问题,本文设计了一种基于软件方式的Secure Enclave架构,称为 SecTEE。该架构设计了软件方式的抗板级物理攻击和内存侧信道攻击的安全机制,并且提供了基础可信计算机制,从而为ARM处理器提供了完善的Secure Enclave解决方案。SecTEE以软件方式为ARM CPU提供了一种与Intel SGX方案同等安全水平的安全解决方案,适用于主流ARM设备,其优势在于只依赖CPU上通用的硬件资源,不需要专用安全硬件,具有很好的实际意义和应用前景。
02
设计与实现
SecTEE架构如图1所示,包含抗板级物理攻击、内存侧信道防御、可信计算机制和Enclave管理等几方面。首先构建可运行在片上存储的轻量级操作系统,对片上系统之外的数据提供机密性和完整性保护,将可信边界限定在片上系统,以抵抗冷启动、总线窃听等板级物理攻击;基于Page Coloring机制和缓存锁定机制设计将安全敏感应用固定在缓存并且不受外部攻击程序影响的缓存锁定机制,以抵抗目前流行的基于页表的侧信道和缓存侧信道攻击;实现可信度量、远程证明、数据封装等核心可信计算机制,为敏感应用提供高安全并且可证明的可信执行环境;只将Enclave创建、执行、销毁等基本接口暴露给宿主操作系统,从而防止利用宿主操作系统的控制能力实施侧信道攻击。
SecTEE编程模型与ARM TrustZone类似,Enclave实现为安全世界的可信应用(TA),Enclave服务以TA command的形式提供给宿主应用,宿主应用通过调用TEE Client API的方式调用Enclave服务。另外,可信计算机制以TEE操作系统调用的方式提供给Enclave,Enclave可以通过这些系统调用实现对Enclave的身份识别、完整性度量和远程证明。
图1
1. 板级物理攻击防御
SecTEE的板级物理攻击防御利用了我们前序基于片上内存(OCM)的工作Minimal Kernel。Minimal Kernel针对ARM CPU架构不能抵抗板级物理攻击的安全弱点,提出使用片上内存保护整个TEE软件系统的方法,通过构建能够运行在片上内存的最小内核,并在该内核上构建片外内存加密方案,对所有存储在CPU外部的数据和代码进行机密性和完整性保护,从而全面抵抗只能实施在CPU外部组件的板级物理攻击。Minimal Kernel提出了最小核构建原则,从理论上可构建需要最小工作内存的操作系统内核,从而减少对片内存储的占用,将更多的内存资源提供给Enclave,提高Enclave的运行效率。
2. 软件侧信道防御
SecTEE只关注基于页错误的侧信道和cache侧信道的防御。由于SecTEE中Enclave的页错误都由SecTEE内核来处理,宿主操作系统无法通过操控页表来实施基于页错误的侧信道攻击。在cache侧信道防御方面,SecTEE考虑了从安全世界和普通世界发起的侧信道攻击:
SecTEE基于Page Coloring机制对OCM进行分组,保证Enclave之间不能共享cache,从而抵抗安全世界的cache侧信道攻击;
SecTEE通过在Enclave上下文切换时清空cache和在Enclave加载时锁定cache,保证普通世界代码无法实施同核和跨核的cache侧信道攻击。
3. 可信计算机制设计
SecTEE在TEE操作系统内核层提供了平台身份证明、完整性度量、数据封装、远程证明和机密数据提供(secret provisioning)等5种基本可信计算机制。其中可信计算机制的信任根由设备根密钥(DRK)、设备封装密钥(DSK)和生产厂商的公钥(PubMRK)这3个密钥构成,不依赖其他硬件资源。平台身份证明机制基于厂商的PKI实现,用于验证Enclave开发者的身份;完整性度量机制在Enclave加载时对其完整性进行度量和验证,保证Enclave未被篡改;数据封装机制将Enclave的机密数据绑定在平台上,保证只能由指定平台和指定Enclave访问该机密数据;远程证明机制实现为一个特权Enclave,可对证明密钥进行管理,并可向远程验证方提供Enclave的完整性状态和身份的证明;机密数据提供机制基于SIGMA密钥协商协议和可信计算远程证明协议实现,可向远程数据提供方证明Enclave的完整性状态和身份,并构建安全信道,从而保证数据方安全地将私有数据传递给Enclave。上述可信计算机制实现为7个TEE操作系统调用,供Enclave调用。SecTEE系统调用如表1所示。
4. Enclave管理设计
在Enclave整个生命周期管理中,SecTEE将核心的管理接口,包括资源分配、内存管理、中断处理、调度、资源释放等,都交由SecTEE内核处理;只将创建、调用和关闭Enclave等基本接口暴露给宿主操作系统,这极大降低了宿主操作系统对Enclave的操控能力,可避免类似针对Intel SGX的侧信道攻击。
表1
作者简介
赵世军,中科院信工所副研究员,研究领域包括信息安全、系统安全和可信计算,他在ACM CCS、RAID、Computer Networks等国际学术会议和期刊发表论文二十余篇。
(本文选取了文章部分章节,更多精彩内容请阅读《网络安全国际学术研究进展》一书。)
版权声明:本书由网络安全研究国际学术论坛(InForSec)汇编,人民邮电出版社出版,版权属于双方共有,并受法律保护。转载、摘编或利用其它方式使用本研究报告文字或者观点的,应注明来源。
本报告数量有限,关注公众号私信我们可以享受六折优惠,欢迎订阅!