网络安全研究人员发现了两种截然不同的攻击,可以利用它们攻击现代英特尔处理器,以从CPU的受信任执行环境(TEE)中泄漏敏感信息。
所谓的SGAxe漏洞是今年初发现的CacheOut攻击(CVE-2020-0549)的演变,它使攻击者可以从CPU的L1缓存中检索内容。
“通过对英特尔提供并签名的架构SGX飞地进行扩展攻击,我们检索了用于通过网络加密证明飞地的真实性的秘密证明密钥,从而使我们能够将假飞地作为真正的飞地通过。”密歇根大学说。
第二种攻击方式是阿姆斯特丹VU大学的研究人员将其称为CrossTalk,它使攻击者控制的代码在一个CPU内核上执行,以运行在完全不同的内核上的SGX安全区为目标,并确定安全区的私钥。
TEE与英特尔的Software Guard Extensions(SGX)一样,指的是安全区域,它是处理器内确保代码和数据的机密性和完整性的区域。它提供了防范措施,防止恶意行为者入侵目标(虚拟)计算机,从而对敏感软件和数据进行修改。
SGAxe攻击:从SGX Enclaves中提取敏感数据
SGAxe基于CacheOut投机执行攻击来窃取SGX数据。据研究人员称,尽管英特尔采取措施通过若干微代码更新和新架构来应对针对SGX的侧信道攻击,但事实证明,这种缓解措施无效。
结果,这种利用会导致短暂执行攻击,该攻击可以从完全更新的英特尔计算机上恢复SGX加密密钥,该计算机受到英特尔证明服务器的信任。
证明书是作为SGX的一部分提供的一种机制,它使飞地可以向第三方证明它们已在正版Intel处理器上正确初始化。这样做的目的是确保CPU内部运行的软件未被篡改,并增强对软件在安全区域内部运行的信心。
研究人员说:“概括地说,我们使用CacheOut从英特尔生产报价区域的地址空间中恢复密封密钥。” “最后,我们使用恢复的密封密钥来解密报价区域的长期存储,以获得机器的EPID认证密钥。”
通过打破这种信任关系,SGAxe可使攻击者轻松创建通过英特尔认证机制的恶意隔离区,从而导致安全保障损失。
研究人员说:“由于机器的生产证明密钥遭到破坏,服务器提供的任何秘密都可以立即由客户的不受信任的主机应用程序读取,而据称由客户运行的飞地所产生的所有输出均无法得到信任。” “这有效地使基于SGX的DRM应用程序变得无用,因为任何预置的机密都可以被轻易地恢复。”
尽管英特尔在一月份发布了针对CacheOut的修复程序通过对OEM供应商的微代码更新,以及对最终用户的BIOS更新,SGAxe的缓解措施将要求修补CacheOut背后的根本原因(aka L1D Eviction Sampling)。
英特尔在一份安全通报中说:“重要的是要注意,SGAxe依赖于CVE-2020-0549,该漏洞已通过微码缓解(研究人员在其最新的CacheOut文件中确认),并已分发到生态系统中。”
芯片制造商还将执行Trusted Compute Base(TCB)恢复,以使所有先前签名的证明密钥无效。
研究人员说:“这一过程将确保您的系统处于安全状态,以便您的系统能够再次使用远程证明。”
CrossTalk攻击:跨CPU内核泄漏信息
SGX的第二项攻击是 CrossTalk(CVE-2020-0543),VU大学称之为MDS(微体系结构数据采样)攻击。它利用在所有CPU内核上均可读取的“分段”缓冲区的优势,在内核之间进行瞬时执行攻击,并提取在单独CPU内核上运行的安全区域的整个ECDSA私钥。
研究人员观察到:“登台缓冲区保留了先前在所有CPU内核上执行的脱核指令的结果。” “例如,它包含脱机硬件DRNG返回的随机数,bootguard状态哈希和其他敏感数据。”
换句话说,CrossTalk的工作方式是在临时执行期间读取登台缓冲区,以泄漏先前执行的受害者指令访问的敏感数据。
缓冲器保留来自RDRAND和RDSEED指令的输出的事实使得未经授权的一方可以跟踪所生成的随机数,并因此损害了SGX飞地的基础加密操作,包括上述远程证明过程。
VU大学研究人员表示,随着2015年至2019年发布的英特尔CPU数量不断增加,易受攻击的至强E3和E CPU数量不断增加,VU大学研究人员表示已与英特尔共享概念验证,证明2018年9月临时缓冲区内容泄漏,随后是PoC
该团队总结说,在2019年7月实施跨核心RDRAND / RDSEED泄漏。“缓解现有的瞬态执行攻击的方法基本上无效。” “目前大多数缓解措施都依赖于边界上的空间隔离,这些边界由于这些攻击的跨核性质而不再适用。针对这些指令锁定整个内存总线的新微代码更新可以缓解这些攻击,但前提是存在还没有发现类似的问题。”
为了回应这些发现,英特尔在解决程序漏洞的实施延长了21个月的披露期限后,于昨天解决了分发给软件供应商的微代码更新中的漏洞。
该公司建议受影响处理器的用户更新到系统制造商提供的固件的最新版本,以解决该问题。
*编译:Domino
*来自:thehackernews