学术研究人员开发了一种名为TEE.Fail的侧信道攻击,能够从CPU中的可信执行环境(TEE)——系统中安全性极高的区域(如英特尔的SGX和TDX,以及AMD的SEV-SNP)——提取机密信息。
该方法是针对DDR5系统的内存总线介入攻击,计算机爱好者仅需不到1000美元成本即可成功实施。
可信执行环境(TEE)是主处理器内的“机密计算”硬件,确保敏感数据(如用于身份验证和授权的加密密钥)的机密性和完整性。
这一环境与操作系统隔离,并创建受保护的内存区域,使代码和数据能够在其中安全运行。
佐治亚理工学院和普渡大学的研究人员指出,由于最新几代产品的架构权衡,英特尔SGX、英特尔TDX和AMD SEV-SNP的现代实现不再像宣传的那样安全。
具体而言,TEE已从客户端CPU转向采用DDR5内存的服务器级硬件,后者采用确定性AES-XTS内存加密,并为提升性能和可扩展性移除了内存完整性和重放保护机制。
他们的实验证实,利用这些弱点可实现密钥提取和认证伪造。TEE.Fail是首个基于DDR5的密文攻击,扩展了此前针对DDR4的WireTap和BatteringRAM等研究成果。
攻击原理与影响
该攻击需要对目标设备的物理访问权限,以及修改内核驱动程序的root级权限,但无需芯片级专业知识。
技术论文中,研究人员解释称,他们通过将系统内存时钟降至3200 MT/s(1.6 GHz),实现了信号的可靠捕获。为此,他们在DDR5 DIMM与主板之间连接了RDIMM转接卡和定制探针隔离网络。
通过将介入器连接到逻辑分析仪,攻击者可记录DDR5命令/地址和数据突发,从而观察物理DRAM位置的密文写入与读取操作。
为针对英特尔SGX实现攻击目标,研究人员需将虚拟地址中的数据强制路由至单个内存通道,以便通过介入器观测。
借助英特尔向内存地址转换组件公开的物理地址接口,研究人员能够“通过sysfs将此解码接口进一步暴露给用户空间”,从而获取确定物理地址对应DIMM位置的信息。
然而,SGX依赖操作系统内核进行物理内存分配,因此研究人员“修改了内核SGX驱动程序,以接受虚拟地址与物理地址对作为参数存储在全局内核内存中”。
研究人员创建了一个SGX enclave,通过对特定内存虚拟地址进行密集读写操作,验证内存介入器上观测到的加密密文是物理内存地址及其内容的确定性函数。
“为验证加密的确定性,我们指示enclave对enclave内存中的固定虚拟地址执行一系列写入和读取操作,并使用逻辑分析仪捕获每一步后的密文读取数据。”他们解释道。
由于AES-XTS加密会使同一信息每次加密均产生相同输出,研究团队向可观测物理地址写入已知值,构建密文与原始值的映射关系。
随后,通过触发并记录目标加密操作,观测中间表项的加密访问,恢复每个签名的nonce值。
结合恢复的nonce和公开签名,他们可重构私有签名密钥,进而伪造有效的SGX/TDX quote,冒充合法TEE。
相同方法被用于从AMD SEV-SNP保护的虚拟机中运行的OpenSSL提取签名密钥。值得注意的是,即使启用“密文隐藏”(Ciphertext Hiding)安全选项,针对AMD SEV-SNP的攻击依然有效。
研究人员展示的攻击场景包括:
- 在以太坊BuilderNet上伪造TDX认证,访问机密交易数据和密钥,实现未被检测的抢先交易。
- 伪造英特尔和NVIDIA认证,使工作负载在TEE外部运行却显示为合法。
- 直接从enclave提取ECDH私钥,恢复网络主密钥,完全破坏机密性。
通过TEE.Fail,研究人员证明可控制TEE执行并观测特定虚拟地址。他们还针对Xeon服务器实施攻击,获取了用于验证设备身份的配置证书密钥(PCK)。
TEE.Fail是一种需要物理访问的复杂攻击,在现实场景中实用性较低,其复杂度远非普通用户面临的直接威胁。
研究人员已于4月向英特尔、8月向AMD、6月向NVIDIA报告了相关发现。三家厂商均确认问题存在,并表示正在开发缓解措施,调整机密计算威胁模型,计划在TEE.Fail论文公开时发布官方声明。
BleepingComputer已请求英特尔、AMD和NVIDIA分享声明以纳入本报告,但截至发布时尚未收到回复。











发表评论
您还未登录,请先登录。
登录