全部產品
Search
文件中心

Alibaba Cloud Linux:Alibaba Cloud Linux系統關閉CPU漏洞修複的方法

更新時間:Mar 29, 2025

Alibaba Cloud Linux系統預設啟用漏洞修複功能,但該功能可能對系統效能產生影響。您可以根據實際需要選擇關閉漏洞修複。本文將介紹Alibaba Cloud Linux系統中存在的CPU漏洞、漏洞狀態檔案以及關閉漏洞修複的方法。

背景資訊

2018年01月,Google Project Zero公布現代處理器存在安全性漏洞SpectreMeltdown。攻擊者通過這些漏洞竊取高特權級的資料,因而對系統安全存在嚴重威脅。這兩組漏洞幾乎涉及當今大部分主流處理器(包括Intel、AMD、ARM等多種架構),自公開以來便引發了廣泛的討論。不可避免地,阿里雲相關產品也受到這些漏洞的影響。隨後,包括Linux在內的主流作業系統都對漏洞進行了相應的軟體修複。自2018年01月Spectre與Meltdown漏洞首次公布以來,新變種以及新類型的漏洞不斷出現,因此可以預見,在未來相當一段時間內,這些漏洞的存在將成為常態。

重要
  • 由於漏洞利用處理器硬體的推測執行(Speculative Execution)以及亂序執行(Out-of-order Execution)特性,而這些特性對於現代處理器的效能提升具有不可或缺的作用,因此修複漏洞會有一定的效能回退。

  • 軟體修複通常只能緩解,不能根治漏洞問題。

安全性漏洞說明

下面分別介紹Alibaba Cloud Linux 2和Alibaba Cloud Linux 3系統中的安全性漏洞詳情,以及如何通過啟動命令列(boot cmdline)關閉安全性漏洞修複。

Alibaba Cloud Linux 3

x86

CVE

漏洞狀態檔案所在路徑

預設處理方式

關閉漏洞修複的方法

Spectre Variant 1(Bounds Check Bypass)

/sys/devices/system/cpu/vulnerabilities/spectre_v1

預設開啟漏洞修複

強制開啟,無法關閉

Spectre Variant 1(swapgs)

/sys/devices/system/cpu/vulnerabilities/spectre_v1

預設開啟漏洞修複

添加nospectre_v1參數

Spectre Variant 2

/sys/devices/system/cpu/vulnerabilities/spectre_v2

預設開啟漏洞修複

添加nospectre_v2參數

Spectre Variant 4(Speculative Store Bypass)

/sys/devices/system/cpu/vulnerabilities/spec_store_bypass

核心根據硬體特性自動開啟漏洞修複

添加以下任意一個參數:

  • nospec_store_bypass_disable

  • spec_store_bypass_disable=off

Meltdown

/sys/devices/system/cpu/vulnerabilities/meltdown

預設開啟漏洞修複

添加以下任意一個參數:

  • pti=off

  • nopti

L1TF

/sys/devices/system/cpu/vulnerabilities/l1tf

預設開啟漏洞修複

添加l1tf=off參數

MDS

/sys/devices/system/cpu/vulnerabilities/mds

預設開啟漏洞修複

須同時添加以下兩個參數:

  • mds=off

  • tsx_async_abort=off

SRBDS

/sys/devices/system/cpu/vulnerabilities/srbds

預設由處理器微碼修複

添加srbds=off參數

MMIO Stale Data

/sys/devices/system/cpu/vulnerabilities/mmio_stale_data

預設開啟漏洞修複

須同時添加以下三個參數:

  • mmio_stale_data=off

    說明

    5.10.134-12及之後的核心版本支援。

  • mds=off

  • tsx_async_abort=off

TAA

/sys/devices/system/cpu/vulnerabilities/tsx_async_abort

預設開啟漏洞修複

須同時添加以下兩個參數:

  • tsx_async_abort=off

  • mds=off

RETBleed

/sys/devices/system/cpu/vulnerabilities/retbleed

預設開啟漏洞修複

添加retbleed=off參數

說明

5.10.134-12及之後的核心版本支援。

不涉及

不涉及

不涉及

添加mitigations=off參數關閉所有漏洞修複

ARM64

CVE

漏洞狀態檔案所在路徑

預設處理方式

關閉漏洞修複的方法

Spectre Variant 1(Bounds Check Bypass)

/sys/devices/system/cpu/vulnerabilities/spectre_v1

預設開啟漏洞修複

強制開啟,無法關閉

Spectre Variant 2

/sys/devices/system/cpu/vulnerabilities/spectre_v2

預設開啟漏洞修複

添加nospectre_v2參數。具體操作,請參見關閉漏洞修複

Spectre Variant 2 (BHB)

/sys/devices/system/cpu/vulnerabilities/spectre_v2

預設開啟漏洞修複

添加nospectre_bhb參數

說明

5.10.134-12及之後的核心版本支援。

Spectre Variant 4(Speculative Store Bypass)

/sys/devices/system/cpu/vulnerabilities/spec_store_bypass

預設開啟漏洞修複

添加ssbd=force-off參數

Meltdown

/sys/devices/system/cpu/vulnerabilities/meltdown

預設開啟漏洞修複

添加kpti=0參數

不涉及

不涉及

不涉及

添加mitigations=off參數關閉所有漏洞修複

Alibaba Cloud Linux 2

CVE

漏洞狀態檔案所在路徑

預設處理方式

關閉漏洞修複的方法

Spectre Variant 1(Bounds Check Bypass)

/sys/devices/system/cpu/vulnerabilities/spectre_v1

預設開啟漏洞修複

強制開啟,無法關閉

Spectre Variant 1(swapgs)

/sys/devices/system/cpu/vulnerabilities/spectre_v1

預設開啟漏洞修複

nospectre_v1=off

說明

4.19.57-15.al7及之後的核心版本支援。

Spectre Variant 2

/sys/devices/system/cpu/vulnerabilities/spectre_v2

預設開啟漏洞修複(spectre_v2=auto)

添加以下任意一個參數:

  • nospectre_v2

  • spectre_v2=off

說明

4.19.43-13.al7及之後的核心版本支援。

Spectre 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

說明

4.19.43-13.al7及之後的核心版本支援。

Meltdown

/sys/devices/system/cpu/vulnerabilities/meltdown

預設開啟漏洞修複

添加以下任意一個參數:

  • pti=off

  • nopti

說明

4.19.43-13.al7及之後的核心版本支援。

L1TF

/sys/devices/system/cpu/vulnerabilities/l1tf

Guest Kernel中只開啟PTE Inversion修複

l1tf=off

說明

4.19.43-13.al7及之後的核心版本支援。

MDS

/sys/devices/system/cpu/vulnerabilities/mds

預設開啟漏洞修複

mds=off

說明

4.19.43-13.al7及之後的核心版本支援。

不涉及

不涉及

不涉及

添加mitigations=off參數關閉所有漏洞修複

說明

漏洞狀態檔案表示Alibaba Cloud Linux系統所在執行個體的CPU是否存在漏洞以及採取的處理措施,各狀態表示:

  • Not affected:表示當前CPU不存在該漏洞。

  • Vulnerable:表示當前CPU存在該漏洞,沒有採取任何緩解措施(關閉漏洞修複)。

  • Mitigation:表示當前CPU存在該漏洞,採取了相應緩解措施(開啟漏洞修複)。

關閉漏洞修複

以在Alibaba Cloud Linux 3系統中關閉spectre_v2漏洞修複為例。

  1. 執行以下命令,將nospectre_v2參數添加到預設核心的boot cmdline中,以關閉安全性漏洞修複功能。

    sudo grubby --update-kernel=`sudo grubby --default-kernel` --args='nospectre_v2'
  2. 執行以下命令,重啟執行個體使配置生效。

    警告

    重啟執行個體將導致您的執行個體暫停運行,這可能引發業務中斷和資料丟失。因此,建議您在執行此操作之前備份關鍵資料,並選擇在非業務高峰期進行。

    sudo reboot
  3. 執行以下命令,查看漏洞狀態檔案,確認漏洞修複是否關閉。

    cd /sys/devices/system/cpu/vulnerabilities/
    for i in `ls`;do echo -n $i": ";cat $i;done

    如下圖所示,spectre_v2: Vulnerable表示當前CPU的spectre_v2漏洞修複已關閉。

    image.png