Integração da Interface de Análise antimalware (AMSI) com o Antivírus do Microsoft Defender
Aplica-se a:
- Microsoft Defender XDR
- Microsoft Defender Antivírus
- Microsoft Defender para Ponto de Extremidade P1 & P2
- Microsoft Defender para Empresas
- Microsoft Defender para Indivíduos
Plataformas:
- Windows 10 e mais recente
- Windows Server 2016 e mais recentes
Microsoft Defender para Ponto de Extremidade utiliza a Interface de Análise antimalware (AMSI) para melhorar a proteção contra software maligno sem ficheiros, ataques dinâmicos baseados em scripts e outras ameaças cibernéticas não tradicionais. Este artigo descreve os benefícios da integração do AMSI, os tipos de linguagens de scripting que suporta e como ativar o AMSI para uma segurança melhorada.
O que é software maligno sem ficheiros?
O software maligno sem ficheiros desempenha um papel fundamental nos ciberataques modernos, utilizando técnicas furtivas para evitar a deteção. Vários grandes surtos de ransomware usaram métodos sem ficheiros como parte das suas cadeias de eliminação.
O software maligno sem ficheiros utiliza ferramentas existentes que já estão presentes num dispositivo comprometido, como PowerShell.exe ou wmic.exe. O software maligno pode infiltrar-se num processo, executar código dentro do respetivo espaço de memória e invocar estas ferramentas incorporadas. Os atacantes reduzem significativamente a sua pegada e evitam os mecanismos de deteção tradicionais.
Uma vez que a memória é volátil e o software maligno sem ficheiros não coloca ficheiros no disco, estabelecer persistência através da utilização de software maligno sem ficheiros pode ser complicado. Um exemplo de como o software maligno sem ficheiros alcançou a persistência foi criar uma chave de execução de registo que inicia um cmdlet do PowerShell "one-liner". Este comando iniciou um script do PowerShell ocultado que foi armazenado no BLOB de registo. O script do PowerShell ocultado continha um carregador executável portátil reflexivo (PE) que carregou um PE codificado em Base64 a partir do registo. O script armazenado no registo garantiu que o software maligno persistia.
Os atacantes utilizam várias técnicas sem ficheiros que podem tornar os implantes de software maligno furtivos e evasivos. Essas técnicas incluem:
Injeção de DLL reflexiva: a injeção reflexiva de DLL envolve o carregamento manual de DLLs maliciosas para uma memória de processo sem a necessidade de as DLLs especificadas estarem no disco. A DLL maliciosa pode ser alojada numa máquina remota controlada por atacantes e entregue através de um canal de rede faseado (por exemplo, protocolo TLS (Transport Layer Security) ou incorporado numa forma oculta dentro de vetores de infeção, como macros e scripts. Esta configuração resulta na evasão do mecanismo do SO que monitoriza e controla o carregamento de módulos executáveis. Um exemplo de software maligno que utiliza a injeção de DLL Reflexiva é
HackTool:Win32/Mikatz!dha
.Exploits de memória: os adversários utilizam exploits de memória sem ficheiros para executar código arbitrário remotamente em máquinas da vítima. Por exemplo, a ameaça UIWIX utiliza a exploração EternalBlue, que foi utilizada por Petya e WannaCry, para instalar a backdoor DoublePulsar e reside inteiramente na memória do kernel (Tabela de Distribuição SMB). Ao contrário de Petya e Wannacry, o UIWIX não larga quaisquer ficheiros no disco.
Técnicas baseadas em scripts: as linguagens de scripting fornecem meios poderosos para fornecer payloads executáveis apenas de memória. Os ficheiros de script podem incorporar códigos de shell codificados ou binários que podem desencriptar de imediato no tempo de execução e executar através de objetos .NET ou diretamente com APIs sem exigir que sejam escritos no disco. Os próprios scripts podem ser ocultados no registo, lidos a partir de fluxos de rede ou executados manualmente na linha de comandos por um atacante, sem nunca tocar no disco.
Observação
Não desative o PowerShell como um meio para bloquear software maligno sem ficheiros. O PowerShell é uma ferramenta de gestão avançada e segura e é importante para muitas funções do sistema e de TI. Os atacantes utilizam scripts maliciosos do PowerShell como técnica de pós-exploração que só podem ocorrer depois de já ter ocorrido um compromisso inicial. A utilização indevida é um sintoma de um ataque que começa com outras ações maliciosas, como exploração de software, engenharia social ou roubo de credenciais. A chave é impedir que um atacante entre na posição em que pode utilizar indevidamente o PowerShell.
Dica
Reduzir o número de scripts do Powershell não assinados no seu ambiente ajuda a aumentar a sua postura de segurança. Seguem-se instruções sobre como pode adicionar a assinatura aos scripts do Powershell utilizados no seu ambiente Hey, Scripting Guy! Como posso assinar scripts de Windows PowerShell com uma PKI do Windows empresarial? (Parte 2 de 2) | Blogue de Scripting
Persistência WMI: alguns atacantes utilizam o repositório do Windows Management Instrumentation (WMI) para armazenar scripts maliciosos que são depois invocados periodicamente através de enlaces WMI. Microsoft Defender Antivírus bloqueia a maioria do software maligno através de deteções genéricas, heurísticas e baseadas em comportamento, bem como modelos de machine learning locais e baseados na cloud. Microsoft Defender Antivírus protege contra software maligno sem ficheiros através destas capacidades:
- Detetar técnicas baseadas em scripts com AMSI, que fornece a capacidade de inspecionar o PowerShell e outros tipos de script, mesmo com várias camadas de obfuscation
- Detetar e remediar técnicas de persistência da WMI ao analisar o repositório WMI, periodicamente e sempre que for observado um comportamento anómalo
- Detetar a injeção de DLL refletora através de técnicas de análise de memória melhoradas e monitorização comportamental
Porquê AMSI?
A AMSI fornece um nível mais profundo de inspeção para software malicioso que utiliza técnicas de ocultação e evasão nos anfitriões de scripts incorporados do Windows. Ao integrar o AMSI, o Microsoft Defender para Ponto de Extremidade oferece camadas adicionais de proteção contra ameaças avançadas.
Linguagens de Scripting Suportadas
- PowerShell
- Jscript
- VBScript
- Anfitrião de Scripts do Windows (wscript.exe e cscript.exe)
- .NET Framework 4.8 ou mais recente (análise de todas as assemblagens)
- WMI (Instrumentação de Gerenciamento do Windows)
Se utilizar Microsoft 365 Apps, o AMSI também suporta JavaScript, VBA e XLM.
Atualmente, o AMSI não suporta Python ou Perl.
Ativar o AMSI
Para ativar o AMSI, tem de ativar a análise de scripts. Veja Configurar opções de análise para Microsoft Defender Antivírus.
Veja também CSP da Política do Defender – Gestão de Clientes do Windows.
Recursos AMSI
As APIs de Interface de Análise antimalware (AMSI) estão disponíveis para implementação por parte de programadores e fornecedores de antivírus.
Outros produtos Microsoft, como o Exchange e o Sharepoint , também utilizam a integração amSI.
Mais recursos para proteger contra ataques sem ficheiros
Controlo de Aplicações do Windows Defender e AppLocker. Impõe políticas de Integridade de código fortes e permite a execução de apenas aplicações fidedignas. No contexto de software maligno sem ficheiros, o WDAC bloqueia o PowerShell para o Modo de Idioma Restrito, o que limita as funcionalidades de linguagem alargada que podem levar à execução de código inverificável, como scripting .NET direto, invocação de APIs Win32 através do cmdlet Add-Type e interação com objetos COM. Isto mitiga essencialmente os ataques de injeção de DLL refletora baseados no PowerShell.
A redução da superfície de ataque ajuda os administradores a proteger contra vetores de ataque comuns.
Ativar a proteção baseada na virtualização da integridade do código. Mitiga explorações de kernel-memory através do HVCI (Hypervisor Code Integrity), o que dificulta a injeção de código malicioso com vulnerabilidades de software no modo kernel.