设为首页收藏本站

游戏日论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 50|回复: 0

[其他] 要性能还是要安全?Intel漏洞性能测试对比:长舒一口气

[复制链接]

作为一个屌丝,我表示压力巨大&

  • TA的每日心情
    擦汗
    2016-12-14 17:38
  • 签到天数: 278 天

    [LV.8]以坛为家I

    UID
    43
    购物点数
    30268 点
    精华
    0
    积分
    67249
    帖子
    16566
    游戏币
    45795 枚
    好人卡
    681 张
    注册时间
    2011-2-22
    发表于 2018-1-6 20:38:49 |显示全部楼层
    这两天Intel再一次来到了风暴的中心。继之前ME爆出严重的安全漏洞之后,Intel CPU再一次爆出安全漏洞。
    比较要命的是这一次的漏洞修复会带来一定的性能损失。一时间各种消息风声鹤唳,什么CPU性能会掉30%,Intel CEO提前卖掉股票跑路等等。
    但是八卦归八卦,我们还是应该冷静下来看一下,这次的漏洞门对我们的日常使用到底有多少影响。
    关于本次漏洞:
    这次爆出的漏洞分为“Meltdown”和“Spectre”两个部分,两者的原理基本相同,但是攻击深度有区别。Meltdown是攻击到系统内核层面(例如WIN10系统的核心部分),Spectre则会直接访问系统内存,所以理论上破坏力更大。
    现在微软提供的系统补丁是针对Meltdown,Spectre则因为更为复杂,所以暂时还没有修复,只是由于攻击难度比较大,所以暂时还没有明确的攻击事件。
    目前来看Meltdown漏洞会影响到Intel和ARM不会涉及,AMD。Spectre则会影响到Intel\AMD\ARM三家大厂。
    由于Intel对猜测指令依赖性比较强,所以在这次的事件中波及最大。ARM虽然做了一些防御措施,但是有部分产品线是彻底沦陷的。AMD Ryzen因为是重新开发的,所以Meltdown不会涉及,但是Spectre一样还是会中招。
    之所以产生如此之大的争议,主要就是因为打上系统补丁之后CPU性能会有下降。
    从原理上简而言之,就是恶意程序可以利用CPU在指令集上的漏洞,触发CPU内部的猜测指令,使CPU会访问系统内存、缓存中所有的部分,从而获取敏感信息。
    只是这个攻击方式需要被攻击的数据在攻击触发时刚好出现在内存、虚拟内存或CPU缓存中,病毒必须足够聪明,所以攻击难度比较大。
    比较可怕的是这个漏洞同样可以攻击到RING 0层面,也就是Intel ME这个级别的CPU厂商保留区,理论上可以完全控制这台电脑。
    那么问题来了,为什么CPU内部会存在一个横贯20多年的漏洞?(Intel宣称1995年起的产品都中招)
    主要原因就是性能与安全的平衡。性能与安全、稳定性、成本之类的东西互相之间就像是跷跷板,产品设计的时候要考虑互相之间的平衡。
    打个比方我们家用的内存,理论上每运行600万次读写必然会出现一次错误,但是这对于消费级来说问题不大,所以就保留了下来。对应的在服务器级上,就要采用ECC内存,但是这就会带来不少代价,价格会贵不少,超频性能、延迟上也会比较难看。
    而CPU作为一个综合性的处理芯片,内部结构复杂,采用一些取巧的算法就很好理解了,不然CPU都做不出来。估计这个漏洞是硬件架构导致的逻辑漏洞。
    比方说芯片中会有“与门”这个元件,两个输入端入1和入2都显示为真,这个时候输出端才会显示为真,否则为假。那当首先检测的入1就是假,是不是入2就可以不检测了,反正输出的都是假。猜测指令的目的就是为了减少环节提升效率。
    以上的文字确实比较深奥,为了帮大家更容易理解,我来换个比喻帮助大家理解。
    CPU厂商就好比是一家做羊肉串的饭店。照道理羊肉串的竹签必须要先洗干净,高温消毒,再照紫外线,最后再检测才能去烤肉,但是烧烤的时候其实就可以把竹签杀菌杀干净。
    CPU厂商觉得他的烤串都是现串现烤,竹签上的病菌来不及产生毒素,所以CPU厂商就选择洗干净,然后火烤,把中间高温消毒、照紫外线给省了。这个漏洞就好比是病菌利用这个时间差产生了足够的毒素,结果吃的人就拉肚子了。不是特别确切,但是大致就是这个感觉。
    由于打上这个补丁会让CPU一部分的取巧的算法被屏蔽,所以会影响一定的性能。这对数据中心的影响最大。
    接下来我就针对家用环境先进行一下初步的测试。
    测试平台:
    这次的测试平台是I5 7500。这边利用到的是我正好做到一半的测试。本来想做一篇7500对比8100的内容,结果现在系统环境发生了明显的变化,所以之前的测试等于作废。所以这个做到一半的测试就被我拉过来对比。
    从Intel给出的说法,6、7、8三代受到的影响比较小。
    针对老平台的测试我还需要有时间准备,所以先针对市售比较集中的产品吧。

    性能测试结论:
    系统带宽测试中,可以看到变化比较明显的是L3的读写有一定幅度的下滑。这应该跟指令集的命中率有关。
    CPU理论性能上,总体变化也不大,可以看到整数和浮点运算都有小幅度的下滑。
    CPU基准测试会包含较多不同的软件,大多也是出现比较小的性能下降。
    CPU渲染测试,从CINEBENCH上看他也是一样,差距可见但不大。
    3D物理测试是截取3D基准测试的物理计算部分,这是跟CPU有关的项目,情况同上。
    3D基准软件测试比较好玩,打了补丁之后总体居然提升了1%。不过特定软件在高负载下性能下滑比较明显,比方说3DM11的X分,Catzilla的4K测试。游戏性能还来不及测试,后续补上。
    测试总结:
    其实结论很简单,对于6、7、8三代影响不会很大(因为都是马甲,7500可以类比很多产品)。
    从性能来说是会性能下滑肉眼可见,但是幅度很小,所以用1151四核的人可以不必太纠结。
    按照目前得到的说法,六代酷睿之前的产品受影响比较大,越早的产品相对受影响会越大。给大家一个参考,4790K预计会有8%左右的性能下滑。
    关于本次的测试:
    由于是突发事件,所以没有足够的时间进行性能测试。集合目前看到的一些文章,对游戏和NVMe SSD的影响预计会大于基准测试。
    关于基准测试的部分,也有部分人说CINEBENCH性能下降非常显著(CHH上7300U)可能是CPU本身比较弱,在后台较杂的家用环境下,补丁的负优化效果被放大了。
    关于更新策略:
    这个事件中,大家最纠结的应该就是“要不要打这个补丁”。
    从目前的测试来看,6、7、8三代酷睿的受影响程度会比较小,可以考虑先打上这个补丁,但是对于之前的产品,由于补丁的性能影响会比较大,且攻击方式比较特殊,没有具体的攻击案例,所以可以考虑观望一下。
    关于Intel自身:
    虽然目前测试下来,对于家用电脑,比较新的CPU预计性能影响不会太大,但是从这个事件上来说,似乎Intel也是早有准备。
    因为之前6700K首发的时候,我就发现一个比较奇怪的问题,67K的整数性能调整很大,24和32位整数性能加强了很多;CPU缓存的带宽也提升很明显;同时CPU性能受到内存性能的影响也变大。但是总体性能与4790K的差异并不够明显。
    之前我认为可能是酷睿架构经历这么多年的演变,架构程度度太高,所以提升计算能力也无法继续提升性能,但是这个漏洞影响到的就是内存与缓存的性能(是不是刚好跟上面的对上了?),所以似乎六代酷睿的时候,Intel已经为这个补丁的爆发做了准备。
    如果真的是这样的话,至少新产品问题会比较少,也算是聊表安慰。
    [发帖际遇]: junowu终于打算今天不“无鞋”了,穿上鞋发现里面塞着1 点 购物点数。 幸运榜 / 衰神榜
    ↓辛苦攒来的三台机↓
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    会员排行|Archiver|手机版|游戏日 ( 粤ICP备12028561号   

    GMT+8, 2018-1-23 02:08 , Processed in 0.097239 second(s), 30 queries .

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回顶部