摘要:针对 CPU 底层设计缺陷的“幽灵”(Spectre)和“熔毁”(Meltdown)漏洞,让科技界陷入了相当尴尬的境地。为了应对这类特殊的安全威胁,业界协同使出了空前的努力,并推出了相应的补丁 —— 即便可能造成性能上的一定损失。遗憾的是,后...
针对英特尔处理器涉及到两种攻击方法,分别为Meltdown和Spectre,Meltdown涉及CVE编号CVE-2017-5753和CVE-2017-5715,而Spectre涉及CVE编号CVE-2017-5754。
Meltdown破坏了位于用户和操作系统之间的基本隔离,此攻击允许程序访问内存,因此其他程序以及操作系统的敏感信息会被窃取。这个漏洞“熔化”了由硬件来实现的安全边界。允许低权限用户级别的应用程序“越界”访问系统级的内存,从而造成数据泄露。
Spectre则是破坏了不同应用程序之间的隔离。问题的根源在于推测执行(speculative execution),这是一种优化技术,处理器会推测在未来有用的数据并执行计算。这种技术的目的在于提前准备好计算结果,当这些数据被需要时可立即使用。在此过程中,英特尔没有很好地将低权限的应用程序与访问内核内存分开,这意味着攻击者可以使用恶意应用程序来获取应该被隔离的私有数据。
由概念演示代码可知,其中两种攻击利用了‘熔毁’漏洞:
Melrdown-BR 可利用 AMD 与 Intel 处理器中的 x86 指令路径,而 Meltdown-PK 仅能绕过英特尔处理器上的内存保护密钥。
实际上,研究人员开发出了 8 种‘熔毁’漏洞攻击手段,但尚未让剩余的 6 种攻击手段发挥作用。
其余五个新漏洞都属于‘幽灵’变种,它们会影响 Intel、AMD、ARM 处理器。
其中有两个利用了分支目标缓冲区(Branch Target Buffer)、另三个则利用了模式历史表(Pattern History Table)。
研究人员已向各大芯片供应商通报了上述攻击,但收到的答复并不能让他们满意 —— 英特尔觉得没必要推送新的补丁、AMD 甚至不承认相关结果。
英特尔发表声明称,文章中纪录的漏洞,可通过部署现有的缓解措施来完全克服。
保护客户仍是我们的首要人物,在此要感谢格拉茨科技大学、imec-DistriNet、KU Leuven、以及威廉玛丽学院等团队正在进行的研究。
根据他们的研究,一些现有的补丁‘可能有用’,但不全然如此。
然而英特尔声称,他们的实验过程存在错误,在现实情境下无法成功实施攻击。
即便如此,研究人员还是决定忽略英特尔方面的说辞,在研究论文(PDF)中概述了如何修补上述漏洞。
【PS】“幽灵”漏洞打破了不同应用程序之间的隔离,即便是遵循最佳实践的无 bug 程序,其秘密亦有可能被泄露于攻击者面前。
尽管目前尚未有利用‘幽灵’或‘熔毁’漏洞发起的实际攻击报告,但我们还是推荐大家努力将设备保持在最新状态,以封堵这方面的隐患。