关于CPU相关漏洞的修复处理

问题描述

2018年1月,谷歌Project Zero公布了现代处理器存在安全漏洞Spectre与Meltdown。

Spectre攻击利用的是处理器的分支猜测和高速缓存技术。在执行指令的过程中,当遇到分支时,为了避免等到分支判断结束后再堵塞读取内存中的后续指令,处理器会进行分支猜测。spectre通过可利用的代码片段并对其进行训练,可以读取本来无法读取到的信息。

Meltdown是基于处理器的乱序执行和高速缓存技术,结合现代操作系统进程中内存管理技术制造的一个安全漏洞。meltdown可以绕过权限检查访问数据,所以可以“熔断”(meltdown)安全边界,因此得名。

CPU的投机执行(Speculative Execution)和乱序执行(Out-of-order Execution)是一种性能优化技术,因此修复Meltdown或Spectre漏洞后可能导致在特定工作负载下的性能下降,实际的影响程度与业务和CPU相关(比如在Intel skylake CPU上对Redis性能影响20%左右)。对此用户可以根据自己的需要关闭相关修复,以提升云主机的性能。

注意!关闭漏洞修复开关代表您已知悉并确认关闭补丁带来的负面影响,烦请谨慎操作。

说明:本文加固方法只针对BCLinux、CentOS以及RedHat操作系统。

加固修复处理

关闭修复方法为在内核启动参数中添加参数,具体方法参考如下:

可下载脚本进行相关漏洞检测:
curl -L https://meltdown.ovh -o spectre-meltdown-checker.sh
wget https://meltdown.ovh -O spectre-meltdown-checker.sh

chmod +x spectre-meltdown-checker.sh
sudo ./spectre-meltdown-checker.sh

参见:GitHub

1)在 /etc/default/grub文件 ,GRUB_CMDLINE_LINUX 行添加需要关闭的漏洞参数,此处以添加“nopti”参数为例:

#vim /etc/default/grub

GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=bel/root rd.lvm.lv=bel/swap rhgb quiet nopti "

2)重新生成grub文件

#grub2-mkconfig -o /boot/grub2/grub.cfg

3)重启云主机

4)各项漏洞对应的关闭方法如下:

CVE漏洞名称漏洞配置文件所在路径默认处理方式关闭漏洞修复的方法
CVE-2017-5753Spectre Variant 1(Bounds Check Bypass)/sys/devices/system/cpu默认开启漏洞修复强制开启,无法关闭
CVE-2017-5753Spectre Variant 1(swapgs)/sys/devices/system/cpu/vulnerabilities/spectre_v1默认开启漏洞修复仅3.10-1062及之后的内核版本支持关闭nospectre_v1=off
mitigations=off
CVE-2017-5715Spectre Variant 2/sys/devices/system/cpu/vulnerabilities/spectre_v2默认开启漏洞修复(spectre_v2=auto)nospectre_v2
spectre_v2=off
mitigations=off(仅3.10-1062及之后的内核版本支持)
CVE-2018-3639Spectre Variant 4(Speculative Store Bypass)/sys/devices/system/cpu/vulnerabilities/spec_store_bypass若处理器支持Speculative Store Bypass Disable特性,则开启修复,否则不开启任何修复(spec_store_bypass_disable=auto)spec_store_bypass_disable=off
nospec_store_bypass_disable
mitigations=off(仅3.10-1062及之后的内核版本支持)
CVE-2017-5754Meltdown/sys/devices/system/cpu/vulnerabilities/meltdown默认开启漏洞修复(pti=auto)pti=off
nopti
mitigations=off(仅3.10-1062及之后的内核版本支持)
CVE-2018-3615L1TF/sys/devices/system/cpu/vulnerabilities/l1tfGuest Kernel中只开启PTE Inversion修复l1tf=off
mitigations=off(仅3.10-1062及之后的内核版本支持
CVE-2019-11091MDS/sys/devices/system/cpu/vulnerabilities/mds说明:仅3.10-1062及之后的内核版本支持Guest Kernel中只开启CPU buffer clear修复mds=off
mitigations=off(仅3.10-1062及之后的内核版本支持)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

羌俊恩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值