Resumo
Você pode notar um número muito grande de eventos de bloqueio coletando no portal MDATP (Proteção Avançada contra Ameaças) do Microsoft Defender. Esses eventos são gerados pelo mecanismo de Integridade de Código (CI) e podem ser identificados por seu ExploitGuardNonMicrosoftSignedBlocked ActionType.
Evento como visto no log de eventos do ponto de extremidade
ActionType |
Provedor/origem |
ID do Evento |
Descrição |
ExploitGuardNonMicrosoftSignedBlocked |
Security-Mitigations |
12 |
Bloco de proteção de integridade de código |
Evento como visto na linha do tempo
O processo '\Device\HarddiskVolume3\Windows\System32\WindowsPowerShell\v1.0\powershell.exe' (PID 8780) foi impedido de carregar o binário não assinado pela Microsoft '\Windows\assembly\NativeImages_v4.0.30319_64\Microsoft.M870d558a#\08d37b687669e97c65681029a1026d28\Microsoft.Management.Infrastructure.Native.ni.dll'
Mais informações
O mecanismo CI garante que somente arquivos confiáveis sejam executados em um dispositivo. Quando o CI está habilitado e encontra um arquivo não falso, ele gera um evento de bloqueio. No modo de auditoria, o arquivo ainda pode ser executado, enquanto no modo de Imposição, o arquivo é impedido de executar.
O CI pode ser habilitado de várias maneiras, incluindo quando você implanta uma política WDAC (Controle de Aplicativo do Windows Defender). No entanto, nessa situação, o MDATP está habilitando CI no back-end, que dispara eventos quando encontra arquivos de Imagem Nativa (NI) não assinados provenientes da Microsoft.
A assinatura de um arquivo deve permitir a verificação da autenticidade desses arquivos. O CI pode verificar se um arquivo não foi modificado e se originou de uma autoridade confiável com base em sua assinatura. A maioria dos arquivos provenientes da Microsoft está assinada, no entanto, alguns arquivos não podem ser ou não assinados por vários motivos. Por exemplo, binários NI (compilados a partir do código .NET Framework) geralmente são assinados se eles estão incluídos em uma versão. No entanto, eles normalmente são gerados em um dispositivo e não podem ser assinados. Separadamente, muitos aplicativos têm apenas seu arquivo CAB ou MSI assinado para verificar sua autenticidade na instalação. Quando eles são executados, eles criam arquivos adicionais que não estão assinados.
Mitigação
Não recomendamos que você ignore esses eventos, pois eles podem indicar problemas de segurança originais. Por exemplo, um invasor mal-intencionado pode tentar carregar um binário não assinado sob o exemplo de origem da Microsoft.
No entanto, esses eventos podem ser filtrados por consulta quando você tenta analisar outros eventos na Busca Avançada excluindo os eventos que têm o ExploitGuardNonMicrosoftSignedBlocked ActionType.
Essa consulta mostraria todos os eventos relacionados a essa detecção específica:
DeviceEvents
| onde ActionType == "ExploitGuardNonMicrosoftSignedBlocked" e IniciandoProcessFileName == "powershell.exe" e FileName termina com "ni.dll"
| onde o Timestamp > atrás(7d)
Se quiser excluir esse evento, você terá que inverter a consulta. Isso mostraria todos os eventos ExploitGuard (inclusive DEM),exceto estes:
DeviceEvents
| onde ActionType começa com "ExploitGuard"
| em que ActionType != "ExploitGuardNonMicrosoftSignedBlocked" ou (ActionType == "ExploitGuardNonMicrosoftSignedBlocked" e InstruindoProcessFileName != "powershell.exe") ou (ActionType == "ExploitGuardNonMicrosoftSignedBlocked" e IniciandoProcessFileName == "powershell.exe" e FileName !termina com "ni.dll")
| onde o Timestamp > atrás(7d)
Além disso, se você usar o .NET Framework 4.5 ou uma versão posterior, terá a opção de regenerar arquivos NI para resolver muitos dos eventos supérfluos. Para fazer isso, exclua todos os arquivos NI no diretório NativeImages e execute o comando atualização ngen para regenera-los.