Alekhya Jupudi 4466a082bc Task - 5358645: Clean-up work
Clean -up work and minor updates to improve acrolinx score.
2021-09-02 11:46:05 +05:30

9.5 KiB

title, description, keywords, ms.assetid, ms.prod, ms.mktglfcycl, ms.sitesec, ms.pagetype, ms.localizationpriority, audience, ms.collection, author, ms.reviewer, ms.author, manager, ms.date, ms.technology
title description keywords ms.assetid ms.prod ms.mktglfcycl ms.sitesec ms.pagetype ms.localizationpriority audience ms.collection author ms.reviewer ms.author manager ms.date ms.technology
Understanding Application Control event IDs (Windows) Learn what different Windows Defender Application Control event IDs signify. security, malware 8d6e0474-c475-411b-b095-1c61adb2bdbb m365-security deploy library security medium ITPro M365-security-compliance jsuther1974 isbrahm dansimp dansimp 06/02/2021 mde

Understanding Application Control events

A Windows Defender Application Control (WDAC) policy logs events locally in Windows Event Viewer in either enforced or audit mode. These events are generated under two locations:

  • Event IDs beginning with 30 appear in Applications and Services logs > Microsoft > Windows > CodeIntegrity > Operational

  • Event IDs beginning with 80 appear in Applications and Services logs > Microsoft > Windows > AppLocker > MSI and Script

Note

These event IDs are not applicable on Windows Server Core edition.

Microsoft Windows CodeIntegrity Operational log event IDs

Event ID Explanation
3076 Audit executable/dll file
3077 Block executable/dll file
3089 Signing information event correlated with either a 3076 or 3077 event. One 3089 event is generated for each signature of a file. Contains the total number of signatures on a file and an index as to which signature it is. Unsigned files will generate a single 3089 event with TotalSignatureCount 0. Correlated in the "System" portion of the event data under "Correlation ActivityID".
3099 Indicates that a policy has been loaded

Microsoft Windows AppLocker MSI and Script log event IDs

Event ID Explanation
8028 Audit script/MSI file generated by Windows LockDown Policy (WLDP) being called by the script hosts themselves. Note: there is no WDAC enforcement on third-party script hosts.
8029 Block script/MSI file
8036 COM object was blocked. To learn more about COM object authorization, see Allow COM object registration in a Windows Defender Application Control policy.
8038 Signing information event correlated with either an 8028 or 8029 event. One 8038 event is generated for each signature of a script file. Contains the total number of signatures on a script file and an index as to which signature it is. Unsigned script files will generate a single 8038 event with TotalSignatureCount 0. Correlated in the "System" portion of the event data under "Correlation ActivityID".

Optional Intelligent Security Graph (ISG) or Managed Installer (MI) diagnostic events

If either the ISG or MI is enabled in a WDAC policy, you can optionally choose to enable 3090, 3091, and 3092 events to provide more diagnostic information.

Event ID Explanation
3090 Allow executable/dll file
3091 Audit executable/dll file
3092 Block executable/dll file

3090, 3091, and 3092 events are generated based on the status code of whether a binary passed the policy, regardless of what reputation it was given or whether it was allowed by a designated MI. The SmartLocker template that appears in the event should indicate why the binary passed/failed. Only one event is generated per binary pass/fail. If both ISG and MI are disabled, 3090, 3091, and 3092 events will not be generated.

SmartLocker template

Below are the fields that help to diagnose what a 3090, 3091, or 3092 event indicates.

Name Explanation
StatusCode STATUS_SUCCESS indicates a binary passed the active WDAC policies. If so, a 3090 event is generated. If not, a 3091 event is generated if the blocking policy is in audit mode, and a 3092 event is generated if the policy is in enforce mode.
ManagedInstallerEnabled Policy trusts a MI
PassesManagedInstaller File originated from a trusted MI
SmartlockerEnabled Policy trusts the ISG
PassesSmartlocker File had positive reputation
AuditEnabled True if the policy is in audit mode, otherwise it is in enforce mode

Enabling ISG and MI diagnostic events

In order to enable 3091 audit events and 3092 block events, you must create a TestFlags regkey with a value of 0x100. You can do so using the following PowerShell command:

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

To enable 3090 allow events, and 3091 and 3092 events, you must instead create a TestFlags regkey with a value of 0x300. You can do so using the following PowerShell command:

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

System Integrity Policy Options

The WDAC policy rule-option values can be derived from the "Options" field in the Details section of the Code integrity 3099 event. To parse the values, first convert the hex value to binary. Next, use the bit addresses and their values from the table below to determine the state of each policy rule-option.

Bit Address Policy Rule Option
2 Enabled:UMCI
3 Enabled:Boot Menu Protection
4 Enabled:Intelligent Security Graph Authorization
5 Enabled:Invalidate EAs on Reboot
7 Required:WHQL
10 Enabled:Allow Supplemental Policies
11 Disabled:Runtime FilePath Rule Protection
13 Enabled:Revoked Expired As Unsigned
16 Enabled:Audit Mode (Default)
17 Disabled:Flight Signing
18 Enabled:Inherit Default Policy
19 Enabled:Unsigned System Integrity Policy (Default)
20 Enabled:Dynamic Code Security
21 Required:EV Signers
22 Enabled:Boot Audit on Failure
23 Enabled:Advanced Boot Options Menu
24 Disabled:Script Enforcement
25 Required:Enforce Store Applications
27 Enabled:Managed Installer
28 Enabled:Update Policy No Reboot

Appendix

A list of other relevant event IDs and their corresponding description.

Event ID Description
3001 An unsigned driver was attempted to load on the system.
3002 Code Integrity could not verify the boot image as the page hash could not be found.
3004 Code Integrity could not verify the file as the page hash could not be found.
3010 The catalog containing the signature for the file under validation is invalid.
3011 Code Integrity finished loading the signature catalog.
3012 Code Integrity started loading the signature catalog.
3023 The driver file under validation did not meet the requirements to pass the application control policy.
3024 Windows application control was unable to refresh the boot catalog file.
3026 The catalog loaded is signed by a signing certificate that has been revoked by Microsoft and/or the certificate issuing authority.
3033 The file under validation did not meet the requirements to pass the application control policy.
3034 The file under validation would not meet the requirements to pass the application control policy if the policy was enforced. The file was allowed since the policy is in audit mode.
3036 The signed file under validation is signed by a code signing certificate that has been revoked by Microsoft or the certificate issuing authority.
3064 If the policy was enforced, a user mode DLL under validation would not meet the requirements to pass the application control policy. The DLL was allowed since the policy is in audit mode.
3065 [Ignored] If the policy was enforced, a user mode DLL under validation would not meet the requirements to pass the application control policy.
3074 Page hash failure while hypervisor-protected code integrity was enabled.
3075 This event monitors the performance of the Code Integrity policy check a file.
3079 The file under validation did not meet the requirements to pass the application control policy.
3080 If the policy was in enforced mode, the file under validation would not have met the requirements to pass the application control policy.
3081 The file under validation did not meet the requirements to pass the application control policy.
3082 If the policy was in enforced mode, the non-WHQL driver would have been denied by the policy.
3084 Code Integrity will enforce the WHQL Required policy setting on this session.
3085 Code Integrity will not enforce the WHQL Required policy setting on this session.
3086 The file under validation does not meet the signing requirements for an isolated user mode (IUM) process.
3095 This Code Integrity policy cannot be refreshed and must be rebooted instead.
3097 The Code Integrity policy cannot be refreshed.
3100 The application control policy was refreshed but was unsuccessfully activated. Retry.
3101 Code Integrity started refreshing the policy.
3102 Code Integrity finished refreshing the policy.
3103 Code Integrity is ignoring the policy refresh.
3104 The file under validation does not meet the signing requirements for a PPL (protected process light) process.
3105 Code Integrity is attempting to refresh the policy.
3108 Windows mode change event was successful.
3110 Windows mode change event was unsuccessful.
3111 The file under validation did not meet the hypervisor-protected code integrity (HVCI) policy.