Applies ToWindows Server 2019, all editions Windows 10, version 1809, all editions Windows Server version 1803 Windows Server 2016, all editions Windows 10, version 1803, all editions Windows 10, version 1709, all editions Windows 10, version 1703, all editions Windows 10 Windows Server 2012 R2 Windows RT 8.1 Windows 8.1 Windows Server 2012 Windows Server 2008 R2 Service Pack 1 Windows Server 2008 Service Pack 2 Windows 10, version 1607, all editions Windows 7

日期

變更描述

2023 年 10 月 27 日

已新增 Mitigation B 的參照

2023 年 7 月 17 日

已新增 MMIO 資訊

摘要

Microsoft 已知名為理論式執行端通道弱點攻擊類別的新變種。 這些變種的名稱為「L1 終端機錯誤 (L1TF)」和「微結構資料取樣 (MDS)」。 成功利用 L1TF 或 MDS 的攻擊者可能能夠讀取信任邊界間具有特殊權限的資料。

已於 2019 年 5 月 14 日更新:2019 年 5 月 14 日,Intel 已發佈有關名為「微結構資料取樣」之理論式執行端通道弱點新子類別的資訊。 這些弱點已指派為下列 CVE:

已於 2019 年 11 月 12 日更新: 2019 年 11 月 12 日,英特爾發佈了有關英特爾®事務同步擴展 (英特爾® TSX) 事務非同步中止漏洞的技術公告,該漏洞被分配為 CVE-2019-11135。 Microsoft 已經發行更新,可協助防範這一弱點。 請注意下列:

  • 預設情況下,某些 Windows Server 作業系統版本啟用了作業系統保護。 如需詳細資訊,請參閱 Microsoft 知識庫文章 4072698

  • 預設情況下,某些 Windows 用戶端作業系統版本啟用了作業系統保護。 如需詳細資訊,請參閱 Microsoft 知識庫文章 4073119

弱點概觀

在資源共用環境中,例如虛擬主機,可在一台虛擬機器上執行任意程式碼的攻擊者可能會從另一台虛擬機器或從虛擬主機本身存取資訊。

Windows Server Remote Desktop Services (RDS) 等伺服器工作負載和更為專用的角色 (例如 Active Directory 網域控制站),也會存在風險。 可執行任意程式碼 (無論其權限等級) 的攻擊者可能會存取作業系統或工作負載機密,例如,加密金鑰、密碼和其他敏感資料。

Windows 用戶端作業系統也會存在風險,特別是在執行未受信任的程式碼、運用「虛擬化型安全性」功能 (例如 Windows Defender Credential Guard) 或使用 Hyper-V 來執行虛擬機器的時候。

注意事項:這些弱點只會影響 Intel Core 處理器和 Intel Xeon 處理器。

緩和措施概觀

為了解決這些問題,Microsoft 正與 Intel 合作開發軟體風險降低和指引。 我們已經發行可協助降低這些弱點風險的更新。 若要取得所有可用的保護,也可能需要包含來自裝置 OEM 微碼的更新。

本文將告訴您,如何防範以下弱點:

  • CVE-2018-3620| L1 終端機錯誤– OS,SMM

  • CVE-2018-3646 | L1 終端機錯誤 – VMM

  • CVE-2018-11091 | 微結構資料取樣不可快取記憶體 (MDSUM))

  • CVE-2018-12126 | 微結構儲存緩衝區資料取樣 (MSBDS))

  • CVE-2018-12127 | 微結構負載埠資料取樣 (MLPDS))

  • CVE-2018-12130 | 微結構填滿緩衝區資料取樣 (MFBDS))

  • CVE-2019-11135 | Windows 核心資訊洩漏弱點

  • CVE-2022-21123 | 共用緩衝區資料讀取 (SBDR)

  • CVE-2022-21125 | 共用緩衝區資料取樣 (SBDS)

  • CVE-2022-21127 | 特殊登錄緩衝區資料取樣更新 (SRBDS 更新)

  • CVE-2022-21166 | 裝置註冊部分寫入 (DRPW)

若要深入了解弱點,請參閱下列資訊安全諮詢:

L1TF: ADV180018 | 降低 L1TF 變體風險的 Microsoft 指引

MDS:  ADV190013 | 降低微結構資料取樣弱點風險的 Microsoft 指引

MMIO: ADV220002 | Intel 處理器 MMIO 過時資料弱點的 Microsoft 指引

Windows 核心資訊洩漏弱點: CVE-2019-11135 | Windows 核心資訊洩漏弱點

確定防範威脅的必需動作

下列章節可協助您識別受到 L1TF 及/或 MDS 弱點影響的系統,也能協助您了解和防範風險。

可能的效能影響

測試期間,根據系統的組態和所需的緩和措施,Microsoft 已經發現這些緩和措施造成的某些效能影響。

有些客戶可能必須停用超執行緒 (又稱為同步多執行緒或 SMT),才能完全消除 L1TF 和 MDS 造成的風險。 請注意,停用超執行可能會造成效能降低。 使用下列項目的客戶可能會遇到這個情形:

  • Windows Server 2016 或 Windows 10 1607 版 (年度更新版) 以前的 Hyper-V 版本

  • 虛擬化型安全性功能 (VBS)) 例如 Credential Guard 和 Device Guard 等功能 (英文)

  • 允許執行未受信任程式碼的軟體 (例如建置自動化伺服器或共用的 IIS 裝載環境)

效能影響會依硬體和系統上執行的工作負載而有所不同。 由於最常見的伺服器組態是啟用超執行緒, 因此,對採取動作停用系統超執行緒的使用者或系統管理員不會產生效能影響。

注意事項:若要判斷您的系統是否使用受 VBS 保護的安全性功能,請依照下列步驟執行:

  1. [開始] 功能表上,輸入 MSINFO32。注意事項:系統資訊視窗會隨即開啟。

  2. [尋找目標] 方塊中,輸入 security

  3. 在右窗格中,找出螢幕擷取畫面中選取的兩列,並核取 [值] 欄,以查看 [虛擬化型安全性] 是否啟用,以及系統正在執行哪些虛擬化型安全性服務。

    系統資訊視窗

Hyper-V 核心排程器能防範 Hyper-V 虛擬機器的 L1TF 和 MDS 攻擊媒介,同時允許超執行緒維持啟用狀態。 核心排程器是從 Windows Server 2016 和 Windows 10 1607 版開始提供使用。 這對虛擬機器造成的效能影響最小。

核心排程器無法防範受 VBS 保護之安全性功能的 L1TF 或 MDS 攻擊媒介。 如需詳細資訊,請參閱風險降低措施 C 和下列虛擬化部落格文章:

https://aka.ms/hyperclear

若要從 Intel 瞭解有關效能影響的詳細資訊,請移至下列 Intel 網站:

www.intel.com/securityfirst

確定受影響的系統和必要緩和措施

圖 1 中的流程圖可協助您確定受影響的系統並確定正確的操作。 

重要: 如果您使用虛擬機器,則必須考慮個別將流程圖套用到 Hyper-V 主機和每個受影響的 VM 客體,因為緩和措施可能會套用到這兩者上。 尤其對於 Hyper-V 主機,流程圖步驟提供 VM 之間防護和內部主機防護。 但只對 Hyper-V 主機套用這些緩和措施不足以提供內部 VM 防護。 若要提供內部 VM 防護,您必須將流程圖套用至每個 Windows VM。 在大多數情況下,這意味著需要確保在 VM 中設定登錄機碼。

瀏覽流程圖時,您會遇到標有字母的藍色圓圈,這些圓圈會對應到防範您特定系統設定之 L1TF 攻擊媒介所需採取的一項動作或一系列動作。 您遇到的每一個動作都必須套用。 當您遇到綠線時,它會指出到尾端的直接路徑,而且沒有其他的風險降低措施步驟。 

每個標有字母之風險降低措施的簡短說明都會包含在右側圖例中。 包含逐步安裝和設定指示之每個風險降低措施的詳細說明會在「風險降低措施」章節提供。

流程圖

緩和措施

重要: 下列章節說明只應在特定情況下套用的風險降低緩和措施,而那些特定情況是根據先前章節的圖 1 流程圖所判定。 除非流程圖指示特定風險降低措施為必要,否則請勿套用這些風險降低措施。

除了軟體和微碼更新,還需要手動變更設定以啟用特定防護。 我們進一步建議 Enterprise 客戶註冊安全性通知郵件程式以接收內容變更相關提醒。 (請參閱 Microsoft 技術安全性通知。)

緩和措施 A

取得並套用最新 Windows 更新

套用所有可用的 Windows 作業系統更新,其中包括每月 Windows 安全性更新。 您可以在 Microsoft 資訊安全諮詢 | 適用於 L1TF 的 ADV 180018資訊安全諮詢 | 適用於 MDS 的 ADV 190013資訊安全諮詢 | 適用於 MMIO 的 ADV220002,以及資訊安全漏洞 | 適用於 Windows 核心資訊洩漏漏洞的 CVE-2019-11135 上查看受影響的產品資料表。

緩和措施 B

取得並套用最新微碼或韌體更新

除了安裝最新 Windows 安全性更新以外,可能還需要安裝處理器微碼或韌體更新。 我們建議您從 裝置 OEM 取得並套用適用于您裝置的最新微碼更新。 如需微碼或韌體更新的詳細資訊,請參閱下列參照:

注意: 如果您使用的是巢狀虛擬化 (包括在客體 VM 中執行 Hyper-V 容器),必須向客體 VM 公開新的微碼強化套件。 這可能需要將 VM 設定升級為第 8 版。 第 8 版預設包含微碼強化套件。 如需詳細資訊和所需步驟,請參閱下列文章 Microsoft Docs 文章:

在搭配巢狀虛擬化的虛擬機器中執行 Hyper-V

緩和措施 C

是否應停用超執行緒 (HT)?

L1TF 和 MDS 弱點引入風險,Hyper-V 虛擬機器的機密性和 Microsoft 虛擬式安全性 (VBS) 所維護的密碼可能會透過使用旁路攻擊而遭到入侵。 啟用超執行緒 (HT) 時,Hyper-V 和 VBS 提供的安全性界限都會減弱。

Hyper-V 核心排程器 (從 Windows Server 2016 和 Windows 10 1607 版開始提供使用) 能防範 Hyper-V 虛擬機器的 L1TF 和 MDS 攻擊媒介,同時允許超執行緒維持啟用狀態。 這可使效能影響減到最小。

Hyper-V 核心排程器無法防範受 VBS 保護之安全性功能的 L1TF 或 MDS 攻擊媒介。 由於 L1TF 和 MDS 弱點引入風險,當啟用「超執行緒」(HT) 時,VBS 密碼的機密性可能會因執行端通道攻擊而遭到洩漏,進而減弱 VBS 提供的安全性邊界。 即使風險提高,VBS 仍可在啟用 HT 的情況下提供寶貴的安全性優點,並防範各種攻擊。 因此,我們建議繼續將 VBS 運用在啟用 HT 的系統。 對於希望消除 VBS 機密性上 L1TF 和 MDS 弱點潛在風險的客戶,建議考慮停用 HT,以防範這個額外風險。

若客戶希望消除 L1TF 和 MDS 弱點對 Windows Server 2016 以前 Hyper-V 版本機密性或 VBS 安全性功能所造成的風險,必須權衡決定並考慮停用 HT,以防範風險。 一般而言,客戶可以根據下列方針來做這個決定:

  • 若 Windows 10 1607 版、Windows Server 2016 和更新版本的系統未執行 Hyper-V 且未使用受 VBS 保護的安全性功能,客戶不應停用 HT。

  • 若 Windows 10 1607 版、Windows Server 2016 和更新版本的系統執行 Hyper-V 與核心排程器,但未使用受 VBS 保護的安全性功能,客戶不應停用 HT。

  • 若 Windows 10 1511 版、Windows Server 2012 R2 以前版本的系統執行 Hyper-V,客戶必須考慮停用 HT,以防範風險。

停用 HT 所需的步驟視 OEM 而定。 但是,這些通常是 BIOS 或韌體安裝和設定工具的一部分。

如果無法在您的 BIOS 或韌體安裝和設定工具中停用超執行緒,Microsoft 也已引進停用 HT 技術的能力。 停用 HT 的軟體設定是您的 BIOS 或韌體設定的輔助設定,並且預設為停用 (表示 HT 將遵循您的 BIOS 或韌體設定)。 若要深入了解這個設定,以及如何用來停用 HT,請參閱下列文章:

4072698 防範理論式執行端通道弱點的 Windows Server 指引

可以的話,建議您在 BIOS 或韌體中停用 HT,以確保 HT 是停用的。

注意: 禁用超執行緒將減少 CPU 內核。 這可能對需要最小 CPU 內核才能正常工作的功能產生影響。 例如,Windows Defender 應用程式防護 (WDAG)。

緩和措施 D

啟用 Hyper-V 核心排程器並將每個核心的 VM 硬體執行緒計數設定為 2

注意: 這些緩和措施步驟只會套用到 1809 版以前的 Windows Server 2016 和 Windows 10。 Windows Server 2019 和 Windows 10 1809 版預設啟用核心排程器。

使用核心排程器有兩個步驟,首先在 Hyper-V 主機上啟用排程器,然後透過將每個核心的硬體執行緒計數設定為二 (2) 來設定每個 VM 以進行使用。

Windows Server 2016 和 Windows 10 1607 版引進的 Hyper-V 核心排程器是傳統排程器邏輯的新替代工具。 在啟用 HT 的 Hyper-V 主機上執行的 VM 內,核心排程器可為工作負載提供的效能變化性減少。

如需有關 Hyper-V 核心排程器和啟用步驟的詳細說明,請參閱下列 Windows IT 專業人員中心文章:

理解和使用 Hyper-V Hypervisor 排程器類型

若要在 Windows Server 2016 或 Windows 10 上啟用 Hyper-V 核心排程器,請輸入下列命令:

bcdedit /set HypervisorSchedulerType core

接著,決定是否將指定 VM 的每個核心硬體執行緒計數設定為二 (2)。 如果您確定虛擬處理器已超執行緒至客體虛擬機器,請在 VM 作業系統中啟用排程器和 VM 工作負載,以便在其自身的工作排程中使用 HT。若要執行這項操作,請輸入下列 PowerShell 命令,其中 <VMName> 是虛擬機器的名稱。 若要執行這項操作,請輸入下列 PowerShell 命令,其中 <VMName> 是虛擬機器的名稱:

Set-VMProcessor -VMName <VMName> -HwThreadCountPerCore 2

緩和措施 E

啟用諮詢 CVE-2017-5715 和 CVE-2019-11135 的緩和措施

注意: 這些緩和措施在 Windows Server 2019 和 Windows 作業系統中預設為啟用。

若要啟用資訊安全諮詢 CVE-2017-5715、CVE-2017-5754 和 CVE-2019-11135 的緩和措施,請使用下列文章中的指引:

4072698 Windows Server 保護推測性執行旁路弱點的指引

4073119 適用於 IT 專業人員的 Windows 用戶端指引,可防範推測性執行旁路弱點

注意: 這些緩和措施會包含且自動啟用適用於 Windows 核心的「安全頁面框架位元」緩和措施,以及 CVE-2018-3620 所述的緩和措施。 如需有關安全頁面框架位元緩和措施的詳細說明,請參閱下列安全性研究和防禦部落格文章:

L1 終端機錯誤 (L1TF) 的分析及風險降低措施

參考

可降低 Azure 中推測性執行旁路弱點風險的指引

本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。 Microsoft 不以默示或其他方式,提供與這些產品的效能或可靠性有關的擔保。

我們提供協力廠商的連絡資訊,協助您尋找技術支援。 此連絡資訊如有變更,恕不另行通知。 我們不保證此協力廠商連絡資訊的正確性。

需要更多協助嗎?

想要其他選項嗎?

探索訂閱權益、瀏覽訓練課程、瞭解如何保護您的裝置等等。

社群可協助您詢問並回答問題、提供意見反應,以及聆聽來自具有豐富知識的專家意見。