2011 年以后制造的所有英特尔芯片都存在该问题。”近日,一则简短的消息震惊了整个科技界。全球最大的芯片厂商英特尔爆出重大安全漏洞,一款名为“ ZombieLoad ”(僵尸负载)的芯片漏洞被奥地利格拉茨理工大学(Graz University of Technology)的研究人员发现。
据安全人士透露,“僵尸负载”及其三个附属漏洞,会导致最近八年使用英特尔芯片的设备面临数据泄露的风险,黑客可利用该漏洞读取设备内存,获得密码、密钥等敏感信息。英特尔芯片占据全球 85% 以上的桌面 CPU 市场,这次“僵尸负载”一经曝光,便在全球信息行业引发广泛关注,所有的 MacBook,大多数 Windows PC ,大多数 Linux 服务器甚至许多 Chromebook 都将受到不小的影响。
何为“僵尸负载”
“僵尸负载”实际上由四个漏洞组成,根源在于“预测执行”(speculative execution)和“乱序执行”(out-of-order execution)。所谓“预测执行”,其实就是 CPU 推测它接下来会接受到哪些操作请求,同时在接到请求之前执行这些操作,以便在实际发出请求时节省时间。说的简单点,这个操作有点类似于我们常说的人工智能, CPU 通过收集用户数据,分析得出用户的操作习惯,这样就可以在我们发出指令前提前行动。
问题在于, CPU 在“预测执行”过程中,将大量用户数据放在 CPU 内存缓存中。缓存中的数据一般不会收到重重保护,一旦黑客通过某种特定的操作,比如引导用户安装带有恶意代码的软件,该软件就能造成英特尔 CPU “预测执行”崩溃,从而读取此刻位于英特尔 CPU 待执行命令缓冲区的所有当前运行的应用数据。如此一来,我们极有可能在完全不知情的情况下,被黑客轻松窃取账号密码、支付密码、家庭住址、联系电话等重要信息。
在漏洞测试过程中,研究人员还发现,黑客可以利用“僵尸负载”漏洞来查看一个人实时访问哪些网站,这样就可以很容易地获取用于用户在线输入的密码或加密文档。“在这里,我们将 CPU 视为一个网络,可以随意窃听他们之间的流量,”阿姆斯特丹自由大学的研究员克里斯蒂亚诺如此解释到。
史诗级芯片漏洞的延续
事实上,“僵尸负载”并不是第一个利用 CPU 内存缓存的漏洞。早在一年多以前,“崩溃” (Meltdown)和“幽灵” (Spectre) 漏洞,几乎席卷了整个计算机行业。“崩溃” 是英特尔特有的漏洞,由于英特尔处理器设计中允许猜测性非法访问的严重错误,“崩溃”漏洞很容易被利用。
“幽灵” 漏洞则是利用所谓间接分叉预测,英特尔、AMD 以及 ARM 架构的芯片都存在此缺陷。众所周知,桌面级 CPU 只有英特尔、AMD 两家,所有的手机 CPU ,包括苹果 A 系列、华为麒麟系列、高通骁龙系列在内,全都使用低能耗的 ARM 架构,所以“幽灵” 漏洞直接影响了所有 PC、笔记本电脑和手机。好在“幽灵”漏洞存在许多不确定因素,黑客利用起来相对困难许多,各大芯片厂商又及时推出了系统补丁,这才没引起大的安全灾难。
然而,当芯片厂商们还在庆幸这两个漏洞没造成大的损失时,就有研究人员警告说:“无论如何,这些漏洞不是故事的结局,而是开始,它们代表了一种全新的安全漏洞类别,可能会一次又一次地浮出水面。”事实果真如此,一年多以后,“僵尸负载”曝光,再度将广大用户置于安全阴影之下。
不仅仅是电脑
对于普通用户来说,大家可能一时难以明白这个漏洞的危害有多大,有些人甚至会想,既然这次的漏洞仅仅针对英特尔芯片,那么手机用户和使用 AMD 芯片的电脑用户自然就不用担心这个问题了。
不过,事情并没有这么简单。虽然在个人电脑 CPU 领域,英特尔仅占据 85% 的市场份额,可在服务器领域,英特尔 CPU 的市场份额高达 97%。也就是说,几乎所有的服务器,都在使用英特尔 CPU。
这次“僵尸负载”漏洞引起的安全危机,也将经由使用英特尔 CPU 的服务器传导到手机用户中。我们平常在玩手机时都会发现,随着使用时间的增加,手机 APP 会产生大量的用户数据。这些用户数据,APP运营者都得将其保存起来,以便用户随时调用。
大部分 APP 运营者并没有实力拥有自己的独立服务器,所以他们一般会租用阿里云等公司的超大型物理服务器集群,再通过软件切割出“虚拟服务器”存储数据。偏偏“僵尸负载”属于芯片设计缺陷,它可以在虚拟机中触发,并打破虚拟机与其他虚拟系统及其主机设备之间原有的隔离状态。因此,那些将数据寄存在虚拟服务器中手机 APP 也会因此受到影响。
如何应对
本质上,这次曝光的“僵尸负载”漏洞与“崩溃”、“幽灵”并没有什么不同,它们同样都是芯片设计缺陷引起的漏洞。一旦攻击真的发生,现有的安全软件很难对其进行抵御。因为它们利用芯片设计缺陷发起侧信道攻击,并没有使用病毒,攻击不会留下痕迹,往往攻击都结束了,受害者还一无所知。
好在英特尔官方在黑客们发起攻击之前就已经做出应对措施,英特尔已发布微码以修补易受攻击的处理器,包括 Intel Xeon,Intel Broadwell,Sandy Bridge,Skylake 和 Haswell 芯片,目前还没有任何“僵尸负载”被恶意使用的案例发生。个人电脑生产厂商,比如苹果、微软和谷歌都已经分别发布补丁,作为抵御可能攻击的第一道防线。