原始發佈日期: 2024 年 8 月 13 日
KB 識別碼: 5042562
Windows 10 將於 2025 年 10 月終止支援
2025 年 10 月 14 日之後,Microsoft 將不再提供 Windows Update、技術協助或 Windows 10 安全性問題修正的免費軟體更新。 您的電腦仍可運作,但我們建議您移至 Windows 11。
關於 SkuSiPolicy.p7b 原則的重要注意事項
如需套用更新原則的指示,請參閱 部署Microsoft簽署的撤銷原則 (SkuSiPolicy.p7b) 一節。
本文內容
摘要
Microsoft 發現 Windows 中的弱點,此弱點可讓具有系統管理員權限的攻擊者取代具有較舊版本的更新 Windows 系統檔案,讓攻擊者能夠利用虛擬化型安全性 (VBS) 重新使用弱點。 這些二進位文件的復原可能會讓攻擊者規避 VBS 安全性功能,並移除受 VBS 保護的資料。 CVE-2024-21302 | Windows 安全核心模式權限提高弱點中說明了此問題。
若要解決此問題,我們將撤銷未更新的弱點 VBS 系統檔案。 由於必須封鎖大量 VBS 相關檔案,我們使用替代方法來封鎖未更新的檔案版本。
影響範圍
支援 VBS 的所有 Windows 裝置都會受到此問題影響。 這包括內部部署實體裝置和虛擬機 (VM)。 Windows 10 及更新版本 Windows 以及 Windows Server 2016 和更新版本的 Windows Server 都支援 VBS。
您可以透過 Microsoft 系統資訊工具 (Msinfo32.exe)檢查 VBS 狀態。 此工具會收集您的裝置相關資訊。 開始 Msinfo32.exe 之後,向下捲動到虛擬化型安全性資料列。 如果此列的值為執行,VBS 會啟用並執行。
您也可以使用 Win32_DeviceGuard WMI 類別,在 Windows PowerShell 中檢查 VBS 狀態。 若要從 PowerShell 查詢 VBS 狀態,請開啟提升權限的 Windows PowerShell 工作階段,然後執行下列命令:
Get-CimInstance -ClassName Win32_DeviceGuard -Namespace root\Microsoft\Windows\DeviceGuard
執行上述 PowerShell 命令之後,VBS 狀態應為下列其中一項。
欄位名稱 |
狀態 |
VirtualizationBasedSecurityStatus |
|
可用的風險降低措施
對於所有支援的 Windows 10 版本、版本 1507 及更新版本的 Windows,以及 Windows Server 2016 和更新版本 Windows Server 版本,系統管理員可以部署 (SkuSiPolicy.p7b) Microsoft簽署的撤銷原則。 這會封鎖未由作業系統載入未更新 VBS 系統檔案的弱點版本。
當 SkuSiPolicy.p7b 套用至 Windows 裝置時,原則也會透過在 UEFI 韌體中新增變數來鎖定至裝置。 啟動期間,原則載入和 Windows 會封鎖違反原則的二進位檔載入。 如果已套用 UEFI 鎖定,且原則已移除或以舊版取代,Windows 開機管理程式將不會啟動,而且裝置也不會啟動。 此開機失敗不會顯示錯誤,系統將會繼續進行下一個可用的開機選項,這可能會導致開機迴圈。
依預設會啟用且不需要額外部署步驟且未系結至 UEFI 的其他Microsoft簽署 CI 原則。 此簽署的 CI 原則將會在開機期間載入,而此原則的強制執行將會防止 VBS 系統檔案在該開機會話期間復原。 不同於SkuSiPolicy.p7b,如果未安裝更新,裝置可以繼續開機。 此原則包含在所有支援的 Windows 10 版本 1507 和更新版本中。 系統管理員仍然可以套用SkuSkiPolicy.p7b,以提供跨開機會話復原的其他保護。
用來證明電腦開機健康情況的 Windows 測量開機記錄檔,包含在開機程式期間載入原則版本的相關信息。 這些記錄是由 TPM 在開機期間安全維護,而Microsoft證明服務會剖析這些記錄,以確認正在載入正確的原則版本。 證明服務會強制執行確保載入特定原則版本或更新版本的規則;否則,系統將不會證明為健康情況。
若要讓原則減輕功能正常運作,原則必須使用 Windows 維護更新來更新,因為 Windows 的元件和原則必須來自同一個版本。 如果將原則降低功能複製到裝置,則如果套用了錯誤版本的降低功能,裝置可能無法啟動,或是降低功能降低功能可能無法如預期般運作。 此外, KB5025885 中所述的效能降低功能應該會套用到您的裝置。
在 Windows 11、版本 24H2、Windows Server 2022 和 Windows Server 23H2 上,針對測量 (DRTM) 動態根目錄為復原弱點新增額外的防護功能。 此功能預設為啟用。 在這些系統上,受 VBS 保護的加密密鑰系結至預設啟用的開機會話 VBS CI 原則,只有在強制執行相符的 CI 原則版本時才會取消靜態。 若要啟用使用者啟動的復原,已新增寬限期以啟用 1 版 Windows 更新套件的安全復原,而不會遺失取消發行 VSM 主鍵的能力。 不過,只有在未套用SkuSiPolicy.p7b的情況下,用戶啟動的復原才能執行。 VBS CI 原則會強制執行所有開機二進位檔尚未回復為已撤銷的版本。 這表示,如果具有系統管理員許可權的攻擊者復原了易受攻擊的開機二進位檔,系統就不會啟動。 如果 CI 原則和二進位檔都回復為舊版,則受 VSM 保護的數據將不會取消儲存。
了解風險降低
套用 Microsoft 簽署的撤銷原則之前,您必須先留意潛在風險。 請先檢閱這些風險,在套用風險降低之前,對修復媒體進行任何必要的更新。
附註: 這些風險僅適用於SkuSiPolicy.p7b原則,不適用於預設啟用的保護。
-
UEFI 鎖定和解除更新。 在裝置上套用 Microsoft 簽署撤銷原則的 UEFI 鎖定之後,裝置無法透過卸載 Windows 更新、使用還原點或其他方式來還原,如果您繼續套用安全開機。 如果已套用 UEFI 鎖定,即使重新格式化磁碟,也不會移除該功能降低功能的 UEFI 鎖定。 這表示,如果您嘗試將 Windows OS 還原為先前沒有套用風險降低功能的狀態,裝置將不會啟動,不會顯示任何錯誤訊息,UEFI 將會繼續進行下一個可用的開機選項。 這可能會導致開機迴圈。 您必須停用安全開機才能移除 UEFI 鎖定。 在將本文所述的撤銷套用至您的裝置之前,請注意所有可能的影響並進行徹底測試。
-
外部開機媒體。 UEFI 鎖定安全功能套用到裝置之後,外部開機媒體必須以裝置上安裝的最新 Windows 更新來更新。 如果外部開機媒體未更新為相同的 Windows Update 版本,裝置可能不會從該媒體開機。 在套用風險降低功能之前,請參閱更新外部開機媒體一節中的指示。
-
Windows 修復環境。 裝置上的 Windows 修復環境 (WinRE),必須在 將 SkuSipolicy.p7b 套用到裝置之前,於 2025 年 7 月 8 日發行的最新 Windows 安全作系統動態更新更新。 省略此步驟可能會使 WinRE 無法執行重設計算機功能。 如需詳細資訊,請參閱將更新套件新增至 Windows RE。
-
開機前執行環境 (PXE) 開機。 如果安全性安全部署到裝置,而您嘗試使用 PXE 開機,除非最新的 Windows 更新也套用到 PXE 伺服器開機映像,否則裝置將無法啟動。 除非 PXE 開機伺服器已更新至 2025 年 1 月或之後發行的最新 Windows 更新,包括 PXE 開機管理員,否則我們不建議將安全性部署到網路開機來源。
風險降低措施部署指導方針
若要解決本文所述的問題,您可以部署 Microsoft 簽署的撤銷原則 (SkuSiPolicy.p7b)。 此功能僅支援 Windows 10 版、版本 1507 和更新版本的 Windows,以及 Windows Server 2016。
注意 如果您使用 BitLocker,請確定您的 BitLocker 修復金鑰已備份。 您可以從系統管理員命令提示執行下列命令,並記住 48 位數的數字密碼:
manage-bde -protectors -get %systemdrive%
部署 Microsoft 簽署的撤銷原則 (SkuSiPolicy.p7b)
Microsoft簽署的撤銷原則會包含在最新的 Windows 更新中。 此原則僅應透過安裝最新的可用 Windows 更新來套用至裝置,然後依照下列步驟執行:
附註: 如果缺少更新,裝置可能無法從已套用的風險降低功能啟動,或是風險降低功能可能無法如預期般運作。 部署原則之前,請務必使用最新的可用 Windows 更新來更新可開機的 Windows 媒體。 如需如何更新可開機媒體的詳細數據,請參閱更新外部開機媒體 一節。
-
確定已安裝 2025 年 1 月或之後發行的最新 Windows 更新。
-
針對 Windows 11 版本 22H2 和 23H2,請先安裝 2025 年 7 月 22 日 (KB5062663) 或更新版本,然後再執行下列步驟。
-
針對 Windows 10 版本 21H2,請先安裝 2025 年 8 月發行的 Windows 更新或更新版本,然後再執行下列步驟。
-
-
在提高權限的 Windows PowerShell 提示中執行下列命令:
reg add HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Secureboot /v AvailableUpdates /t REG_DWORD /d 0x20 /f
Start-ScheduledTask -TaskName "\Microsoft\Windows\PI\Secure-Boot-Update"
-
重新啟動您的裝置。
-
使用Windows 事件記錄區段中的資訊,確認原則已載入在事件檢視器中。
注意事項
-
部署 SkuSiPolicy.p7b 撤銷 (原則) 檔案後,您不應將它移除。 如果檔案已移除,您的裝置可能就無法再啟動。
-
如果您的裝置無法啟動,請參閱復原程序一節。
更新外部開機媒體
若要搭配已套用Microsoft簽署撤銷原則的裝置使用外部開機媒體,外部開機媒體必須更新為最新的 Windows 更新,包括開機管理器。 如果媒體不包含最新的 Windows 更新,媒體就不會啟動。
重要: 建議您在繼續之前先建立修復磁碟機。 此媒體可用來重新安裝裝置,以防發生硬體失敗等重大問題,您可以使用修復磁碟機來重新安裝 Windows。
使用下列步驟來更新外部開機媒體:
-
移至已安裝最新 Windows 更新的裝置。
-
將外部開機媒體裝載為磁碟機代號。 例如,將隨身碟掛接為 D:。
-
按兩下開始,在搜尋方塊中輸入建立修復磁碟機,然後按兩下建立修復機控制面板。 依照指示使用已安裝的隨身碟建立修復磁碟機。
-
安全移除已安裝的隨身碟。
如果您使用 以動態更新更新 Windows 安裝媒體 指導方針,在您的環境中管理可安裝的媒體,請依照下列步驟進行:
-
移至已安裝最新 Windows 更新的裝置。
-
依照使用 動態更新更新 Windows 安裝媒體中的步驟來建立已安裝最新 Windows 更新的媒體。
Windows 事件記錄檔
Windows 會在載入程式碼完整性原則時 (包括 SkuSiPolicy.p7b) 以及檔案因原則強制執行而遭到封鎖而無法載入時記錄事件。 您可以使用這些事件來確認已套用風險降低功能。
程式碼完整性記錄可在 Windows 事件檢視器中應用程式和服務記錄 > Microsoft > Windows > CodeIntegrity > 作業 > 應用程式和服務記錄 > 服務記錄 > Microsoft > Windows > AppLocker > MSI 和指令碼內提供。
如需程式碼完整性事件的詳細資訊,請參閱 Windows Defender 應用程式控制操作指南。
原則啟用事件
原則啟用事件可在 Windows 事件記錄中應用程式與服務記錄 > Microsoft > Windows > CodeIntegrity > 作業中提供。
-
PolicyNameBuffer – Microsoft Windows SKU SI 原則
-
PolicyGUID – {976d12c8-cb9f-4730-be52-54600843238e}
-
PolicyHash – 107E8FDD187C34CF8B8EA46A4EE99F0DB60F491650DC989DB71B4825DC73169D
如果您已將稽核原則或風險降低措施套用到您的裝置,且套用原則的 CodeIntegrity 事件 3099 不存在,則不會強制執行該原則。 請參閱部署指示以確認原則是否正確安裝。
附註: Windows 10 企業版 2016、Windows Server 2016 和 Windows 10 企業版 2015 長期維護 版本不支援程式代碼完整性事件 3099。 若要確認已套用原則 (稽核或撤銷原則) ,您必須使用 [mountvol.exe] 命令裝載 EFI 系統分區,並查看該原則已套用至 EFI 磁碟分區。 驗證之後,請務必取消 EFI 系統磁碟分區。
SkuSiPolicy.p7b - 撤銷原則
稽核並封鎖事件
程式碼完整性稽核和封鎖事件可在 Windows 事件檢視器中應用程式和服務記錄 > Microsoft > Windows > CodeIntegrity > 作業 > 應用程式和服務記錄 > Microsoft > Windows > AppLocker > MSI 和指令碼內提供。
前者的記錄位置包含有關可執行檔、dll 和驅動程式控制的事件。 後者的記錄位置包含 MSI 安裝程式、指令碼和 COM 物件控件的相關事件。
「CodeIntegrity – 營運」記錄中的 CodeIntegrity 事件 3077 表示可執行檔、.dll 或驅動程式已遭封鎖而無法載入。 此事件包含關於封鎖檔案和強制原則的資訊。 針對受到風險降低功能封鎖的檔案,CodeIntegrity 事件 3077 中的原則資訊會與事件 3099 中 SkuSiPolicy.p7b 的原則資訊相符。 如果裝置上沒有任何違反程式碼完整性原則的可執行檔、.dll 或驅動程式,將不會顯示 CodeIntegrity 事件 3077。
如需其他程式碼完整性稽核和封鎖事件,請參閱了解應用程式控制事件。
原則移除和復原程序
如果在套用風險降低功能後發生問題,您可以使用下列步驟來移除風險降低功能:
-
啟用 BitLocker 時,請將其暫停。 從提升權限的「命令提示字元」視窗執行下列命令:
Manager-bde -protectors -disable c: -rebootcount 3
-
從 UEFI BIOS 功能表關閉安全開機。停用安全開機中找到更多詳細資料。
關閉安全開機的程序在裝置製造商和型號之間是不同的。 如需有關如何關閉安全開機的說明,請參閱裝置製造商的文件。 您可以在 -
移除 SkuSiPolicy.p7b 原則。
-
正常啟動 Windows,然後登入。
SkuSiPolicy.p7b 原則必須從下列位置移除:-
<EFI 系統磁碟分區>\Microsoft\Boot\SkuSiPolicy.p7b
-
-
從提升許可權的 Windows PowerShell 工作階段執行下列命令,以清除這些位置的原則:
$PolicyBinary = $env:windir+"\System32\SecureBootUpdates\SkuSiPolicy.p7b" $MountPoint = 's:' $EFIPolicyPath = "$MountPoint\EFI\Microsoft\Boot\SkuSiPolicy.p7b" $EFIDestinationFolder="$MountPoint\EFI\Microsoft\Boot" mountvol $MountPoint /S if (-Not (Test-Path $EFIDestinationFolder)) { New-Item -Path $EFIDestinationFolder -Type Directory -Force } if (Test-Path $EFIPolicyPath ) {Remove-Item -Path $EFIPolicyPath -Force } mountvol $MountPoint /D
-
-
從 BIOS 開啟安全開機。暫停 BitLocker 保護 ,然後從 UEFI BIOS 功能表開啟安全開機。
如需如何找到開啟安全開機的說明,請參閱裝置製造商的文件。 如果您在步驟 1 中關閉安全開機,而且您的磁碟機受到 BitLocker 保護,請 -
[開啟 BitLocker]。 從提升權限的「命令提示字元」視窗執行下列命令:
Manager-bde -protectors -enable c:
-
重新啟動您的裝置。
變更日期 |
描述 |
2025年7月22日 |
|
2025年7月10日 |
|
2025 年 4 月 8 日 |
|
2025年2月24日 |
|
2025年2月11日 |
|
2025 年 1 月 14 日 |
|
2024年11月12日 |
|