问题描述
2018年1月3日,Intel处理器芯片被曝出存在严重的Meltdown和Spectre安全漏洞,漏洞详情如下:
漏洞名称:Intel处理器存在严重芯片级漏洞
漏洞编号:CVE-2017-5753、CVE-2017-5715、CVE-2017-5754
漏洞级别:严重
漏洞描述:攻击者可以利用Meltdown (CVE-2017-5754) 和Spectre (CVE-2017-5715/CVE-2017-5753)
绕过内存安全隔离机制,越权访问操作系统和其他程序的核心数据,造成敏感信息泄露。
问题影响
该漏洞不会引起不同弹性云主机之间的攻击,但可能会引起如下问题:
- 弹性云主机内多个应用之间,可能存在攻击。
- 对于同一弹性云主机,多个帐号之间可能存在攻击。
使用公共镜像的弹性云主机,云平台会对公共镜像依次修复,不会对您的业务带来影响。
使用私有镜像的弹性云主机,请根据漏洞影响评估是否更新补丁,以规避风险,更新补丁的具体操作请参见本节内容。
前提条件
为避免发生意外,修复漏洞前,建议进行充分测试,并完成弹性云主机的数据备份操作,避免发生意外。
Windows弹性云主机处理方法
登录弹性云主机。
更新补丁。
方式一:使用Windows自动更新功能安装补丁。a. 打开Windows Update,并单击“检查更新”。
b. 根据需要下载安装相关安全补丁。
方式二:手动下载补丁并安装。
下载官方发布的补丁进行安装,如KB4078130。
重启弹性云主机,使补丁生效。
验证是否升级成功。
a. 检查系统运行情况是否正常。
b. 检查已安装的补丁清单是否满足微软官方的要求。
Linux弹性云主机处理方法
- 登录弹性云主机。
- 更新补丁,升级kernel内核。
说明:升级kernel内核后,请务必执行reboot命令重启弹性云主机。
- 验证是否升级成功
检测Linux操作系统安全漏洞是否已修补完成
- 单击spectre-meltdown-checker获取spectre-meltdown-checker.sh检测脚本。
- 将步骤1获取的脚本上传至云服务器。
- 在云主机执行以下命令,并根据脚本提示判断Meltdown或Spectre漏洞是否已经修复。
chmod +x spectre-meltdown-checker.sh sudo bash spectre-meltdown-checker.sh
回显信息如图1所示。
图1 执行脚本后的回显信息
OK为已修复漏洞,KO为未修复,如图1所示代表CVE-2017-5753、CVE-2017-5715、CVE-2017-5754漏洞均已修复。
打开或关闭Linux操作系统的安全漏洞补丁开关
CPU的预测执行是一种性能优化技术,因此修复Meltdown或Spectre漏洞后可能导致在特定工作负载下的性能下降。
如果您希望可以禁用部分或全部漏洞安全保护策略以避免漏洞修复带来的性能下降,那么可以参考以下操作启用或者禁用安全保护策略。
您可以根据如下具体情况配置系统来达到理想的安全策略:
- Meltdown漏洞
采取页表隔离pti(Page Table Isolation)来控制内核页表隔离功能,此功能适用于CVE-2017-5754。
- Spectre漏洞
采取间接分支限制预测ibrs(Indirect Branch Restricted Speculation)控制SPEC_CTRL模型特定寄存器(MSR)中的IBRS功能,结合retpoline,及间接分支预测障碍ibpb(Indirect Branch Prediction Barriers)控制PRED_CMD模型特定寄存器(MSR)中的IBPB功能,此功能适用于CVE-2017-5715。
CVE-2017-5753漏洞是通过内核补丁修复的,它无法禁用,并且它在Red Hat的性能测试中没有显示出任何可见的影响。
- 关闭Meltdown安全漏洞补丁
如果您认为Meltdown漏洞修复对系统的性能影响不可接受,或者您有更好的保护机制,可根据以下步骤操作:
根据不同的操作系统修改内核参数:
a. CentOS、EulerOS、Ubuntu、Fedora、Red Hat:添加内核参数nopti
b. Debian、OpenSUSE:添加内核参数pti=off重启云主机。
- 关闭Spectre安全漏洞补丁
如果您认为Spectre漏洞修复对系统的性能影响不可接受,或者您有更好的保护机制,可根据以下步骤操作:
根据不同的操作系统修改内核参数:
a. CentOS、EulerOS、Fedora、Debian、Red Hat、OpenSUSE:添加内核参数spectre_v2=off
b. Ubuntu:添加内核参数nospectre_v2=off
重启云主机。