自2018年首次披露Spectre瞬时执行处理器设计缺陷以来,尽管业界已经投入了大量努力,但修复这个问题的工作仍然不尽如人意。Spectre攻击利用了现代处理器的推测执行机制,这种机制旨在通过提前进行计算来提高性能。然而,这些推测执行可能会导致安全漏洞,攻击者可以通过这些漏洞访问敏感信息,如密码和加密密钥。
新攻击细节
近日,瑞士苏黎世联邦理工学院的研究人员 Johannes Wikner 和 Kaveh Razavi 发布了一项新的跨进程Spectre攻击细节。这项攻击能够消除地址空间布局随机化(ASLR),并从最近的英特尔处理器上的Set User ID(suid)进程中泄露根密码的哈希值。
攻击原理
-
分支预测:现代处理器使用分支预测来猜测程序将采取的路径,以提前执行相关指令。这种预测与分支目标预测相结合,试图预测下一条指令的目标地址。 -
Spectre攻击:攻击者通过使分支预测器产生错误预测,导致处理器访问包含敏感信息的越界内存。随后,攻击者可以通过观察侧通道(如CPU缓存访问和功率波动)来推断这些敏感信息。
防御机制失效
间接分支预测器屏障(IBPB)是为了解决Spectre v2(CVE-2017-5715)攻击而设计的防御机制。IBPB旨在防止推测执行时转发之前学到的间接分支目标预测。然而,研究人员发现,这个屏障在某些情况下未能正确实现。
具体发现
-
英特尔处理器:研究人员在最近的英特尔微架构(如Golden Cove和Raptor Cove,分别出现在第12代、第13代和第14代英特尔Core处理器以及第5代和第6代Xeon处理器中)中发现了一个微码错误。这个错误保留了分支预测,即使IBPB应该使它们无效。 -
AMD处理器:研究人员还成功从使用AMD Zen 2架构的AMD处理器上的非特权进程中泄露了任意内核内存。
影响范围
-
英特尔处理器:第12代、第13代和第14代英特尔Core处理器以及第5代和第6代Xeon处理器可能存在漏洞。 -
AMD处理器:AMD Zen 1(+)和Zen 2硬件上的Linux用户可能受到影响。
安全补丁
-
英特尔:英特尔在2024年3月发布的一个微码补丁(INTEL-SA-00982)中修复了这个问题。然而,一些英特尔硬件可能还没有收到这个微码更新。 -
AMD:AMD在2022年11月发布了自己的安全公告(AMD-SB-1040),指出虚拟机管理程序和/或操作系统供应商需要在自己的缓解措施上做工作。
用户建议
-
更新微码:确保你的系统已经安装了最新的微码更新。对于英特尔用户,可以通过系统制造商提供的固件更新来获取这些更新。 -
操作系统补丁:确保你的操作系统和虚拟机管理程序已经应用了最新的安全补丁。 -
检查更新:定期检查系统更新,确保所有安全补丁都已安装。
尽管Spectre攻击的修复工作已经进行了多年,但新的攻击细节表明,这个问题仍然没有得到彻底解决。研究人员的发现提醒我们,处理器安全问题仍然是一个需要持续关注的领域。用户和系统管理员应确保及时更新系统和软件,以减少潜在的安全风险。
0条评论