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