KB5004605: 更新プログラムにより、CVE-2021-33757 の MS-SAMR プロトコルに AES 暗号化保護が追加されます

概要

2021 年 7 月 13 日の Windows 更新プログラム以降の Windows 更新プログラムは 、CVE-2021-33757 の保護を追加します。

2021 年 7 月 13 日以降の Windows 更新プログラムをインストールした後、AES 暗号化が SAM サーバーでサポートされている場合、パスワード操作に従来の MS-SAMR プロトコルを使用する場合、Windows クライアントでは Advanced Encryption Standard (AES) 暗号化が推奨されます。 AES 暗号化が SAM サーバーでサポートされていない場合は、レガシ RC4 暗号化へのフォールバックが許可されます。

CVE-20201-33757 の変更は MS-SAMR プロトコルに固有であり、他の認証プロトコルとは無関係です。 MS-SAMR では、RPC および名前付きパイプ経由で SMB が使用されます。 SMB は暗号化もサポートしますが、既定では有効になっていません。 既定では、 CVE-20201-33757 の変更が有効になり、SAM レイヤーでセキュリティが強化されます。 2021 年 7 月 13 日の Windows 更新プログラム以降の Windows 更新プログラムに含まれる CVE-20201-33757 の保護をインストールする以外に、追加の構成変更は必要ありません。 サポートされていないバージョンの Windows の利用を中止するか、サポートされているバージョンにアップグレードする必要があります。

メモCVE-2021-33757 では、 MS-SAMR プロトコルの特定の API を使用する場合にのみ、パスワードの転送中の暗号化方法が変更され、保存時のパスワードの保存方法は特に変更されません。 Active Directory と SAM Database (レジストリ) で保存時にパスワードを暗号化する方法の詳細については、「 パスワードの概要」を参照してください。

詳細

2021 年 7 月 13 日の更新プログラムによる変更
新しい動作のしくみ

既存の SamrConnect5 メソッドは、通常、SAM クライアントとサーバー間の接続を確立するために使用されます。

更新されたサーバーは、SAMPR_REVISION_INFO_V1で定義されている SamrConnect5() 応答で新しいビット 返すようになりました。

意味
0x00000010 クライアントによる受信時に、この値が設定されている場合、クライアントは AES Encryption と 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 日の更新プログラムでは、更新されていないデバイスを特定し、セキュリティの向上に役立つ 4 つの新しいイベントをシステム ログに追加します。

  • 構成状態イベント ID 16982 または 16983 は、起動時またはレジストリ構成の変更時にログに記録されます。

    イベント ID 16982

    イベント ログ システム
    イベント ソース Directory-Services-SAM
    イベント ID 16982
    レベル 情報
    エラー メッセージのテキスト セキュリティ アカウント マネージャーは、従来のパスワード変更を呼び出すか、RPC メソッドを設定するリモート クライアントの詳細イベントをログに記録するようになりました。 この設定は多数のメッセージを引き起こす可能性があり、問題を診断するために短期間だけ使用する必要があります。

    イベント ID 16983

    イベント ログ システム
    イベント ソース Directory-Services-SAM
    イベント ID 16983
    レベル 情報
    エラー メッセージのテキスト セキュリティ アカウント マネージャーは、従来のパスワード変更を呼び出すか、RPC メソッドを設定するリモート クライアントの定期的な概要イベントをログに記録するようになりました。
  • 2021 年 7 月 13 日の更新プログラムを適用すると、サマリー イベント 16984 が 60 分ごとにシステム イベント ログに記録されます。

    イベント ID 16984

    イベント ログ システム
    イベント ソース Directory-Services-SAM
    イベント ID 16984
    レベル 情報
    エラー メッセージのテキスト セキュリティ アカウント マネージャーは、過去 60 分間に %x レガシ パスワードの変更を検出するか、RPC メソッドの呼び出しを設定しました。
  • 詳細なイベント ログを構成すると、従来の RPC メソッドを使用してアカウント パスワードを変更または設定するたびに、イベント ID 16985 がシステム イベント ログに記録されます。

    イベント ID 16985

    イベント ログ システム
    イベント ソース Directory-Services-SAM
    イベント ID 16985
    レベル 情報
    エラー メッセージのテキスト セキュリティ アカウント マネージャーは、従来の変更の使用を検出したか、ネットワーク クライアントから RPC メソッドを設定しました。 クライアント オペレーティング システムまたはアプリケーションをアップグレードして、このメソッドの最新かつより安全なバージョンを使用することを検討してください。
    詳細 :
    RPC メソッド: %1
    クライアント ネットワーク アドレス: %2
    クライアント SID: %3
    ユーザー名: %4

    詳細なイベント ID 16985 をログに記録するには、サーバーまたはドメイン コントローラーで次のレジストリ値を切り替えます。

    パス HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\SAM
    REG_DWORD
    値名 AuditLegacyPasswordRpcMethods
    値のデータ 1 = 詳細ログが有効になっている
    0 または存在しない = 詳細ログは無効です。 概要イベントのみ。 (規定)
パスワード変更用に PBKDF2 イテレーションを構成する

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 へのダウングレードをトリガーするシナリオは何ですか?

ダウングレードは、サーバーまたはクライアントが AES をサポートしていない場合に発生します。

RC4 暗号化または AES 暗号化がネゴシエートされたかどうかを確認するにはどうすればよいですか?

RC4 を使用したレガシ メソッドが使用されている場合、更新されたサーバーはイベントをログに記録します。

サーバーで AES 暗号化を必要とすることはできますか。今後の Windows 更新プログラムでは、AES を使用してプログラムによって適用されますか?

現在、適用モードは使用できませんが、将来ある可能性があります。 日付がありません。

サード パーティのクライアントは、サーバーでサポートされている場合に AES をネゴシエートするための CVE-2021-33757 の保護をサポートしていますか?この質問に対処するには、Microsoft サポートまたはサード パーティのサポート チームに問い合わせる必要がありますか?

サード パーティ製デバイスが SAMR プロトコルを使用していない場合、これは重要ではありません。 MS-SAMR プロトコルを実装するサード パーティベンダーは、これを実装することを選択できます。 質問がある場合は、サード パーティベンダーにお問い合わせください。

追加の構成変更を行う必要がありますか?

追加の変更は必要ありません。

このプロトコルを使用するもの

このプロトコルは従来のプロトコルであり、使用が非常に低いことが予想されます。 レガシ アプリケーションでは、これらの API を使用できます。 また、AD ユーザーやコンピューター MMC などの一部の Active Directory ツールでは SAMR が使用されます。

Kerberos プロトコルまたはその他のプロトコルを使用するパスワードの変更は影響を受けますか?

いいえ。 これらの特定の SAMR API を使用するパスワードの変更のみが影響を受けます。

ドメイン コントローラーのパフォーマンスに影響を与えることができますか?

はい。 PBKDF2 は RC4 よりも高価です。 SamrUnicodeChangePasswordUser4 API を呼び出すドメイン コントローラーで同時に多数のパスワード変更が発生する場合、LSASS の CPU 負荷が影響を受ける可能性があります。 必要に応じてクライアントで PBKDF2 イテレーションを調整できますが、セキュリティが低下するため、既定値から減らすのはお勧めしません。

関連情報

AES-CBC と HMAC-SHA で認証された暗号化

AES 暗号の使用

サードパーティの情報に関する免責事項

Microsoft は、ユーザーがテクニカル サポートを見つけるため、サード パーティの連絡先を提供しています。 将来予告なしに変更されることがあります。 Microsoft は、サード パーティの連絡先情報の正確性を保証していません。