Tutoriais práticos, com instruções passo-a-passo p
   
 
 
Home | Biblioteca | Calendário | Download | Literatura | Notícias | Segurança | Vacinas | Virus |

 Livro de Visita

 Pesquisa Vírus

 Alertas de Vírus

 Mapa Mundi

 Testes de AV

 Vírus Reais

 Portas de Trojans

 Notícias da Web

 White Papers

 Rede Segura

 Zone Alarme

Características dos Vírus Polimórficos

PYP Informática: Sua Fonte Segura de Informação.

© 1997-2008 by Francisco Panizo Beceiro


Introdução:

Os vírus são chamados polimórficos quando não podem (ou podem, mas com grande dificuldade) ser detectados com as chamadas máscaras de vírus - partes do código específico do vírus não modificável . Isso é conseguido principalmente de duas maneiras: pela criptografia do código principal do vírus com uma chave não-constante com conjuntos aleatórios de comandos de descriptografia ou pela modificação do código executável do vírus. Existem também outros exemplos um pouco exóticos de polimorfismo. Por exemplo, o vírus de DOS "Bomber" não é criptografado, mas a seqüência de instruções que passa o controle para o corpo do vírus é totalmente polimórfica. 

Existem vírus polimórficos de todos os tipos - desde vírus de DOS de arquivo e de boot até vírus de Windows, e até mesmo vírus de macro. 

Descriptadores polimórficos: 

O exemplo mais simples de um descriptador parcialmente polimórfico é o conjunto de instruções a seguir; nem um único byte do vírus ou do seu descriptador permanece o mesmo ao infectar diferentes arquivos como resultado do uso desse código. 

Vírus polimórficos mais complicados utilizam algoritmos muito mais complexos para a geração do seu código descriptador: as instruções acima ou equivalentes passam de um arquivo infectado para outro, são diluídas com instruções que não produzem quaisquer modificações, como NOP, STI, CLI, STC, CLC, registros DEC não usados, registros XCHG não usados, etc. 

No entanto, os vírus polimórficos de valor inteiro usam algoritmos ainda mais complicados, resultando em numerosas instruções aleatórias, como SUB, ADD, XOR, ROR, ROL, em ordem e quantidade aleatórias no descriptador do vírus. O carregamento e a modificação de chaves e outros parâmetros de criptografia também são feitos pelo construção de conjuntos aleatórios, que podem conter praticamente todas as instruções dos processadores Intel (ADD, SUB, TEST, XOR, OR, SHR, SHL, ROR, MOV, XCHG, JNZ, PUSH, POP, etc.), com todos os modos de endereçamento possíveis. Surgiram vírus polimórficos utilizando instruções do Intel 386 para descriptografar e, em 1997, foi encontrado um vírus polimórfico de 32 bits infectando arquivos EXE do Windows95. 

Como resultado, no topo do arquivo infectado por um vírus semelhante, há um conjunto de instruções aparentemente sem sentido e, além disso, algumas combinações bastante viáveis não são desmontadas por produtos para depuração de algumas empresas (por exemplo, as combinações CS:CS ou CS:NOP). Às vezes, comandos como MOV, XOR, LOOP, JMP - aqueles que estão realmente funcionando - podem ser encontrados nesse "coquetel". 

Níveis de polimorfismo: 

Existe um sistema de divisão de vírus polimórficos em níveis, de acordo com a complexidade do código de seus descriptadores. Esse sistema foi criado pelo Dr. Alan Solomon e depois aperfeiçoado por Vesselin Bontchev. 

Nível 1: vírus com um conjunto de descriptadores com código constante, que escolhe um deles durante a infecção. São chamados de "semipolimórficos" ou "oligomórficos". Exemplos: "Cheeba", "Slovakia", "Whale". 

Nível 2: o vírus descriptador contém uma ou diversas instruções constantes, o restante pode ser modificado. 

Nível 3: o descriptador contém funções não utilizadas - "lixo" como NOP, CLI, STI, etc. 

Nível 4: o descriptador utiliza instruções intercambiáveis e modifica sua ordem (mistura de instruções). O algoritmo de descriptação permanece inalterado. 

Nível 5: todas as técnicas anteriormente mencionadas são utilizadas, o algoritmo de descriptação é modificável, a criptografia repetida do código do vírus e mesmo a criptografia parcial do descriptador são possíveis.

Nível 6: vírus de permutação. O código principal do vírus está sujeito a mudanças, é divido em blocos que são posicionados em ordem aleatória durante a infecção. Apesar disso, o vírus continua a poder trabalhar. Pode ser descriptografado. 

Essa divisão ainda possui desvantagens, pois o principal critério é a possibilidade de detecção do vírus de acordo com o código do descriptador, com a ajuda da técnica convencional de máscaras de vírus: 

Nível um: para detectar o vírus basta ter diversas máscaras. Nível dois: detecção do vírus com a ajuda da máscara utilizando "caracteres curinga". Nível três: detecção do vírus com a ajuda da máscara depois de deletar instruções "lixo". Nível quatro: a máscara contém diversas versões de código e se torna um algoritmo do nível cinco: impossibilidade de detecção do vírus utilizando máscaras. 

A deficiências dessa divisão é demonstrada em um vírus do terceiro nível de polimorfismo, o qual é chamado, adequadamente, de "Nível 3". Esse é um dos vírus polimórficos mais complicados, e se encaixa na terceira categoria, conforme a divisão atual, porque funciona como um algoritmo de descriptação constante, precedido por muitas instruções "lixo". Nesse vírus, entretanto, o algoritmo de geração de "lixo" é trabalhado até a perfeição: no código do descriptador é possível encontrar praticamente todas as instruções i8086. 

Se for necessário dividir os vírus em níveis, do ponto de vista de antivírus, utilizando os sistemas de descriptação automática do código do vírus (emuladores), essa divisão dependerá da complexidade do código do vírus. Outras técnicas de detecção de vírus são possíveis, como, por exemplo, a descriptação com a ajuda de leis primárias da matemática, etc. 

Portanto, a divisão seria mais objetiva se considerasse outros parâmetros além do critério da máscara do vírus:

1. O grau de complexidade do código polimórfico (um percentual de todas as instruções do processador, que pode ser encontrado no código do descriptador)
2. Uso da técnica do antiemulador
3. Constância do algoritmo de descriptação
4. Tamanho do algoritmo de descriptação 

Esses itens não serão descritos em maior detalhe, pois isso com certeza levaria os criadores de vírus a gerar monstros dessa espécie.

 


 

HomePesquisasComo AgemMacro-VírusMapa MundiSafe ModeSegurança Pró-ativaTestes de AVVírus ReaisWhite Papers |

Atenção: não podemos dar suporte diretamente para os internautas; use nosso FÓRUM VÍRUS ALERTA para suas dúvidas;
Desejando um suporte diferenciado e específico para suas necessidades, associe-se ao Clube do Help Desk.