高度なハンティングを使用してアプリケーション制御イベントを一元的に照会する

Windows Defender アプリケーション制御 (WDAC) ポリシーは、Windows イベント ビューアーで、適用モードまたは監査モードでイベントをローカルにログに記録します。 イベント ビューアーは 1 つのシステムへの影響を確認するのに役立ちますが、IT 担当者は多くのシステムで評価したいと考えています。

2018 年 11 月、Microsoft Defender for Endpoint に機能を追加しました。これにより、接続されているすべてのシステムから WDAC イベントを一元的に表示することが容易になりました。

Microsoft Defender for Endpoint での高度なハンティングを使用すると、豊富な機能セットを使用してデータのクエリを実行できます。 WDAC イベントは、"AppControl" で始まる ActionType を使用してクエリを実行できます。 この機能は、Windows バージョン 1607 以降でサポートされています。

アクションの種類

ActionType 名 ETW ソース イベント ID 説明
AppControlCodeIntegrityDriverRevoked 3023 検証中のドライバー ファイルが、アプリケーション制御ポリシーに合格するための要件を満たしていませんでした。
AppControlCodeIntegrityImageRevoked 3036 検証中の署名済みファイルは、Microsoft または証明書発行元によって取り消されたコード署名証明書によって署名されます。
AppControlCodeIntegrityPolicyAudited 3076 このイベントは、監査モード ポリシーの主要な Windows Defender アプリケーション制御ブロック イベントです。 WDAC ポリシーが適用された場合、ファイルがブロックされたことを示します。
AppControlCodeIntegrityPolicyBlocked 3077 このイベントは、適用されたポリシーのメイン Windows Defender アプリケーション制御ブロック イベントです。 これは、ファイルが WDAC ポリシーに合格せず、ブロックされたことを示します。
AppControlExecutableAudited 8003 監査のみの適用モードが有効になっている場合にのみ適用されます。 [規則の適用] モードが有効になっている場合にブロックされる .exe または .dll ファイルを指定します。
AppControlExecutableBlocked 8004 .exe または .dll ファイルを実行できません。
AppControlPackagedAppAudited 8021 監査のみの適用モードが有効になっている場合にのみ適用されます。 [ルールの適用] 適用モードが有効になっている場合に、パッケージ化されたアプリがブロックされることを指定します。
AppControlPackagedAppBlocked 8022 パッケージ化されたアプリがポリシーによってブロックされました。
AppControlScriptAudited 8006 監査のみの適用モードが有効になっている場合にのみ適用されます。 [ルールの適用] 適用モードが有効になっている場合にブロックされるスクリプトまたは .msi ファイルを指定します。
AppControlScriptBlocked 8007 ファイル名へのアクセスは管理者によって制限されます。 [ルールの適用] 適用モードがグループ ポリシーの継承によって直接または間接的に設定されている場合にのみ適用されます。 スクリプトまたは .msi ファイルを実行できません。
AppControlCIScriptAudited 8028 スクリプトによって呼び出される Windows LockDown Policy (WLDP) によって生成された監査スクリプト/MSI ファイルは、自身をホストします。
AppControlCIScriptBlocked 8029 スクリプトによって呼び出される Windows LockDown Policy (WLDP) によって生成されたスクリプト/MSI ファイルをブロックします。
AppControlCodeIntegrityOriginAllowed 3090 ファイルは、評判の良い (ISG) またはインストール ソース (マネージド インストーラー) が原因で許可されました。
AppControlCodeIntegrityOriginAudited 3091 監査されたファイルの評判 (ISG) とインストール ソース (マネージド インストーラー) 情報。
AppControlCodeIntegrityOriginBlocked 3092 ブロックされたファイルの評判 (ISG) とインストール ソース (マネージド インストーラー) 情報。
AppControlCodeIntegrityPolicyLoaded 3099 ポリシーが正常に読み込まれたを示します。
AppControlCodeIntegritySigningInformation 3089 署名情報イベントは、3076 イベントまたは 3077 イベントと関連付けられます。 ファイルのシグネチャごとに 1 つの 3089 イベントが生成されます。
AppControlPolicyApplied 8001 AppLocker ポリシーがコンピューターに正常に適用されたことを示します。

Understanding Application Control イベント ID (Windows) の詳細

高度なハンティング アプリケーション制御クエリの例

クエリ例 1: 過去 7 日間の種類別に要約されたアプリケーション 制御アクションの種類に対してクエリを実行する

Microsoft Defender for Endpoint によって監視されているマシンから過去 7 日間に生成されたすべての Windows Defender アプリケーション制御イベントを示す簡単なクエリ例を次に示します。

DeviceEvents
| where Timestamp > ago(7d) and
ActionType startswith "AppControl"
| summarize Machines=dcount(DeviceName) by ActionType
| order by Machines desc

クエリ結果は、次のような Windows Defender アプリケーションコントロールの管理に関連するいくつかの重要な機能に使用できます。

  • 監査モードでのポリシーの展開の影響を評価する アプリケーションは引き続き監査モードで実行されるため、ポリシーに含まれるルールの影響と正確性を確認する理想的な方法です。 生成されたイベントを Advanced Hunting と統合すると、監査モード ポリシーの広範な展開を簡単に行い、含まれているルールが実際の使用でこれらのシステムにどのような影響を与えるかを確認できます。 この監査モード データは、適用モードでのポリシーの使用への移行を効率化するのに役立ちます。
  • 強制モードでのポリシーからのブロックの監視 強制モードで展開されたポリシーは、含まれている許可規則のいずれかを満たしていなかった実行可能ファイルまたはスクリプトをブロックする可能性があります。 正当な新しいアプリケーションや更新プログラム、または望ましくない可能性のあるソフトウェアや悪意のあるソフトウェアがブロックされる可能性があります。 どちらの場合も、高度なハンティング クエリによってブロックがレポートされ、さらに調査されます。

クエリの例 #2: 過去 7 日間の監査ブロックを特定するためのクエリ

DeviceEvents
| where ActionType startswith "AppControlExecutableAudited"
| where Timestamp > ago(7d)
|project DeviceId,                               // the device ID where the audit block happened
FileName,                                        // The audit blocked app's filename
FolderPath,                                      // The audit blocked app's system path without the FileName
InitiatingProcessFileName,                       // The file name of the parent process loading the executable
InitiatingProcessVersionInfoCompanyName,         // The company name of the parent process loading the executable
InitiatingProcessVersionInfoOriginalFileName,    // The original file name of the parent process loading the executable
InitiatingProcessVersionInfoProductName,         // The product name of the parent process loading the executable
InitiatingProcessSHA256,                         // The SHA256 flat hash of the parent process loading the executable
Timestamp,                                       // The event creation timestamp
ReportId,                                        // The report ID - randomly generated by MDE AH
InitiatingProcessVersionInfoProductVersion,      // The product version of the parent process loading the executable
InitiatingProcessVersionInfoFileDescription,     // The file description of the parent process loading the executable
AdditionalFields                                 // Additional fields contains FQBN for signed binaries.  These contain the CN of the leaf certificate, product name, original filename and version of the audited binary