Ao longo da história, os códigos maliciosos foram mudando a sua própria forma de propagação, o que também fez com que as soluções antivírus evoluíssem, desenvolvendo diferentes técnicas de detecção e prevenção contra essas ameaças. No final, essa dinâmica parece ser um constante jogo de gato e rato, pois após o surgimento de novas formas de detecção, imediatamente também surgem novas estratégias para evitá-las.

Veja a seguir quatro diferentes metodologias que podem ser implementadas por uma solução de segurança, e como os atacantes buscam formas para escapar disso.

Detecção reativa (ou baseada em assinaturas)

É a abordagem clássica na qual os produtos antivírus se basearam logo quando surgiram. Funciona através da comparação entre os arquivos armazenados ou baixados no computador, uma lista de códigos maliciosos conhecidos e suas formas de reconhecê-los (as conhecidas assinaturas).

Para que uma ameaça seja detectada por meio desse método, o laboratório antivírus deve primeiro obter uma amostra para, em seguida, gerar a assinatura. Isso significa que não funciona com novos malware ou ameaças conhecidas como 0-day.

Seguindo esse princípio, os cibercriminosos utilizam diversas técnicas para modificar os códigos maliciosos de forma que não coincidam com a assinatura do antivírus, através da modificação do código ou alterações dentro do mesmo arquivo, ou seja, criam, de certa forma, uma nova versão do código.

Ainda assim, essa forma de detecção continua sendo uma metodologia válida para detectar ameaças, considerando que consome poucos recursos do sistema e oferece informações precisas que acabam sendo bastante úteis para eliminá-las ou produzir relatórios. No entanto, em um mundo onde surgem novos riscos todos os dias, pode ser insuficiente contar apenas com esse método.

A maioria das atuais soluções antivírus incorporam funções de detecção proativa, que não se baseiam em uma lista de malware conhecido, mas que analisam o comportamento dos arquivos ou comunicações para detectar quais são potencialmente prejudiciais para o usuário, com técnicas conhecidas como heurísticas.

Heurística genérica

Esses tipos de métodos heurísticos são uma variante avançada da detecção pelas assinaturas, cujo principal objetivo é detectar aquelas ameaças que são modificações ou alterações de ameaças já conhecidas, ou seja, que o seu código é muito semelhante, sendo detectadas como “uma variante de...”.

Com essa abordagem é possível reconhecer diferentes amostras de códigos maliciosos que pertencem a uma mesma família através de uma única assinatura genérica. Isso permite que, no momento em que aparece uma nova versão de uma ameaça conhecida, a solução de segurança possa detectá-la sem a necessidade de uma atualização.

Por outro lado, muitos cibercriminosos utilizam técnicas de ofuscação de código ou de empacotamento para evitar a detecção pelas assinaturas (tanto específicas como genéricas), aproveitando que essas técnicas mudam substancialmente o código do arquivo. No entanto, esse comportamento acaba sendo algo suspeito, o que pode ser aproveitado para implementar outras formas de detecção.

Heurística passiva

Essa técnica explora de forma passiva o conteúdo do arquivo em busca de condições que indiquem uma conduta suspeita ou maliciosa, o qual é obtida por meio da análise do código e das ações que o mesmo realizaria, mas que o arquivo não executa.

Nesse caso é utilizada uma base de regras para determinar comportamentos suspeitos como o código empacotado, criptografado ou ofuscado, entry points incomuns, uso de bibliotecas suspeitas e outras ações realizadas comumente pelo malware. Ao detectá-las, avisa ao usuário que se trata de um arquivo malicioso.

Igual aos casos anteriores, os criadores de malware tentam aplicar diferentes métodos para esconder as intenções dos seus arquivos. As técnicas anti-debugging, baixar bibliotecas no tempo de execução ou utilizar linguagens como Autoit (que ao levar consigo todas as bibliotecas não precisa fazer ligações externas suspeitas) são apenas algumas das formas com as quais tentam espacar da heurística passiva.

Heurística ativa

Também conhecido como sandbox, consiste em executar o arquivo em um ambiente virtualizado, no qual é possível determinar com precisão os comportamentos do mesmo.

O usuário receberá uma alerta quando são realizadas uma ou várias ações suspeitas, como acessar ao SAM, injetar-se em um processo, apagar DLLs ou OCX; enquanto isso, outras ações como estabelecer conexões remotas, voltar ao início, auto apagar-se, modificar o registro ou arquivos críticos do sistema devem ser realizados em conjunto para que a alerta seja gerada.

Pode até parecer que com essa última ferramenta o equipamento possa estar completamente protegido, mas a realidade é que nem todas as soluções de segurança a implementam de forma adequada, deixando que sejam consumidos muitos recursos do sistema; portanto, não vem habilitado por default.

Mesmo ativando-a, o que acontece se um atacante distribui os comportamentos do malware? Por exemplo, utilizando um instalador no modo silencioso que escreva no registro (ação que é normal em um instalador), em seguida, executando um script que copia o arquivo a System32 e, por último, executando o malware que, em si, apenas realiza uma conexão remota à qual lhe envia informação. Dessa forma, cada arquivo realiza uma ou um conjunto de ações que não geram nenhuma alerta, mas, em conjunto, podem roubar informação sensível sem serem detectados.

Portanto, nesses casos, é útil adicionar a proteção de um bom firewall e IDS que controle as conexões de entrada e também de saída do equipamento, para evitar não apenas que as ameaças cheguem, como também que infectem o sistema, não possam enviar informações roubadas ou transformar o dispositivo em um zumbi.

O anterior deve ser complementado com módulos adicionais como o antispam, que protege contra ameaças enviadas por email; ou o antiphishing, para reduzir a possibilidade de ser vítima de páginas fraudulentas que roubam credenciais.

As soluções integrais de segurança não só oferecem uma suíte completa de ferramentas para detectar e eliminar cada tipo de ameaça, como também estão em constante evolução para estarem atualizadas com relação as últimas ameaças. No entanto, apesar de todos os esforços, às vezes, parece que os cibercriminosos encontram alguma forma de escapar e estar um passo à frente.

E é por isso que não basta contar com uma só ferramenta, mas todas devem trabalhar em conjunto. Além disso, não esqueçamos que sempre devemos estar atentos e atualizados sobre o panorama das ameaças para evitar ser mais uma vítima do malware.