就在英特尔还在为了上一个 Core 处理器安全性问题焦头烂额的同时,现在又被安全专家们发现了另一个漏洞,而且这个漏洞相对要严重更多,影响范围更是广及近二十年左右所有的 Intel 处理器和部份 ARM、AMD 处理器。准确的说,这次的漏洞分成两类,分别取名为「Meltdown」与「Spectre」,两者都与 CPU 本身的硬件设计有关,分别利用了处理器的「乱序执行」机能与「分支预测」机能,让恶意代码可以从 CPU 当中偷取本应受保护的资料。
Meltdown 是两者当中相对比较容易被利用的一个,因此严重性也要大得多。正常来说,每一个进程都是独立的,不应该能看到其他进程的资料,但安全专家发现,在英特尔的处理器(和 ARM Cortex-A75)中,因为乱序执行(Out-of-order execution)在处理资料时是将所有进程混在一起,因此用特别编写的代码,是可以指定位置,「偷取」其他进程的资料的。由于这是个硬件上的设计瑕疵,因此无论是什么操作系统,只要是有乱序执行的处理器(基本上所有 1995 年后的 Intel 处理器都有)都会受到影响。
Spectre 则是难度高一点的另一种手段,操作处理器的分支预测(Branch Prediction)机能,欺骗受害的进程将指定位置的资料放出来。这个漏洞就不限于 Intel 处理器,而是 AMD 和 ARM 处理器都有中招的可能。不过由于 Spectre 操作困难,因此顾虑稍微小一点,但同时想要避开的话要由操作系统和软件本身双管齐下才行,所以想要完全防堵更加困难。
目前还没有利用这两个漏洞的案例发生。以长远来看,所有未来推出的处理器势必都将从硬件上修正这两个漏洞,但当下来说,只能靠软件的方式来弥补,只是推测这有可能会大幅影响市面上处理器的性能,特别是 Meltdown。确切的影响程度取决于工作的种类,一般人上网打游戏不一定会有很明显的感受,但云端应用,尤其是虚拟机器,有可能性能会打上 5%~30% 的折扣。
微软表示已经释出更新给一般民众,建议大家立即安装,同时 Azure 服务器平台也已更新完毕,「大部份」的客户应该不会感受到速度有明显的差异。苹果这边则是虽然没有官方声明,但安全专家 Alex Ionescu 指出在 macOS 10.13.2 更新出已经包含相关的修正,如果还没更新到 10.13.2 的朋友也请尽快更新。最后,Google 表示绝大部份的 Android 机器上要利用这个漏洞是「困难而受限」的,但依然为自家的全系列手机提供了更新,并会全力协助合作的手机商针对性地强化系统。
终归来说,对于我们一般人除了尽快更新电脑,并和往常一样小心别乱点链接或下载文件之外,能做的事并不多。倒是 AMD 似乎成为了整起事件最大的受益者,在这个 Intel 和 AMD 竞争渐趋白热化的时代,如果证实软件解决方法对 Intel 处理器性能有可感受到的影响的话,似乎让天秤向 AMD 倾斜了不少啊。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/116423.html