数码科技

Intel CPU的重大硬件安全bug "Meltdown",修复后会降低最多30%性能【更新】

本文地址:http://www.moepc.net/?post=4033

更新Windows上的Meltdown补丁检测方法

要修复这些漏洞还需配合BIOS微码更新。

这是微码更新后的完全体:




操作系统版本要求:

Windows 10 (RTM, 1511, 1607, 1703, 1709)
Windows 8.1
Windows 7 SP1


安装2018年1月3日的安全更新

然后运行PowerShell,下载模块
Import-Module PowerShellGet

安装PowerShell模块的代码

PS > Install-Module SpeculationControl

运行PowerShell模块,验证保护是否启用

PS > Get-SpeculationControlSettings

会显示如下代码:

PS C:> Get-SpeculationControlSettings

Speculation control settings for CVE-2017-5715 [branch target injection]

Hardware support for branch target injection mitigation is present: True

Windows OS support for branch target injection mitigation is present: True

Windows OS support for branch target injection mitigation is enabled: True

Speculation control settings for CVE-2017-5754 [rogue data cache load]

Hardware requires kernel VA shadowing: True

Windows OS support for kernel VA shadow is present: True

Windows OS support for kernel VA shadow is enabled: True

Windows OS support for PCID optimization is enabled: True

是True的就代表开启了。完全修复需要全部为Ture,AMD处理器不需要修复Meltdown [CVE-2017-5754,rogue data cache load]


AMD处理器不受Meltdown影响,因此VA shadowing为False

img002.png

Intel处理器受Meltdown影响,因此需要VA Shadowing

img001.png

这只是Windows补丁的检测方法。Windows补丁对性能影响并不大。Windows补丁+BIOS微码更新都生效的时候,才会有比较明显的影响。

=====早前的内容 2018/01/03========


正在流传关于Intel CPU重大硬件bug的消息,该bug【现在还处于保密状态】导致的安全问题直接影响到Amazon、Google等巨型云服务商,能够直接对同一台主机内的其他虚拟机进行读写操作


img001.jpg

QQ截图20180102223309.png

相应的补救措施正在进行中,据称修复后对硬件性能会带来最高30-35%的负面影响。


更新去年11月的一则补丁信息:通常会有个位数的性能影响,平均5%;但最差的情况下性能会降低30%,比如有大量syscall(系统调用) 和context switch(上下文切换) 的环回网络测试


Phoronix的最新测试表明个别极端情况下会超过50%。


img002.jpg

更新Phoronix对Linux补丁的性能测试,I/O,SQL等测试性能下降明显,部分项目超过50%。

这是Phoronix今年1月3日在Linux 4.15的测试。


QQ截图20180103132434.png

QQ截图20180103132441.png

QQ截图20180103132448.png

本文地址:http://www.moepc.net/?post=4033

QQ截图20180103132454.png

QQ截图20180103132521.png

QQ截图20180103132529.png

x264等基本只活动于用户空间的程序则基本不变


QQ截图20180103132501.png

QQ截图20180103132507.png

QQ截图20180103132512.png

本文地址:http://www.moepc.net/?post=4033

Linux游戏性能没有变化


QQ截图20180103132538.png

QQ截图20180103132545.png

QQ截图20180103132552.png

QQ截图20180103132559.png


Epicgames称Fortnite的后端服务之一打了Meltdown补丁后导致登录问题和服务不稳定
主机负载情况如下

QQ截图20180106201328.png


Elasticache Sauce服务器

img003.jpg

 AWS EC2 Sauce

img001.jpg

EVE Online服务器

img002.jpg

img004.png


不影响.jpg?】



Page Table Isolation (PTI)正被被迅速引入Linux4.15内核标准,还被移植回了4.14。大量内核改动被放进KAISER 系列补丁,首次发布是在10月。



QQ截图20180102223657.png

点击查看原图

本文地址:http://www.moepc.net/?post=4033

QQ截图20180102231514.png

概念很简单,当进程在用户空间中运行时,通过尽量不在进程页表中映射Linux内核,阻止试图从非特权用户空间的代码对内核虚拟地址范围进行的识别。


抽象来讲,当用户代码在CPU中运行时,会移除内存管理硬件中内核地址空间的所有信息。


该代码已经涉及到了内核的基础 – 核心部分,而且补丁的优先级非常高,十万火急



QQ截图20180102224004.png

通常Linux内存管理的补丁,在整合前很久就会发布首个reference,然后经历无数轮测试、退回、测试、退回的轮回。


而KAISER(现在称KPTI)在3个月内就完成了整合。

那行X86_CPU_BUG_INSECURE的flag已经足够明显…附带“CPU不安全,需要PTI”的注释


微软从去年11月也开始进行类似功能 – ASLR/VA Isolation的开发,Windows 10 Fast Ring的用户应该很快会收到补丁。

img001.png

QQ截图20180102223348.png

PTI是给Intel CPU准备的,为的就是解决Intel CPU硬件bug导致的安全问题。PTI影响到虚拟内存等核心功能,因此在某些情况下会带来极大的性能损失:i7-6700【Skylake-S】降低29%性能;i7-3770S【IvyBridge-S】会损失34%性能。受影响的是所有乱序执行的 Intel处理器,免于其难的只有Itanium和顺序执行的Atom – Saltwell和Bonnell。


AMD Linux内核/软件工程师 Thomas Lendacky称AMD CPU由于架构上并不允许memory references,并不受这类bug的影响,也无需开启PTI


QQ截图20180102231346.png


【0104更新:AMD提交的PATCH已经整合进Linux 4.14.12和4.15.RC7,不必担心和Intel一起性能受损失了。


– /* Assume for now that ALL x86 CPUs are insecure */
– setup_force_cpu_bug(X86_BUG_CPU_INSECURE);
+ if (c->x86_vendor != X86_VENDOR_AMD)
+ setup_force_cpu_bug(X86_BUG_CPU_INSECURE);

如果CPU不是AMD的,就会强制开启PTI。】


img003.jpg


本文地址:http://www.moepc.net/?post=4033

via:https://www.reddit.com/r/sysadmin/comments/7nl8r0/intel_bug_incoming/?st=jbxs4ws8&sh=9ece41ac

更新:Phoronix

https://www.phoronix.com/scan.php?page=article&item=linux-415-x86pt

MOEPC.NET编译,转载请保留出处。

剧毒术士马文

留学中 uarch|HPC|FPGA|RISC-V 联系方式:discord 或者 weibo DM,其他平台见到的基本不是我。 pfp: hoshi @hoshi_u3

相关文章

62 评论

  1. 日咯,今天把华擎X99的bios更新了,补丁全部生效,然后AIDA64里FPU VP8从6700分暴降至5700分!!!

    1. @看戏:Intel-SA-00086和Meltdown、Spectre无关。
      是去年就说了的ME漏洞。
      影响所有带ME/AMT的Intel处理器
      1st, 2nd, 3rd, 4th, 5th, 6th, 7th & 8th Generation Intel® Core™ Processor Family
      Intel® Xeon® Processor E3-1200 v5 & v6 Product Family
      Intel® Xeon® Processor Scalable Family
      Intel® Xeon® Processor W Family
      Intel® Pentium® Processor G Series
      Intel® Atom® C3000 Processor Family
      Apollo Lake Intel® Atom Processor E3900 series
      Apollo Lake Intel® Pentium™
      Celeron™ G, N and J series Processors

  2. 看来马先生也是选择和你口中的“无良媒体”一样只会用30%这种极限数字放在标题里吸引眼球呢。目前来讲在事态稳定下来之前5-30%也只是一个估计而已,而像STH说的“大部分情况下不超过0.5%”的观点也有。
    不管你的目的是不是fearmongering,读你文章的读者不会去细究到底什么样的工况下受影响大什么样的工况下几乎没有影响吧,总之你很廉价地把“Intel CPU性能遭受沉重打击”这种观点输出给了读者。

    1. @ssnitrousoxide:你可能连文章都没仔细读。
      而且我的标题是给我站的读者看的
      并不存在吸引其他人眼球的需求。

    2. @ssnitrousoxide:倒不是估计,Phoronix实测最狠降50%以上
      当然你可以说他测的不全面,但30%也算是有事实为依据的。

  3. Xeon-w也受影响吗?macOS修复Meltdown之后会对性能有影响吗?iMac Pro怕不是要凉凉……

  4. 这两个漏洞是不是有一个AMD也有?只是因为预测机制不同所以实测并不能用类似代码复现?

    1. @灰狐:这个漏洞,想利用第二个要先利用第一个,然而AU几乎不受第一个影响。。。

      1. @剧毒术士马文:难怪我ryzen5变成i3了,我就估计是等级啥的

  5. 一惊喜我这 AMD 没事,仔细一想,特喵的我这 AMD 是显卡。。。

  6. 目前来看好像缺少windows下实际应用的性能损失数据,现在的测试是只有linus的嘛

    1. @香霖堂杂工:Meltdown漏洞目前的软件修复的实现在Linux和Windows上是一致的,都是系统调用/中断的时候加载内核页表,结束退出的时候清内核页表,这意味着就性能影响而言Linux和Windows应该都差不多。特别是服务器这方面是重灾区(虚拟机、SQL数据库、各种网络协议服务器软件等等)。

    1. @whz1995:早就看到了。
      相应的帖子会出的。
      第一个漏洞是Meltdown,严重程度要高于第二个Spectre,
      AMD架构对其免疫
      Intel的设计导致这个漏洞,需要PTI修复,损失很大性能。
      第二个是Spectre,有两种攻击方式,攻击的难度要高于Meltdown
      第一种可以通过系统补丁解决,对性能几乎没有影响。Intel的对策未知。
      第二种AMD称几乎没有任何威胁,最新的AMD处理器没有问题,同样,Intel的对策未知。

      1. @剧毒术士马文:Spectre影响所有乱序执行架构,顺序执行则没有问题,所以以前的顺序架构的atom逃过一劫,当然你可以选择切掉所有的缓存,这样一来bug就没有了,但是这个性能么和直接关机没啥两样。目前来看Spectre很难修复但其本身很难被利用,所以影响不大。
        AMD没有Meltdown问题,Intel除了早期第一代奔腾以及之前的U和顺序执行的atom以外,全系列受到这个Bug影响,对服务器来说这个bug带来的后果极其严重(下降的主要是I/O性能),对于个人用户来讲只有不涉及大规模的I/O操作,性能影响有限(但也让牙膏挤回去半代)。

    2. @whz1995:https://www.amd.com/en/corporate/speculative-execution
      Spectre包括Variant 1, Variant 2
      AMD只有Variant 1受影响

  7. 虽然我的i7-4790已经中招,但是我的内心可以用“喜大普奔”来形容,因为以后我再也不会买Intel CPU了,AMD Ryzen是我下台电脑的处理器。哈哈!

  8. Intel这次的坑大了,买了ryzen前期虽然各种翻车各种折腾,稳定下来还是挺好用的,一点也不亏,虽然目前的方案是一并切了,但感觉这是个临时应急方案,以后会应该会排除AU的。

    1. @wangbaisen1990:AMD用户:发生什么了…你们IU用户真能咋呼的… ( ?´_ゝ`)

  9. 这下乱套了。Intel CPU 的补丁把AMD 的CPU一起降速了。结果大家都一样。AMD本来还想趁机捞一把了

  10. 请问这个对基于kvm的虚拟机有影响吗,单位才买了华为的云桌面。如果只是用于学生机房教学,是不是这个bug没啥危害?

  11. 卧槽这从很多年前就有bug居然到现在才爆出来。

      1. @剧毒术士马文:微码什么的系统更新一下就OK,这种bug不重新设计CPU的某些部分是修不好的

  12. 应该说AMD架构并不是不允许memory reference,而是不允许代码在以低权限运行时reference高权限的memory吧

      1. @剧毒术士马文:按照那个补丁附带的说明,工程师应该指的是所有memory reference都不能越权

    1. @wangbaisen1990:看情况
      测试显示性能影响在5-35%之间
      有的应用影响很小
      有的能超过50%
      影响最大的还是谷歌M$亚马逊这种…

      1. @剧毒术士马文:我记得很多反作弊和反破解也要用虚拟你吧
        还有各种跑建模的 跑分子模型的……
        这就尴尬了

发表评论

邮箱地址不会被公开。 必填项已用*标注

返回顶部按钮