MDEクライアントアナライザー使ってみた

皆さんこんにちは。国井です。
Microsoft Defender for Endpoint(MDE)使ってますか?
MDEはマイクロソフト製のEDRとしてデバイスの脆弱性管理やインシデント対応に役立てることができます。

MDEでは利用開始するときにオンボーディングと呼ばれる設定をデバイスで行うことが必要になるんですけど、このオンボーディングがうまくいかない、またはオンボーディングされたんだけどその後のプロセスにどうやら問題がありそうだ、などというときに、これから紹介するクライアントアナライザーは活用することができます。

ツールのダウンロード

クライアントアナライザーはhttps://aka.ms/mdatpanalyzerよりダウンロードできます。

クライアントアナライザーの実行

ダウンロードしたツールはZIPファイルなので展開すると、いくつかのファイルが出てきます。その中からMDEClientAnalyzer.cmdファイルを実行すると検査を開始し、結果をWebページで出力してくれます。

image
さらに結果画面をスクロールすると詳細な検査結果が表示されます。
私の環境ではエラーが出力されることはなかったのですが、いくつかのWarningが出ていることがわかります。例えばEDRCloudというエラーですがPsExecが実行できないためにテストそのものができないと警告を発しています。これは私の環境ではMicrosoft Intune経由でASR機能を有効化し、PsExecを実行できないようにブロックしていることが原因です。本当にASRって運用が難しいですよね.. (MDEのオンボーディングとは全然違う話だけど)

image

続いて、Intuneからオンボーディングを行うように設定しているにもかかわらず、なかなかオンボードされないデバイスで実行してみます。すると、こちらはEDR Component Details欄になにも表示されていないことがわかります。つまりオンボーディングしたけどトラブったわけではなく、そもそもオンボーディングが実行されていないことがわかります。

image

なるほど。こうなると設定はMDEに問題があるのではなく、Intuneから展開するポリシーに問題があることが濃厚になってきました。
さらにWebページをスクロールして詳細を見てみると、、

image

なんとまったく同じ結果が表示されたことがわかります。
つまりデバイスの個体差によってオンボーディングができる/できないという問題ではなさそうだということがわかります。ちなみにオンボーディングされているかについてはイベントビューアやレジストリから参照することもできます。
イベントビューアであれば[アプリケーションとサービスログ] – [Microsoft] – [Windows] – [ SENSE]からもMDEに向かって情報(テレメトリ)が送信されている状況を確認することもできますし、レジストリであればHKLM\SOFTWARE\Microsoft\SenseCMの項目が存在するか?また存在するのであれば EnrollmentStatus の値がいくつになっているか?でトラブルシューティングを行うことができます(ちなみに私の正常動作しているデバイスでは3という値が登録されていました)。
EnrollmentStatus の値についてはマイクロソフトのWebサイトに詳細が書かれています。

2023年1月11日追記
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Advanced Threat Protectionからでもオンボーディング状況は確認することができます。

実際にオンボーディングに失敗したデバイスが用意できなかったので具体的なトラブルシューティングはできませんでしたが、参考になればうれしいです。

■参考情報
https://learn.microsoft.com/ja-jp/microsoft-365/security/defender-endpoint/troubleshoot-collect-support-log?view=o365-worldwide

Microsoft Defender for Endpoint(MDE) にオンボードされたデバイスの正常性確認ポイント | Japan CSS Security Support Blog (jp-sec.github.io)