次の方法で共有


アプリケーション制御イベントについて

WDAC イベントの概要

WDAC は、ポリシーの読み込み時、ファイルがブロックされたとき、または監査モードの場合にファイルがブロックされる場合にイベントをログに記録します。 これらのブロック イベントには、ポリシーを識別し、ブロックの詳細を示す情報が含まれます。 バイナリが許可されている場合、WDAC はイベントを生成しません。 ただし、この記事で後述するように、マネージド インストーラーまたはインテリジェント セキュリティ グラフ (ISG) によって承認されたファイルの監査イベントを許可するを有効にできます。

コア WDAC イベント ログ

WDAC イベントは、Windows イベント ビューアーの 2 つの場所で生成されます。

  • アプリケーションとサービスのログ - Microsoft - Windows - CodeIntegrity - Operational には、アプリケーション制御ポリシーのアクティブ化と実行可能ファイル、dll、ドライバーの制御に関するイベントが含まれています。
  • アプリケーションとサービスのログ - Microsoft - Windows - AppLocker - MSI とスクリプト には、MSI インストーラー、スクリプト、および COM オブジェクトの制御に関するイベントが含まれています。

WDAC がアクティブな場合に発生するほとんどのアプリとスクリプトのエラーは、これら 2 つのイベント ログを使用して診断できます。 この記事では、これらのログに存在するイベントについて詳しく説明します。 これらのイベントの詳細にあるさまざまなデータ要素 (タグ) の意味を理解するには、「 Application Control イベント タグについて」を参照してください。

アプリケーションとサービスのログ - Microsoft - Windows - AppLocker - MSI イベントとスクリプト イベントは、Windows Server Core エディションには含まれません。

実行可能ファイル、dll、ドライバーの WDAC ブロック イベント

これらのイベントは、 CodeIntegrity - Operational イベント ログにあります。

イベント ID 説明
3004 このイベントは一般的ではなく、アプリケーション制御ポリシーが存在するかどうかに関係なく発生する可能性があります。 通常、カーネル ドライバーが無効な署名を使用して読み込もうとしたことを示します。 たとえば、WHQL が必要なシステムでは、ファイルが WHQL 署名されていない場合があります。

このイベントは、開発者が /INTEGRITYCHECK にオプトインしたが正しく署名されていないカーネル モードまたはユーザー モード コードにも表示されます。
3033 このイベントは、アプリケーション制御ポリシーが存在するかどうかに関係なく発生する可能性があり、WDAC ポリシーによって発生した場合は、3077 イベントと共に発生する必要があります。 多くの場合、ファイルの署名が取り消されているか、有効期間署名 EKU の署名が期限切れであることを意味します。 有効期間署名 EKU の存在は、WDAC が署名の期限切れのためにファイルをブロックする唯一のケースです。 失効または期限切れの証明書に依存しないルール (ハッシュなど) と共に、ポリシーでオプション 20 Enabled:Revoked Expired As Unsigned を使用してみてください。

このイベントは、 Code Integrity Guard (CIG) でコンパイルされたコードが、CIG 要件を満たしていない他のコードを読み込もうとする場合にも発生します。
3034 このイベントは一般的ではありません。 これは、イベント 3033 と同等の監査モードです。
3076 このイベントは、監査モード ポリシーのアプリケーション制御ブロック イベントメインです。 ポリシーが適用された場合、ファイルがブロックされたことを示します。
3077 このイベントは、適用されたポリシーのメイン アプリケーション制御ブロック イベントです。 これは、ファイルがポリシーに合格せず、ブロックされたことを示します。
3089 このイベントには、アプリケーションコントロールによってブロックまたは監査がブロックされたファイルの署名情報が含まれています。 これらのイベントの 1 つは、ファイルの署名ごとに作成されます。 各イベントには、検出された署名の合計数と、現在の署名を識別するためのインデックス値が表示されます。 署名されていないファイルは、TotalSignatureCount が 0 のこれらのイベントの 1 つを生成します。 これらのイベントは、3004、3033、3034、3076、および 3077 イベントと関連付けられます。 イベントのシステム部分にある をCorrelation ActivityID使用して、イベントを照合できます。

パッケージ 化されたアプリ、MSI インストーラー、スクリプト、COM オブジェクトの WDAC ブロック イベント

これらのイベントは 、AppLocker - MSI イベント ログとスクリプト イベント ログにあります。

イベント ID 説明
8028 このイベントは、PowerShell などのスクリプト ホストが、スクリプト ホストが実行しようとしているファイルに関するアプリケーション制御に対してクエリを実行したことを示します。 ポリシーは監査モードであったため、スクリプトまたは MSI ファイルは実行されているはずですが、WDAC ポリシーが適用された場合は渡されませんでした。 スクリプト ホストによっては、ログに追加情報が含まれる場合があります。 注: ほとんどのサード パーティ製スクリプト ホストは、Application Control と統合されません。 実行を許可するスクリプト ホストを選択する場合は、未確認のスクリプトによるリスクを考慮してください。
8029 このイベントは、イベント 8028 と同等の強制モードです。 注: このイベントでは、スクリプトがブロックされたことが示されていますが、スクリプト ホストは実際のスクリプトの適用動作を制御します。 スクリプト ホストは、ファイルを制限付きで実行し、ファイルを完全にブロックしない場合があります。 たとえば、PowerShell は 、制約付き言語モードで WDAC ポリシーで許可されていないスクリプトを実行します。
8036 COM オブジェクトがブロックされました。 COM オブジェクトの承認の詳細については、「Windows Defender アプリケーション制御ポリシーでの COM オブジェクトの登録を許可する」を参照してください。
8037 このイベントは、スクリプト ホストがスクリプトの実行を許可するかどうかを確認し、ファイルが WDAC ポリシーを渡したことを示します。
8038 署名情報イベントは、8028 イベントまたは 8029 イベントと関連付けられます。 スクリプト ファイルのシグネチャごとに 1 つの 8038 イベントが生成されます。 スクリプト ファイルの署名の合計数と、その署名のインデックスを格納します。 署名されていないスクリプト ファイルは、TotalSignatureCount 0 で 1 つの 8038 イベントを生成します。 これらのイベントは 8028 イベントと 8029 イベントと相関しており、イベントの System 部分にある をCorrelation ActivityID使用して照合できます。
8039 このイベントは、WDAC ポリシーが監査モードであるため、パッケージ化されたアプリ (MSIX/AppX) のインストールまたは実行が許可されたことを示します。 ただし、ポリシーが適用された場合はブロックされていました。
8040 このイベントは、WDAC ポリシーにより、パッケージ化されたアプリがインストールまたは実行できなかったことを示します。

WDAC ポリシーのアクティブ化イベント

これらのイベントは、 CodeIntegrity - Operational イベント ログにあります。

イベント ID 説明
3095 アプリケーション制御ポリシーは更新できないため、代わりに再起動する必要があります。
3096 アプリケーション制御ポリシーは既に最新の状態であるため、更新されませんでした。 このイベントの詳細には、ポリシー オプションなど、ポリシーに関する有用な情報が含まれています。
3097 アプリケーション制御ポリシーを更新できません。
3099 ポリシーが読み込まれたことを示します。 このイベントの詳細には、ポリシー オプションなど、アプリケーション制御ポリシーに関する有用な情報が含まれています。
3100 アプリケーション制御ポリシーは更新されましたが、正常にアクティブ化されませんでした。 再試行。
3101 N 個のポリシーに対してアプリケーション制御ポリシーの更新が開始されました。
3102 N 個のポリシーに対するアプリケーション制御ポリシーの更新が完了しました。
3103 システムは、アプリケーション制御ポリシーの更新を無視しています。 たとえば、アクティブ化の条件を満たしていない受信トレイ Windows ポリシーなどです。
3105 システムは、指定された ID を使用してアプリケーション制御ポリシーを更新しようとしています。

インテリジェント セキュリティ グラフ (ISG) とマネージド インストーラー (MI) の診断イベント

マネージド インストーラーが有効になっている場合、LogAnalytics を使用しているお客様は、マネージド インストーラーで多数の 3091 イベントが発生する可能性があることに注意する必要があります。 LogAnalytics のコストが高くならないように、これらのイベントを除外することが必要になる場合があります。

次のイベントは、WDAC ポリシーに ISG または MI オプションが含まれている場合に役立つ診断情報を提供します。 これらのイベントは、マネージド インストーラーまたは ISG に基づいて何かが許可または拒否された理由をデバッグするのに役立ちます。 イベント 3090、3091、3092 は必ずしも問題を示すわけではありませんが、3076 や 3077 などの他のイベントとのコンテキストで確認する必要があります。

特に記載がない限り、これらのイベントは、使用している Windows のバージョンに応じて 、CodeIntegrity - Operational イベント ログまたは CodeIntegrity - Verbose イベント ログのいずれかで検出されます。

イベント ID 説明
3090 オプション このイベントは、ファイルが純粋に ISG またはマネージド インストーラーに基づいて実行されたことを示します。
3091 このイベントは、ファイルに ISG またはマネージド インストーラーが承認されておらず、アプリケーション制御ポリシーが監査モードであることを示します。
3092 このイベントは、3091 に相当する強制モードです。
8002 このイベントは 、AppLocker - EXE および DLL イベント ログにあります。 マネージド インストーラー規則に一致するプロセスが起動すると、このイベントは、イベントの詳細で見つかった PolicyName = MANAGEDINSTALLER で発生します。 PolicyName = EXE または DLL のイベントは WDAC に関連しません。

イベント 3090、3091、および 3092 は、システム上のアクティブなポリシーごとに報告されるため、同じファイルに対して複数のイベントが表示される場合があります。

ISG と MI 診断イベントの詳細

次の情報は、3090、3091、および 3092 イベントの詳細にあります。

名前 説明
ManagedInstallerEnabled 指定したポリシーでマネージド インストーラーの信頼が有効かどうかを示します
PassesManagedInstaller ファイルが MI から送信されたかどうかを示します
SmartlockerEnabled 指定したポリシーが ISG 信頼を有効にするかどうかを示します
PassesSmartlocker ファイルが ISG に従って肯定的な評判を持っていたかどうかを示します
AuditEnabled アプリケーション制御ポリシーが監査モードの場合は True、それ以外の場合は強制モードです
PolicyName イベントが適用されるアプリケーション制御ポリシーの名前

ISG および MI 診断イベントの有効化

3090 の許可イベントを有効にするには、次の PowerShell コマンドに示すように、値が 0x300 の TestFlags regkey を作成します。 その後、コンピューターを再起動します。

reg add hklm\system\currentcontrolset\control\ci -v TestFlags -t REG_DWORD -d 0x300

イベント 3091 と 3092 は、一部のバージョンの Windows では非アクティブであり、前のコマンドによってオンになっています。

付録

その他の関連するイベント ID とそれに対応する説明の一覧。

イベント ID 説明
3001 署名されていないドライバーがシステムに読み込もうとしました。
3002 ページ ハッシュが見つからなかったので、コードの整合性でブート イメージを確認できませんでした。
3004 ページ ハッシュが見つからなかったので、コードの整合性でファイルを確認できませんでした。
3010 検証中のファイルの署名を含むカタログが無効です。
3011 署名カタログの読み込みが完了しました。
3012 コード整合性によって署名カタログの読み込みが開始されました。
3023 検証中のドライバー ファイルが、アプリケーション制御ポリシーに合格するための要件を満たしていませんでした。
3024 Windows アプリケーション コントロールでブート カタログ ファイルを更新できませんでした。
3026 Microsoft または証明書発行元は、カタログに署名した証明書を取り消しました。
3032 検証中のファイルが取り消されているか、ファイルに署名が取り消されています。
3033 検証中のファイルが、アプリケーション制御ポリシーを渡す要件を満たしていませんでした。
3034 検証対象のファイルが適用されている場合、アプリケーション制御ポリシーを渡す要件を満たしていません。 ポリシーが監査モードであるため、ファイルは許可されました。
3036 Microsoft または証明書発行元は、検証対象のファイルに署名した証明書を取り消しました。
3064 アプリケーション制御ポリシーが適用された場合、検証中のユーザー モード DLL は、アプリケーション制御ポリシーを渡す要件を満たしていません。 ポリシーが監査モードであるため、DLL が許可されました。
3065 アプリケーション制御ポリシーが適用された場合、検証中のユーザー モード DLL は、アプリケーション制御ポリシーを渡す要件を満たしていません。
3074 ハイパーバイザーで保護されたコード整合性が有効になっている間のページ ハッシュエラー。
3075 このイベントは、ファイル検証中のアプリケーション制御ポリシーチェックのパフォーマンスを測定します。
3076 このイベントは、監査モード ポリシーのアプリケーション制御ブロック イベントメインです。 ポリシーが適用された場合、ファイルがブロックされたことを示します。
3077 このイベントは、適用されたポリシーのメイン アプリケーション制御ブロック イベントです。 これは、ファイルがポリシーに合格せず、ブロックされたことを示します。
3079 検証中のファイルが、アプリケーション制御ポリシーを渡す要件を満たしていませんでした。
3080 アプリケーション制御ポリシーが適用モードの場合、検証中のファイルはアプリケーション制御ポリシーを渡す要件を満たしていません。
3081 検証中のファイルが、アプリケーション制御ポリシーを渡す要件を満たしていませんでした。
3082 アプリケーション制御ポリシーが適用された場合、ポリシーはこの WHQL 以外のドライバーをブロックしている可能性があります。
3084 コードの整合性により、このブート セッションで WHQL ドライバーの署名要件が適用されます。
3085 コードの整合性では、このブート セッションで WHQL ドライバーの署名要件が適用されません。
3086 検証中のファイルは、分離ユーザー モード (IUM) プロセスの署名要件を満たしていません。
3089 このイベントには、アプリケーションコントロールによってブロックまたは監査がブロックされたファイルの署名情報が含まれています。 ファイルの署名ごとに 1 つの 3089 イベントが作成されます。
3090 オプション このイベントは、ファイルが純粋に ISG またはマネージド インストーラーに基づいて実行されたことを示します。
3091 このイベントは、ファイルに ISG またはマネージド インストーラーが承認されておらず、アプリケーション制御ポリシーが監査モードであることを示します。
3092 このイベントは、3091 に相当する強制モードです。
3095 アプリケーション制御ポリシーは更新できないため、代わりに再起動する必要があります。
3096 アプリケーション制御ポリシーは既に最新の状態であるため、更新されませんでした。
3097 アプリケーション制御ポリシーを更新できません。
3099 ポリシーが読み込まれたことを示します。 このイベントには、アプリケーション制御ポリシーによって設定されたオプションに関する情報も含まれます。
3100 アプリケーション制御ポリシーは更新されましたが、正常にアクティブ化されませんでした。 再試行。
3101 アプリケーション制御ポリシーの更新が開始されました。
3102 アプリケーション制御ポリシーの更新が完了しました。
3103 システムは、アプリケーション制御ポリシーの更新を無視しています。
3104 検証対象のファイルは、PPL (保護されたプロセス ライト) プロセスの署名要件を満たしていません。
3105 システムがアプリケーション制御ポリシーを更新しようとしています。
3108 Windows モード変更イベントが成功しました。
3110 Windows モード変更イベントが失敗しました。
3111 検証中のファイルが、ハイパーバイザーで保護されたコード整合性 (HVCI) ポリシーを満たしていませんでした。
3112 Windows は、検証対象のファイルに署名した証明書を取り消しました。
3114 動的コード セキュリティは、.NET アプリまたは DLL をアプリケーション制御ポリシー検証にオプトしました。 検証中のファイルがポリシーに合格せず、ブロックされました。