Descripción de los eventos del Control de aplicaciones

Información general sobre eventos WDAC

WDAC registra eventos cuando se carga una directiva, cuando se bloquea un archivo o cuando se bloquearía un archivo si se estuviera en modo de auditoría. Estos eventos de bloque incluyen información que identifica la directiva y proporciona más detalles sobre el bloque. WDAC no genera eventos cuando se permite un binario. Sin embargo, puede activar permitir eventos de auditoría para archivos autorizados por un instalador administrado o Intelligent Security Graph (ISG), como se describe más adelante en este artículo.

Registros de eventos WDAC principales

Los eventos WDAC se generan en dos ubicaciones de la Visor de eventos de Windows:

  • Registros de aplicaciones y servicios: Microsoft - Windows - CodeIntegrity - Operational incluye eventos sobre la activación de directivas de Control de aplicaciones y el control de archivos ejecutables, archivos DLL y controladores.
  • Registros de aplicaciones y servicios: Microsoft, Windows, AppLocker, MSI y Script incluyen eventos sobre el control de los instaladores, scripts y objetos COM de MSI.

La mayoría de los errores de aplicación y script que se producen cuando WDAC está activo se pueden diagnosticar mediante estos dos registros de eventos. En este artículo se describen con mayor detalle los eventos que existen en estos registros. Para comprender el significado de los distintos elementos de datos, o etiquetas, que se encuentran en los detalles de estos eventos, consulte Descripción de las etiquetas de eventos de Application Control.

Nota

Registros de aplicaciones y servicios: microsoft, Windows, AppLocker, MSI y eventos de script no se incluyen en la edición Windows Server Core.

Eventos de bloque WDAC para archivos ejecutables, dll y controladores

Estos eventos se encuentran en el registro de eventos CodeIntegrity - Operational .

Id. de evento Explicación
3004 Este evento no es común y puede producirse con o sin una directiva de Control de aplicaciones presente. Normalmente indica que un controlador de kernel intentó cargarse con una firma no válida. Por ejemplo, es posible que el archivo no esté firmado con WHQL en un sistema en el que se requiera WHQL.

Este evento también se ve en el código de modo kernel o usuario que el desarrollador ha optado por /INTEGRITYCHECK pero no ha firmado correctamente.
3033 Este evento puede producirse con o sin una directiva de Control de aplicaciones presente y debe producirse junto con un evento 3077 si se debe a una directiva WDAC. A menudo significa que se revoca la firma del archivo o que ha expirado una firma con el EKU de firma de duración. La presencia del EKU de firma de duración es el único caso en el que WDAC bloquea los archivos debido a una firma expirada. Pruebe a usar la opción 20 Enabled:Revoked Expired As Unsigned de la directiva junto con una regla (por ejemplo, hash) que no se base en el certificado revocado o expirado.

Este evento también se produce si el código compilado con Code Integrity Guard (CIG) intenta cargar otro código que no cumple los requisitos de CIG.
3034 Este evento no es común. Es el modo de auditoría equivalente al evento 3033.
3076 Este evento es el principal evento de bloque de Control de aplicaciones para las directivas de modo de auditoría. Indica que el archivo se habría bloqueado si se aplicara la directiva.
3077 Este evento es el evento principal del bloque Control de aplicaciones para las directivas aplicadas. Indica que el archivo no pasó la directiva y se bloqueó.
3089 Este evento contiene información de firma de los archivos bloqueados o bloqueados por el control de aplicaciones. Uno de estos eventos se crea para cada firma de un archivo. Cada evento muestra el número total de firmas encontradas y un valor de índice para identificar la firma actual. Los archivos sin signo generan uno único de estos eventos con TotalSignatureCount de 0. Estos eventos se correlacionan con los eventos 3004, 3033, 3034, 3076 y 3077. Puede hacer coincidir los eventos mediante el Correlation ActivityID que se encuentra en la parte Sistema del evento.

Eventos de bloque WDAC para aplicaciones empaquetadas, instaladores msi, scripts y objetos COM

Estos eventos se encuentran en el registro de eventos AppLocker: MSI y Script .

Id. de evento Explicación
8028 Este evento indica que un host de script, como PowerShell, consultó el control de aplicaciones sobre un archivo que el host de script estaba a punto de ejecutarse. Dado que la directiva estaba en modo de auditoría, el script o el archivo MSI deberían haberse ejecutado, pero no habría pasado la directiva WDAC si se aplicara. Algunos hosts de script pueden tener información adicional en sus registros. Nota: La mayoría de los hosts de script de terceros no se integran con Application Control. Tenga en cuenta los riesgos de los scripts no comprobados al elegir qué hosts de script permite ejecutar.
8029 Este evento es el modo de cumplimiento equivalente al evento 8028. Nota: Aunque este evento indica que se bloqueó un script, los hosts de script controlan el comportamiento real de cumplimiento del script. El host de script puede permitir que el archivo se ejecute con restricciones y no bloquee el archivo de forma directa. Por ejemplo, PowerShell ejecuta un script no permitido por la directiva WDAC en modo de lenguaje restringido.
8036 Se bloqueó el objeto COM. Para obtener más información sobre la autorización de objetos COM, consulte Permitir el registro de objetos COM en una directiva de control de aplicaciones de Windows Defender.
8037 Este evento indica que un host de script ha comprobado si se va a permitir que se ejecute un script y el archivo ha pasado la directiva WDAC.
8038 Evento de información de firma correlacionado con un evento 8028 o 8029. Se genera un evento 8038 para cada firma de un archivo de script. Contiene el número total de firmas en un archivo de script y un índice sobre qué firma es. Los archivos de script sin signo generan un único evento 8038 con TotalSignatureCount 0. Estos eventos se correlacionan con los eventos 8028 y 8029 y se pueden hacer coincidir con los Correlation ActivityID que se encuentran en la parte Sistema del evento.
8039 Este evento indica que se permitió instalar o ejecutar una aplicación empaquetada (MSIX/AppX) porque la directiva WDAC está en modo de auditoría. Sin embargo, se habría bloqueado si se aplicara la directiva.
8040 Este evento indica que se ha impedido la instalación o ejecución de una aplicación empaquetada debido a la directiva WDAC.

Eventos de activación de directivas WDAC

Estos eventos se encuentran en el registro de eventos CodeIntegrity - Operational .

Id. de evento Explicación
3095 La directiva de Control de aplicaciones no se puede actualizar y debe reiniciarse en su lugar.
3096 La directiva de Control de aplicaciones no se ha actualizado, ya que ya está actualizada. Los detalles de este evento incluyen información útil sobre la directiva, como sus opciones de directiva.
3097 La directiva de Control de aplicaciones no se puede actualizar.
3099 Indica que se ha cargado una directiva. Los detalles de este evento incluyen información útil sobre la directiva de Control de aplicaciones, como sus opciones de directiva.
3100 La directiva de control de aplicaciones se actualizó, pero no se activó correctamente. Reintentar.
3101 Se inició la actualización de directivas de Control de aplicaciones para las directivas N .
3102 La actualización de la directiva de Control de aplicaciones finalizó para las directivas N .
3103 El sistema omite la actualización de la directiva de Control de aplicaciones. Por ejemplo, una directiva de Windows de bandeja de entrada que no cumple las condiciones de activación.
3105 El sistema está intentando actualizar la directiva de Control de aplicaciones con el identificador especificado.

Eventos de diagnóstico para Intelligent Security Graph (ISG) e Instalador administrado (MI)

Nota

Cuando el instalador administrado está habilitado, los clientes que usan LogAnalytics deben tener en cuenta que el instalador administrado puede desencadenar muchos eventos 3091. Es posible que los clientes tengan que filtrar estos eventos para evitar costos elevados de LogAnalytics.

Los siguientes eventos proporcionan información de diagnóstico útil cuando una directiva WDAC incluye la opción ISG o MI. Estos eventos pueden ayudarle a depurar por qué se permitió o denegó algo en función del instalador administrado o ISG. Los eventos 3090, 3091 y 3092 no indican necesariamente un problema, pero deben revisarse en contexto con otros eventos como 3076 o 3077.

A menos que se indique lo contrario, estos eventos se encuentran en el registro de eventos CodeIntegrity - Operational o en el registro de eventos CodeIntegrity - Verbose en función de la versión de Windows.

Id. de evento Explicación
3090 Opcional Este evento indica que se permitió que un archivo se ejecutara únicamente en ISG o instalador administrado.
3091 Este evento indica que un archivo no tenía autorización de ISG o instalador administrado y que la directiva de Control de aplicaciones está en modo de auditoría.
3092 Este evento es el modo de cumplimiento equivalente a 3091.
8002 Este evento se encuentra en el registro de eventos de AppLocker: EXE y DLL . Cuando se inicia un proceso que coincide con una regla de instalador administrada, este evento se genera con PolicyName = MANAGEDINSTALLER encontrado en el evento Details. Los eventos con PolicyName = EXE o DLL no están relacionados con WDAC.

Los eventos 3090, 3091 y 3092 se notifican por directiva activa en el sistema, por lo que puede ver varios eventos para el mismo archivo.

Detalles de eventos de diagnóstico de ISG y MI

La siguiente información se encuentra en los detalles de los eventos 3090, 3091 y 3092.

Nombre Explicación
ManagedInstallerEnabled Indica si la directiva especificada habilita la confianza del instalador administrado
PassesManagedInstaller Indica si el archivo se originó en una mi
SmartlockerEnabled Indica si la directiva especificada habilita la confianza de ISG.
PassesSmartlocker Indica si el archivo tenía una reputación positiva según el ISG
AuditEnabled True si la directiva de Control de aplicaciones está en modo de auditoría; de lo contrario, está en modo de aplicación.
PolicyName Nombre de la directiva de Application Control a la que se aplica el evento

Habilitación de eventos de diagnóstico de ISG y MI

Para habilitar los eventos allow 3090, cree una clave regkey TestFlags con un valor de 0x300 como se muestra en el siguiente comando de PowerShell. A continuación, reinicie el equipo.

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

Los eventos 3091 y 3092 están inactivos en algunas versiones de Windows y están activados por el comando anterior.

Apéndice

Una lista de otros identificadores de evento relevantes y su descripción correspondiente.

Id. de evento Descripción
3001 Se intentó cargar un controlador sin firmar en el sistema.
3002 La integridad del código no pudo comprobar la imagen de arranque, ya que no se encontró el hash de página.
3004 La integridad del código no pudo comprobar el archivo, ya que no se encontró el hash de página.
3010 El catálogo que contiene la firma del archivo en validación no es válido.
3011 Integridad del código ha terminado de cargar el catálogo de firmas.
3012 La integridad del código comenzó a cargar el catálogo de firmas.
3023 El archivo de controladores en validación no cumplió los requisitos para pasar la directiva de control de aplicaciones.
3024 El control de aplicación de Windows no pudo actualizar el archivo del catálogo de arranque.
3026 Microsoft o la entidad emisora de certificados revocaron el certificado que firmó el catálogo.
3032 El archivo que se está validado se revoca o el archivo tiene una firma revocada.
3033 El archivo en validación no cumplió los requisitos para pasar la directiva de control de aplicaciones.
3034 El archivo en validación no cumpliría los requisitos para pasar la directiva de Control de aplicaciones si se aplicara. Se permitió el archivo, ya que la directiva está en modo de auditoría.
3036 Microsoft o la entidad emisora de certificados revocaron el certificado que firmó el archivo que se está validando.
3064 Si se aplica la directiva de Control de aplicaciones, un archivo DLL en modo de usuario en validación no cumpliría los requisitos para pasar la directiva de control de aplicaciones. Se permitió el archivo DLL, ya que la directiva está en modo de auditoría.
3065 Si se aplica la directiva de Control de aplicaciones, un archivo DLL en modo de usuario en validación no cumpliría los requisitos para pasar la directiva de control de aplicaciones.
3074 Error de hash de página mientras se habilitaba la integridad del código protegido por hipervisor.
3075 Este evento mide el rendimiento de la comprobación de directiva de Control de aplicaciones durante la validación de archivos.
3076 Este evento es el principal evento de bloque de Control de aplicaciones para las directivas de modo de auditoría. Indica que el archivo se habría bloqueado si se aplicara la directiva.
3077 Este evento es el evento principal del bloque Control de aplicaciones para las directivas aplicadas. Indica que el archivo no pasó la directiva y se bloqueó.
3079 El archivo en validación no cumplió los requisitos para pasar la directiva de control de aplicaciones.
3080 Si la directiva de Control de aplicaciones estuviera en modo aplicado, el archivo en validación no habría cumplido los requisitos para pasar la directiva de control de aplicaciones.
3081 El archivo en validación no cumplió los requisitos para pasar la directiva de control de aplicaciones.
3082 Si se aplicara la directiva de Control de aplicaciones, la directiva habría bloqueado este controlador que no es WHQL.
3084 La integridad del código está aplicando los requisitos de firma del controlador WHQL en esta sesión de arranque.
3085 La integridad del código no aplica los requisitos de firma del controlador WHQL en esta sesión de arranque.
3086 El archivo en validación no cumple los requisitos de firma para un proceso de modo de usuario aislado (IUM).
3089 Este evento contiene información de firma de los archivos bloqueados o bloqueados por el control de aplicaciones. Se crea un evento 3089 para cada firma de un archivo.
3090 Opcional Este evento indica que se permitió que un archivo se ejecutara únicamente en ISG o instalador administrado.
3091 Este evento indica que un archivo no tenía autorización de ISG o instalador administrado y que la directiva de Control de aplicaciones está en modo de auditoría.
3092 Este evento es el modo de cumplimiento equivalente a 3091.
3095 La directiva de Control de aplicaciones no se puede actualizar y debe reiniciarse en su lugar.
3096 La directiva de Control de aplicaciones no se ha actualizado, ya que ya está actualizada.
3097 La directiva de Control de aplicaciones no se puede actualizar.
3099 Indica que se ha cargado una directiva. Este evento también incluye información sobre las opciones establecidas por la directiva de Control de aplicaciones.
3100 La directiva de control de aplicaciones se actualizó, pero no se activó correctamente. Reintentar.
3101 El sistema comenzó a actualizar la directiva de Control de aplicaciones.
3102 El sistema ha terminado de actualizar la directiva de Control de aplicaciones.
3103 El sistema omite la actualización de la directiva de Control de aplicaciones.
3104 El archivo en validación no cumple los requisitos de firma de un proceso PPL (luz de proceso protegido).
3105 El sistema está intentando actualizar la directiva de Control de aplicaciones.
3108 El evento de cambio de modo de Windows se realizó correctamente.
3110 El evento de cambio de modo de Windows no se realizó correctamente.
3111 El archivo en validación no cumplió la directiva de integridad de código protegido por hipervisor (HVCI).
3112 Windows ha revocado el certificado que firmó el archivo que se está validando.
3114 Dynamic Code Security optó por la aplicación o dll de .NET en la validación de directivas de Control de aplicaciones. El archivo en validación no pasó la directiva y se bloqueó.