腾讯科技讯, 5 月 15 日消息,据外媒报道,一年多前,安全研究人员披露了英特尔和 AMD 销售芯片中隐藏的两大安全漏洞,即“熔毁”(Meltdown)和“幽灵”(Spectre),它们让世界上几乎所有电脑都处于黑客攻击的危险之中。但就在芯片制造商争相修复这些漏洞之际,研究人员再次警告称,这些漏洞不是故事的结局,而是开始。“熔毁”和“幽灵”代表着一种新的安全漏洞,毫无疑问,它们将一次又一次地浮出水面。
今天,英特尔和安全研究人员共同宣布,他们在英特尔芯片中发现了另一个重大安全漏洞,它可以让攻击者窃取受害者的处理器接触到的几乎所有原始数据。事实上,最新发现包括四种不同的攻击类型,它们都使用了类似的技术,并且都能够从计算机的 CPU 向黑客窃取可能十分敏感的数据流。
MDS 攻击
参与此次发现的研究人员来自奥地利 TU Graz 大学、荷兰阿姆斯特丹 Vrije 大学、美国密歇根大学、澳大利亚阿德莱德大学、比利时 KU Leuven 大学、伍斯特理工学院、德国 Saarland 大学,以及安全公司 Cyberus、BitDefender、奇虎 360 和甲骨文。研究人员已经将这类攻击技术的变体命名为 ZombieLoad、Fallout 和 RIDL。英特尔本身将这些攻击技术称为微体系结构数据采样攻击(MDS)。
英特尔已经要求所有研究人员对他们的发现保密,有些要保密一年以上,直到该公司能够发布漏洞的修复程序。但与此同时,研究人员表示,该公司试图淡化安全漏洞的严重性。他们警告称,这些攻击是英特尔硬件的一个严重安全漏洞,可能需要禁用其某些功能,甚至超出了该公司的补丁修复范畴。
AMD 和 ARM 芯片似乎并不容易受到攻击,英特尔称其在过去一个月发布的许多芯片型号已经包括解决这个问题的方法。不过,研究人员在 2008 年测试过的所有英特尔芯片都受到了新安全漏洞的影响。 与“熔毁”和“幽灵”一样,新的 MDS 攻击利用英特尔芯片中“预测执行”(speculative execution)进程中的安全漏洞。在这种进程下,处理器提前猜测将要求它执行哪些操作和数据,以加快芯片的性能。
在这些新的案例中,研究人员发现,他们可以利用“预测执行”来诱骗英特尔的处理器获取敏感数据,这些敏感数据被从一个芯片的某个组件转移到另一个组件。与使用“预测执行”来获取内存中敏感数据的“熔毁”不同,MDS 攻击的重点是位于芯片组件之间的缓冲区,例如处理器与其缓存之间的缓冲区,这些分配给处理器的内存是为了将频繁访问的数据存在近处。
阿姆斯特丹 Vrije 大学 VUSec 团队的研究人员 Cristiano Giuffrida 发现了 MDS 攻击,他说:“这就像我们将 CPU 视为一个组件网络,我们基本上窃听了它们之间的所有交流。我们可以看到这些部件交换的任何消息。”
这意味着任何能够在目标芯片上运行攻击程序的黑客,无论是恶意应用程序、托管在目标所在云计算服务器上的虚拟机,还是在目标浏览器中运行 Javascript 的流氓网站,都可能欺骗 CPU,使其暴露应受保护的数据,使其免受在该计算机上运行的不可信代码的影响。这些数据可以包括用户浏览的网站、密码或解密加密硬盘的密钥等信息。
VUSec 将于下周在 IEEE 安全和隐私研讨会上发表的一篇关于这些安全漏洞的论文中写道:“本质上,MDS 攻击将隔离安全域,使黑客能够倾听 CPU 组件的胡言乱语。”
具有潜在的破坏性
四种不同的 MDS 攻击变体都利用了英特尔芯片如何执行其节省时间的技巧中的一个古怪之处。在“预测执行”进程中,CPU 在程序请求或猜测程序请求的数据之前,经常跟随代码中的命令分支,以获得领先优势。这种机制就像个懒散的侍者从他的盘子里随便拿出一杯饮料,希望能省得往返酒吧的繁琐程序。如果 CPU 猜测错误,它会立即丢弃它。
英特尔的芯片设计人员可能认为,一个错误的猜测,即使是提供敏感数据的猜测,也无关紧要。但 VUSec 的 Cristiano Giuffrida 指出:“CPU 将这些猜错的结果抛诸脑后,但我们仍然存在用于泄露信息的漏洞窗口。”
就像“熔毁”和“幽灵”一样,攻击者的代码可能会泄露数据,这些数据是缓存泄漏处理器从缓冲区获取的。整个过程最多会从 CPU 的一个缓冲区窃取几个字节的任意数据。但是连续重复数百万次,攻击者就可以开始泄漏 CPU 正在实时访问的所有数据流。使用其他一些技巧,低权限攻击者可以发出请求,说服 CPU 将敏感数据(如密钥和密码)拉入缓冲区,然后在缓冲区中被 MDS 攻击吸收。这些攻击可能需要几毫秒到几小时的时间,具体取决于目标数据和 CPU 的活动。
VUSec 研究员 Herbort Bos 说:“这很容易做到,而且具有潜在的破坏性。”例如,vuSec 创建了一种概念证明,它可以从目标芯片的名为“行填充缓冲区”的组件中提取出哈希密码,即一串加密的密码,经常被黑客破解。
为修复漏洞而战
英特尔在接受采访时表示,该公司研究人员去年就发现了首个 MDS 安全漏洞,现在它已经发布了硬件和软件漏洞的修复程序。每当处理器跨越安全边界时,针对漏洞攻击的软件修补程序会清除缓冲区中的所有数据,以便它们不会被窃取和泄漏。英特尔表示,在大多数情况下,该补丁的性能成本“相对最低”,不过在某些数据中心实例中,它可能会将芯片速度降低多达8% 或9%。
补丁要想生效,修补程序必须由每个操作系统、虚拟化供应商和其他软件制造商实施。苹果表示,作为最近 Mojave 和 Safari 更新的一部分,该公司发布了一个修复程序。谷歌和亚马逊也对受影响的产品实施了更新。Mozilla 表示,很快就会有解决方案。微软的一位发言人说,微软将于今天发布安全更新,以解决这个问题。
微软在声明写道:“我们已经意识到这个行业性的问题,并一直与受影响的芯片制造商密切合作,开发和测试缓解措施,以保护我们的客户。我们正在努力为云计算服务部署缓解措施,并发布安全更新,以保护 Windows 客户避免受到硬件芯片安全漏洞的影响。”VMware 没有立即回复有关修复程序状态的询问。
英特尔从上个月开始发布的部分芯片中已经包含了硬件补丁,它可以直接地解决这个问题,防止处理器在“预测执行”进程中从缓冲区中获取数据。英特尔发言人在一份声明中写道:“对于其他受影响的产品,可以通过微代码更新,以及从今天开始提供的操作系统和虚拟机监控程序软件的相应更新,来降低安全漏洞的影响。”
然而,与此同时,研究人员和英特尔对问题的严重性以及如何对其进行分类持有不同意见。TU Graz 和 VUSec 都建议软件制造商禁用超线程,这是英特尔芯片的重要功能,通过允许并行执行更多的任务来加速其处理,但可能使 MDS 攻击的某些变体更容易实现。英特尔坚持认为,这些漏洞并不能保证禁用该功能,这将给用户带来严重的性能损失。事实上,该公司对这四个漏洞的评级仅为“低到中等”严重程度,这一评级受到了 TU Graz 和 VUSec 研究人员的质疑。
例如,英特尔工程师认为,尽管 MDS 的漏洞可以泄露机密数据,但他们也从计算机的操作中泄露了大量其他垃圾信息。但安全研究人员发现,他们可以可靠地挖掘原始输出,以找到它们所寻求的有价值的信息。为了使过滤变得更容易,他们显示黑客可以诱使 CPU 重复泄露相同的秘密,从而帮助将其与周围的垃圾信息区分开来。
TU Graz 的研究人员 Michael Schwarz 说:“如果我们攻击硬盘加密机制,我们只在很短的时间范围内发动攻击,当密钥加载到内存中时,我们有很高的机会获得密钥和一些其他数据。有些数据将始终保持不变,而其他数据将发生变化。我们看到了最常发生的事情,这就是我们感兴趣的数据。这是基本的统计数据。”
或者,就像 VUSec 的 Bos 所说的那样:“我们从消防水管里喝水。如果你很聪明,仔细处理这些东西,你就不会被呛死,你就会得到你需要的一切。“。
淡化安全漏洞威胁严重性
研究人员认为,所有这些都令人怀疑英特尔对 MDS 攻击严重程度的判断。在 TU Graz 研究人员中,有三人研究了“幽灵”和“熔毁”攻击,他们对 MDS 攻击的评级大致介于这两个早期安全漏洞之间,其严重性低于“熔毁”,但比“幽灵”更糟糕。他们指出,英特尔对“幽灵”和“熔毁”的评价也是中等严重程度,他们当时并不认同这一判断。
VUSec 的 Giuffrida 指出,英特尔向他们团队支付了 10 万美元,作为该公司“漏洞赏金”计划的一部分,该计划旨在奖励那些警告该公司关键漏洞的研究人员。他们指出,这不是英特尔为小漏洞该付的钱。但他也表示,英特尔一度只向 VUSec 提供了 4 万美元的漏洞赏金,并附带了 8 万美元的“礼物”。Giuffrida 认为,这是为了减少公开曝光赏金金额,从而降低 MDS 漏洞的严重性。VUSec 拒绝了这个提议,并威胁称将退出漏洞赏金计划以示抗议。英特尔最终将奖金改为 10 万美元。Giufrrida 说“很明显英特尔在采取措施,这符合他们的利益。”
这么多研究人员几乎在同一时间段内发现了 MDS 安全漏洞显得有点儿怪异,但 TU Graz 研究人员表示,这是可以预料到的:“幽灵”和“熔毁”的发现为黑客打开了一个新的、非常复杂的、未被探索的攻击面,这可能会产生严重的后果。硬件中的基本安全漏洞将在未来很长一段时间内连续出现。 (腾讯科技审校/金鹿)