ESTE SERVIÇO PODE CONTER TRADUÇÕES FEITAS PELO GOOGLE. O GOOGLE SE ISENTA DE TODAS AS GARANTIAS RELACIONADAS ÀS TRADUÇÕES, EXPRESSAS OU IMPLÍCITAS, INCLUINDO QUALQUER RESPONSABILIDADE EM RELAÇÃO À PRECISÃO, CONFIABILIDADE E QUALQUER DEVER IMPLÍCITO SOBRE SUA COMERCIALIZAÇÃO, ADEQUAÇÃO PARA UM FIM ESPECÍFICO E NÃO-VIOLAÇÃO.

Para sua conveniência, o site da Kaspersky Lab foi traduzido com a utilização do software de tradução Google Tradutor. Foram realizados esforços razoáveis para o oferecimento de uma tradução precisa; entretanto, as traduções automatizadas não são perfeitas e tampouco pretendem substituir a tradução qualificada de especialistas. Essas traduções são fornecidas como um serviço para os usuários do site da Kaspersky Lab e são exibidas "como estão". Não há nenhuma garantia de qualquer tipo, seja expressa ou implícita, sobre a precisão, confiabilidade, ou exatidão de quaisquer traduções feitas do inglês para qualquer outro idioma. Alguns conteúdos (como imagens, vídeos, Flash, etc.) podem não estar corretamente traduzidos devido às limitações do programa de tradução.

Virus.Win9x.CIH

Data de detecção 11/20/2002
Classe Virus
Plataforma Win9x
Descrição

Detalhes técnicos

Este é um vírus parasítico específico do Windows 95/98 que infecta arquivos do Windows PE (Portable Executable), que tem cerca de 1Kbyte de comprimento. Também conhecido como Chernobyl. Este vírus foi encontrado "in-the-wild" em Taiwan em junho de 1998, sendo lançado pelo seu autor de vírus que estava estudando em uma universidade local na época. O vírus (acidentalmente?) Foi postado em uma conferência local na Internet que liberou o vírus de Taiwan. Dentro de uma semana, o vírus foi encontrado na Áustria, Austrália, Israel, Reino Unido e também foi relatado em vários outros países (Suíça, Suécia, EUA, Rússia, Chile, etc.).

Em cerca de um mês, os arquivos infectados foram acidentalmente colocados em vários sites nos EUA (sites de distribuição de software de jogos) que causaram uma epidemia global de vírus. Em cerca de um ano após a aparição do vírus em 26 de março de 1999, a "bomba-relógio" causou uma catástrofe quando cerca de metade de um milhão de computadores foram danificados devido à infecção por vírus: todos eles perderam dados no disco rígido. e muitos deles também tiveram o BIOS da placa-mãe destruído (além de dados do disco rígido danificados). Este incidente foi significativo, pois não houve tais incidentes de computador globais e terríveis conhecidos até o momento neste momento.

Como o dia da "bomba" do vírus cai no dia da catástrofe de Chernobyl que chocou o mundo em 26 de abril de 1986, o vírus, já conhecido como "CIH", recebeu seu segundo nome – "Chernobyl".

Apesar disso, o autor do vírus não ligou sua "bomba" a Chernobyl (talvez ele nunca tivesse ouvido falar de Chernobyl). Parece que o dia da "bomba" foi selecionado por outro motivo. A primeira versão do vírus (que felizmente não saiu de Taiwan) foi lançada em 26 de abril de 1998, então o vírus comemorou seu "aniversário" em 26 de abril de 1999.

Como o vírus funciona

O vírus se instala na memória do Windows, conecta chamadas de acesso a arquivos e infecta arquivos EXE que são abertos. Dependendo da data do sistema (veja abaixo), o vírus executa sua rotina de disparo. O vírus tem erros e, em alguns casos, interrompe o computador quando um aplicativo infectado é executado.

A rotina de disparo do vírus opera com as portas do Flash BIOS e tenta substituir a memória Flash pelo "lixo". Isso é possível somente se a placa-mãe e o chipset permitirem a gravação na memória Flash. Geralmente, a gravação na memória Flash pode ser desabilitada por um comutador DIP, mas isso depende do design da placa-mãe. Infelizmente, há placas-mãe modernas que não podem ser protegidas por um comutador DIP – também, algumas delas não prestam atenção à posição do comutador e essa proteção não tem efeito algum. Alguns outros designs de placa-mãe fornecem proteção por escrito que pode ser desabilitada / anulada pelo software.

A rotina de disparo, então, substitui os dados em todos os discos rígidos instalados. O vírus usa chamadas diretas de gravação em disco para conseguir isso e ignora a proteção antivírus padrão do BIOS enquanto sobrescreve os setores de inicialização e MBR.

Existem três versões de vírus "originais" conhecidas, que estão intimamente relacionadas e diferem apenas em algumas partes do código. Eles têm comprimentos diferentes, textos dentro do código de vírus e data de disparo:

Comprimento Texto Trigger data Encontrado In-The-Wild

1003 CIH 1.2 TTIT em 26 de abril SIM

1010 CIH 1.3 TTIT em 26 de abril NÃO

1019 CIH 1.4 TATUNG em 26 de qualquer mês SIM – muitos relatórios

Detalhes técnicos

Ao infectar um arquivo, o vírus procura por "caves" no corpo do arquivo. Essas cavernas são um resultado da estrutura do arquivo PE: todas as seções do arquivo são alinhadas por um valor definido no cabeçalho do arquivo PE e há blocos não utilizados de dados do arquivo entre o final da seção anterior e o próximo. O vírus procura por essas cavernas e grava seu código nelas. O vírus aumenta o tamanho das seções pelos valores necessários. Como resultado, o comprimento do arquivo não é aumentado durante a infecção.

Se houver uma caverna de tamanho suficiente, o vírus salvará seu código em uma seção. Caso contrário, ele divide seu código em várias partes e as salva no final de várias seções. Como resultado, o código do vírus pode ser encontrado como um conjunto de partes, não como um único bloco em arquivos infectados.

O vírus também procura por uma caverna no cabeçalho PE. Se houver um bloco não utilizado de não menos de 184 bytes, o vírus gravará sua rotina de inicialização nele. O vírus então corrige o endereço de entrada no cabeçalho PE com um valor que aponta para a rotina de inicialização colocada no cabeçalho. Este é o mesmo truque que foi usado no vírus "Win95.Murkry" : endereço dos pontos de entrada do programa não para alguma seção do arquivo, mas para o cabeçalho do arquivo – de um arquivo carregado de dados. Apesar disso, os programas infectados são executados sem problemas – o Windows não presta atenção a esses arquivos "estranhos", carrega o cabeçalho do arquivo na memória, depois as seções de arquivo e passa o controle para a rotina de inicialização de vírus no cabeçalho PE.

Quando a rotina de inicialização do vírus assume o controle, ele aloca um bloco de memória usando a chamada PageAlocate VMM, copia a si mesmo para lá, localiza outros blocos de código de vírus e também os copia no bloco de memória alocado. O vírus, em seguida, conecta a API do IFS do sistema e retorna o controle para o programa host.

A coisa mais interessante nessa parte do código de vírus é que o vírus usa truques bastante complexos para pular de Ring3 para Ring0: quando o vírus pula para a memória recém alocada, seu código é executado como rotina Ring0, e o vírus é capaz de ligar as chamadas do sistema de arquivos (não é possível no Ring3, onde todos os aplicativos dos usuários são executados).

O manipulador de vírus da IFS API intercepta apenas uma função – abertura de arquivo. Quando arquivos PE .EXE são abertos, o vírus os infecta, desde que haja cavidades de tamanho suficiente. Após a infecção, o vírus verifica a data do arquivo e chama a rotina de disparo (veja acima).

Ao executar sua rotina de disparo, o vírus usa acesso direto às portas do Flash BIOS e às chamadas de acesso direto ao disco VxD (IOS_SendCommand).

Outras versões de vírus conhecidas

O autor do vírus original lançou não apenas o código de vírus em arquivos EXE afetados, mas também um código de fonte de vírus (assembler). Esses códigos-fonte foram corrigidos, recompilados e novas versões de vírus foram encontradas por causa disso. A maioria dessas versões tem bugs e não consegue replicar, mas outras podem fazer isso. Todos eles são muito fechados para vírus originais, mas existem algumas diferenças. A principal diferença é que a data da "bomba" mudou, e novas variantes do vírus apagam dados e Flash BIOS em outros dias, ou essa rotina nunca é chamada.

Existem também versões "originais" do vírus corrigidas para que tenham outros dias de "bomba". A razão para isso é na verdade bem-humorada: o vírus verifica a data do disparo comparando o dia atual e o número do mês com duas constantes (dois bytes). Ao corrigir essas constantes, é possível selecionar qualquer dia em que o vírus destruirá os computadores.


Link para o original