Polimórfico e metamórfico: as variantes dos vírus de computador

Nos últimos dias, ouvimos falar de variantes do Covid-19 e, como todos os vírus, até mesmo os vírus de computador encontram uma maneira de se esconder para se espalhar melhor. Não é por acaso que muitos aspectos da ciência da computação parecem ser uma espécie de "cópia" de como é a realidade. Por outro lado, a natureza nos oferece mecanismos de simplicidade desarmante que podem ser facilmente replicados no mundo binário dos computadores.

Já falamos em um artigo anterior sobre como os antivírus podem localizar, entre os arquivos que temos em nossos sistemas, os maliciosos. Nesse caso, nos colocamos do outro lado da cerca, observando quais técnicas são comumente usadas para omitir a proteção de programas anti-malware. Como qualquer bom vírus, a principal estratégia para viver é o efeito surpresa . Enquanto ele conseguir se replicar sem ser visto, poderá causar danos, quando for conhecido poderá ser facilmente identificado e eliminado.

Na verdade, falamos sobre a capacidade de encontrar vírus com base em uma assinatura que os caracterize: que técnica melhor do que transformar seu código em esconder ? Criar uma variante de você mesmo torna difícil encontrar partes iguais na cópia e, portanto, diminui a probabilidade de uma correspondência correta. As técnicas mais comuns, como vírus polimórficos e metamórficos, implementam precisamente os mecanismos necessários para alterar o código para torná-lo não identificável.

O mecanismo explorado por vírus polimórficos para se replicar mudando. Variantes como essa usam um mecanismo para descriptografar o código malicioso do vírus e criptografá-lo novamente com outra chave, mudando efetivamente a forma. Fonte: Research Gate

Vírus polimórficos

A ideia por trás dessa técnica é a criptografia. A criptografia é um algoritmo capaz de tornar o texto simples obscuro. As cifras são conhecidas no mundo desde os tempos antigos (cifra de César) e evoluíram com o passar do tempo. Aqueles familiarizados com segurança conhecerão nomes como AES, RSA, etc. que são os algoritmos de criptografia mais modernos, mas que também requerem uma certa quantidade de capacidade computacional. Na realidade, existem técnicas muito mais simples que dependem de operações aritméticas ou booleanas. Entre esses operadores, o preferido dos criptógrafos é o XOR, também chamado de OU exclusivo.

Vamos dar um exemplo para entender melhor do que estamos falando. Cada personagem na ciência da computação está associado a um valor de uma determinada codificação. Por exemplo, a letra A na codificação ASCII corresponde ao valor hexadecimal 41. Ao escolher uma "chave de criptografia" (neste caso apenas um número), como o hexadecimal 68, podemos alterar nossa letra inicial. Na verdade, 0x41 XOR 0x68 resulta em 0x29, que corresponde ao caractere de colchete “)”. Ao espalhar esse conceito simples para um trecho estendido de código, é fácil entender como é possível ocultar o código malicioso verdadeiro de olhos curiosos. No momento certo será suficiente decodificar o código com a mesma chave para obter o valor inicial (0x29 XOR 0x68 torna 0x41 novamente).

Os vírus polimórficos usam esse mecanismo para ocultar códigos maliciosos e alterá-los a cada nova infecção. Graças a um mecanismo polimórfico, eles são capazes de descriptografar o código malicioso no momento mais apropriado, executá-lo e, em seguida, alterar a chave para criptografá-lo novamente. O código, na verdade, permanece o mesmo porém muda de aparência (sua criptografia é alterada), permanecendo invisível para um antivírus que sempre busca a mesma "assinatura".

Mutações inesperadas

As variantes polimórficas de vírus de computador são bastante básicas, mas algumas delas podem se transformar completamente: vírus metamórficos (do grego metamórphōsis 'transformação'). O white paper da Symantec examina algumas abordagens típicas e explica como caçar esses vírus imprevisíveis. Na verdade, ao contrário dos anteriores, o malware metamórfico usa um mecanismo para modificar todas as partes que os compõem , incluindo o próprio mecanismo de transformação. Uma técnica básica é, por exemplo, a reordenação do código que pode ser feita com instruções JUMP: é possível manter a sintaxe do código intacta, mas alterar a forma como ele é escrito movendo linhas e adicionando saltos para seguir o fluxo inicial.

Os vírus metamórficos têm a capacidade de se modificarem completamente por meio de técnicas como reordenação de código.

Normalmente esses programas, durante sua execução, criam uma imagem temporária de sua tradução binária, modificam-na aplicando reordenamento, por exemplo, e depois traduzem de volta para o código de máquina. Em outras palavras, a partir de um programa inicial, sou capaz de criar uma cópia completamente diferente em forma (nenhuma parte é igual à anterior), mas exatamente especular em termos de operação.

As armadilhas dos vírus e como nos proteger

Com essas premissas, agora fica claro como é difícil ser capaz de identificar e acompanhar essas variantes específicas de vírus de computador. O Digital Guardian nos avisa sobre as possíveis armadilhas que existem na web e como esses vírus ainda são eficazes, apesar de também nos tornarmos muito especialistas na produção de antivírus. Na verdade, as abordagens tradicionais baseadas apenas em assinaturas são ineficazes. Mas é claro que sempre temos uma arma em nossa posse e, neste caso, estamos falando de sandbox.

A sandbox é nossa aliada que estuda o comportamento dos executáveis para ver se há algo errado. Em particular, é graças ao fato de o vírus ser gratuito que podemos encontrá-lo. Como já mencionamos, em ambos os casos há sempre uma fase temporária e intermediária onde, no primeiro caso, encontramos o código em texto claro, enquanto no segundo existe uma imagem temporária do vírus. Estes dois momentos são fundamentais e podendo monitorizá-los podemos intervir onde encontramos comportamentos semelhantes aos descritos.

Em conclusão, portanto, mantemos a máxima cautela sempre que navegamos na web. Caso contrário, podemos encontrar vírus que … gostam de mudar!

O artigo Polimórfico e metamórfico: as variantes dos vírus de computador vem de Tech CuE | Engenharia de Close-up .