摘要

2021 年 7 月 13 日 Windows 更新及更高版本 Windows 更新為 CVE-2021-33757 新增了保護。

安裝 2021 年 7 月 13 日 Windows 更新或更高版本的 Windows 更新之後,如果 SAM 伺服器支援 AES 加密,則當使用舊版 MS-SAMR 通訊協定執行密碼作業時,高級加密標準 (AES) 加密將是 Windows 用戶端上的首選方法。 如果 SAM 伺服器不支援 AES 加密,則允許回退到舊版 RC4 加密。

CVE-20201-33757 中的變更是 MS-SAMR 通訊協定所特有的,與其他驗證通訊協定無關。 MS-SAMR 透過 RPC 和具名管道使用 SMB。 雖然 SMB 也支援加密,但預設情況下不啟用加密。 預設啓用 CVE-20201-33757 中的變更,並提供 SAM 層的額外安全性。 除了在所有受支援的 Windows 版本上安裝 2021 年 7 月 13 日 Windows 更新或更高版本 Windows 更新中包含的 CVE-20201-33757 保護外,不需要進行其他設定變更。 不受支援的 Windows 版本應停用或升級至受支援的版本。

請注意, CVE-2021-33757 僅修改使用 MS-SAMR 通訊協定的特定 API 時密碼在傳輸中加密的方式,請勿修改密碼的儲存方式。 有關如何在 Active Directory 中和本地 SAM 資料庫(登錄)中對密碼進行加密的更多資訊,請參閱密碼概觀

其他相關資訊 

現有的 SamrConnect5 方法通常用來在 SAM 用戶端與伺服器之間建立連接。

更新的伺服器現在將在 SamrConnect5() 回應中返回新位,如 SAMPR_REVISION_INFO_V1 中定義。 

意義

0x00000010

在用戶端收到時,此值(如果已設定)表示用戶端應該使用 AES 加密與 SAMPR_ENCRYPTED_PASSWORD_AES 結構來加密透過綫路發送的密碼緩衝區。 請參閱 AES 密碼用法(3.2.2.4 節)和 SAMPR_ENCRYPTED_PASSWORD_AES(2.2.6.32 節)。

如果更新的伺服器支援 AES,用戶端會使用新方法和新資訊類別進行密碼作業。 如果伺服器未返回此標號或用戶端未更新,用戶端會回退到使用先前的 RC4 加密方法。

密碼設定作業需要一個可寫入的網域控制站 (RWDC)。 密碼變更會由唯讀網域控制站 (RODC) 轉到 RWDC。 所有裝置都必須更新,以便使用 AES。 例如:

  • 如果用戶端、RODC 或 RWDC 未更新,將會使用 RC4 加密。

  • 如果用戶端、RODC 和 RWDC 均更新,將會使用 AES 加密。

2021 年 7 月 13 日更新會新增四個新事件至系統記錄檔,協助識別未更新的裝置,並幫助提升安全性。

  • 設定狀態事件識別碼 16982 或 16983 會在啟動時或登錄設定變更時記錄。事件識別碼 16982

    事件記錄檔

    系統

    事件來源

    Directory-Services-SAM

    事件識別碼

    16982

    層級

    資訊

    事件訊息文字

    安全性帳戶管理員現在為呼叫舊版密碼變更或設定 RPC 方法的遠端用戶端記錄詳細事件。 此設定可能會導致大宗訊息,因此應該只在短時間内用于診斷問題。

    事件識別碼 16983

    事件記錄檔

    系統

    事件來源

    Directory-Services-SAM

    事件識別碼

    16983

    層級

    資訊

    事件訊息文字

    安全性帳戶管理員現在為呼叫舊版密碼變更或設定 RPC 方法的遠端用戶端記錄定期摘要事件。

  • 在套用 2021 年 7 月 13 日更新之後,會每隔 60 分鐘將摘要事件 16984 記錄至系統事件記錄檔。事件識別碼 16984

    事件記錄檔

    系統

    事件來源

    Directory-Services-SAM

    事件識別碼

    16984

    層級

    資訊

    事件訊息文字

    安全帳戶管理員在過去 60 分鐘內偵測到 %x 舊版密碼變更或設定 RPC 方法呼叫。

  • 設定詳細事件記錄之後,每次使用舊版 RPC 方法變更或設定帳戶密碼時,事件識別碼 16985 都會被記錄到系統事件記錄檔。事件識別碼 16985

    事件記錄檔

    系統

    事件來源

    Directory-Services-SAM

    事件識別碼

    16985

    層級

    資訊

    事件訊息文字

    安全性帳戶管理員從網路用戶端偵測到使用舊版方法變更或設定 RPC 方法。 請考慮升級用戶端作業系統或應用程式,以使用此方法的最新且更安全的版本。

    詳細資料:

    RPC 方法:%1

    用戶端網路位址:%2

    用戶端 SID:%3

    使用者名稱:%4 

    若要記錄詳細事件識別碼 16985,請切換伺服器或網域控制站上的下列登錄值。

    路徑

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SAM

    類型

    REG_DWORD

    值名稱

    AuditLegacyPasswordRpcMethods

    數值資料

     1 = 已啟用詳細事件記錄

     0 或不顯示 = 已停用詳細事件記錄。 僅摘要事件。 (預設值)

SamrUnicodeChangePasswordUser4 (Opnum 73) 中所述,當您使用新的 SamrUnicodeChangePasswordUser4 方法時,用戶端和伺服器會使用 PBKDF2 演算法,從純文字舊密碼衍生加密和解密金鑰。 這是因為舊密碼是伺服器和用戶端唯一已知的共同密碼。  

有關 PBKDF2 的更多資訊,請參閱 BCryptDeriveKeyPBKDF2 函數 (bcrypt.h)。

如果您基於效能和安全性考慮必須變更,您可以設定用戶端上的下列登錄值,以調整用戶端用於密碼變更的 PBKDF2 反覆運算次數。

附註: 減少 PBKDF2 反覆運算次數會降低安全性。  我們不建議您將次數從預設值減少。 不過,我們建議您使用 PBKDF2 反覆運算的最高可能次數。

路徑 

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SAM  

類型 

REG_DWORD 

值名稱 

PBKDF2Iterations 

數值資料 

最小值 5,000 到最大值 1,000,000

預設值 

10,000  

附註: PBKDF2 不用於密碼設定作業。 針對密碼設定作業,SMB 工作階段金鑰是用戶端與伺服器之間的共用密碼,並用來做為衍生加密金鑰的基礎。 

有關詳細資訊,請參閱取得 SMB 工作階段金鑰

常見問題集 (FAQ)

當伺服器或用戶端不支援 AES 時,會發生降級。   

使用舊版 RC4 方法時,更新的伺服器會記錄事件。 

目前沒有可用的強制執行模式,但未來可能會有強制模式。 我們無法告知具體時間。 

如果協力廠商裝置並未使用 SAMR 通訊協定,則這一點並不重要。 執行 MS-SAMR 通訊協定的協力廠商可能會選擇執行此協定。 如有任何問題,請聯絡協力廠商。 

不需要任何進行其他變更。  

此通訊協定為舊版,而且我們預期其使用率極低。 舊版應用程式可能會使用這些 API。 此外,某些 Active Directory 工具(例如 AD 使用者和電腦 MMC)會使用 SAMR。

不會。 只有使用這些特定 SAMR API 的密碼變更會受影響。

可以。 PBKDF2 比 RC4 貴。 如果在呼叫 SamrUnicodeChangePasswordUser4 API 的網域控制站上同時發生許多密碼變更,LSASS 的 CPU 負載可能會受到影響。 如有需要,您可以在用戶端上調整 PBKDF2 反覆運算,但我們不建議從預設值減少,因為這樣做會降低安全性。  

參考

使用 AES-CBC 和 HMAC-SHA 進行驗證加密

AES 密碼用法

協力廠商資訊免責聲明

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

Need more help?

Want more options?

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

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