[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)。
不幸的是,我们的研究表明,此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实施。
• 给出 TrustZone 的一个用例,描述如何使用 TrustZone 来满足安全需求 • 列出 TrustZone 系统中的安全状态和物理地址空间的数量 • 说明安全监视器的用途并举例说明需要保存或恢复的状态 • 说出典型的 TrustZone 启用内存系统中的组件并描述其用途 • 解释 Arm 的可信基础系统架构和可信板启动要求规范的用途 • 解释如何使用信任链来确保设备启动的安全