是时候谈谈TEE了
这篇文章调查了一些对TEE的令人担忧的攻击。目标是说服你重新考虑如何部署基于TEE的应用程序,如果你真的应该部署它们。值得信赖的硬件公司(Intel、AMD等)主要在性能、功能和(希望能)对开发者友好上竞争。虽然它们可能试图在安全性上竞争,但在我看来,这很困难:总有其他人可以(错误地)声称更多的安全性,而这种声称通过市场很难裁定。此外,现代CPU架构的复杂性和旁路攻击的普遍性使得TEE安全性声称变得不可靠。无论如何,接下来是(一些)TEE攻击。 包错误位于保护区代码 保护区旨在保护秘密和计算的完整性,免受环境(例如,主机操作系统,甚至物理环境)的影响。但是,即使保护区平台是安全的,运行在保护区中的代码中的漏洞也可能导致灾难。Signal的联系人发现保护区存在内存安全问题,导致主机混淆它并导致保护区泄漏其自身的内存内容。 TEE远程证明伪造漏洞 许多这些攻击不仅影响了Intel SGX,而且还影响了其他TEE平台,如AMD SEV。 2018年,Foreshadow:恶意操作系统可以窃取Intel SGX证明密钥(第一次!) 2020年,SGAxe:需要环-0访问权限才能窃取SGX证明密钥(这是第二次!) 2022年,ÆPIC漏洞:微架构缺陷允许主机根管理员窃取SGX证明密钥 2024年,BadRAM,AMD SEV-SNP系统上的篡改DIMM SPD芯片 具备一次性物理访问权限的主机根管理员(约10美元重新编程DIMM)可以运行后门虚拟机,而真正的AMD芯片签署一份证明报告,证明该虚拟机是良性的(未提取密钥,但证明是假的)。 2025年,WireTap.fail,DDR4系统的插入物理攻击“我们成功地提取了证明密钥,这是用来确定代码是否在SGX下运行的主要机制。这允许任何黑客伪装成真实的SGX硬件,实际上以暴露的方式运行代码并窃取你的数据。我们展示了SGX在现实世界软件中的具体安全漏洞,如Secret Network、Phala、Crust和IntegriTEE。” 2025年,TEE.fail,DDR5系统的插入物理攻击 2025年,Battering RAM,DDR4系统的插入物理攻击 2026年,DDRrop,插入物理攻击DDR5系统 Intel TDX远程证明伪造 你可能会说:“我不在乎;我的威胁模型排除了物理攻击。”不,傻瓜:你的远程证明验证器接受来自任何良好状态的Intel CPU的报价。而攻击者的CPU中有一个。这其中一个被攻破,所有的都被攻破,除非……除非:你将你的验证器固定为仅接受你自己的PCK证书,这隐含排除了攻击者的CPU。这适用于所谓的可扩展SGX(唯一剩下的版本),并要求你妥善管理PKI。所以,实际上要求你拿着一把脚枪。祝好运! TEE生存性漏洞 DoS显然不在SGX、TDX、SEV-SNP和Nitro的威胁模型之外(因为主机可以简单地拒绝调度保护区)。所以,在这里,我们重点关注由于TEE平台本身的问题导致的生存性问题。 2018年,因Spectre / Meltdown而撤销SGX凭证使TEE保护区瘫痪 2022年,SGX.fail详细说明了TCB恢复推出的缓慢,以及平台可能被“过期”的长时间 2022年,AMD平台上使用ASP的TPM证明失败 示例影响:游戏玩家可能无法参加在线现金比赛。 更多学术论文攻击 有很多。理论上,有办法减少受信硬件的攻击面。例如,参见我在MIT工作的圣殿。不幸的是,实际上,这些更原则性的设计往往会带来较低的性能和/或较少的功能。 结论 不要将重要的秘密放入你的TEE中,否则它们可能会变得公开,特别是如果物理攻击在你的威胁模型中。 参考文献 引用的作品,请见下方 Signal的SGX-based联系人发现被破坏。
本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。
☕请我喝杯咖啡