Applies To
Windows 11 version 25H2, all editions Windows Server 2025

原始發布日期: 2025 年 10 月 28 日

KB 編號:5056852

此強化驗證風險降低可在下列 Windows 版本中使用:

  • 2025 年 10 月 28 日或之後發行的 Windows 11 版本 25H2 和 Windows Server 2025 更新

本文內容 

摘要

緩解採用期間

使用者影響

設定

使用本機群組原則 編輯器更新群組原則設定

使用 Intune 更新群組原則/MDM 設定

CLFS API 的變更

常見問題 (常見問題)

詞彙

摘要

已針對通用記錄檔系統 (CLFS) 驅動程式引進新的強化驗證風險降低,以將雜湊型訊息驗證碼 (HMAC) 新增至 CLFS 記錄檔的基礎檔案。 驗證碼是透過將檔案資料與系統唯一的加密金鑰結合來建立的,該金鑰儲存在登錄中,只有管理員和 SYSTEM 才能存取。 驗證碼將允許 CLFS 檢查檔案的完整性,確保檔案資料在解析其內部資料結構之前是安全的。 如果完整性檢查失敗,CLFS 會假設此檔案已惡意或其他方式從外部修改,而且會拒絕開啟記錄檔。 若要繼續,必須建立新的記錄檔,或管理員必須使用 fsutil 命令手動驗證它。

緩解採用期間

使用此版本 CLFS 接收更新的系統可能會在系統上具有沒有驗證碼的現有記錄檔。 為了確保這些記錄檔轉換成新格式,系統會將 CLFS 驅動程式置於「學習模式」,這會指示 CLFS 自動將驗證碼新增至沒有驗證碼的記錄檔。 自動新增驗證碼會在記錄檔開啟時發生,而且只有在呼叫執行線具有寫入檔案所需的存取權時。 目前,採用期為 90 天,從系統首次使用此版本的 CLFS 啟動的時間開始計算。 在這 90 天的採用期間結束之後,驅動程式會在下次啟動時自動轉換成強制模式,之後 CLFS 會預期所有記錄檔都包含有效的驗證碼。 請注意,此 90 天價值將來可能會發生變化。

如果在此採用期間未開啟記錄檔,因此未自動轉換至新格式,則可以使用 fsutil clfs authenticate 命令列公用程式將驗證碼新增至記錄檔。 此作業需要呼叫端是系統管理員。

使用者影響

此風險降低可能會以下列方式影響 CLFS API 的取用者:

  • 因為用來製作驗證碼的加密金鑰是系統唯一的,所以日誌檔不再在系統之間移植。 若要開啟在遠端系統上建立的記錄檔,系統管理員必須先使用 fsutil clfs authenticate 公用程式,使用本端系統密碼編譯金鑰來驗證記錄檔。

  • 副檔名為「.cnpf」的新檔案將與二進位記錄檔案一起儲存 (BLF) 和資料容器。 如果日誌檔案的 BLF 位於 “C:\Users\User\example.blf”,則其“修補程式檔案”應位於 “C:\Users\User\example.blf.cnpf”。 如果記錄檔未完全關閉,修補程式檔案會保留 CLFS 復原記錄檔所需的資料。 修補程式檔案將使用與其提供復原資訊的檔案相同的 安全性屬性 來建立。 此檔案的大小最多與 [FlushThreshold] (HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CLFS\Parameters [FlushThreshold]) 相同。

  • 需要額外的檔案空間來儲存驗證碼。 驗證碼所需的空間量取決於檔案的大小。 請參閱下列清單,以取得記錄檔需要多少額外資料的估計值:

    • 512KB 容器檔案需要額外的 ~8192 位元組來驗證碼。

    • 1024KB 容器檔案需要額外的 ~12288 位元組來驗證驗證碼。

    • 10MB 容器檔案需要額外的 ~90112 位元組來驗證驗證碼。

    • 100MB 容器檔案需要額外的 ~57344 位元組來驗證碼。

    • 4GB 容器檔案需要額外的 ~2101248 位元組來驗證代碼。

  • 由於維護驗證碼的 I/O 作業增加,執行下列作業所需的時間已增加:

    • 建立日誌檔案

    • 日誌檔案開啟

    • 新記錄的寫作

    建立日誌檔案和開啟日誌檔案的時間增加完全取決於容器的大小,較大的日誌檔案會產生更明顯的影響。 平均而言,寫入日誌檔中的記錄所需的時間增加了一倍。

設定

與此風險降低相關的設定會儲存在登錄中,位於 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CLFS\Authentication。 以下是索引鍵登錄值及其用途的清單:

  • 模式:緩解的操作模式

    • 0:已強制執行緩解措施。 CLFS 將無法開啟遺失或無效驗證碼的記錄檔。 使用此版本的驅動程式執行系統 90 天後,CLFS 會自動轉換成強制模式。

    • 1:緩解處於學習模式。 CLFS 一律會開啟記錄檔。 如果記錄檔遺漏驗證碼,則 CLFS 會產生程式代碼,並將程式代碼寫入檔案, (假設呼叫端具有寫入存取權) 。

    • 2:管理員停用了緩解措施。

    • 3:系統已自動停用緩解措施。 管理員不應將模式設定為此值,但如果他們希望停用緩解措施,則應使用「2」。

  • EnforcementTransitionPeriod:系統在採用期間花費的時間量 (以秒為單位)。 如果此值為零,則系統不會自動轉換成強制執行。

  • LearningModeStartTime:系統上學習模式啟動的時間戳記。 此值與 “EnforcementTransitionPeriod” 結合,將決定系統何時應該轉換成強制模式。

  • 金鑰:用於建立驗證碼 (HMAC) 的加密金鑰。 管理員不應修改此值。

管理員可以透過將 模式 值變更為 2 來完全停用風險降低。 若要延長風險降低採用期間,管理員可以將 EnforcementTransitionPeriod (秒變更為您選擇的任何值) (或 0 ,如果您想要停用自動轉換至強制模式) 。

使用本機群組原則 編輯器更新群組原則設定

您可以使用群組原則設定來啟用或停用 CLFS 驗證:

  1. 在 Windows 控制台 中開啟本機群組原則 編輯器 本機電腦政策

  2. [電腦設定] 底下,選取 [系統管理範本] > [系統] > [檔案系統],然後在 [設定] 清單中,按兩下 [啟用/停用 CLFS 記錄檔驗證]。 啟用停用 CLFS 記錄檔驗證

  3. 選取 [啟用][停用],然後按一下 [確定]。 如果選取 [未設定],則預設會啟用風險降低。 選取 [啟用] 或 [停用]

使用 Intune 更新群組原則/MDM 設定

若要使用 Microsoft Intune 更新群組原則並設定 CLFS 驗證:

  1. 開啟 Intune 入口網站 (https://endpoint.microsoft.com) ,然後使用您的認證登入。

  2. 建立個人資料: 

    1. 選取 [裝置] > [Windows > 設定 ]>[ 建立 >新原則]。

    2. 選取 Platform > Windows 10及更新版本

    3. 選取 設定檔類型 >範本

    4. 搜尋並選取 [自訂]。 Windows 設定

  3. 設定名稱和說明: 設定名稱和說明

  4. 新增 OMA-URI 設定: 新增 OMA-URI 設定

  5. 編輯 OMA-URI 設定: 

    1. 新增名稱,例如 ClfsAuthenticationCheck

    2. 選擇性地新增描述。

    3. OMA-URI 路徑設定為下列./Vendor/MSFT/Policy/Config/FileSystem/ClfsAuthenticationChecking

    4. 資料類型 設定為 字串

    5. 設定為 <enabled/><disabled/>

    6. 按一下 [儲存] 設定值並儲存

  6. 完成範圍標籤和指派的其餘設定,然後選取 [建立]。 ​​​​​​​

CLFS API 的變更

為了避免對 CLFS API 進行重大變更,現有的錯誤碼會用來向呼叫端報告完整性檢查失敗:

  • 如果 CreateLogFile 失敗,則 GetLastError 會傳回 ERROR_LOG_METADATA_CORRUPT 錯誤碼。

  • 針對 ClfsCreateLogFile,當 CLFS 無法驗證記錄檔的完整性時,會傳回 STATUS_LOG_METADATA_CORRUPT 狀態。

常見問題 (常見問題)

驗證碼 (HMAC) 已新增至 CLFS 記錄檔,讓 CLFS 驅動程式能夠在剖析檔案之前偵測 (惡意) 對檔案所做的修改。 當風險降低在收到此更新) 之後 90 天 (轉換成強制模式時,CLFS 會預期驗證碼存在且有效,才能成功開啟記錄檔。

在此版本的 CLFS 驅動程式作用中的前 90 天內,驅動程式會在 CreateLogFileClfsCreateLogFile 開啟時自動將驗證碼新增至記錄檔。

在這 90 天的採用期結束之後,將需要使用 fsutil clfs 驗證 工具,將驗證碼新增至舊的或現有的記錄檔。 此工具要求呼叫者是管理員。

由於驗證碼是使用系統唯一的加密金鑰來建立,因此您將無法開啟在另一個系統上建立的日誌檔。 若要使用本機系統的加密金鑰更正驗證碼,系統管理員可以使用 fsutil clfs 驗證 工具。 此工具要求呼叫者位於系統管理員群組中。

雖然我們不建議這樣做,但系統管理員可以透過將 [Mode]HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CLFS\Authentication 修改為值 2 來停用此風險降低。

若要這樣做,請使用 PowerShell 並執行下列命令:

Set-ItemProperty -Path “HKLM:\SYSTEM\CurrentControlSet\Services\CLFS\Authentication” -Name Mode -Value 2​​​​​​​

詞彙

強化 是一個透過限制使系統易受攻擊的潛在弱點來幫助防止未經授權的存取、拒絕服務和其他威脅的過程。

安全屬性用於儲存資訊並對特定資源實施精細的存取控制。

Need more help?

Want more options?

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