查看原文
其他

Intel CPU 易受新型的 SGAxe 和 CrossTalk 侧信道攻击

Ravie Lakshmanan 代码卫士 2022-04-06
 聚焦源代码安全,网罗国内外最新资讯!
编译:奇安信代码卫士团队

网络安全研究员发现了两种针对当代 Intel 处理器的攻击,可泄露CPU 可新执行环境 (TEE) 中的敏感信息。




第一种攻击名为 “SGAxe”,它是今年早些时候披露的 CacheOut 攻击 (CVE-2020-0549) 的演变版本,可导致攻击者从 CPU 的 L1 Cache 中检索内容。
美国密歇根州立大学的研究人员表示,“使用针对 Intel 提供和签名的架构 SGX enclave的扩展攻击,我们检索了用于通过密码证明 enclave 在网络上的真实性的秘密证明密钥,从而使我们能够将虚假 enclave 当作真实的 enclave。”
阿姆斯特丹自由大学的研究人员将第二种攻击称为 “CrossTalk” 攻击,可使受攻击者控制的代码在一个 CPU 内核上执行,以攻击在完全不同的内核上的 SGX enclave并判断该 enclave 的私钥。
TEE 类似于 Intel 的 Software Guard Extensions(SGX),指的是一个安全的 enclave,存在于处理器中的,用于确保代码和数据的机密性和完整性。它能够防御可入侵目标(虚拟)机器的恶意行动者修改敏感软件和数据。
     SGAxe 攻击:从 SGX enclaves 中提取敏感数据

SGAxe 构建于 CacheOut 推断执行攻击基础之上,用于窃取 SGX 数据。研究人员指出,虽然 Intel 采取多种措施解决通过多种微代码更新和新型架构攻击 SGX 的侧信道攻击,但缓解措施被证实无效。
因此该 exploit 可导致瞬时执行攻击,能够从完全更新的 Intel 机器中恢复 SGX 密钥,该机器受Intel证明 (attestation) 服务器的信任。Attestation 是 SGX 的一种机制,可使 enclave 向第三方证明已在真正的 Intel 处理器上得到正确的初始化。这样做的目的是确保在 CPU 内部运行的软件并未遭篡改且提升关于软件在 enclave 中运行的信心。
研究人员表示,“简言之,我们使用 CacheOut 恢复 Intel 生产引用 enclave 的地址空间内的密封密钥。最后,我们使用恢复的密封密钥解密引用 enclave 的长期存储,获取机器 EPID 证明密钥。”


破解这种信任后,SGAxe 使得攻击者能够轻易创建恶意 enclave通过 Intel 的证明机制,导致安全保证丢失。研究人员表示,“机器的生产证明密钥受陷后,服务器提供的任何机密都被客户的不可信主机应用程序读取,而所有声称由在客户端运行的 enclave生产的输出无法得到信任。它有效地使基于 SGX 的 DRM 应用变得无用,因为任何预置的机密都可被轻易恢复。”
尽管 Intel 在1月份通过对 OEM 厂商推出微码更新且随后通过向终端用户推出 BIOS 更新发布了 CacheOut 的修复方案,但 SGAxe 的缓解措施要求修复造成 CacheOut 的根因。
Intel 在一份安全公告中指出,“需要注意的是 SGAxe依赖于已在微码中缓解的 CVE-2020-0549并分发至生态系统。”Intel 公司将执行可信计算基 (TCB) 恢复以禁用所有之前签名的证明密钥。该研究员指出,“该进程将确保你的系统处于安全状态,这样你的系统就能够再次使用远程证明。”
     CrossTalk 攻击:泄露 CPU 内核中的信息

CrossTalk 漏洞 (CVE-2020-0543) 是第二个 SGX exploit,被自由大学称之为 MDS(微架构数据取样)攻击。它利用所有 COU 内核可读的 “staging” 缓冲区在所有内核中执行瞬时执行攻击并提取在独立 CPU 内核上运行的整个安全 enclave 的 ECDSA 密钥。
研究人员指出,“staging 缓冲区保留了先前在所有 CPU 内核上执行的脱核指令的结果。例如,它包含脱机硬件 DRNG 返回的随机数、bootguard 状态哈希以及其它敏感数据。”
换句话说,CrossTalk攻击的运作方式是在临时执行过程中读取 staging 缓冲区,泄露此前被执行的受害者指令访问的敏感数据。
缓冲区保留 RDRAND 和 RDSEED 指令的输出使得未经授权方能够跟踪生成的随机数,从而损害了 SGX enclave 的基础加密操作,包括上述提到的远程证明过程。
研究人员指出,从2015年到2019年发布的 Intel CPU (包括 Xeon E3 和 E CPU 在内)易受攻击影响,并和 Intel 在2018年9月共享了演示 staging 缓冲区泄露的 PoC,并在2019年7月实现跨内核 RDRAND/RDSEED 泄露的 PoC。
该研究团队总结称,“针对现有的瞬时执行攻击的缓解措施基本没有效果。当前的多数缓解措施都依赖于边界上的空间隔离,而这些边界由于攻击的跨内核性质而不再适用。针对这些指令锁定整个存储器总线的新微码更新可以缓解这些攻击,但前提是存在尚未被发现的类似问题。”
作为回应,Intel 在延迟了21个月的披露期限后刚刚在向软件供应商分发的伪代码更新中解决了这个缺陷问题。该公司建议处理器受影响的用户更新至系统制造商提供的最新固件版本。


推荐阅读

Spectre 攻击变体 SgxSpectre 现身 能从 Intel SGX 封装中提取数据

2011年至2019年制造的 AMD 处理器均易受两种新型攻击



原文链接

https://thehackernews.com/2020/06/intel-sgaxe-crosstalk-attacks.html



题图:Pixabay License


本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 www.codesafe.cn”。


奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的

产品线。

    点个 “在看” ,加油鸭~



您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存