Ameaças sem arquivo
O que exatamente são ameaças sem arquivos? O termo "sem arquivos" sugere que uma ameaça não vem em um arquivo, como um backdoor que vive apenas na memória de um computador. No entanto, não há uma definição para malware sem arquivos. O termo é usado amplamente e, às vezes, para descrever famílias de malware que dependem de arquivos para operar.
Os ataques envolvem vários estágios para funcionalidades como execução, persistência ou roubo de informações. Algumas partes da cadeia de ataque podem estar sem arquivos, enquanto outras podem envolver o sistema de arquivos de alguma forma.
Para obter clareza, as ameaças sem arquivo são agrupadas em diferentes categorias.
Figura 1. Diagrama abrangente de malware sem arquivos
Ameaças sem arquivo podem ser classificadas pelo ponto de entrada, o que indica como o malware sem arquivos pode chegar em um computador. Eles podem chegar por meio de uma exploração, por meio de hardware comprometido ou por meio da execução regular de aplicativos e scripts.
Em seguida, liste a forma de ponto de entrada. Por exemplo, as explorações podem ser baseadas em arquivos ou dados de rede, periféricos PCI são um tipo de vetor de hardware e scripts e executáveis são subcategorias do vetor de execução.
Por fim, classifique o host da infecção. Por exemplo, um aplicativo Flash pode conter uma variedade de ameaças, como uma exploração, um firmware executável simples e mal-intencionado de um dispositivo de hardware.
Classificar ajuda você a dividir e categorizar os vários tipos de ameaças sem arquivos. Alguns são mais perigosos, mas também mais difíceis de implementar, enquanto outros são mais comumente usados apesar (ou precisamente por causa) de não serem muito avançados.
Nessa categorização, você pode obter três main tipos de ameaças sem arquivos com base na quantidade de impressão digital que elas podem deixar em computadores infectados.
Tipo I: nenhuma atividade de arquivo executada
Um malware totalmente sem arquivos pode ser considerado um que nunca requer a gravação de um arquivo no disco. Como esse malware infectaria um computador em primeiro lugar? Um exemplo é onde um computador de destino recebe pacotes de rede mal-intencionados que exploram a vulnerabilidade EternalBlue. A vulnerabilidade permite a instalação do backdoor DoublePulsar, que acaba residindo apenas na memória do kernel. Nesse caso, não há nenhum arquivo ou dados gravados em um arquivo.
Um dispositivo comprometido também pode ter código mal-intencionado escondido no firmware do dispositivo (como um BIOS), um periférico USB (como o ataque BadUSB) ou no firmware de um cartão de rede. Todos esses exemplos não exigem que um arquivo no disco seja executado e, teoricamente, podem viver apenas na memória. O código mal-intencionado sobreviveria a reinicializações, reformats de disco e reinstalações do sistema operacional.
Infecções desse tipo podem ser particularmente difíceis de detectar porque a maioria dos produtos antivírus não tem a capacidade de inspecionar firmware. Nos casos em que um produto tem a capacidade de inspecionar e detectar firmware mal-intencionado, ainda há desafios significativos associados à correção de ameaças nesse nível. Esse tipo de malware sem arquivos requer altos níveis de sofisticação e geralmente depende de configuração específica de hardware ou software. Não é um vetor de ataque que pode ser explorado de forma fácil e confiável. Embora perigosas, ameaças desse tipo são incomuns e não práticas para a maioria dos ataques.
Tipo II: atividade de arquivo indireto
Há outras maneiras de o malware conseguir presença sem arquivos em um computador sem exigir esforços significativos de engenharia. O malware sem arquivo desse tipo não grava diretamente arquivos no sistema de arquivos, mas pode acabar usando arquivos indiretamente. Por exemplo, com os invasores de backdoor do Poshspy instalados um comando mal-intencionado do PowerShell no repositório WMI e configurou um filtro WMI para executar o comando periodicamente.
É possível realizar essa instalação por meio da linha de comando sem exigir que um backdoor já esteja no arquivo. O malware pode ser instalado e teoricamente executado sem tocar no sistema de arquivos. No entanto, o repositório WMI é armazenado em um arquivo físico em uma área de armazenamento central gerenciada pelo CIM Object Manager e geralmente contém dados legítimos. Embora a cadeia de infecções use tecnicamente um arquivo físico, ela é considerada um ataque sem arquivos porque o repositório WMI é um contêiner de dados multiuso que não pode ser detectado e removido.
Tipo III: arquivos necessários para operar
Algum malware pode ter uma espécie de persistência sem arquivos, mas não sem usar arquivos para operar. Um exemplo para esse cenário é Kovter, que cria um manipulador de verbos abertos do shell no registro para uma extensão de arquivo aleatório. Abrir um arquivo com essa extensão levará à execução de um script por meio da ferramenta legítima mshta.exe.
Figura 2. Chave do registro de Kovter
Quando o verbo aberto é invocado, o comando associado do registro é iniciado, o que resulta na execução de um script pequeno. Este script lê dados de uma chave de registro adicional e executa-os, por sua vez, levando ao carregamento da carga final. No entanto, para disparar o verbo aberto em primeiro lugar, Kovter precisa soltar um arquivo com a mesma extensão direcionada pelo verbo (no exemplo acima, a extensão é .bbf5590fd). Ele também precisa definir uma chave de autorun configurada para abrir esse arquivo quando o computador for iniciado.
Kovter é considerado uma ameaça sem arquivos porque o sistema de arquivos não é de uso prático. Os arquivos com extensões aleatórias contêm dados de lixo eletrônico que não podem ser usados para verificar a presença da ameaça. Os arquivos que armazenam o registro são contêineres que não podem ser detectados e excluídos se o conteúdo mal-intencionado estiver presente.
Categorizando ameaças sem arquivos por host de infecção
Tendo descrito as categorias amplas, agora podemos investigar os detalhes e fornecer uma divisão dos hosts de infecção. Essa classificação abrangente aborda o panorama do que geralmente é chamado de malware sem arquivos. Ele impulsiona nossos esforços para pesquisar e desenvolver novos recursos de proteção que neutralizam classes de ataques e garantem que o malware não tenha vantagem na corrida armamentista.
Explora
Baseado em arquivo (Tipo III: executável, Flash, Java, documentos): um arquivo inicial pode explorar o sistema operacional, o navegador, o mecanismo Java, o mecanismo Flash, etc. para executar um shellcode e fornecer uma carga na memória. Enquanto a carga não tem arquivo, o vetor de entrada inicial é um arquivo.
Baseado em rede (Tipo I): uma comunicação de rede que aproveita uma vulnerabilidade no computador de destino pode alcançar a execução de código no contexto de um aplicativo ou do kernel. Um exemplo é o WannaCry, que explora uma vulnerabilidade anteriormente fixa no protocolo SMB para fornecer um backdoor dentro da memória do kernel.
Hardware
Baseado em dispositivo (Tipo I: cartão de rede, disco rígido): dispositivos como discos rígidos e cartões de rede exigem chipsets e software dedicado para funcionar. O software residente e em execução no chipset de um dispositivo é chamado de firmware. Embora seja uma tarefa complexa, o firmware pode ser infectado por malware.
Baseado em CPU (Tipo I): as CPUs modernas são complexas e podem incluir subsistemas que executam firmware para fins de gerenciamento. Esse firmware pode ser vulnerável ao sequestro e permitir a execução de código mal-intencionado que operaria de dentro da CPU. Em dezembro de 2017, dois pesquisadores relataram uma vulnerabilidade que pode permitir que invasores executem código dentro do ME (Mecanismo de Gerenciamento) presente em qualquer CPU moderna da Intel. Enquanto isso, o grupo invasor PLATINUM tem sido observado como tendo a capacidade de usar a AMT (Tecnologia de Gerenciamento Ativo) da Intel para executar comunicações de rede invisíveis, ignorando o sistema operacional instalado. ME e AMT são essencialmente microcomputadores autônomos que vivem dentro da CPU e que operam em um nível muito baixo. Como a finalidade dessas tecnologias é fornecer gerenciabilidade remota, elas têm acesso direto ao hardware, são independentes do sistema operacional e podem ser executadas mesmo se o computador estiver desativado.
Além de serem vulneráveis no nível de firmware, as CPUs podem ser fabricadas com backdoors inseridos diretamente no circuito de hardware. Este ataque foi pesquisado e se mostrou possível no passado. Foi relatado que determinados modelos de processadores x86 contêm um núcleo de CPU inserido secundário do RISC que pode fornecer efetivamente um backdoor por meio do qual aplicativos regulares podem obter execução privilegiada.
Baseado em USB (Tipo I): dispositivos USB de todos os tipos podem ser reprogramados com firmware mal-intencionado capaz de interagir com o sistema operacional de maneiras nefastas. Por exemplo, a técnica BadUSB permite que um pendrive reprogramado atue como um teclado que envia comandos para computadores por meio de teclas ou como um cartão de rede que pode redirecionar o tráfego à vontade.
Baseado em BIOS (Tipo I): um BIOS é um firmware em execução dentro de um chipset. Ele é executado quando um computador é ligado, inicializa o hardware e, em seguida, transfere o controle para o setor de inicialização. O BIOS é um componente importante que opera em um nível baixo e é executado antes do setor de inicialização. É possível reprogramar o firmware BIOS com código mal-intencionado, como aconteceu no passado com o rootkit mebromi.
Baseado em hipervisor (Tipo I): CPUs modernas fornecem suporte ao hipervisor de hardware, permitindo que o sistema operacional crie máquinas virtuais robustas. Uma máquina virtual é executada em um ambiente limitado e simulado e, em teoria, desconhece a emulação. Um malware que assume um computador pode implementar um pequeno hipervisor para se esconder fora do reino do sistema operacional em execução. Malware desse tipo foi teorizado no passado e, eventualmente, os rootkits de hipervisor reais foram observados, embora poucos sejam conhecidos até o momento.
Execução e injeção
Baseado em arquivo (Tipo III: executáveis, DLLs, arquivos LNK, tarefas agendadas): este é o vetor de execução padrão. Um executável simples pode ser iniciado como um malware de primeiro estágio para executar uma carga adicional na memória ou injetado em outros processos legítimos em execução.
Baseado em macro (Tipo III: documentos do Office): a linguagem VBA é uma ferramenta flexível e poderosa projetada para automatizar tarefas de edição e adicionar funcionalidade dinâmica aos documentos. Como tal, ele pode ser abusado por invasores para realizar operações mal-intencionadas, como decodificação, execução ou injeção de uma carga executável ou até mesmo implementar um ransomware inteiro, como no caso do qkG. As macros são executadas no contexto de um processo do Office (por exemplo, Winword.exe) e implementadas em uma linguagem de script. Não há nenhum executável binário que um antivírus possa inspecionar. Embora os aplicativos do Office exijam consentimento explícito do usuário para executar macros de um documento, os invasores usam técnicas de engenharia social para enganar os usuários para permitir que macros sejam executadas.
Baseado em script (Tipo II: arquivo, serviço, registro, repositório WMI, shell): os idiomas de script JavaScript, VBScript e PowerShell estão disponíveis por padrão nas plataformas Windows. Os scripts têm as mesmas vantagens que as macros, são arquivos textuais (não executáveis binários) e são executados dentro do contexto do intérprete (como wscript.exe, powershell.exe), que é um componente limpo e legítimo. Os scripts são versáteis e podem ser executados a partir de um arquivo (clicando duas vezes neles) ou executados diretamente na linha de comando de um intérprete. A execução na linha de comando permite que o malware codifica scripts mal-intencionados como serviços de início automático dentro de chaves de registro de autorun como assinaturas de eventos WMI do repositório WMI. Além disso, um invasor que obteve acesso a um computador infectado pode inserir o script no prompt de comando.
Baseado em disco (Tipo II: Registro de Inicialização): o Registro de Inicialização é o primeiro setor de um disco ou volume e contém o código executável necessário para iniciar o processo de inicialização do sistema operacional. Ameaças como Petya são capazes de infectar o Registro de Inicialização substituindo-o com código mal-intencionado. Quando o computador é inicializado, o malware ganha imediatamente o controle. O Registro de Inicialização reside fora do sistema de arquivos, mas é acessível pelo sistema operacional. Os produtos antivírus modernos têm a capacidade de examiná-lo e restaurá-lo.
Derrotando malware sem arquivo
Na Microsoft, monitoramos ativamente o cenário de segurança para identificar novas tendências de ameaças e desenvolver soluções para mitigar classes de ameaças. Instrumentamos proteções duráveis que são eficazes contra uma ampla gama de ameaças. Por meio da AMSI (Interface de Verificação AntiMalware), monitoramento de comportamento, verificação de memória e proteção do setor de inicialização, Microsoft Defender para Ponto de Extremidade pode inspecionar ameaças sem arquivos mesmo com ofuscação pesada. As tecnologias de machine learning na nuvem nos permitem dimensionar essas proteções contra ameaças novas e emergentes.
Para saber mais, leia: Fora de vista, mas não invisível: Derrotando malware sem arquivos com monitoramento de comportamento, AMSI e AV de próxima geração
Recursos e informações adicionais
Saiba como implantar recursos de proteção contra ameaças em Microsoft 365 E5.