← Back to Explore
sigmalowHunting
CodeIntegrity - Unmet Signing Level Requirements By File Under Validation
Detects attempted file load events that did not meet the signing level requirements. It often means the file's signature is revoked or a signature with the Lifetime Signing EKU has expired. This event is best correlated with EID 3089 to determine the error of the validation.
Detection Query
selection:
EventID:
- 3033
- 3034
filter_optional_dtrace:
FileNameBuffer|endswith: \Program Files\DTrace\dtrace.dll
ProcessNameBuffer|endswith: \Windows\System32\svchost.exe
RequestedPolicy: 12
filter_optional_av_generic:
FileNameBuffer|contains: \Windows\System32\DriverStore\FileRepository\
FileNameBuffer|endswith: \igd10iumd64.dll
RequestedPolicy: 7
filter_optional_electron_based_app:
FileNameBuffer|endswith: \Windows\System32\nvspcap64.dll
ProcessNameBuffer|endswith:
- \AppData\Local\Keybase\Gui\Keybase.exe
- \Microsoft\Teams\stage\Teams.exe
RequestedPolicy: 8
filter_optional_bonjour:
FileNameBuffer|endswith: \Program Files\Bonjour\mdnsNSP.dll
ProcessNameBuffer|endswith:
- \Windows\System32\svchost.exe
- \Windows\System32\SIHClient.exe
RequestedPolicy:
- 8
- 12
filter_optional_msoffice_1:
FileNameBuffer|contains: \Microsoft Office\root\vfs\ProgramFilesCommonX64\Microsoft Shared\OFFICE
FileNameBuffer|endswith: \MSOXMLMF.DLL
RequestedPolicy: 7
filter_optional_msoffice_2:
ProcessNameBuffer|contains: \Program Files\Microsoft
Office\root\vfs\ProgramFilesCommonX64\Microsoft Shared\Office
FileNameBuffer|contains: \Windows\System32\
RequestedPolicy: 8
filter_optional_slack:
FileNameBuffer|endswith: \Windows\System32\nvspcap64.dll
ProcessNameBuffer|contains: \AppData\Local\slack\app-
ProcessNameBuffer|endswith: \slack.exe
RequestedPolicy: 8
filter_optional_firefox:
FileNameBuffer|endswith:
- \Mozilla Firefox\mozavcodec.dll
- \Mozilla Firefox\mozavutil.dll
ProcessNameBuffer|endswith: \Mozilla Firefox\firefox.exe
RequestedPolicy: 8
filter_optional_avast:
FileNameBuffer|endswith:
- \Program Files\Avast Software\Avast\aswAMSI.dll
- \Program Files (x86)\Avast Software\Avast\aswAMSI.dll
RequestedPolicy:
- 8
- 12
filter_main_gac:
FileNameBuffer|contains: \Windows\assembly\GAC\
ProcessNameBuffer|endswith: \mscorsvw.exe
ProcessNameBuffer|contains: \Windows\Microsoft.NET\
RequestedPolicy: 8
filter_optional_google_drive:
FileNameBuffer|contains: \Program Files\Google\Drive File Stream\
FileNameBuffer|endswith: \crashpad_handler.exe
ProcessNameBuffer|endswith: \Windows\ImmersiveControlPanel\SystemSettings.exe
RequestedPolicy: 8
filter_optional_trend_micro:
FileNameBuffer|endswith: \Trend Micro\Client Server Security Agent\perficrcperfmonmgr.dll
RequestedPolicy: 8
filter_optional_mdns_responder:
FileNameBuffer|endswith: "\\Program Files\\National Instruments\\Shared\\mDNS
Responder\\nimdnsNSP.dll "
filter_optional_mcafee:
FileNameBuffer|endswith:
- \Program Files\McAfee\Endpoint Security\Threat
Prevention\MfeAmsiProvider.dll
- \Program Files\McAfee\MfeAV\AMSIExt.dll
filter_optional_eset:
FileNameBuffer|endswith: \Program Files\ESET\ESET Security\eamsi.dll
filter_optional_comodo:
FileNameBuffer|endswith: \Program Files\comodo\comodo internet security\amsiprovider_x64.dll
filter_optional_sentinel_one:
- FileNameBuffer|contains: \Program Files\SentinelOne\Sentinel Agent
- ProcessNameBuffer|contains: \Program Files\SentinelOne\Sentinel Agent
filter_optional_national_instruments:
FileNameBuffer|contains: \National Instruments\Shared\mDNS Responder\
filter_optional_kaspersky:
- ProcessNameBuffer|contains|all:
- \Kaspersky Lab\
- \avp.exe
- FileNameBuffer|contains|all:
- \Kaspersky Lab\
- \antimalware_provider.dll
condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
Author
Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
Created
2022-01-20
Data Sources
windowscodeintegrity-operational
Platforms
windows
References
- https://twitter.com/SBousseaden/status/1483810148602814466
- https://github.com/MicrosoftDocs/windows-itpro-docs/blob/40fe118976734578f83e5e839b9c63ae7a4af82d/windows/security/threat-protection/windows-defender-application-control/event-id-explanations.md#windows-codeintegrity-operational-log
- https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/operations/event-tag-explanations
- https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/operations/event-id-explanations
Tags
attack.execution
Raw Content
title: CodeIntegrity - Unmet Signing Level Requirements By File Under Validation
id: f8931561-97f5-4c46-907f-0a4a592e47a7
status: experimental
description: |
Detects attempted file load events that did not meet the signing level requirements. It often means the file's signature is revoked or a signature with the Lifetime Signing EKU has expired.
This event is best correlated with EID 3089 to determine the error of the validation.
references:
- https://twitter.com/SBousseaden/status/1483810148602814466
- https://github.com/MicrosoftDocs/windows-itpro-docs/blob/40fe118976734578f83e5e839b9c63ae7a4af82d/windows/security/threat-protection/windows-defender-application-control/event-id-explanations.md#windows-codeintegrity-operational-log
- https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/operations/event-tag-explanations
- https://learn.microsoft.com/en-us/windows/security/application-security/application-control/windows-defender-application-control/operations/event-id-explanations
author: Florian Roth (Nextron Systems), Nasreddine Bencherchali (Nextron Systems)
date: 2022-01-20
modified: 2025-02-28
tags:
- attack.execution
logsource:
product: windows
service: codeintegrity-operational
detection:
selection:
EventID:
- 3033 # Code Integrity determined that a process (%4) attempted to load %2 that did not meet the %5 signing level requirements.
- 3034 # Code Integrity determined that a process (%4) attempted to load %2 that did not meet the %5 signing level requirements or violated code integrity policy. However, due to code integrity auditing policy, the image was allowed to load.
filter_optional_dtrace:
# Example: Code Integrity determined that a process (\Device\HarddiskVolume5\Windows\System32\svchost.exe) attempted to load \Device\HarddiskVolume5\Program Files\DTrace\dtrace.dll that did not meet the Windows signing level requirements.
FileNameBuffer|endswith: '\Program Files\DTrace\dtrace.dll'
ProcessNameBuffer|endswith: '\Windows\System32\svchost.exe'
RequestedPolicy: 12
filter_optional_av_generic:
# Example: Code Integrity determined that a process (\Device\HarddiskVolume5\ProgramData\Microsoft\Windows Defender\Platform\4.18.2207.7-0\MsMpEng.exe) attempted to load \Device\HarddiskVolume5\Windows\System32\DriverStore\FileRepository\iigd_dch.inf_amd64_36fb67bd6dbd887d\igd10iumd64.dll that did not meet the Custom 3 / Antimalware signing level requirements.
FileNameBuffer|contains: '\Windows\System32\DriverStore\FileRepository\'
FileNameBuffer|endswith: '\igd10iumd64.dll'
# ProcessNameBuffer is AV products
RequestedPolicy: 7
filter_optional_electron_based_app:
# Example: Code Integrity determined that a process (\Device\HarddiskVolume5\Users\user\AppData\Local\Keybase\Gui\Keybase.exe) attempted to load \Device\HarddiskVolume5\Windows\System32\nvspcap64.dll that did not meet the Microsoft signing level requirements.
FileNameBuffer|endswith: '\Windows\System32\nvspcap64.dll'
ProcessNameBuffer|endswith:
- '\AppData\Local\Keybase\Gui\Keybase.exe'
- '\Microsoft\Teams\stage\Teams.exe'
RequestedPolicy: 8
filter_optional_bonjour:
FileNameBuffer|endswith: '\Program Files\Bonjour\mdnsNSP.dll'
ProcessNameBuffer|endswith:
- '\Windows\System32\svchost.exe'
- '\Windows\System32\SIHClient.exe'
RequestedPolicy:
- 8
- 12
filter_optional_msoffice_1:
FileNameBuffer|contains: '\Microsoft Office\root\vfs\ProgramFilesCommonX64\Microsoft Shared\OFFICE'
FileNameBuffer|endswith: '\MSOXMLMF.DLL'
# ProcessNameBuffer is AV products
RequestedPolicy: 7
filter_optional_msoffice_2:
ProcessNameBuffer|contains: '\Program Files\Microsoft Office\root\vfs\ProgramFilesCommonX64\Microsoft Shared\Office'
FileNameBuffer|contains: '\Windows\System32\'
RequestedPolicy: 8
filter_optional_slack:
# Example: https://user-images.githubusercontent.com/112784902/197407680-96d4b662-8a59-4289-a483-b24d630ac2a9.png
# Even though it's the same DLL as the one used in the electron based app filter. We need to do a separate selection due to slack's folder naming convention with the version number :)
FileNameBuffer|endswith: '\Windows\System32\nvspcap64.dll'
ProcessNameBuffer|contains: '\AppData\Local\slack\app-'
ProcessNameBuffer|endswith: '\slack.exe'
RequestedPolicy: 8
filter_optional_firefox:
# Example: https://user-images.githubusercontent.com/62423083/197451483-70e89010-ed96-4357-8079-b5a061a239d6.png
FileNameBuffer|endswith:
- '\Mozilla Firefox\mozavcodec.dll'
- '\Mozilla Firefox\mozavutil.dll'
ProcessNameBuffer|endswith: '\Mozilla Firefox\firefox.exe'
RequestedPolicy: 8
filter_optional_avast:
FileNameBuffer|endswith:
- '\Program Files\Avast Software\Avast\aswAMSI.dll'
- '\Program Files (x86)\Avast Software\Avast\aswAMSI.dll'
RequestedPolicy:
- 8
- 12
filter_main_gac:
# Filtering the path containing this string because of multiple possible DLLs in that location
FileNameBuffer|contains: '\Windows\assembly\GAC\'
ProcessNameBuffer|endswith: '\mscorsvw.exe'
ProcessNameBuffer|contains: '\Windows\Microsoft.NET\'
RequestedPolicy: 8
filter_optional_google_drive:
# Example: \Program Files\Google\Drive File Stream\67.0.2.0\crashpad_handler.exe
FileNameBuffer|contains: '\Program Files\Google\Drive File Stream\'
FileNameBuffer|endswith: '\crashpad_handler.exe'
ProcessNameBuffer|endswith: '\Windows\ImmersiveControlPanel\SystemSettings.exe'
RequestedPolicy: 8
filter_optional_trend_micro:
FileNameBuffer|endswith: '\Trend Micro\Client Server Security Agent\perficrcperfmonmgr.dll'
RequestedPolicy: 8
filter_optional_mdns_responder:
FileNameBuffer|endswith: '\Program Files\National Instruments\Shared\mDNS Responder\nimdnsNSP.dll '
filter_optional_mcafee:
FileNameBuffer|endswith:
- '\Program Files\McAfee\Endpoint Security\Threat Prevention\MfeAmsiProvider.dll'
- '\Program Files\McAfee\MfeAV\AMSIExt.dll'
filter_optional_eset:
FileNameBuffer|endswith: '\Program Files\ESET\ESET Security\eamsi.dll'
filter_optional_comodo:
FileNameBuffer|endswith: '\Program Files\comodo\comodo internet security\amsiprovider_x64.dll'
filter_optional_sentinel_one:
# Example: program files\sentinelone\sentinel agent 23.4.4.223\inprocessclient64.dll
- FileNameBuffer|contains: '\Program Files\SentinelOne\Sentinel Agent'
# Example: Program Files\SentinelOne\Sentinel Agent 23.4.4.223\SentinelAgent.exe
- ProcessNameBuffer|contains: '\Program Files\SentinelOne\Sentinel Agent'
filter_optional_national_instruments:
# Example: \device\harddiskvolume3\program files\national instruments\shared\mdns responder\nimdnsnsp.dll
FileNameBuffer|contains: '\National Instruments\Shared\mDNS Responder\'
filter_optional_kaspersky:
# Example: \Program Files (x86)\Kaspersky Lab\Kaspersky Endpoint Security for Windows\x64\antimalware_provider.dll
- ProcessNameBuffer|contains|all:
- '\Kaspersky Lab\'
- '\avp.exe'
- FileNameBuffer|contains|all:
- '\Kaspersky Lab\'
- '\antimalware_provider.dll'
condition: selection and not 1 of filter_main_* and not 1 of filter_optional_*
falsepositives:
- Antivirus and other third party products are known to trigger this rule quite a lot. Initial filters and tuning is required before using this rule.
level: low