本文转载自公众号“深科技(ID:mit-tr)”,原文标题《英特尔处理器被谷歌一团队爆出存在严重漏洞,1995年之后的系统都受影响 | 技术详解》。
2018 年 1 月 3 日,英特尔的芯片产品被爆出存在巨大的设计缺陷,不过微软和 Linux 的内核开发者都因为遵守“不披露协议”而没有明确表示漏洞细节。对于英特尔的消费者而言,其实这个漏洞本身是啥无所谓,最重要的是了解这个漏洞会对他们自身产生怎样的影响,以及如何防治。
这个设计缺陷能够引起两种网络黑客攻击,分别是“崩溃(Meltdown)”和“幽灵(Spectre)”。
“崩溃”是一种打破应用程序与操作系统之间隔离的攻击。当隔离消失后,软件就可以直接访问内存,从而直接调取其他应用程序和系统资源;“幽灵”则是一种打破不同应用程序之间隔离的攻击。它可以让黑客进行伪装,骗过系统的检测,最终达到调取资源的目的。
图丨崩溃原理演示
换句话说,英特尔处理器没有对两种访问方式进行限制,处理器直接给一些存在安全隐患的操作开了绿灯。
根据一位“崩溃”病毒制作者的描述,任何一个 1995 年后生产的英特尔处理器都可以受到“崩溃”的攻击。这也就意味着,该设计缺陷可能存在 20 多年了;“幽灵”的影响更大,任何处理器都可以被攻击,但是该种攻击类型开发难度高,运营成本大,通常不会用于攻击个人电脑。
除了个人电脑外,使用英特尔处理器和 Xen PV 的云服务供应商也会受到“崩溃”和“幽灵”的攻击。而且这些攻击对于云服务供应商来说,能够造成更严重的损失。
图丨“幽灵”攻击案例节选
目前这两种攻击方式都有与之对应的软件防护手段,分别是:Linux(KPTI),Windows 和 OS X 的 Meltdown 补丁。这也解释了为什么微软和 Linux 的内核开发者会加班加点制作补丁。
只是这些防护手段比攻击手段要滞后一些。而且,这两种攻击手段都不会留下任何痕迹,以至于计算机无法在被攻击时检测到问题所在。同时,这两种攻击手段和传统的病毒不同,安全防护软件很难从应用程序中检测到他们。
“崩溃”和“幽灵”均会造成个人本地信息泄露,如存储的照片、浏览器管理的账号和密码。虽然没有实锤,但是 DT 君认为,根据上文对“崩溃”和“幽灵”的描述,在座的各位可能已经中招了。
这些防护补丁不太靠谱
所以作为消费者而言,唯一能做的事情就是等待英特尔的固件升级、以及 Linux 和微软的系统升级补丁。然而事实就是,这些防护补丁会加大处理器的负荷,虽然防止了已有的“崩溃”和“幽灵”攻击,不过也会让处理器的运转效率降低 5%。
一位 Linux 的内核开发者指出,大多数工作负载都出现了个位数的减速,大概会降低 5%。但糟糕的是,因为所执行任务不同,网络测试的速度降低了 30%。这个补丁会减慢了系统调用的速度,例如编译软件和运行虚拟机这类系统调用任务,效率会因此而降低。
这段话实际上就是变相地在告诉消费者,这个补丁就是“一种限制”。英特尔处理器上并没有做出这种限制,他们给这些有安全隐患的操作留了一道门,而内核开发者需要在补丁中加入这道门。因此,处理器需要调用资源来维持这道门的功效,导致了整体运行速度下降。着实有点“拆了东墙补西墙”的味道。
要知道,英特尔处理器本身就因为兼容性的问题,导致每次迭代的效率提升较低,因此他们也被外界称为“挤牙膏”。再加上这个补丁所降低的运转效率,那么英特尔的口碑可能会更低。
英特尔发声明
事出不到一天,英特尔方面就给出了相关声明。原文如下:
英特尔和其他一些硬件厂商发现,某些新的软件分析方法可能被用于不正当目的:在用户正常使用期间非法收集计算机中的敏感信息。但我们相信这类安全漏洞并不会修改或删除用户数据,或导致数据系统崩溃。在这份声明中,英特尔没有公开设计缺陷,此外,英特尔明确表示这份声明是用来指责媒体不符合事实的报道。事实上,英特尔作为一个行业巨头,他们更应该发出一份关于漏洞和修复工作的声明,以刺激消费者恍惚的心情。
但最近关于只有英特尔的产品存在这类 bug 或缺陷的报道是不符合事实的。基于对数据的分析,很多类型的计算设备,包括其他品牌的处理器或操作系统,其实都存在这类安全漏洞。
英特尔非常重视自己的产品和用户安全问题,我们目前正在与其他厂商,包括 AMD、ARM,以及其他操作系统供应商全力合作,力图在全行业范围内推出应对方案。英特尔已经开始通过软件和固件升级的方式来封堵这类安全漏洞。目前的媒体报道有失偏颇,会对计算机性能造成影响的其实是计算负荷,而这对普通用户来说并不是什么大问题,同时我们也会很快进行修复。
一直以来,英特尔对潜在的产品安全问题都保持公开透明的态度,所以英特尔将与其他供应商一起公开目前遇到的问题,同时提供软件及固件升级。但英特尔在今天正式发布这份声明的目的是要纠正最近不符实的媒体报道。
英特尔再次敦促用户,请尽快与您的操作系统提供商或计算机设备供应商联系,以在他们推出解决方案后第一时间升级您的计算机。同时,在专用补丁推出前,对通用型杀毒软件进行升级也将对您的计算机有益无害。
当然,英特尔的老对头 AMD 肯定不会放过这次机会,虽然没有发声明,但是 AMD 官方指出他们安全研究团队已经发现了三个针对推测执行的变体。他们认为,AMD 的处理器并不会受其影响。由于 AMD 处理器的不同架构,这次的安全漏洞对他们的产品来说影响几乎为零。
AMD 也别高兴太早
谷歌的 Project Zero 团队对 AMD 所指出的事情产生了质疑,该团队发现,CPU 数据高速缓存时间可能会被滥用,这无疑加速泄漏了错误推测的执行信息,将导致(最坏的情况下)在各种语境下任意虚拟内存跨本地安全边界的读取漏洞。就已知的情况来看,这个问题的变种已经影响到了包括英特尔、AMD 和 ARM 的某些处理器。
于是他们通过 Intel Haswell Xeon CPU、AMD FX CPU、AMD PRO CPU 和 ARM Cortex A57 这四款处理器来做了一个实验,用来检测出在同一个进程中错误推测执行的数据读取能力。
图丨实验逻辑图
经过变体 1 验证后,Project Zero 得出结论:在具有发行版标准配置的现代 Linux 内核下以普通用户权限运行时,可以在 Intel Haswell Xeon CPU 上的内核虚拟内存中的 4GiB 范围中执行任意读取。如果启用了内核的 BPF JIT(非默认配置),那么它也适用于 AMD PRO CPU。在 Intel Haswell Xeon CPU 上测试时,经过约 4 秒的启动时间后,内核虚拟内存可以以每秒 2000 字节的速度读取。
变体 2 的验证结论为:在使用 Intel Haswell Xeon CPU 上的虚拟机管理器创建的基于内核的虚拟机内以超级用户权限运行时,在主机上运行的特定(已过时)版本的 Debian 发行版内核条件下,可以以 1500 字节/秒的速度进行读取,并且可以进行空间优化。在执行攻击之前,对于具有 64GiB RAM 的机器,需要执行大约 10 到 30 分钟的初始化; 所需的时间应该与主机 RAM 的数量大致成线性关系。
变体 3 则为:当以正常的用户权限运行时,可以在某种先决条件下读取 Intel Haswell Xeon CPU 上的内核内存。Project Zero 团队相信这个先决条件是目标内核内存在 L1D 缓存中。
这说明了什么?无论英特尔,还是 AMD,还是 ARM,大家的处理器都有问题,一个都别想跑!
一篇关于英特尔的阴谋论
当看到英特尔出事以后,Overlock 论坛的网友(喷子)们就坐不住了,他们迫不及待地表示,这是一个阴谋。
英特尔 CEO Brian Krzanich 在 2017 年 11 月 29 日向美国证券交易委员会(SEC)提交了一份 Form 4 股票交易报备表格。先前他持有英特尔股票 495,743 股,之后以两笔交易分别买出 242,830 股和 2,913 股,合计价值大约是 1100 万美元。在出售股票之后,他手头上还有 25 万股,不过这是根据英特尔公司章程要求担任 CEO 者必须持有的最低限度股数。
图丨英特尔公司章程高层人士和董事会成员应持有的最低股数
表格主要是针对公司内部高层人士的持股有所变化时,必须向 SEC 提出申报,Brian Krzanich 递交的内容大多数交易是行使员工股票期权,并出售在公开市场上以较低价格购买而来的股票。一般来说,公司高层人士经过申报交易股票属正常的金融理财行为,不过通常高层人士大量出售自家股票时,往往会被市场解读为不看好自家公司的发展,甚至有可能因为利空事件即将出现,而选择卖股套利。
因此当英特尔爆出 CPU 有重大安全漏洞时,Brian Krzanich 出售股票的新闻再度被外国媒体提及。受到处理器安全性瑕疵负面新闻影响,英特尔 1 月 3 日股价下跌 3.39 %,以 45.26 美元作收,竞争对手 AMD 股价走高,上涨 5.19 %,英伟达更大涨 6.58%,收在 212.47 美元。
不过这仍然停留在阴谋论的层面,没有像“崩溃”和“幽灵”那样的实锤证据。英特尔发言人虽然在1月4号表示,出售股票与安全漏洞事件无关。但是 DT 君认为,处理器是英特尔的主营业务,很容易影响到英特尔的股票变化,有理由相信 Brian Krzanich 的交易行为与英特尔处理器设计缺陷是相关的。
战况会愈演愈烈
这件事本身是发生在英特尔、AMD 以及 ARM 身上的,但是核心业务为 GPU 的英伟达也参与进来。他们表示会用 GPU 来缓解处理器发生的问题,并且分析了英伟达 GPU 产品所使用的 ARM SoC。
图片.png960x813 410 KB
图丨英伟达发声
从企业业务方面来看,英特尔的业务线包含了物联网、无人驾驶、5G、AI 技术等等,极为庞杂。因此让英特尔与之前本是合作伙伴的企业结了梁子,从而腹背受敌。那么,英特尔处理器设计缺陷一事,很有可能成为战争的导火索。英伟达选择在此时发声,无外乎就是在巩固黄仁勋之前“眼睛干掉大脑”的言论。
另一方面,360 刚刚完成 IPO,作为中国安全软件的龙头企业,他们也很有可能站出来发声,以此来改善用户心中“流氓软件”的地位。
数据安全是一个严肃的话题,尤其是当今,我们把大量的信息都以数字的形式存在了个人电脑以及云端。来自处理器的设计缺陷会致使这些数据被盗窃和滥用,导致用户损失个人财产。当 AI 技术商业落地后,安全漏洞和处理器效率的重要性几乎是等价的,他们分别影响了用户使用服务的保障以及服务体验。那么英特尔更应该做好这方面工作,如果他们还不想丢掉现在的地位。
DT 君目前正在坐等英特尔、AMD 等企业发布关于设计缺陷的技术纰漏以及安全细节声明,已有的声明分量还太够,也不能看出这些相关企业对待此事的态度。