收藏 分销(赏)

可信执行环境:现状与展望.pdf

上传人:自信****多点 文档编号:3133271 上传时间:2024-06-19 格式:PDF 页数:18 大小:1.72MB
下载 相关 举报
可信执行环境:现状与展望.pdf_第1页
第1页 / 共18页
可信执行环境:现状与展望.pdf_第2页
第2页 / 共18页
可信执行环境:现状与展望.pdf_第3页
第3页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、可信执行环境:现状与展望张锋巍周雷张一鸣任明德邓韵杰(南方科技大学斯发基斯可信自主系统研究院广东深圳518055)(南方科技大学计算机科学与工程系广东深圳518055)()Trusted Execution Environment:State-of-the-Art and Future DirectionsZhangFengwei,ZhouLei,ZhangYiming,RenMingde,andDengYunjie(Research Institute of Trustworthy Autonomous Systems,Southern University of Science and T

2、echnology,Shenzhen,Guangdong 518055)(Department of Computer Science and Engineering,Southern University of Science and Technology,Shenzhen,Guangdong 518055)AbstractTrustedexecutionenvironment(TEE)technologiesarewidelydevelopedinthecurrentcomputersystemsalongwiththeusersseriousconcernsaboutprivacypro

3、tection,securecomputing,etc.innetworkservices.Generally,TEEsprovideanisolatedexecutionenvironmentforthemanagersandusersforprivacyandconfidentialcomputingeveniftheunderlyingoperatingsystemsarecompromised.TobuildtheTEEs,thedevicemanufacturerslikeIntel,Armupdatethehardwarefoundationbyaddingtheexternalp

4、rocessormode,memorycontrol,cryptographyengine,etc.Inaddition,theyprovidecorrespondinginterfacesinthesystemfollowingtheapplicationrequirements.Exceptthat,researchers further design compatible TEE models for various goals with the above hardware or firmwareassistance.We comprehensively analyze the tec

5、hnical characteristics of TEE technology in mainstream systemarchitecture(includingx86,Arm,RISC-V,heterogeneouscomputingunit),includinginfrastructureandhardwarefacilitiesdesign,softwareinterfacedefinition,securityboundary,etc.,andexplorethefeasibleapplicationscenariosofTEEtechnology.Atthesametime,we

6、analyzethechallengesofcurrentTEEtechnologiesanddiscussthelimitationsandthesecurityrisks,e.g.,side-channelattacks.Finally,wesummarizetheadvantagesanddisadvantagesofvariousTEEtechnologiesfromtheaspectsofsecurityandfunctionality,andconsiderthefuturedevelopmentofTEE.Key wordstrustedexecutionenvironment(

7、TEE);OSarchitecture;memoryisolation;processormode;securityattestation摘要当前在云服务、移动社交网络下用户普遍追求隐私保护、安全计算,从而推动了隐私计算、机密计算等领域的快速发展.可信执行环境(trustedexecutionenvironment,TEE)作为机密计算服务中重要的技术基础已经广泛部署到各类计算平台中.目前,以 Intel,Arm 等为代表的设备制造商采用软硬件隔离机制,推出了多类实用 TEE 技术并不断迭代更新,从功能上更加方便设备管理者、普通用户使用安全服务.研究人员则根据不同的系统架构和应用需求,优化 T

8、EE 模型,扩大可信应用领域并提升其工作效率.全面分析主流系统架构(包括 x86、Arm、RISC-V、异构计算单元)中 TEE 技术发展路线、技术特点包括基础硬件设施设计、软件接口定义、安全边界等,挖掘 TEE 技术可行的应用场景.同时,分析各类 TEE 技术面临的挑战,探讨 TEE 技术局限性以及自身面临的安全风险如侧信道攻击等.在此基础上,从安全性、功能性等方面总结各类 TEE 技术优缺点,并提出 TEE 技术未来的发展思路.收稿日期:2022-12-16;修回日期:2023-05-30基金项目:国家自然科学基金项目(62372218,62002151);深圳市科技计划资助项目(SGDX

9、20201103095408029)ThisworkwassupportedbytheNationalNaturalScienceFoundationofChina(62372218,62002151)andtheShenzhenScienceandTechnologyProgram(SGDX20201103095408029).通信作者:周雷()计 算 机 研 究 与 发 展DOI:10.7544/issn1000-1239.202221016JournalofComputerResearchandDevelopment61(1):243260,2024关键词可信执行环境;操作系统架构;内存

10、隔离;处理器模式;安全性验证中图法分类号TP391随着各行业领域信息化的普及,尤其是以云计算为代表的网络计算服务的大规模应用,使得越来越多的应用程序跨系统平台和网络进行计算并生成海量数据,在推动大数据业务快速发展的同时也导致人们对于设备和数据安全的关注度不断上升.如何保证计算和数据的机密性成为网络空间安全的重要基础.因此针对用户安全计算服务的需求,研究人员提出了可信执行环境1(trustedexecutionenvironment,TEE)技术,用于保护非可信平台中应用和数据可信执行.TEE 通常采用隔离部分软硬件资源的方法构建安全区域,确保在其中运行的程序和数据保密性和完整性不受外部干扰.具

11、体而言,一个可靠的 TEE 需要提供 4 方面的安全保障2:1)数据隔离.一个可信应用使用的数据不能被其他应用访问、修改,包括可信应用的数据对外部操作系统隔离以及多个可信应用之间的数据隔离.2)计算隔离.可信应用的计算资源不能被其他应用观测和拦截,同时需要清理可信应用执行后的痕迹,并防御来自侧信道的攻击.3)通信控制.非可信应用和可信应用、多个可信应用之间的会话和数据交互不能破坏隔离性.4)错误隔离.非可信区域的安全漏洞不能扩散到可信应用中.针对上述 4 个安全需求,研究者可以通过密码学方法实现基本的功能,如安全多方计算3和同态计算4等,但这些算法实现依赖于大量复杂计算,即使可以通过 GPU

12、等加速器提升计算效率5,但仍然会因为存在性能瓶颈而难以大规模应用.因此实用的 TEE 设计思路是基于硬件隔离基础,通过数据加解密和特权指令执行实现其安全服务.1TEE 背景介绍本文将以 x86、Arm、RISC-V、异构计算单元架构为代表,分析 TEE 的发展路线和技术特点.如图 1展示了这些架构中 TEE 技术发展的关键节点.早在20 世纪末,Intel 和 AMD 等 x86 架构处理器中开始设计了系统管理模式(systemmanagementmode,SMM)6.区别于处理器保护模式和实模式,系统执行在 SMM中具备独立的内存资源和高级权限,因此被设计为隔离的执行环境,用于部分安全敏感的

13、服务如电源管理、设备检测等.早期的 TEE 技术主要用于服务提供商开发和部署管理程序,如 IntelTXT7,ME8,甚至在 2002 年就提出的 TrustZone9.在后续的 10 年里,用户难以接触且并不了解设备中 TEE 的存在.面向用户的可信应用开始于 2013 年苹果智能手机的 TouchID服务,将用户指纹信息部署在安全区域,防止外部异构计算单元2002年 Intel TXT2015年 Intel 软件防护拓展2007年 Intel管理引擎即将推出Intel TDX2016年 AMD 安全虚拟化1991年 x86 系统管理模式2002年TrustZoneRISC-VArm2021

14、年机密计算架构2021年CURE2019年TIMBER-V42018年Graviton2022年StrongBoxNvidia H1002013年 AMD PSP2020年 HETEE2018年SEL22010年虚拟化2016年Sanctum2019年HIX NPUFort2022年2024年CAGECRONUS TNPU2020年 蓬莱2018年 KeyStonex86Fig.1ThedevelopmentofTEEtechnologyindifferentarchitectures图1不同架构中 TEE 技术的发展244计算机研究与发展2024,61(1)攻击篡改.此后面向用户程序开发的I

15、ntelSGX(softwareguardextensions)和 SEV 进一步发展了可信计算环境的应用领域.当前主流计算机系统架构包括 x86,Arm 等均在其设备平台中部署 TEE 技术,代表性设计包括软件保护拓展 IntelSGX10和 ArmTrustZone,其中 SGX 通过内存隔离和加密,以及拓展的指令集在用户空间提供 TEE,实现不同程序间的隔离运行,保证用户关键代码和数据的机密性和完整性不受恶意软件的破坏.而 TrustZone 则是通过设计处理器不同的处理模式,结合隔离内存等软硬件资源,将系统划分为安全和非安全 2 个世界.因此服务提供商通过在安全世界中部署独立于用户操作

16、系统的可信应用,为用户提供身份认证和授权服务.其他系统框架如 RISC-V 等在开放应用领域如物联网设备中广泛应用,其应用系统也因数据采集和前端数据处理的安全性需求设计对应的 TEE,相关研究包括 Keystone11,PENGLAI12等.由于目前的计算单元偏向于应用适配的发展趋势,尤其是在大数据处理环境中,以 GPU 为代表的异构计算单元承担了绝大多数的计算任务,因此对于这些计算模块同样需要考虑计算安全问题.研究人员提出了以 StrongBox13,Graviton14等为代表的可信计算技术,为大数据任务提供安全执行环境.总的来说,现有的 TEE 技术具有 3 个明显特点:1)面向用户设计

17、.TEE 的发展历程中从为管理端提供特权服务到为用户提供机密计算环境,其应用环境有巨大的改变.目前在商业服务中部署或将推 出的 AMD SEV15-16、Intel SGX 和 可 信 域 拓 展、Arm 机密计算架构等充分考虑在云环境中安全任务计算的需求.2)硬件辅助支持设计.从基于 x86 到 RISC-V 架构的平台均引入了新硬件特性,在图 2中展示了部分技术特征,包括内存隔离、特权指令集和硬件加解密模块,用于安全系统设计.3)共享资源.虽然在设计 TEE 的过程中引入了新的加解密引擎、协处理器等.但 TEE 仍然复用主处理器和内存单元,与不可信系统的数据交互保持便捷性.因此基于上述 3

18、 个原则,平台供应商和研究人员在现有的系统中引入了协处理器、硬件密码算法和内存隔离机制的硬件特性,同时设计远程和本地证明方法,保证用户在不依赖操作系统的安全性背景下获取可信服务.然而现有的 TEE 技术均存在不同程度的缺陷:1)安全攻击.由于 TEE 技术和操作系统并非完全的隔离,如共用处理器、内存、缓存等,导致 TEE容易面临来自共享资源的侧信道攻击.2)性能影响.TEE 中数据保护普遍采用内存加密的方式防止数据泄露,即使通过硬件电路支持加解密操作,其数据访问效率仍然低于明文计算.3)服务便捷性.早期 TEE 中部署的简化操作系统所提供的服务有限且由服务商定制,难以部署大型应用.TEE 面向

19、用户设计后,用户可以在应用层实现关键代码的安全执行,但对于系统资源的调用仍然需要非可信系统的支持.目前在推出安全虚拟化的 TEE 技术后,用户安全应用领域将进一步发展.本文通过研究现有的 TEE 技术,如图 2 所示,将重点分析现有 TEE 技术的优缺点.由于应用场景和安全需求的不同,各类系统中 TEE 设计框架和技术实现原理存在较大差异.而在网络计算环境中,用户通常跨平台和系统进行机密计算,因此分析各类TEE 的技术特点,有助于用户构建统一完整的可信服务环境.本文将分别从 x86、Arm、RISC-V 和异构计算单元 4 类架构分析,重点介绍其部署的 TEE 的技术原理、面临的挑战和未来的发

20、展,为 TEE 发展提供新的思路.2基于 x86 架构的 TEE基于 x86 架构的设备主要面向家用、商用服务领域,其优点在于高性能以及强兼容性.目前主要以Intel,AMD 厂商为代表推动 x86 架构的发展.因此基于 x86 的计算平台以 Intel软件防护拓展和 AMD 安全加密虚拟化为代表为用户机密计算服务提供 TEE.2.1x86 架构的 TEE 技术发展随着 x86 架构日益成为个人、企业或者数据中心服务器处理器的通用架构,面向 x86 架构平台的安全性需求设计成为高优先级的目标.追溯到 1991 年,在 AMD 设备中部署系统管理模式,然后从 2005 年开始,Intel和 AM

21、D分别推出了可信计算技术(trustedexecutiontechnology,TXT)7和SKINIT16,采用 TPM芯片、特殊的指令集和验证算法,构建从硬件到系统启动过程的可信证明链52.其中 Intel 的 TEE 发展路线较为明确,从 TXT到目前的 SGX10,以及后续的TDX29,设计了从系统底层到用户自定义开发的TEE.构建 x86 可信计算环境的软硬件技术呈现多样化发展趋势,但各技术之间交叉融合,本节将从系统架构硬件层到应用层之间介绍各类 x86 架构 TEE 技张锋巍等:可信执行环境:现状与展望245可信技术类型技术独立芯片芯片类型独立存储子系统处理器模式功能风险(部分)相

22、关研究(部分)可信平台技术TPM1.0TPM2.0厂商定制保护模式支持平台验证、磁盘加密等CVE-2017-16837CVE-2018-6622fTPM17vTPM18基于协处理器的可信子系统Intel MEIntel Quark处理器协处理器模式支持AMT、Boot Guard等技术Ring-3 rootkitCVE-2017-5689Nighthawk19Zero-touch-provisioning20AMD PSPArm Cortex处理器协处理器模式提供密钥、验证SPI ROM等Backdoorpsptrace21PSPreverse15基于处理器模式的可信系统x86 SMM主处理器

23、系统管理模式电源管理、系统硬件控制、OEM订制管理代码等缓存攻击SMM exploit等SICE22KShot23MALT24基于内存加密的TEEIntel SGX内存加解密引擎保护模式飞地模式用户层可信应用Spectre Meltdown侧信道攻击SMILE25Occlum26AMD SEV内存加解密引擎保护模式&虚拟机特权模式用户可信虚拟机侧信道攻击CIPHERLEAKS27CrossLine28Intel TDX内存加解密引擎保护模式安全仲裁模式用户可信虚拟机未知(处于开发阶段)TDX-tools30TDX29TDX-module31文献项目名称文献项目名称文献项目名称隔离机制安全世界特

24、权级别功能vTZ32TZASC+NS.EL2NWVM虚拟化TrustZone硬件OSP33 VM提供可信应用运行环境PrivateZone34VM提供可信应用运行环境SANCTUARY35TZASC+单核App指定核心运行NS.EL0飞地TrustICE36App单核运行NS.EL0飞地TEEv37TZASC+软件隔离SWVM在S.EL1提供轻量级hypervisorPrOS38VM在EL3支持hypervisorSecTEE39 OS支持侧信道保护的TEE OSReZone40 TZASC+额外硬件OS在S.EL1创建多个区间Hafnium41TZASC+S.EL2VMS.EL2虚拟化多个T

25、EE OSTwinVisor42 VM在S.EL2隔离VMCCA43RME+RMMRWVM在R.EL2隔离VM隔离机制支持安全I/OEnclave特权等级Enclave数量受限缓减缓存侧信道攻击硬件修改Sanctum44DRAM区域 UDRAM区域数量 TIMBER-V45内存标签U无Keystone11PMPU+SPMP数量CURE46缓存标签U,S,U+S,MTileLink协议限制PENGLAI12修改MMUU无系统架构异构计算单元内存架构保护方法硬件修改HIX46Intel x86NVIDIA GPU独立内存SGX Enclave技术Graviton14Intel x86NVIDIA

26、GPU独立内存修改GPU指令处理器HETEE47Intel x86NVIDIA GPU独立内存增加额外FPGA硬件H10048x86,ArmNVIDIA GPU独立内存GPU内置保护硬件CRONUS49Arm通用加速器独立内存TrustZone技术 NPUFort50 x86,ArmDNN加速器独立内存加速器内置保护硬件TNPU51Intel x86NPU共享内存SGX Enclave技术StrongBox13ArmArm Mali GPU共享内存TrustZone技术 是混合否(a)基于x86架构的TEE技术(d)基于异构计算单元的TEE技术(c)基于RISC-V架构的TEE技术(b)基于A

27、rm架构的TEE技术Fig.2TEEtechnologyevolutiononx86,Arm,RISC-Vandheterogeneouscomputingunitarchitectures图2基于 x86、Arm、RISC-V 和异构计算单元架构的 TEE 技术演进246计算机研究与发展2024,61(1)术的发展路线.2.1.1可信平台技术在处理器层面,x86 架构首先引入可信平台技术,x86 是基于可信平台模块53-54(trustedplatformmodule,TPM)的发展.目前设备中普遍部署 TPM2.0 版本,TPM 作为一种集成到芯片组中的微控制器,主要用于密钥生成、存储和证

28、书验证,同时保存系统各层次模块的测量值.TPM 基于硬件的密码学特点可以保证存储数据免受外部恶意软件的攻击,因此是广泛应用于系统启动和应用部署的安全策略的基础.2.1.2基于协处理器的可信子系统由于 TPM 作为系统子模块由主系统调用,因此是与主系统耦合性强、可扩展性弱以及缺乏系统运行行的安全策略.针对上述问题,Intel 和 AMD分别推出了 Intel 管理引擎(managementengine,ME)8和 AMD平台安全处理器(platformsecurityprocessor,PSP)16子系统,采用协处理器和隔离技术,构建管理端 TEE.以 ME 为例,Intel在主处理器外引入 Q

29、uark 芯片和MINIX 操作系统,作为单独的子系统运行在用户设备中.ME 子系统拥有独立的物理地址和 IP 地址,通过直接连接网卡访问远程资源,因此管理端可以通过 ME 子系统远程透明地管理设备开关机、主系统启动验证、设备温度、电压等物理特征检测,甚至对主系统运行时状态监控.由于 ME 子系统拥有独立的计算能力和内存空间,因此在 Intel 架构安全体系中作为基础可信域存在,如主系统其他可信模块的根密钥、证书等均可保存在 ME 子系统中,并对证书验证、时钟同步等操作提供基本的 TEE.2.1.3基于处理器模式的可信系统针对协处理器和主处理器之间的隔离性,ME和PSP 子系统只能管控平台设备

30、的物理属性,因此子系统难以同步获取和验证主系统状态,也不能操控主系统的正常运行.而基于主 CPU 的不同执行模式构建的 TEE 则能有效控制主系统.Intel 和 AMD 平台利用系统管理模式 SMM 部署了可信服务代码.SMM构建环境与 ArmTrustZone 类似,基于 SMM 计算模式以及内存区域的隔离性,设备制造商(OEM)可以在设备出厂前部署管理需求的任务,如 CPU 电源管理、启动代码块验证、TPM 数据清理等一系列高权限的处理模块.研究人员也可以拓展 SMM 处理程序接口,用于检测内核程序完整性,调试用户程序的执行流等.2.1.4基于内存加密的用户 TEE基于协处理器、隔离执行

31、模式的 x86TEE 均面向管理者服务,不提供开源服务.因此用户难以通过上述方法开发用户可信应用程序.而面对用户机密计算任务的广泛需求,Intel 和 AMD 分别提出 IntelSGX 和 AMDSEV55技术.IntelSGX 为用户提供应用层 TEE,用户可以将机密计算程序片段部署在 SGX飞地(Enclave)执行,但对于内核函数的调用则需要切换至非可信系统中执行.AMD 为用户提供系统级的 TEE,通过内存加密和虚拟化技术,直接构建面向用户的安全虚拟机系统.AMDSEV 相比于 SGX 飞地在使用场景上有极大的拓展,且虚拟化和加密性能降低在可接受范围内,尤其适用于云环境下对租户提供安

32、全计算平台的需求.因此后续 Intel 也将推出可信区域拓展技术(trustdomainextensions,TDX)28,实现虚拟化系统的可信隔离.2.1.5x86TEE 的主要设计思路x86TEE 是基于物理隔离方法和加密验证技术构建的.物理隔离方法包括协处理器、隔离执行模式、物理内存隔离,如图 3 所示.而访问权限控制和加密方 法 则 复 杂 多 样,包 括 Diffie-Hellman 密 钥 交 换、HMAC 可信链验证、ECC 密钥分配等通用密码算法.协处理器单元的引入极大地提升 TEE 中加解密和特殊指令集计算的效率.在 x86 设备中各 TEE 技术并非独立存在,如 Intel

33、ME,AMDPSP作为协处理系统,与主系统最大限度地隔离,因此可以作为可信第三方验证主系统启动的可信性,包括验证 x86SMM固件的完整性,为 SGX 提供可信证书和时间同步功能等.x86SMM通过增加硬件设施保存和恢复其他模式运行时的处理器状态,从而快速正确地处理系统切换.内存区域 SMRAM 的隔离通过特殊寄存器设置访问权限和范围,有利于 OEM 厂商的个性化定制.IntelSGX,TDX 和AMDSEV 由于面向用户设计,因此除了底层硬件实现,服务提供商设计了大量的用户接口用于自定义开发,其软硬件设计的复杂性大主存主处理器平台加解密芯片平台加密内存应用TDX模块内核SMRAM飞地保护缓存

34、x86芯片组 加解密引擎Intel TDXIntel SGX x86 SMM 安全飞地EnclaveTD VM可信虚拟机微处理器ME内存Intel ME平台加解密芯片平台加密内存虚拟机管理器AMD SEVSNP VM可信虚拟机Fig.3x86architecturebasedTEE图3基于 x86 架构平台的 TEE张锋巍等:可信执行环境:现状与展望247幅度提升.2.2x86 TEE 面临的安全风险与挑战TEE 面临的主要安全风险来自于 2 个方面:内部软硬件设计漏洞和外部侧信道攻击.软硬件设计漏洞问题包括控制逻辑代码缺陷、接口设计不严谨等,例如可信区域执行代码不严格遵守约定的安全可信代码库

35、和不可信代码库之间的接口调用,当指令在可信区域和非可信区域之间切换时,CPU 状态标志不能及时清除,堆栈指针无法恢复,指针和数组的范围缺少检查以及寄存器数据泄露等.这些来自于可信系统固件、驱动或者接口自身的漏洞将严重影响可信程序的正确执行.另外攻击者基于 TEE 自身的漏洞结合用户代码的缺陷,在 TEE 中执行非可信程序主动暴露机密数据,如 SmashEx56,AsyncShock57等在飞地内实现 ROP 攻击,导致飞地控制流错误和数据泄露.具体地,我们从 3 个方面分析 TEE 面临的具体安全攻击.2.2.1针对隔离机制的攻击TEE 基础设施的隔离并非完全封闭.首先,可信域和非可信域之间存

36、在交互通道,并提供了可信域接口用于信号传递和数据传输.其次,系统预留调试接口用于厂商对可信系统的开发、测试和维护.再次,可信域框架引入额外的攻击面,包括系统切换后的状态保存恢复的堆栈空间、时针同步机制等.最后,基于硬件和固件组成的可信基础存在设计缺陷.因此,当隔离机制在上述问题中存在漏洞,将会导致TEE 的暴露,如 2017 年因 Intel 直联接口技术漏洞导致 ME 系统运行时指令控制流被拦截58,其攻击方式同样能针对 SMM 技术并造成严重后果.而在 SGXCROSSTALK 攻击59中,飞地运行时使用的隐藏共享缓存设施被暴露,因此导致飞地内机密数据可能被泄露.SGX-Step60则是因

37、为允许单步配置 APIC 计时器、中断和跟踪页表项,从而泄露飞地控制流信息.而对于 AMDSEV,由于安全虚拟机对 I/O 操作缺乏保护,因此攻击者能够利用非安全的 I/O 实施任意的安全内存加解密.此外可以通过修改 NPT 入口地址的特殊字节,产生并利用 SEV 的内存页错误来跟踪SEV 内存访问,从而达到侧信道攻击效果27.2.2.2基于共享资源的侧信道攻击由于平台资源的高度集成化,计算机系统各组件通过紧耦合设计实现.因此内存、处理器等通常在非可信系统和可信系统中共享使用.2009 年 IntelME8系统因内存地址重映射漏洞从而泄露了 ME的外部内存,其作为系统主内存中隐藏的区域,可通过

38、重新映射加入到主系统内存页表中,因此攻击者可以利用该内存区域并部署任意的代码在 ME 子系统中运行.处理器中缓存即便是在引入了 TEE 技术后,仍然没有为可信区域和非可信区域提供缓存隔离机制.因此基于缓存的攻击能有可能导致可信执行区域的机密信息泄露.目前基于缓存的攻击能碰撞出SMM,SGX,SEV 的可信程序机密数据,其共同点是遍历缓存读写、刷新并定位可暴露的可信内存数据61-63.例如 2010 年,针对于 SMMcache 攻击6,导致SMRAM 内存段暴露给非可信应用,使得攻击者可以绕过内存访问控制权限,在 SMM 可信处理单元中部署调用非可信区域代码段.而针对 SGX 的缓存攻击则包括

39、 CacheOut64,CacheZoom65等一系列攻击方法,CacheZoom 攻击从非可信区域检测是否存在可信区域内存数据存留在相同的缓存片段上,有则暴露并利用.文献 66 使用 Prime+Probe 方法攻击 Intel 的验证飞地,暴露飞地的 EPID 信息.文献 67 在 AMDSEV虚拟化研究中,提出可以通过 TLB缓存投毒的方式,暴露安全虚拟机加密内存.2.2.3基于硬件设计漏洞的攻击指令预测执行极大地优化了系统执行效率,但对于大部分 Intel和 AMDTEE 设计引入了新的安全漏洞,幽灵攻击 Spectre68的核心是预测执行指令会导致 CPU 状态或 CPU 缓存发生可

40、测量的变化.因此攻击者可以通过状态信息变化暴露预测指令涉及的数据,这些数据可能来自可信区域.SgxPectre69验证了 SGX 面临分支预测执行攻击的风险,利用 SgxPectre攻击从 Intel 签名引用飞地中提取秘密密封密钥和认证密钥.Koruyeh 等人70提出了 SpectreRSB 攻击,该攻击交替使用返回堆栈缓冲区以推测预测执行帧(函数)的返回地址.熔断攻击 Meltdown71则利用了现代CPU 的无序执行特性.与 Spectre 不同的是,Meltdown没有利用推测执行功能,而是在 CPU 发出故障并回滚这些指令的结果之前,通过无序执行的指令访问未经授权的内存.基于文献

41、6971 所述的方法,Fore-shadow 攻击72通过 mprotect 功能调整页面访问权限,使得攻击者可以通过页面故障和预测执行攻击,从缓存中获取飞地内部数据.类似的攻击同样可以运行在 AMDSEV和 IntelSMM 机制中73-74.另外针对电源管理漏洞的攻击同样会导致 TEE安全边界破坏,如 Murdock 等人75提出的 Plundervolt攻击.为了破坏飞地计算,Plundervolt 攻击滥用 x86CPU 上动态电压缩放的特权接口,使得攻击者可以在 SGX 飞地的计算过程中将故障注入到被攻击的飞248计算机研究与发展2024,61(1)地控制流.相关工作还包括 Volt

42、Pillager76,由于从物理特性上破坏了内存的完整性,从而导致 TEE 隔离机制破坏,影响整个可信区域的安全性.2.3预测 x86 TEE 未来发展针对 x86TEE 技术,我们从功能、架构和安全方面探讨未来的发展方向.1)功能方面.x86TEE 从早期面向设备供应商定制的安全服务(如 ME,PSP,SMM 等),到目前的面向普通用户的 TEE(SGX,SEV,TDX),其设计目的在逐步变化.在未来发展中,面向管理端和用户端的TEE 方案将同步发展,如目前在 Intel 设施中同时提供了 ME 和 SGX 服务.值得注意的是,由于不同 TEE技术在面向不同用户时所暴露的接口、访问权限等均不

43、同,因此安全等级有所区别.例如,到目前为止ME 仅产生 3 个严重漏洞,而 SGX 面临大量的攻击.Intel设计过程中,SGX 的可信根如时针信息等保存在 ME 中,另外还包括 SMM 模块的固件验证值.因此,x86TEE 将 进 一 步 推 动 管 理 端 TEE 和 用 户 端TEE 设计,协同构建系统可信执行区域.2)架构方面.管理端 TEE 以协处理系统设计为主,独立于主操作系统,面向平台远程管理、能耗分析、主系统资源验证等提供可信环境,进一步提升可信服务计算性能并减少对主系统的干扰.用户端TEE 则基于处理器异构模式、内存隔离、数据加解密引擎设计面向用户层的计算环境.对于目前 CP

44、U 集成大小核机制和独立的安全芯片,管理端 TEE 能构建功能丰富的可信系统.对于用户端,TEE 将面向大型安全应用、丰富的资源调度和远程安全连接等功能需求,因此基于虚拟化的 TEE 将进一步推动发展,如 AMD 进一步完善 SEV-SNP,Intel 将要推出 TDX 等.3)安全方面.提升对侧信道攻击的防御能力,减少系统被攻击的接口数量.例如针对管理端 TEE,限制调试模式的访问权限,降低共享资源的使用,严格验证寄存器使用规则,最大限度地降低攻击者从用户端对管理端 TEE 的访问权限.而在用户端 TEE 方面,需要检查已有指令集处理模式对 TEE 功能的影响,如预测执行和乱序执行等,验证可

45、信域与非可信域之间交互接口的有效性,以及分析处理器异常、中断等对于主系统内可信区域程序运行的影响.3基于 Arm 架构的 TEEArm 在智能手机和物联网领域有着至关重要的作用.在数据中心、云端服务器和车联网领域,Arm也在快速发展.针对安全应用需求,Arm 侧重于设计通用的 TEE 硬件基础.本节将介绍 Arm 架构 TEE 发展与现有研究的设计思路、面临的风险挑战以及未来 ArmTEE 的展望.3.1Arm TEE 发展3.1.1TrustZone 技术在 2002 年左右,Arm 开始发展 TEE 技术.为了增强移动设备运行的安全性,Arm 公司在 Armv6 架构中引入了 TrustZ

46、one.2011 年 11 月,Arm 发布了新一代处理器架构 Armv8,这是 Arm 公司的首款支持 64位指令集的处理器架构.同时,随着 Armv8-M 架构的公布,为了满足市场对嵌入式安全解决方案的需求,ArmCortex-M 微处理器系列也引入了 TrustZone 技术.TrustZone 是一种嵌入到 Arm 处理器中的技术,已在数十亿的移动终端和嵌入设备中运行.供应商和原始设备制造商(OEM)依靠 TrustZone 部署 TEE,保护名为可信应用(TA)的敏感程序的执行.一些可信应用实现了操作系统的内核级服务,例如,用于用户认证或文件磁盘加密9.其他可信应用提供各类用户功能,

47、例如,数字媒介解码器77或在线银行服务78.TEE 本身包括一个可信的软件栈,为托管可信应用提供接口和运行环境支持,例如高通公司的 QSEE79和开源的 OP-TEE80.TrustZone 技术提供了 2 种执行环境,即正常世界和安全世界.正常世界运行一个丰富的软件栈,称为富执行环境(REE),由完整的操作系统(如 Linux)和应用程序组成,它通常被认为是不可信任的.安全世界运行一个较小的软件栈,由可信操作系统和可信应用组成.TrustZone 执行系统范围内的世界间隔离,并在富执行环境调用可信应用的服务时为世界切换提供受控的入口点.TrustZone 启用了 2 种处理器安全状态:正常状

48、态(NS)和安全状态(S).在 Arm架构中,有一种基于权限划分的防御机制,称为异常级别(EL0EL3).一般来说,处于异常级别 EL0 和 EL1的处理器核心运行在这 2 种安全状态中的任何一种中,例如,在 NS.EL1 中执行一个不受信任的操作系统,在 S.EL1 中执行一个受信任的操作系统.从 Armv-8.4 开始,EL2 可以在安全状态下使用,因为安全分区管理器(SPM)得到了支持.EL3 始终处于安全世界,并运行一个安全监控器,在改变安全状态方面发挥作用.典型的基于 TrustZone 的系统使用资源分区的静态策略,只允许安全世界内存驻留在几个固定的内存区域.例如,TrustZon

49、e 地址空间控制器,TZASC(TZC-400)81支持配置多达 8 个不同的内存区域.张锋巍等:可信执行环境:现状与展望2493.1.2CCA 架构设计2021 年上半年,在 Armv8 发布 10 年后,Armv9架构面世.同时,Arm 公司发布全新的 Arm机密计算架构(confidentialcomputearchitecture,CCA)的初步技术规格.CCA 的关键目标之一就是为第三方提供机密计算的能力.此外,随着 Arm 逐渐布局服务器端处理器,CCA 旨在改变行业在应用程序中构建可信计算环境信任模型的处理方式,随时随地保护云端用户的数据与代码的机密性和一致性.不同于 Trust

50、Zone,CCA 在硬件上直接支持内存加密能力,并且 Trust-Zone 内的特权软件也无法访问 CCA 中的数据.如图 4 所示,ArmCCA 在一个名为领域世界的新隔离环境中进行计算.CCA 旨在保留现有的系统软件(如虚拟机管理器)来管理领域虚拟机的硬件资源,同时防止软件和其他硬件组件观察或修改领域虚拟机的内容.为了管理领域虚拟机的执行,CCA 引入了一个名为领域管理监控器(RMM)的软件组件82.在领域状态下,运行在异常级别 EL2 的领域管理监控器也使用现有的虚拟机管理技术,如用阶段-2 转换表来隔离领域虚拟机.领域管理扩展79是 CCA 的硬件组件,扩展了TrustZone 中引入

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服