PCEVA,PC绝对领域,探寻真正的电脑知识
开启左侧

近期CPU漏洞问题之我见

[复制链接]
nighttob 发表于 2018-1-27 22:58 | 显示全部楼层 |阅读模式
点击数:2867|回复数:35
注意:只是个人看法。LZ虽然算是在业界混,但并不搞开发或者研究,只是工作需要+个人爱好稍有了解。以下举例和阐述必然有不到位的地方,仅供参考。

某天老板要去北京出差,秘书为老板安排好了行程和食宿。

你是公司的一名中层管理人员,第二天发现老板没出现在办公室,猜想老板可能是去北上广深某地出差了。想到自己和老板秘书私交不错,于是直接向秘书打听老板去了哪儿。但秘书很正直,以公司规定为由不告诉你。
你不甘心,又过了一天,向秘书提出春节前北上广深的分公司要办年会,需要安排食宿,请秘书帮忙推荐。秘书答应了,不一会儿就把北京的资料发了过来,之后又把上广深的发来。
这时候你就基本确定老板是去北京出差了。
以上这个“例子”就是这次CPU漏洞中一种攻击手段的形象化举例。在这个例子中,“老板”是虚拟机A,“你”是虚拟机B,“秘书”是虚拟化软件,“公司”则是CPU。

虚拟化的一个重要作用就是给资源做虚拟分隔,使虚拟机只能访问自己所有的数据,不能越权,所以虚拟机B要直接去访问虚拟机A所有的数据理所当然会被拒绝。但这种攻击很精妙的一点就是,虚拟机B转而访问共有的数据(或者说非虚拟机A独占的数据),并从结果中推测出本想要的数据。

这就是所谓的“旁路攻击”,通过“时间差”分析得到了所需的数据。

造成这些漏洞的原因是现代CPU的缓存及分支预测机制设计——预测哪些数据需要重复利用并留在缓存中。

毫无疑问的是,缓存和分支预测都是为了提升运行效率。“秘书”为了给“老板”安排行程食宿必然会去搜集一些资料,这些资料在使用完毕以后并不会被立即丢弃,正巧后来“你”问到了,所以就再利用到了。其他地区的资料需要着手再去收集,这就与已有的资料产生了时间差,从而使“你”推测出“老板”去了哪里。而这一切都符合公司的规定,没有人做错。

正是因为这种设计应用的非常广泛,所以媒体报道的时候会说这个漏洞影响到了近20年几乎所有CPU。不过,影响很广泛不假,但影响有多大就因人而异了。

俗话说看热闹的不嫌事大,媒体就是这样,职责就是把吃瓜群众忽悠起来。但实际上这个漏洞对广大吃瓜群众几乎可以无视。

为什么这么说?因为这个漏洞有一个关键点——就是需要在本地执行攻击代码,而不能通过远程的方式进行攻击。

“你”和“老板”都是公司体制下的一员,所以“秘书”有职责去做。但如果出现一个不属于“公司”的“第三人”问“秘书”这些问题,“秘书”完全没有义务去回答。

我们当然可以说,“第三人”让“秘书”开口的方法有很多,但这就不是这个漏洞的问题了。事实上也是如此,比这个漏洞更加实用”的还有很多,还有那些自己请来的以及不请自来的。更何况在PC领域内,每个人即是“老板”也是“秘书”,根本不会对权限划分的太清,也就不用考虑“越权”的事。

真正受到巨大威胁的是那些公有云服务供应商,比如微软Azure、亚马逊AWS和阿里云这种,他们卖的就是虚拟机的服务。如果虚拟机之间的屏障没了,那就相当于一夜回到解放前,整个行业GG。善哉的是,这些公司都不是等闲之辈,基本都在第一时间采取了有效措施,当然他们离Intel这些原厂更近,更便于拿到第一手信息去解决问题。

通过上面的分析,我们可以得出,要解决这个问题其实也很简单——那就是把缓存的数据丢掉。所以Intel推出了CPU microcode,操作系统厂家推出了补丁。但因为肇因是根深蒂固在CPU硬件上的,microcode只是引入了一项新功能,使操作系统补丁中的措施得以实现。所以建议都是不仅要刷BIOS,还要安装系统补丁。

这个解决方案的副作用也很明显,那就是CPU效率明显变低了,特别是在处理IO请求的时候,这种IO请求包括存储和网络等等。所以大家关心的跑分成绩都下降了,而且越是高性能的存储下降的就越明显。在存储区那边也有人发帖提到了,Optane的跑分几乎腰斩,或者原本轻松愉快(<5%)就能达到的成绩,现在需要使出吃奶的劲(>50%)才能达到。

到了应用这端,像大型数据库,高性能软件定义存储上面,这种极度吃IO的应用就会收到拖累。实际上这两种应用几乎不会受到漏洞的影响,理由还是那个——需要在本地执行攻击代码。至少我是没见过哪个大型数据库或者高性能存储是在本地使用的。因此,操作系统厂商,像微软和红帽等,针对数据中心产品,如Windows Server和RHEL都提供了“可选”的补丁,让用户自己决定是为了安全还是性能。

什么?你问为什么对普通PC用户没有这个待遇。抱歉,我觉得这还真没必要多此一举。普通用户从来不知道自己需要什么,只要统统推给他们就行了。而且我相信普通用户不是每天正经事就是跑AS SSD。

虽然Intel和软件厂商都在第一时间拿出了解决方案,但好事多磨的是Intel自己发现新的microcode可能造成莫名宕机和重启。也就是说,新microcode中引入的功能,未必能给你起到保护作用,反而会造成更加直接的损失——宕机。要知道数据丢没丢这个很难去分析,性能下降了还可以忍,但不知道什么时候就死机,这可是实打实的SLA灾难。更苦的是全球这几大OEM厂商,最开始几天爆肝出新版BIOS,后面没过几天又不得不全部撤回,还得让自己的客户把BIOS降回去,这一升一降能变砖多少机器就可想而知了。所以这也不能怪那些大拿们狂喷Intel,只不过AMD更不给力。Intel这边只是有被旁路攻击的风险,而AMD是特定应用100%死。

写了这么多,最后总结一下。

不论是“幽灵”还是“熔断”,只是一种数据泄露的可能性,毕竟是要靠推测的。这俩漏洞虽然涉及面广,但危害程度取决于应用环境,有的是切身相关——云服务商,有的是连带波及——数据库、高性能存储,更多的是屁事都没有——比如正在码字的我。

论坛里虽然卧虎藏龙,但我相信占绝对多数的还是吃瓜群众,要不要打补丁的事,并不只是针对CPU漏洞,就是一个习惯问题。那些请来的和不请自来的牛鬼蛇神,还有众多并不知名的大小漏洞,远比这个看似天大但实际难用的漏洞危害大的多。

评分

参与人数 1代金券 +50 收起 理由
石头 + 50

查看全部评分

红色狂想 发表于 2018-1-27 23:19 | 显示全部楼层
不错,写的通俗易懂,文字量也不长,受教了,关于这个漏洞我就没怎么关注。
tsammammb 发表于 2018-1-27 23:30 | 显示全部楼层
对于桌面应用这漏洞很难起作用,很多老主板包括Intel的原厂主板都没有bios更新
打了熔断的系统补丁,也没觉得有变慢
jerrytsao 发表于 2018-1-28 00:36 | 显示全部楼层
对于普通用户, 就是那些最嫌事小的人可以有料来掀起Intel vs AMD的战争, 他们才不管个中细节
xufei1977 发表于 2018-1-28 00:46 | 显示全部楼层
学文科的表示看不懂但放心了
gxh5720 发表于 2018-1-28 08:53 | 显示全部楼层
听说arm的处理器也受到影响 而恰恰安卓就是运行在虚拟机上的
来自安卓客户端来自安卓客户端
yhhuada66 发表于 2018-1-28 09:31 | 显示全部楼层
了解了,反正对我这种装完系统就关闭自动更新的人没影响
来自苹果客户端来自苹果客户端
bill1818 发表于 2018-1-28 09:57 | 显示全部楼层
我个人觉得越打补丁越慢,一直拒绝更新
来自安卓客户端来自安卓客户端
暴疯狂笑 发表于 2018-1-28 10:03 | 显示全部楼层
对于论坛的绝绝绝对对对大多数人来说:流氓软件才是直接相关的。

什么漏洞之类的,和流氓软件一比,直接可以忽略。
zywb 发表于 2018-1-28 11:14 | 显示全部楼层
言简意赅,通俗易懂,楼主不当老师有点屈才了
overthink 发表于 2018-1-28 20:01 | 显示全部楼层
科普文章,通俗易懂,一级精华。@石头
dy4932 发表于 2018-1-28 21:33 | 显示全部楼层
作为个人用户,我一直觉得这漏洞比那些全家桶和弹窗省心。
我看过相关报道,对那些跟帖大呼小叫的之微微一笑,甚至认为这是intel卖产品的诡计;看过楼主的帖子后释然了。
xudaiqing 发表于 2018-1-28 23:09 | 显示全部楼层
本帖最后由 xudaiqing 于 2018-1-28 23:11 编辑

好多地方都搞错了吧。
硬件虚拟化不受漏洞影响,各种虚拟化环境的补丁主要是为虚拟机传递CPU微码更新。除了xen pv(虽然几年前就被xen hvm取代了),这下基本等于判了死刑,受影响的我知道的只有阿里和亚马逊的早期型号。
要说对云厂商有影响就只有平均负载提高后超卖更难了吧。

而且不运行不可信的程序就不会触发,这在服务器上很容易实现,所以才是可选开关的。
而在个人电脑上不运行不可信的程序是不可能的,比如javascrpt(所以浏览器都在打补丁降低高精度时钟的精度),比如flash。
sss668800 发表于 2018-1-28 23:54 | 显示全部楼层
说的很形象,我就是楼主说的吃瓜群众
nighttob  楼主| 发表于 2018-1-29 06:54 | 显示全部楼层
xudaiqing 发表于 2018-1-28 23:09
好多地方都搞错了吧。
硬件虚拟化不受漏洞影响,各种虚拟化环境的补丁主要是为虚拟机传递CPU微码更新。除了 ...

我只描述了一种可能的攻击方式,让“吃瓜群众”有个初步认识

至少从结果来看,公有云是受影响最大的,这一点毫无疑问。

aotclotrr 发表于 2018-1-29 08:53 | 显示全部楼层
z370tachi   刚刚打了华擎新版BIOS  突然就发现新版BIOS从官网被撤下了......哎 于是重新刷回旧版BIOS
kmdizzy 发表于 2018-1-29 09:08 | 显示全部楼层
在国产全家桶面前,这些漏洞都是战五渣
Darkteeth 发表于 2018-1-29 12:26 | 显示全部楼层
看来有必要抽时间好好看一下AMD处理器到底受不受两个漏洞影响了...学艺不精.jpg(手动捂脸)
eterfinity 发表于 2018-1-29 12:38 | 显示全部楼层
据我所知(可能不太准确), 微软的补丁已经对服务器硬件有所影响,比如更新补丁后带缓存的阵列卡启动VD内用户数据有概率发生hash验证不一致,就算write through模式也有影响.
Mufasa 发表于 2018-1-29 12:52 | 显示全部楼层
系统补丁不好判断,让它自动装。。。。


但是BIOS我可懒得刷,很多旧机器的BIOS早就停止更新了。

我保证数据安全的办法是离线备份,黑客根本黑不掉这种离线备份。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部