Compreendendo os eventos de controle do aplicativo
Visão geral de eventos do WDAC
O WDAC registra eventos quando uma política é carregada, quando um arquivo é bloqueado ou quando um arquivo será bloqueado se estiver no modo de auditoria. Esses eventos de bloco incluem informações que identificam a política e dão mais detalhes sobre o bloco. O WDAC não gera eventos quando um binário é permitido. No entanto, você pode ativar os eventos de auditoria para arquivos autorizados por um instalador gerenciado ou o ISG (Intelligent Security Graph), conforme descrito posteriormente neste artigo.
Logs de eventos WDAC principais
Os eventos WDAC são gerados em dois locais no Windows Visualizador de Eventos:
- Logs de aplicativos e serviços – Microsoft – Windows – CodeIntegrity – o operacional inclui eventos sobre a ativação da política de Controle de Aplicativo e o controle de executáveis, dlls e drivers.
- Os logs de aplicativos e serviços – Microsoft – Windows – AppLocker – MSI e Script incluem eventos sobre o controle de instaladores msi, scripts e objetos COM.
A maioria das falhas de aplicativo e script que ocorrem quando o WDAC está ativo pode ser diagnosticada usando esses dois logs de eventos. Este artigo descreve com mais detalhes os eventos que existem nesses logs. Para entender o significado de diferentes elementos de dados ou marcas, encontrados nos detalhes desses eventos, consulte Noções básicas sobre marcas de evento do Controle de Aplicativo.
Observação
Os logs de aplicativos e serviços – Microsoft – Windows – AppLocker – EVENTOS MSI e Script não estão incluídos na edição do Windows Server Core.
Eventos de bloco WDAC para executáveis, dlls e drivers
Esses eventos são encontrados no log de eventos CodeIntegrity – Operacional .
ID do evento | Explicação |
---|---|
3004 | Esse evento não é comum e pode ocorrer com ou sem uma política de Controle de Aplicativo presente. Normalmente, indica que um driver de kernel tentou carregar com uma assinatura inválida. Por exemplo, o arquivo pode não ser assinado por WHQL em um sistema em que o WHQL é necessário. Esse evento também é visto para o código do kernel ou do modo de usuário que o desenvolvedor optou por /INTEGRITYCHECK , mas não foi assinado corretamente. |
3033 | Esse evento pode ocorrer com ou sem uma política de Controle de Aplicativo presente e deve ocorrer junto com um evento 3077 se causado pela política WDAC. Isso geralmente significa que a assinatura do arquivo é revogada ou uma assinatura com o EKU de Assinatura vitalícia expirou. A presença do EKU de Assinatura vitalícia é o único caso em que o WDAC bloqueia arquivos devido a uma assinatura expirada. Tente usar a opção 20 Enabled:Revoked Expired As Unsigned em sua política junto com uma regra (por exemplo, hash) que não depende do certificado revogado ou expirado.Esse evento também ocorrerá se o código compilado com o CIG (Code Integrity Guard) tentar carregar outro código que não atenda aos requisitos do CIG. |
3034 | Esse evento não é comum. É o modo de auditoria equivalente ao evento 3033. |
3076 | Este evento é o evento de bloco main Controle de Aplicativo para políticas de modo de auditoria. Ele indica que o arquivo teria sido bloqueado se a política fosse imposta. |
3077 | Este evento é o evento de bloco main Controle de Aplicativo para políticas impostas. Ele indica que o arquivo não passou na política e foi bloqueado. |
3089 | Este evento contém informações de assinatura para arquivos bloqueados ou de auditoria bloqueados pelo Controle de Aplicativo. Um desses eventos é criado para cada assinatura de um arquivo. Cada evento mostra o número total de assinaturas encontradas e um valor de índice para identificar a assinatura atual. Arquivos não assinados geram um único desses eventos com TotalSignatureCount de 0. Esses eventos estão correlacionados com eventos 3004, 3033, 3034, 3076 e 3077. Você pode corresponder aos eventos usando o Correlation ActivityID encontrado na parte sistema do evento. |
Eventos de bloco do WDAC para aplicativos empacotados, instaladores de MSI, scripts e objetos COM
Esses eventos são encontrados no log de eventos AppLocker – MSI e Script .
ID do evento | Explicação |
---|---|
8028 | Esse evento indica que um host de script, como o PowerShell, consultou o Controle de Aplicativo sobre um arquivo que o host de script estava prestes a executar. Como a política estava no modo de auditoria, o script ou o arquivo MSI deveriam ter sido executados, mas não teriam passado a política WDAC se ela fosse imposta. Alguns hosts de script podem ter informações adicionais em seus logs. Observação: a maioria dos hosts de script de terceiros não se integra ao Controle de Aplicativo. Considere os riscos de scripts não verificados ao escolher quais hosts de script você permite executar. |
8029 | Esse evento é o modo de imposição equivalente ao evento 8028. Observação: embora este evento diga que um script foi bloqueado, os hosts de script controlam o comportamento real de aplicação do script. O host de script pode permitir que o arquivo seja executado com restrições e não bloqueie o arquivo imediatamente. Por exemplo, o PowerShell executa script não permitido pela política do WDAC no Modo de Linguagem Restrita. |
8036 | O objeto COM foi bloqueado. Para saber mais sobre a autorização de objeto COM, consulte Permitir registro de objeto COM em uma política de Controle de Aplicativo Windows Defender. |
8037 | Esse evento indica que um host de script verificou se deve permitir a execução de um script e o arquivo passou pela política WDAC. |
8038 | Evento de informações de assinatura correlacionado com um evento 8028 ou 8029. Um evento 8038 é gerado para cada assinatura de um arquivo de script. Contém o número total de assinaturas em um arquivo de script e um índice sobre qual assinatura ele é. Arquivos de script não assinados geram um único evento 8038 com TotalSignatureCount 0. Esses eventos estão correlacionados com eventos 8028 e 8029 e podem ser correspondidos usando o Correlation ActivityID encontrado na parte System do evento. |
8039 | Esse evento indica que um aplicativo empacotado (MSIX/AppX) foi autorizado a instalar ou executar porque a política WDAC está no modo de auditoria. Mas, teria sido bloqueado se a política fosse imposta. |
8040 | Esse evento indica que um aplicativo empacotado foi impedido de instalar ou executar devido à política WDAC. |
Eventos de ativação de política do WDAC
Esses eventos são encontrados no log de eventos CodeIntegrity – Operacional .
ID do evento | Explicação |
---|---|
3095 | A política de Controle de Aplicativo não pode ser atualizada e deve ser reinicializada. |
3096 | A política de Controle de Aplicativo não foi atualizada, pois já está atualizada. Os detalhes deste evento incluem informações úteis sobre a política, como suas opções de política. |
3097 | A política de Controle de Aplicativo não pode ser atualizada. |
3099 | Indica que uma política foi carregada. Os Detalhes deste evento incluem informações úteis sobre a política de Controle de Aplicativo, como suas opções de política. |
3100 | A política de controle do aplicativo foi atualizada, mas foi ativada sem êxito. Repetir. |
3101 | Atualização da política de controle de aplicativo iniciada para políticas N . |
3102 | Atualização da política de Controle de Aplicativo concluída para políticas N . |
3103 | O sistema está ignorando a atualização da política de Controle de Aplicativo. Por exemplo, uma política do Windows de caixa de entrada que não atende às condições de ativação. |
3105 | O sistema está tentando atualizar a política de Controle de Aplicativo com a ID especificada. |
Eventos de diagnóstico para ISG (Intelligent Security Graph) e INSTALADOR Gerenciado (MI)
Observação
Quando o Instalador Gerenciado estiver habilitado, os clientes que usam o LogAnalytics devem estar cientes de que o Instalador Gerenciado pode disparar muitos eventos 3091. Os clientes podem precisar filtrar esses eventos para evitar altos custos do LogAnalytics.
Os eventos a seguir fornecem informações úteis de diagnóstico quando uma política WDAC inclui a opção ISG ou MI. Esses eventos podem ajudá-lo a depurar por que algo foi permitido/negado com base no instalador gerenciado ou no ISG. Os eventos 3090, 3091 e 3092 não indicam necessariamente um problema, mas devem ser revisados em contexto com outros eventos como 3076 ou 3077.
A menos que seja observado de outra forma, esses eventos são encontrados no Log de eventos CodeIntegrity - Operacional ou codeIntegrity - Verbose , dependendo da sua versão do Windows.
ID do evento | Explicação |
---|---|
3090 | Opcional Esse evento indica que um arquivo foi autorizado a ser executado com base apenas no ISG ou no instalador gerenciado. |
3091 | Esse evento indica que um arquivo não tinha autorização ISG ou instalador gerenciado e que a política de Controle de Aplicativo está no modo de auditoria. |
3092 | Esse evento é o modo de aplicação equivalente a 3091. |
8002 | Esse evento é encontrado no log de eventos AppLocker – EXE e DLL . Quando um processo é iniciado que corresponde a uma regra do instalador gerenciado, esse evento é gerado com PolicyName = MANAGEDINSTALLER encontrado nos detalhes do evento. Eventos com PolicyName = EXE ou DLL não estão relacionados ao WDAC. |
Os eventos 3090, 3091 e 3092 são relatados por política ativa no sistema, portanto, você pode ver vários eventos para o mesmo arquivo.
Detalhes do evento de diagnóstico ISG e MI
As informações a seguir são encontradas nos detalhes dos eventos 3090, 3091 e 3092.
Nome | Explicação |
---|---|
ManagedInstallerEnabled | Indica se a política especificada habilita a confiança do instalador gerenciado |
PassesManagedInstaller | Indica se o arquivo se originou de um MI |
SmartlockerEnabled | Indica se a política especificada habilita a confiança ISG |
PassesSmartlocker | Indica se o arquivo tinha reputação positiva de acordo com o ISG |
AuditEnabled | True se a política de Controle de Aplicativo estiver no modo de auditoria, caso contrário, ela estará no modo de execução |
Policyname | O nome da política de Controle de Aplicativo à qual o evento se aplica |
Habilitando eventos de diagnóstico ISG e MI
Para habilitar o 3090 permitir eventos, crie um regkey testFlags com um valor de 0x300 conforme mostrado no comando do PowerShell a seguir. Em seguida, reinicie seu computador.
reg add hklm\system\currentcontrolset\control\ci -v TestFlags -t REG_DWORD -d 0x300
Os eventos 3091 e 3092 estão inativos em algumas versões do Windows e são ativados pelo comando anterior.
Apêndice
Uma lista de outras IDs de eventos relevantes e sua descrição correspondente.
ID do Evento | Descrição |
---|---|
3001 | Um driver sem sinal foi tentado a carregar no sistema. |
3002 | A Integridade do Código não pôde verificar a imagem de inicialização, pois o hash da página não pôde ser encontrado. |
3004 | A Integridade do Código não pôde verificar o arquivo, pois o hash da página não pôde ser encontrado. |
3010 | O catálogo que contém a assinatura do arquivo em validação é inválido. |
3011 | A Integridade do Código terminou de carregar o catálogo de assinaturas. |
3012 | A Integridade do Código começou a carregar o catálogo de assinaturas. |
3023 | O arquivo de driver em validação não atendia aos requisitos para passar a política de controle do aplicativo. |
3024 | O controle do aplicativo Windows não pôde atualizar o arquivo de catálogo de inicialização. |
3026 | A Microsoft ou a autoridade emissora de certificados revogaram o certificado que assinou o catálogo. |
3032 | O arquivo em validação é revogado ou o arquivo tem uma assinatura revogada. |
3033 | O arquivo em validação não atendia aos requisitos para passar a política de controle do aplicativo. |
3034 | O arquivo em validação não atenderia aos requisitos para passar a política de Controle de Aplicativo se fosse imposta. O arquivo foi permitido, pois a política está no modo de auditoria. |
3036 | A Microsoft ou a autoridade emissora de certificados revogaram o certificado que assinou o arquivo que estava sendo validado. |
3064 | Se a política de Controle de Aplicativo fosse imposta, uma DLL do modo de usuário em validação não atenderia aos requisitos para passar a política de controle do aplicativo. A DLL foi permitida, pois a política está no modo de auditoria. |
3065 | Se a política de Controle de Aplicativo fosse imposta, uma DLL do modo de usuário em validação não atenderia aos requisitos para passar a política de controle do aplicativo. |
3074 | Falha de hash de página enquanto a integridade do código protegida pelo hipervisor estava habilitada. |
3075 | Esse evento mede o desempenho da política de Controle de Aplicativo marcar durante a validação do arquivo. |
3076 | Este evento é o evento de bloco main Controle de Aplicativo para políticas de modo de auditoria. Ele indica que o arquivo teria sido bloqueado se a política fosse imposta. |
3077 | Este evento é o evento de bloco main Controle de Aplicativo para políticas impostas. Ele indica que o arquivo não passou na política e foi bloqueado. |
3079 | O arquivo em validação não atendia aos requisitos para passar a política de controle do aplicativo. |
3080 | Se a política de Controle de Aplicativo estivesse no modo imposto, o arquivo em validação não teria atendido aos requisitos para passar a política de controle do aplicativo. |
3081 | O arquivo em validação não atendia aos requisitos para passar a política de controle do aplicativo. |
3082 | Se a política de Controle de Aplicativo fosse imposta, a política teria bloqueado esse driver não WHQL. |
3084 | A Integridade do Código está aplicando os requisitos de assinatura do driver WHQL nesta sessão de inicialização. |
3085 | A Integridade do Código não está aplicando os requisitos de assinatura do driver WHQL nesta sessão de inicialização. |
3086 | O arquivo em validação não atende aos requisitos de assinatura de um processo de IUM (modo de usuário isolado). |
3089 | Este evento contém informações de assinatura para arquivos bloqueados ou de auditoria bloqueados pelo Controle de Aplicativo. Um evento 3089 é criado para cada assinatura de um arquivo. |
3090 | Opcional Esse evento indica que um arquivo foi autorizado a ser executado com base apenas no ISG ou no instalador gerenciado. |
3091 | Esse evento indica que um arquivo não tinha autorização ISG ou instalador gerenciado e que a política de Controle de Aplicativo está no modo de auditoria. |
3092 | Esse evento é o modo de aplicação equivalente a 3091. |
3095 | A política de Controle de Aplicativo não pode ser atualizada e deve ser reinicializada. |
3096 | A política de Controle de Aplicativo não foi atualizada, pois já está atualizada. |
3097 | A política de Controle de Aplicativo não pode ser atualizada. |
3099 | Indica que uma política foi carregada. Este evento também inclui informações sobre as opções definidas pela política de Controle de Aplicativo. |
3100 | A política de controle do aplicativo foi atualizada, mas foi ativada sem êxito. Repetir. |
3101 | O sistema começou a atualizar a política de Controle de Aplicativo. |
3102 | O sistema terminou de atualizar a política de Controle de Aplicativo. |
3103 | O sistema está ignorando a atualização da política de Controle de Aplicativo. |
3104 | O arquivo em validação não atende aos requisitos de assinatura de um processo PPL (luz de processo protegido). |
3105 | O sistema está tentando atualizar a política de Controle de Aplicativo. |
3108 | O evento de alteração do modo Windows foi bem-sucedido. |
3110 | O evento de alteração do modo Windows não teve êxito. |
3111 | O arquivo em validação não atendia à política HVCI (integridade de código protegida pelo hipervisor). |
3112 | O Windows revogou o certificado que assinou o arquivo que está sendo validado. |
3114 | O Dynamic Code Security optou pelo aplicativo .NET ou DLL na validação da política de Controle de Aplicativo. O arquivo em validação não passou na política e foi bloqueado. |