CVE-2022-38023 への対応とその影響について

Last Update: feedback 共有

※※ 2023/4/7 更新
※※ ・ 初期強制フェーズが 2 つに変更されたことに伴い、情報を更新いたしました。
※※ 2023/4/27 更新
※※ ・ 「ドメイン コントローラー: 脆弱な Netlogon セキュア チャネル接続を許可する」グループポリシーの情報が削除されたことに伴い、情報を更新いたしました。

本記事はマイクロソフト社員によって公開されております。

こんにちは。Windows Commercial Support Directory Services チームです。

2022 年 11 月にリリースされた更新プログラムでは、Active Direcotry 環境への脆弱性対応として以下 3 点の対処が含まれています。

本記事では、CVE-2022-38023 (Netlogon プロトコルの変更/RPCシールの強制、及びRC4 暗号化タイプへの対処) に関してご案内させていただきます。

// 本脆弱性に関する参考情報

KB5021130:CVE-2022-38023に関連するNetlogonプロトコルの変更管理方法について


CVE-2022-38023 の脆弱性対応について


Netlogonプロトコル (MS-NRPC) は、主にデバイスとそのドメイン間の関係、およびドメイン コントローラー (DC) とドメイン間の関係を維持するために使用されます。

このNetlogonプロトコル (MS-NRPC) に脆弱性が見つかり、脆弱性を悪用することでドメインの管理者権限が取得される可能性があるため、
CVE-2022-38023 を公開させていただいております。

本脆弱性への対応は以下の 4 フェーズに分け、段階的に実施する予定となっております。

1) 2022 年 11 月 8 日 - 初期デプロイ フェーズ

2022 年 11 月 8 日にリリースされた更新プログラムを適用することで、すべての Windows クライアントにて強制的に RPC シールを利用したセキュアチャネルが作成されるようになり、ドメイン コントローラー側では、内部的に RequireSeal=1 の動作に移行します。
Windows OSもしくは信頼関係越しの通信の場合には、本フェーズ時点で、RPC シールを利用しない接続を拒否いたしますが、
現行サポートされているWindows OS バージョンのクライアントは、既定で RPC シールをサポートしているため、基本的に本フェーズで影響を受けることはございません。
Windows OS 以外のサード パーティ製品からの接続の場合には、本フェーズにおいては RPC 署名による接続でも許可されます。

2) 2023 年 4 月 11 日 - 初期適用フェーズ

初期適用フェーズでは RequireSeal = 0 の設定が削除されます。

3) 2023 年 6 月 13 日 - 初期値変更の強制フェーズ

本フェーズに移行すると、管理者が互換モード (RequireSeal=1) になるように明示的に構成しない限り、強制モードに移動されます。つまり RequireSeal レジストリの設定を行っていない場合、内部的にRequireSeal=2 の状態に移行します。

そのため、サード パーティ製品を含むすべてのクライアントからの脆弱な接続は、この時点で認証が拒否されます。

4) 2023 年 7 月 11 日 - 完全強制フェーズ

完全強制フェーズでは、RequireSeal レジストリの値に関わらず、強制的に RequireSeal =2 の動作となります。
これにより、CVE-2022-38023 の対処が完了します。

■レジストリRequireSeal について

Registry Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
Name : RequireSeal
Type: REG_DWORD
0 – 無効
1 – 互換モード  Windows ドメイン コントローラーでは、Netlogon クライアントが Windows を実行している場合、またはドメイン コントローラーまたは信頼アカウントとして機能している場合は、RPC シールを使用する必要があります。
2 - 強制モード すべてのクライアントは、RPC シールを使用する必要があります。

対処方法の流れについて


本脆弱性に対しては、以下のような流れで対処を行います。

  1. RODC を含むドメイン内の全てのドメイン コントローラーを含むすべてのマシンに 2022 年 11 月の更新プログラムを適用します。
  2. ドメイン コントローラーのシステムログからイベント ID:5838 / ID:5839 を監視して、脆弱性の対象となる通信を検知させます。
  3. 検知した場合には、強制モード (RequireSeal=2) までに端末の対処 (※”[1] 検知対象のデバイスへの対処” を参照) を実施します。
  4. 対処ができた段階で 2023 年 7 月の更新プログラムの適用を待たずにRequireSeal レジストリに 2 の値を設定し、脆弱性の対象となる安全でない通信を遮断します。
  5. 2023 年 7 月の更新プログラムを適用すると、レジストリの値に関わらず、ID:5838 / ID:5839 が対応している脆弱性のある通信を全て遮断します。

検知対象のデバイスへの対処


CVE-2022-38023 には以下の 2 つの内容がチェックされるようになります。

  1. RPC シールが利用されているか。
  2. RC4 暗号化タイプが利用されているか。

RPC シールはイベント ID:5838 / ID:5839 に対応されており、CVE-2022-38023 のフェーズごとに対処される動作が変わってきます。
一方で RC4 暗号化タイプに関しては ID:5840 / ID:5841 に対応しております。
詳細は下記にてそれぞれについてご説明いたします。

イベント ID:5838 / ID:5839 を検知した場合

2022 年 11 月以降の更新プログラムが適用されたドメイン コントローラーにて、イベント ID:5838 / ID:5839 を検知した場合には、
イベントログに記載されるマシン情報 (もしくは信頼関係オブジェクト) を確認し、対象マシン(もしくは信頼関係先) にて対処を行います。

対象マシン(もしくは信頼関係先) が、Windows OS の場合には、以下の点をご確認ください。

  • 対象マシン(もしくは信頼関係先のドメイン コントローラー) が現行サポートされている Windows OS バージョンであることを確認ください。
    もしサポート外の Windows OS の場合には、現行サポートされるWindows OS バージョンへのアップグレードをお願いいたします。

  • 対象マシン(もしくは信頼関係先のドメイン コントローラー) に最新の更新プログラムが適用されているかを確認ください。
    最新の更新プログラムが適用されていない場合でも、RPC シールは利用可能となりますが、念のため、最新の更新プログラムを適用し、イベントが記録されなくなることをご確認ください。

  • 対象マシン(もしくは信頼関係先のドメイン コントローラー) にて、以下のポリシーが[有効] になっていることを確認します。
    [ローカル ポリシー] - [セキュリティ オプション] - [ドメイン メンバー: 常にセキュリティで保護されたチャネルのデータをデジタル的に暗号化または署名する]
    [無効] になっている場合には、[有効] に変更します。

//イベントログサンプル
※イベントID:5838

ログの名前:         System
ソース:           NETLOGON
日付:            2023/01/26 18:01:34
イベント ID:       5838
タスクのカテゴリ:      なし
レベル:           エラー
キーワード:         クラシック
ユーザー:          N/A
コンピューター:       <ドメイン コントローラー>
説明:
Netlogon サービスは、RPC シールではなく RPC 署名を使用するクライアントを検出しました。
 Machine SamAccountName: <コンピューター名> 
ドメイン: <ドメイン名>. 
アカウントの種類: Domain Member 
コンピューターのオペレーティング システム: <OS バージョン>
コンピューターのオペレーティング システムのビルド: <ビルドバージョン> 
コンピューターのオペレーティング システム サービス パック: N/A 
クライアント IP アドレス: <IP アドレス>

※イベントID:5839

ログの名前:         System
ソース:           NETLOGON
日付:            2023/01/26 20:47:43
イベント ID:       5839
タスクのカテゴリ:      なし
レベル:           エラー
キーワード:         クラシック
ユーザー:          N/A
コンピューター:       <ドメイン コントローラー>
説明:
Netlogon サービスは、RPC シールではなく RPC 署名を使用する信頼を検出しました。  
 アカウントの種類: Trust 
 信頼名: <信頼関係先ドメイン名>
 信頼ターゲット: <信頼関係元ドメイン名>. 
 クライアント IP アドレス: <IP アドレス>  

一方、検知されたマシンが、サード パーティ製品であった場合には、製品ベンダー様へ RPC シール に対応可能かご確認をお願いいたします。
ドメイン内に RPC シールを利用できない機器が存在する場合は、強制モードへの移行を延期していただけますようお願いいたします。

ID:5840 / ID:5841 を検知した場合

ID:5840 / ID:5841 が記録された場合は、クライアント端末は RC4 暗号化タイプを利用していることを示します。(AES の場合はイベントが記録されません。)

  • ID 5840: DC のレジストリ RejectMD5Clients は 0 または未定義の状態となります。接続は許可されますが 5840 イベントが記録されます。
  • ID 5841: DC のレジストリ RejectMD5Clients は 1 となります。接続はブロックされ 5841 イベントが記録されます。

こちらは、11 月更新プログラムを適用する前と比べてイベントとして記録されるようになりますが、上記のフェーズによって動作変更することはございません。
ID:5840 のみ記録されている場合は、セキュリティの低い暗号化タイプ RC4 が利用されていますが、その接続自体は成功できていると考えていただいて問題ございません。
CVE-2022-38023 の強制フェーズにおいても ID:5840 に対応する接続を拒否する動作は発生しません。

//イベントログサンプル
※イベントID:5840

ログの名前:         System
ソース:           NETLOGON
日付:            2023/01/26 20:47:43
イベント ID:       5840
タスクのカテゴリ:      なし
レベル:           警告
キーワード:         クラシック
ユーザー:          N/A
コンピューター:       <ドメイン コントローラー>
説明:
Netlogon サービスは、RC4 を使用してクライアントとの間にセキュリティで保護されたチャネルを作成しました。
 アカウント名: <アカウント名>. 
 ドメイン: <ドメイン名>. 
 アカウントの種類: <アカウントの種類> 
 クライアント IP アドレス: <IP アドレス> 
 ネゴシエートされたフラグ: <フラグ>  

 これがログに記録された理由の詳細については、https://go.microsoft.com/fwlink/?linkid=2209514 を参照してください。

※イベントID:5841

ログの名前:         System
ソース:           NETLOGON
日付:            2023/01/26 20:19:25
イベント ID:       5841
タスクのカテゴリ:      なし
レベル:           エラー
キーワード:         クラシック
ユーザー:          N/A
コンピューター:       <ドメイン コントローラー>
説明:
Netlogon サービスは、'RejectMd5Clients' 設定により、RC4 を使用しているクライアントを拒否しました。

 アカウント名: <アカウント名>. 
 ドメイン: <ドメイン名>. 
 アカウントの種類: <アカウントの種類> 
 クライアント IP アドレス: <IP アドレス> 
 ネゴシエートされたフラグ: <フラグ>   

 これが拒否された理由の詳細については、  https://go.microsoft.com/fwlink/?linkid=2209514. にアクセスしてください

更新履歴

2023/4/7 : 初期強制フェーズが 2 つに変更されたことに伴い内容を修正
2023/4/27 : 「ドメイン コントローラー: 脆弱な Netlogon セキュア チャネル接続を許可する」グループポリシーの情報が削除されたことに伴い、内容を修正
2023/6/23 : レジストリ RequireSeal の説明を修正