Resumo
Pode notar um grande número de eventos de bloqueio a recolher no portal Microsoft Defender Advanced Threat Protection (MDATP). Estes eventos são gerados pelo motor Code Integrity (CI) e podem ser identificados pelo seu ExploitGuardGuardNonMicrosoftSignedBlocked ActionType.
Evento como visto no registo de eventos de endpoint
AçãoType |
Fornecedor/fonte |
ID de Evento |
Descrição |
ExploitGuardNonMicrosoftSignedBlocked |
Security-Mitigations |
12 |
Bloco de guarda 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 bloqueado ao carregar o binário não assinado pela Microsoft '\Windows\assembly\NativeImages_v4.0.30319_64\Microsoft.M870d58a#\08d37b687669e97c65681029a1026d28\Microsoft.Management.Infrastructure.Native.ni.dll'
Mais informações
O motor CI assegura-se de que apenas ficheiros fidedignos são autorizados a ser executados num dispositivo. Quando o CI está ativado e encontra um ficheiro não fidedquirido, gera um evento de bloqueio. No modo de Auditoria, o ficheiro continua a ser autorizado a executar, enquanto no modo Enforce, o ficheiro é impedido de executar.
O CI pode ser ativado de várias formas, incluindo quando implementa uma política de Controlo de Aplicações do Windows Defender (WDAC). No entanto, nesta situação, o MDATP está a permitir o CI na parte de trás, o que está a desencadear eventos quando encontra ficheiros de Imagem Nativa (NI) não assinados originários da Microsoft.
A assinatura de um ficheiro destina-se a permitir a verificação da autenticidade dos ficheiros. O CI pode verificar se um ficheiro não é modificado e é originário de uma autoridade de confiança com base na sua assinatura. A maioria dos ficheiros originários da Microsoft são assinados, no entanto alguns ficheiros não podem ser ou não são assinados por várias razões. Por exemplo, os binários NI (compilados a partir do código-quadro .NET) são geralmente assinados se forem incluídos numa versão. No entanto, são normalmente regerados num dispositivo e não podem ser assinados. Separadamente, muitas aplicações apenas têm o seu ficheiro CAB ou MSI assinado para verificar a sua autenticidade na instalação. Quando executam, criam ficheiros adicionais que não estão assinados.
Mitigação
Não recomendamos que ignore estes acontecimentos, pois podem indicar problemas de segurança genuínos. Por exemplo, um intruso malicioso pode tentar carregar um binário não assinado sob o pretexto de ser originário da Microsoft.
No entanto, estes eventos podem ser filtrados por consulta quando tenta analisar outros eventos em Caça Avançada, excluindo eventos que tenham o ExploitGuardGuardNonMicrosoftSignedBlocked ActionType.
Esta consulta mostrar-lhe-ia todos os eventos relacionados com esta deteção excessiva em particular:
DispositivoSEventos
| onde ActionType == "ExploitGuardNonMicrosoftSignedBlocked" e Iniciar o ProcessoFileName == "powershell.exe" e FileName termina com "ni.dll"
| onde o Timestamp > há pouco (7d)
Se quiser excluir este evento, terá que inverter a consulta. Isto mostraria todos os eventos ExploitGuard (incluindo EP), exceto estes:
DispositivoSEventos
| onde o ActionType começa com "ExploitGuard"
| onde ActionType != "ExploitGuardNonMicrosoftSignedBlocked" ou (ActionType == "ExploitGuardNonMicrosoftSignedBlocked" e Initiating ProcessFileName != "powershell.exe") ou (ActionType == "ExploitGuardNonMicrosoftSignedBlocked" e InitiatingProcesseFileName == "powershell.exe" e FileName .endswith "ni.dll")
| onde o Timestamp > há pouco (7d)
Além disso, se utilizar o Quadro 4.5 da NET ou uma versão posterior, tem a opção de regenerar ficheiros NI para resolver muitos dos eventos supérfluos. Para isso, elimine todos os ficheiros NI no diretório NativeImages e, em seguida, executar o comando de atualização ngen para os regenerar.