• 给出 TrustZone 的一个用例,描述如何使用 TrustZone 来满足安全需求 • 列出 TrustZone 系统中的安全状态和物理地址空间的数量 • 说明安全监视器的用途并举例说明需要保存或恢复的状态 • 说出典型的 TrustZone 启用内存系统中的组件并描述其用途 • 解释 Arm 的可信基础系统架构和可信板启动要求规范的用途 • 解释如何使用信任链来确保设备启动的安全
不幸的是,我们的研究表明,此API标准容易出现设计弱点。这种弱点的表现形式导致TEE的现实世界用户空间应用程序中的关键类型连接错误,称为受信任的应用程序(TAS)。在其核心上,设计弱点由打开的设计组成,留下可选类型的检查,以获取不受信任的数据以进行开发。API并未要求此易于忘记的检查,该检查在大多数情况下会导致任意阅读和写作原始原始图。为了检测这些类型连接错误的实例,我们设计并实施了GPCheck,这是一个静态的二进制肛门系统,能够审查真实世界TAS。我们采用GPCHECK来分析14,777个TA在广泛使用的T台上部署,以调查问题的流行。我们侦察已知的错误,这些错误拟合了这种模式并发现野外问题的未知实例。总共确定了9个已知的错误,发现了10个默默固定错误的实例,并使用我们的GPCHECK原型发现了14个关键的0天弱点。我们的发现会影响数十亿用户目前正在使用的移动设备。我们负责任地披露了这些发现,已经收到了12,000美元作为Bug Bounty,并被分配了四个CVE。我们14个关键的0天漏洞中的十个仍处于负责任的披露过程中。最后,我们提出了GP内部核心API规范的扩展,以实施一种故障安全机制,以消除潜在的设计弱点。我们在Optee上实施并成功地证明了我们的缓解措施,这是一个开放源TEE实现。我们与GlobalPlatform共享了我们的发现,并建议缓解我们的规范以确保未来的TEE实施。
不幸的是,我们的研究表明,此API标准容易出现设计弱点。这种弱点的表现形式导致TEE的现实世界用户空间应用程序中的关键类型连接错误,称为受信任的应用程序(TAS)。在其核心上,设计弱点由打开的设计组成,留下可选类型的检查,以获取不受信任的数据以进行开发。API并未要求此易于忘记的检查,该检查在大多数情况下会导致任意阅读和写作原始原始图。为了检测这些类型连接错误的实例,我们设计并实施了GPCheck,这是一个静态的二进制肛门系统,能够审查真实世界TAS。我们采用GPCHECK来分析14,777个TA在广泛使用的T台上部署,以调查问题的流行。我们侦察已知的错误,这些错误拟合了这种模式并发现野外问题的未知实例。总共确定了9个已知的错误,发现了10个默默固定错误的实例,并使用我们的GPCHECK原型发现了14个关键的0天弱点。我们的发现会影响数十亿用户目前正在使用的移动设备。我们负责任地披露了这些发现,已经收到了12,000美元作为Bug Bounty,并被分配了四个CVE。我们14个关键的0天漏洞中的十个仍处于负责任的披露过程中。最后,我们提出了GP内部核心API规范的扩展,以实施一种故障安全机制,以消除潜在的设计弱点。我们在Optee上实施并成功地证明了我们的缓解措施,这是一个开放源TEE实现。我们与GlobalPlatform共享了我们的发现,并建议缓解我们的规范以确保未来的TEE实施。
[1] Intel:Intel软件后卫(Intel SGX),https://www.intel.com/content/www/us/en/products/ docs/accelerator-eengerator-eengerator-eengines/offect-guard-extensions。html。[2] AMD:AMD安全加密虚拟化(SEV),https://www.amd.com/ja/developer/sev.html。[3] ARM:Cortex-A用Trustzone,https://www.arm.com/ja/technologies/trustzone-for-cortex-a。[4] Keystone:用于架构T恤的开放框架,https://keystone-enclave.org/。[5]值得信赖的固件:op-tee,https:// www。trusted firmware.org/projects/op-tee。[6]开放式:open-tee,https://open-tee.github.io/。[7] Google:可信赖的T恤 - Android开源项目,https://source.android.com/docs/security/features/features/trusty?hl = ja。[8] Cerdeira,D.,Martins,J.,Santos,N。和Pinto,s。:区域:第31届USENIX Security Security Enmposium,PP。2261–2279(2022)。[9] GlobalPlatform:GlobalPlatform主页,https:// globalplatform.org/。[10] GlobalPlatform:GlobalPlatform技术TEE核心API规范版本1.3.1(2021)。[11] GlobalPlatform:GlobalPlatform设备技术TEE客户API规范版本1.0(2010)。[12] Menetrey,J。,Pasin,M.,Felber,P。和Schiavoni,V。:WATZ:可信赖的WebAssembly运行时环境,具有Trustzone的远程证明,第2022 IEEE 42届国际分布式计算系统的国际会议(2022222)。[13] op-tee:optee OS在4.0.0,https://github.com/ op-tee/optee/optee OS/tree/4.0.0。[14]运算:受信任的应用程序,https:// optee。readthedocs.io/en/latest/building/trusted应用程序。html。[15] QEMU:QEMU-通用和开源机器模拟器和虚拟机,https://www.qemu.org/。[16] Arnautov,S.,Trach,B.,Gregor,F.,Knauth,T.,Martin,A.,Priebe,C.,Lind,J.,Muthukumaran,D. Intel SGX,第12 USENIX操作系统设计和实施研讨会,pp。689–703(2016)。[17] Tsai,C.,Porter,D。E.和Vij,M。:石墨烯-SGX:用于SGX上未修改应用程序的实用库OS,2017年USENIX年度技术会议,pp。645–658(2017)。[18] Shen,Y.,Tian,H.,Chen,Y.,Chen,K.,Wang,R.,Xu,Y.[19] Wasix:Wasix- Wasi的超集,https:// wasix。org/。[20] Ramesh,A.,Huang,T.,Titzer,B。L.和Rowe,A。:停止隐藏锋利的刀:WebAssembly Linux interface,arxiv.org e-Print Archive,arXiv:2312.03858v1(2023)。
•CAAM:加密加速度和保证模块,是芯片(SOC)系统的硬件组件(SOC),它提供了加密算法的安全保证和硬件加速度,数据包封装和解码以及其他密码操作。•TrustZone:ARM Trustzone创建了一个孤立的安全世界,可用于为系统提供机密性和完整性。它用于保护高价值代码和数据,以用于身份验证等不同用例。经常用于为可信的执行环境提供安全边界,例如Trusty OS。•TZASC:TrustZone地址空间控制器,是高级微控制器总线体系结构(AMBA)符合的SOC外围。这是一个高性能,优化的地址空间控制器,可保护
○OpenVPN:使用PQSDK来构建一个完全量词的基于TLS的VPN,而无需重新编译VPN库本身。此演示器包括一个平台安全组件:将PQCryptolib集成到Op-Tee中,这是一个围绕ARM的Trustzone技术构建的开源信任的执行环境,为VPN私有密钥提供了其他安全性。
NXP和NXP徽标是NXP B.V.ARM,Cortex和Trustzone是美国和/或其他地方的ARM Limited(或其子公司)的商标或注册商标。相关技术可以受到任何或全部专利,版权,设计和商业秘密的保护。保留所有权利。Bluetooth®单词标记和徽标是由蓝牙SIG,Inc。拥有的注册商标,而NXP半导体对此类标记的任何使用均为许可。所有其他产品或服务名称都是其各自所有者的属性。©2024 NXP B.V.
抽象ARM Trustzone构成移动设备的安全骨干。基于信任的可信执行环境(TEE)促进了对安全敏感的任务,例如用户身份验证,磁盘加密和数字权利管理(DRM)。因此,TEE软件堆栈中的错误可能会损害整个系统的完整性。el3xir引入了一个框架,以有效地重新主机和模糊基于Trustzone Tees的安全监视器固件层。虽然其他方法集中于天真地重新安置或模糊的受信任应用程序(EL0)或TEE OS(EL1),但El3xir的目标是针对高度私有但未探索的安全监视器(EL3)及其独特的挑战。安全显示器通过各种安全的监视器呼叫揭示取决于多个外围设备的复杂功能。在我们的评估中,我们证明了最先进的模糊方法不足以有效地模糊COTS安全显示器。虽然幼稚的模糊似乎实现了可追溯的覆盖范围,但由于缺失的外围仿真而无法克服覆盖范围,并且由于输入空间较大和输入质量较低而导致触发错误的能力受到限制。我们遵循负责任的披露程序,并报告了总共34个错误,其中17个被归类为安全至关重要。受影响的供应商确认了其中14个错误,结果,El3xir被分配了6个CVE。
尽管有福利,但现有的受信任的执行环境(TEE)或飞地因缺乏透明度,脆弱性和各种限制而受到批评。一个重要的限制是,它们仅提供无法为不同应用程序定制的静态和固定的硬件信任计算基础(TCB)。该设计通过在软件TCB中的硬件TCB和Buggy外围驱动程序中包括不需必要的外围设备,违反了特权的原则。此外,现有的TEE Time-Share带有丰富的执行环境(REE)的处理器核心,使执行效率较低,并且容易受到缓存侧通道攻击的影响。尽管许多以前的项目都集中在SGX,TrustZone或RISC-V上的TEE中解决软件问题,但硬件系统设计中固有的某些TEE问题是无法单独使用软件解决的。在本文中,我们提出了byotee(build y我们的生锈的ecution e n-Vironments),这是一种易于使用的硬件和软件共同设计的基础架构,用于使用现场可编程门阵列(FPGA)构建飞地(FPGA)。Byotee使用自定义的硬件TCB创建飞地,并建立一个动态的信任根,该根源允许从硬核系统上的预先介绍软件中不受限制执行对安全敏感的应用程序(SSA)。ad的byotee提供了证明飞地硬件和软件堆栈的完整性的机制。我们为Xilinx系统芯片(SOC)FPGA实施了一个Byotee系统。针对四个SSA和12个基准应用的低端Zynq-7000系统的评估证明了BYOTEE框架的使用,安全性,有效性和性能。