从超安全SGX掠夺密钥让英特尔再次陷入混乱

2020-06-10 04:07:11

在过去的两年里,现代CPU-特别是那些由英特尔制造的CPU-一直受到一系列无休止的攻击,这些攻击使得高技能的攻击者有可能从硅片驻留的存储器中窃取密码、加密密钥和其他秘密。周二,两个不同的学术团队披露了两个新的、独特的漏洞,它们穿透了英特尔的软件保护扩展,这是迄今为止该公司处理器中最敏感的区域。

缩写为SGX的保护旨在提供某种形式的诺克斯堡(Fort Knox),即使在顶部运行的操作系统或虚拟机受到严重和恶意破坏时,也能保护加密密钥和其他敏感数据。SGX的工作方式是创建受信任的执行环境,以保护敏感代码及其使用的数据不被系统上的任何其他内容监视或篡改。

SGX安全和真实性保证的关键是它创建了所谓的Enclaves,即安全内存块。Enclave内容在离开处理器之前进行加密,并写入RAM。它们只有在返回后才会被解密。SGX的工作是保护Enclave内存,并阻止CPU可信部分以外的任何人访问其内容。

周二的攻击并不是第一次击败新交所。2018年,另一组研究人员在一场名为Meltdown的攻击基础上打入了戒备森严的英特尔地区,这场攻击与一场名为Spectre的类似攻击一起,引发了处理器攻击的热潮。今年早些时候,另一组研究人员打破了新交所。

英特尔通过引入微码更新缓解了早先的SGX漏洞。然而,这些缓解并没有持续多久,因为两次新的攻击促使英特尔再次争先恐后地设计新的防御措施。英特尔周二发布了新的更新,预计将在未来几周向最终用户开放。根据计算机的不同,修复程序可能会自动安装,也可能需要手动干预。用户,特别是那些依赖SGX的用户,应该与他们的机器制造商核实,并确保尽快安装更新。

新的SGX攻击被称为SGAxe和串扰。这两种攻击都使用单独的旁路攻击进入设防的CPU区域,这是一类黑客攻击,通过测量时序差异、功耗、电磁辐射、声音或来自存储数据的系统的其他信息来推断敏感数据。这两起袭击的假设大致相同。攻击者已经通过破坏系统完整性的软件利用漏洞攻击或恶意虚拟机破坏了目标计算机的安全性。虽然这是一个很高的门槛,但这正是新交所应该防范的情况。

SGAxe能够窃取攻击者选择的大量受SGX保护的数据。一类敏感数据是属于目标用户的数据-例如,钱包地址或涉及区块链的金融交易中使用的其他秘密。此段落正下方左侧的图片显示了存储在安全飞地中的图像文件。右侧的图像显示了使用SGAxe提取后的相同图像。

这种攻击同样容易窃取SGX用来“证明”的密钥,也就是向远程服务器证明硬件是真正的英特尔处理器,而不是恶意模拟的过程。远程服务器在执行金融交易、播放受保护的视频或执行其他受限功能之前,可能要求连接设备提供这些证明密钥。在一篇题为“SGAxe:新交所如何在实践中失败”的论文中,来自密歇根大学和澳大利亚阿德莱德大学的研究人员写道:

由于机器的生产证明密钥被泄露,客户端的不受信任的主机应用程序可以立即读取[该]服务器提供的任何机密,而所有据称由在客户端上运行的飞地生成的输出都无法信任其正确性。这有效地使基于SGX的DRM应用程序变得毫无用处,因为任何提供的秘密都可以很容易地恢复。最后,我们完全通过远程认证的能力也排除了信任任何基于SGX的安全远程计算协议的能力。