Linux平台上Meltdown&Spectre漏洞的补丁

举报
hluo 发表于 2018/01/11 17:28:07 2018/01/11
【摘要】 1、漏洞原理介绍Google的project zero项目组博客有对这三个漏洞原理进行详细介绍:https://googleprojectzero.blogspot.my/2018/01/reading-privileged-memory-with-side.html简单来说,就是由于处理器为了提高执行效率,采用多条指令流水线,并且指令预取。假如一条指令执行产生了异常,其后序若干指令由于乱序执行,

1、漏洞原理介绍


Googleproject zero项目组博客有对这三个漏洞原理进行详细介绍:

https://googleprojectzero.blogspot.my/2018/01/reading-privileged-memory-with-side.html


简单来说,就是由于处理器为了提高执行效率,采用多条指令流水线,并且指令预取。假如一条指令执行产生了异常,其后序若干指令由于乱序执行,已经会对cache产生效果。例如下图左侧代码,假设我们不知道data的值,但是在访问probe_array数组的第data个页面内存,之前产生了异常。这样尽管访问数组的操作并没有生效,但由于推测执行,访问probe_array[data*4096]的操作,已经将[data*4096]的内存读进cache中。这样,我们循环访问256个页面(假设有256个cache line),能观察到一次访问速度特别快的内存访问(比如第82次),就能推断出data=82。这也就是Cache flush+reload侧通道攻击的原理。

simple-meltdown-example.PNG


2、补丁信息

目前redhat已经发布了这三个漏洞的操作系统补丁,这个github页面维护了Meltdown漏洞需要的补丁:

https://github.com/hannob/meltdownspectre-patches


可以找到CentOSredhat)上需要安装的一些补丁:

patch.png

例如CESA-2018:0007的这个链接提到了这个补丁:https://access.redhat.com/errata/RHSA-2018:0007

会升级内核kernel-3.10.0-693.11.6.el7.x86_64.rpm。如果华为内网的RHEL源还没有更新,上述内核patch可以从这里下载到:

http://mirror.centos.org/centos/7/updates/x86_64/Packages/


Redhat关于微码与Intel漏洞的patch会对系统性能产生一定影响:

https://access.redhat.com/articles/3311301

因此也允许使用者动态关闭pti, ibpb, ibrs等新增内核特性,例如修改/sys文件下的一些内核选项动态控制安全补丁的开启、关闭:

[root@rhel meltdown]# echo 1 > /sys/kernel/debug/x86/pti_enabled
[root@rhel meltdown]# echo 1 > /sys/kernel/debug/x86/ibpb_enabled
[root@rhel meltdown]# echo 1 > /sys/kernel/debug/x86/ibrs_enabled


3、漏洞检测

升级完补丁,使用这个脚本检测系统是否受两个漏洞影响:

https://github.com/speed47/spectre-meltdown-checker

例如打开pti后,系统可抵御Meltdown漏洞:

[root@m60-rhel meltdown]# echo 1 > /sys/kernel/debug/x86/pti_enabled
[root@m60-rhel meltdown]# ./spectre-meltdown-checker.sh 
CVE-2017-5754 [rogue data cache load] aka 'Meltdown' aka 'Variant 3'
* Kernel supports Page Table Isolation (PTI):  YES 
* PTI enabled and active:  YES 
> STATUS:  NOT VULNERABLE  (PTI mitigates the vulnerability)


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。