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漏洞,沒有采取相應緩解措施,即漏洞修復已關閉。