Alibaba Cloud Linux 3系统默认开启漏洞修复,但是漏洞修复会对系统有性能方面的影响,您可以根据实际需要选择关闭漏洞修复。本文主要介绍Alibaba Cloud Linux 3系统中存在的CPU漏洞、漏洞状态文件、关闭漏洞修复的方法等。
背景信息
2018年01月,Google Project Zero公布现代处理器存在安全漏洞Spectre与Meltdown。攻击者可以使用这些漏洞窃取高特权级的数据,因而对系统安全存在严重威胁。同时这两组漏洞几乎涉及当今大部分主流的处理器(包括Intel、AMD、ARM等多种架构),自公开时,便引起了广泛的讨论。不可避免的,阿里云相关产品也受到该漏洞的影响。随后,包括Linux在内的主流操作系统都对漏洞进行了相应的软件修复。同时,自2018年01月Spectre与Meltdown漏洞被首次公布以来,新变种以及新类型的漏洞不断出现,因此可以预见,在未来相当一段时间内,这些漏洞的存在会成为常态。
由于漏洞利用处理器硬件的推测执行(Speculative Execution)以及乱序执行(Out-of-order Execution)特性,而这些特性对于现代处理器的性能提升具有不可或缺的作用,因此修复漏洞会有一定的性能回退。
软件修复通常只能缓解,不能根治漏洞问题。
安全漏洞介绍
Alibaba Cloud Linux 3系统支持x86处理器与arm64处理器,这两类处理器在CPU安全漏洞的处理上有一定区别,下面分别介绍Alibaba Cloud Linux 3系统中x86与arm64的安全漏洞详情,以及如何通过启动命令行(boot cmdline)关闭安全漏洞修复。
x86
CVE | 漏洞状态文件所在路径① | 默认处理方式 | 关闭漏洞修复的方法 |
/sys/devices/system/cpu/vulnerabilities/spectre_v1 | 默认开启漏洞修复 | 强制开启,无法关闭 | |
/sys/devices/system/cpu/vulnerabilities/spectre_v1 | 默认开启漏洞修复 | 添加 | |
/sys/devices/system/cpu/vulnerabilities/spectre_v2 | 默认开启漏洞修复 | 添加 | |
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass | 内核根据硬件特性自动开启漏洞修复 | 添加以下任意一个参数:
| |
/sys/devices/system/cpu/vulnerabilities/meltdown | 默认开启漏洞修复 | 添加以下任意一个参数:
| |
/sys/devices/system/cpu/vulnerabilities/l1tf | 默认开启漏洞修复 | 添加 | |
/sys/devices/system/cpu/vulnerabilities/mds | 默认开启漏洞修复 | 须同时添加以下两个参数:
| |
/sys/devices/system/cpu/vulnerabilities/srbds | 默认由处理器微码修复 | 添加 | |
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data | 默认开启漏洞修复 | 须同时添加以下三个参数:
| |
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort | 默认开启漏洞修复 | 须同时添加以下两个参数:
| |
/sys/devices/system/cpu/vulnerabilities/retbleed | 默认开启漏洞修复 | 添加 说明 仅 | |
不涉及 | 不涉及 | 不涉及 | 添加 |
ARM64
CVE | 漏洞状态文件所在路径① | 默认处理方式 | 关闭漏洞修复的方法 |
/sys/devices/system/cpu/vulnerabilities/spectre_v1 | 默认开启漏洞修复 | 强制开启,无法关闭 | |
/sys/devices/system/cpu/vulnerabilities/spectre_v2 | 默认开启漏洞修复 | 添加 | |
/sys/devices/system/cpu/vulnerabilities/spectre_v2 | 默认开启漏洞修复 | 添加 说明 仅 | |
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass | 默认开启漏洞修复 | 添加 | |
/sys/devices/system/cpu/vulnerabilities/meltdown | 默认开启漏洞修复 | 添加 | |
不涉及 | 不涉及 | 不涉及 | 添加 |
①漏洞状态文件表示Alibaba Cloud Linux 3系统所在实例的CPU是否存在漏洞以及采取的处理措施,各状态表示:
Not affected
:表示当前CPU不存在该漏洞。Vulnerable
:表示当前CPU存在该漏洞,没有采取任何缓解措施(关闭漏洞修复)。Mitigation
:表示当前CPU存在该漏洞,采取了相应缓解措施(开启漏洞修复)。
操作步骤
以下步骤以关闭spectre_v2漏洞修复为例,介绍如何关闭Alibaba Cloud Linux 3系统的安全漏洞修复。
远程连接Alibaba Cloud Linux 3所在的ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
执行以下命令,将
nospectre_v2
参数添加到默认内核的boot cmdline
中,以关闭安全漏洞修复。grubby --update-kernel=`grubby --default-kernel` --args='nospectre_v2'
执行以下命令,重启实例使配置生效。
reboot
执行以下命令,查看漏洞状态文件,确认漏洞修复是否关闭。
cd /sys/devices/system/cpu/vulnerabilities/ for i in `ls`;do echo -n $i": ";cat $i;done
如下图所示,
spectre_v2: Vulnerable
表示当前CPU存在spectre_v2漏洞,没有采取相应缓解措施,即漏洞修复已关闭。