Vírus em Windows 95 e NT 4.0

Homepage Blog do Fanzine Índice No 16 Índice Números Anteriores drrcunha@yahoo.com.br

Vírus em Windows 95 e NT 4.0

Derneval R.R. Cunha

Há algum tempo, a grande dúvida dos fabricantes de vírus, tipo VLAD, grupos que tem como hobby a escrita desse tipo de software capaz de ação independente, simulando vida inteligente, era se o ambiente de 32 bits representava um fim para toda uma cultura (nos dois sentidos da coisa - cultura de vírus e vírus como um tipo de ação cultural). Como disse ou deixou escrito Stephen Hawking, "os vírus de computador são a primeira forma de vida construída pelo homem". Não que isso ajude muito, quando o pessoal está xingando porque todos os seus arquivos foram detonados por algum. O ambiente de 32 bits parecia que ia acabar com isso. Eu mesmo acreditei nisso, já que um jornal de São Paulo até publicou, logo após a saída do Win95, uma reportagem cujo título era mais ou menos "lista de 700 softwares que não funcionam com o novo sistema operacional". Aliás corria a piada de que o Win95 era um vírus, pois deixava o micro mais lento, detonava com o espaço na sua winchester, fazia seus programas antigos pararem de funcionar, obrigava a comprar micro novo, etc, etc.. Os vírus para Windows 3.11 não tinham se difundido e eram de difícil confecção, comparando com os vírus do DOS, cujo material está disponível para estudo até na rede.

Mas tudo isso era medo infundado. Parafraseando o carinha lá do Jurassic Park, "A vida sempre encontra um jeito" (doeu, escrever isso). Primeiro, o grupo australiano de escritores de vírus VLAD publicou o código fonte e detalhes de como construir o vírus BOZA, o primeiro para Win95. Depois veio o vírus Concept, um dos primeiros a serem feitos através de linguagem de macros, antes um assunto de ficção científica. Entre agosto de 95 e Junho de 97, o número de vírus de macro atingiu a casa do milhar (fonte: Datafellows) e atualmente pode-se encontrar na rede não só tutoriais sobre como construir esses vírus, mas também coleções de vírus organizadas por países. Word-Basic é tão mais fácil de programar que assembler e tão cheio de recursos... A Microsoft reagiu a essa ameaça tentando diminuir o problema, chamando o primeiro de "Prank" (travessura). Desenvolveu um software específico contra, mas dada a quantidade de novos vírus, a coisa ficou um pouco mais difícil. Bom, mas isso fica para mais tarde. Vamos aos dados que "pesquei" num excelente documento da Symantec Corporation, "Understanding Virus Behavior". Esqueci o URL.

No número 1 do Barata Elétrica, coloquei um texto sobre vírus bastante razoável, descrevendo os vários tipos de vírus existentes na época. Podiam ser divididos basicamente em vírus de arquivo e de disco, havendo vírus que infectavam tanto um quanto o outro meio. O vírus de disco, para simplificar, usamos o exemplo do Stoned, infectava um (tipo de) arquivo responsável pelo arquivamento de informações sobre onde se localizam as informações dentro do disco. Só para resumir, é necessário um programa para saber onde outro arquivo de programa ou de dados se localiza dentro do disquete. Quando se perde as informações do boot sector, então, o disquete em vários casos pode ser formatado, porque os dados armazenados não serão achados. A pessoa irá por exemplo, receber a mensagem "file not found". Esse lance de "programinha encarregado das informações onde estão os arquivos" existe tanto no disquete quanto no disco rígido. O vírus de disco basicamente substitui o código desse programa pelo seu próprio e passa a administrar o acesso ao disco (entre outras coisas).

Existem várias maneiras pelas quais ele consegue entrar nessa área. A forma mais comum de um vírus de disco infectar o disco rígido é aquela ocasião em que o usuário deixa um disquete infectado no drive A: e depois liga o micro. Isso acontece quando o sujeito vai desligar o micro e esquece de tirar o disquete antes de ligar de novo. Aí dá aquela famosa mensagem avisando que "Command.com not found" ou coisa do gênero. O usuário simplesmente tira o disquete e pressiona qualquer tecla. Aí espera o micro "bootar". O problema é que o vírus de boot entra na memória e infecta o disco rígido do micro nesta hora, quando não faz diferença qual sistema operacional vai funcionar depois.

Nesse caso específico, vai haver infecção do disco rígido, embora alguns sistemas tenham um aviso da BIOS alertando para o problema. Havendo infecção, pode ser até um vírus velho como o Michelângelo pode funcionar num sistema de windows 95 ou NT como se fosse no DOS. Basta haver ativação do possível mecanismo de detonação antes da ativação do sistema operacional de 32 bits. Se o tal mecanismo não for ativado porém, o vírus não vai se propagar, mesmo estando residente na memória. Fica como uma espécie de bomba relógio. A própria infecção pode causar outros problemas. Há vírus que "entram" e depois modificam a tabela de partição. Em Windows 95 e no DOS, os vários tipos que simplesmente criptografam ou mexem com ela, passam a informação adiante e tudo bem, o sistema continua funcionando. Dentro do Windows NT, um vírus do tipo Monkey não vai deixar o sistema saber quais os drives lógicos estão funcionando. Significando que só o vírus fica sabendo o que aconteceu com o que está no disco rígido. Como não é feito para funcionar com NT 4.0, essa informação não é passada adiante e se fica sabendo que a infecção ocorreu, porque fode tudo e o micro não funciona. Pode fechar os olhos e cantar "Don't cry for me Argentina".

Ou seja, no NT 4.0 a infecção por esse tipo de vírus é a mesma coisa que a formatação do início do disco rígido. Resumindo, pode dar um pau se ficar disquete infectado no drive A: durante o processo de liga-desliga do micro.

Quanto aos vírus de arquivo (ainda não entrando no campo dos vírus de macro, que também poderiam ser considerados como tais), é necessário entrar em outros pormenores.

Primeiro, porque temos os vírus de arquivo comuns, como o Jerusalém, toda a gama de vírus que estão descritos no número 1 do Barata Elétrica e os vírus específicos de Windows, muito pouco conhecidos no Brasil. Os primeiros, específicos do DOS não funcionam fora da chamada "aviso do DOS" ou "MSDOS command prompt". Estão também impedidos de fazer qualquer coisa com o disco rígido, tipo formatar as primeiras trilhas, etc, etc.. O sistema operacional impede qualquer acesso direto ao disco rígido. O que não impede de coisas serem feitas com disquetes. Em se tratando de vírus de DOS que infectam arquivos, tal disseminação ainda pode acontecer. O maior prejuízo é se algum arquivo ou driver específico para o funcionamento do Win 95 ou NT for infectado por tais vírus. Porque simplesmente o sistema vai deixar de funcionar, da próxima vez. O vírus se propaga através da infecção de outros arquivos, mas precisa que o programa funcione mesmo com o vírus dentro dele. Exemplo: se o arquivo win for infectado pelo "Jerusalém", por exemplo, acabou. Tem que reinstalar.

O NT tem alguma proteção contra modificações feitas por programas (incluindo vírus) do DOS, mas é de se esperar que a maioria dos usuários não vai usar essa proteção. De qualquer forma, se o usuário for root, passa por cima desse tipo de coisa. A grande maioria dos vírus do DOS não vai infectar da maneira correta (significando que o programa possa continuar funcionando pós-infecção). Embora não haja command.com para ser infectado, se os arquivos responsáveis pelo "prompt do DOS" forem infectados, ex: "CMD.EXE" ou "NDOS.COM", cada vez que o "prompt do DOS" for chamado, o vírus fica residente na memória, já que essa janela do DOS emula muito bem as funções do velho sistema, ou seja: tirando o fato de que não se pode escrever para o disco rígido a torto e a direito e algumas coisas aqui e ali, a pessoa tem que tomar os mesmos cuidados nesse novo ambiente, com relação a vírus de arquivo. A tendência é ficar mais difícil um pouco para vírus de disco, já que o principal vetor de infecção, o velho disco rígido infectado não vai ser tão perigoso.

Quanto aos vírus de macro, esses são um caso a parte. Em primeiro lugar, são específicos de software da Microsoft, tipo: Word 6.0/7.0, Excel 5.0/7.0, Word97 e Excel97. Arquivo de Word 2.0 só pode ser infectado se usado dentro do Word 6. Para o resto do texto, quando estivermos nos referindo a editor de texto, esta sendo discutido exclusivamente estes editores acima, que usam Word-Basic da Microsoft. Vamos esclarecer também que estamos falando de vírus, ou seja coisa que se espalha de arquivo infectado para arquivo não-infectado. Cavalo de Tróia não se reproduz, é uma espécie de bomba relógio colocada por alguém e que não se espalha de um computador para outro sem que o usuário "ajude". Os macro-vírus são de facílima propagação, já que a pessoa pode mandar um arquivo "atachado" para outra ou mesmo deixar disponível numa BBS. Alguns especialistas especulam que nenhum outro tipo de vírus foi tão difundido em tão pouco por tantos computadores (o stoned levou mais de dois anos para se espalhar pelo mundo e conseguir o espaço que continua tendo). E tem mais. Pode ser considerado o primeiro tipo de vírus multi-plataforma, funcionando em OS/2, NT, Win95, qualquer sistema operacional que rode o Office da Microsoft, sem discriminação (Aceita qualquer raça de sistema operacional).

Nem tanto ao céu nem tanto a terra. No Mac, alguns deles não funcionam legal. Outra coisa é que eles dependem do Word-Basic. Então é seguro usar o Norton Commander do Norton Utilities para visualizar arquivos Word 6.x infectados, assim como usar o WordPerfect para Windows que tem opção para carregar esse tipo de arquivo. Nessas condições o vírus não funciona. A Microsoft fez um software, chamado WordView que não executava as macros, permitindo a visualização de arquivos sem correr riscos. Quis inovar, aí fez outro visualizador, versão 7.1, que infelizmente, executa algumas macros, sendo portanto algo vulnerável em relação ao software anterior, no sentido que um vírus pode ser modificado para usar estas macros para fazer algo.

Como funciona o vírus de macro?

Em primeiro lugar, o que é macro? Para o pessoal do DOS é fácil definir, pode-se falar que é um arquivo batch que roda dentro do programa que você usa, evitando ter que repetir a mesma sequência de teclas. Para o pessoal que começou com win 95 e Office qualquer versão, vai entender melhor se entrar no Word, puxar o menu "Tools" ou "Ferramentas", depois "Macro", depois gravar alguma coisa que será repetida trocentas vezes. Você por exemplo quer por exemplo traduzir "default" por "configuração original" em algumas partes de uma tradução. Então escolhe uma sequência de teclas, tipo Cntrl- Shift-C para significar essa troca e quando vai no texto procurando com o Ctrl-L (localiza) as ocorrências de "default". Isso porque tem cara que vai me perguntar o que é macro e provavelmente tem muito cara que só sabe da existência de macros por conta desses vírus. Bom, isso é um exemplo de macro. Praticamente um programa simples para trocar palavras. Que é salvo no arquivo NORMAL.DOT, ou qualquer outro arquivo de extensão .DOT usado pelo indivíduo, que guarda os modelos dos documentos. Quando um arquivo .DOC dos Words acima mencionados é aberto, são duas infecções. O Normal.dot é infectado e qualquer arquivo aberto num Word que use o normal.dot infectado também é infectado. Vale lembrar que se você tem um arquivo de texto puro que renomeou para ter a extensão .DOC ele não vai ter vírus de macro. Arquivos tipo texto podem até ter bombas ASCII, mas não servem de veículo para transportar macros.

Então macros são instruções que formam um código executável quando o documento contendo este código é aberto pelo editor de textos Word das versões descritas acima. (Outros editores tem suas macros, mas isso não interessa nesse caso). Pode-se examinar estas macros de duas formas: uma é entrando na seção de Ferramentas/Tools e selecionando Macro, depois Biblioteca, etc, etc a outra é através de um hexeditor, onde pode-se ver em primeiro lugar o texto que você gravou e mais embaixo, por último. Deve haver um nome de macro por aí, pelo final. Como o editor de macros permite que o codigo seja execute-only, a macro pode estar criptografada e talvez tenha U's para assinalar sua existência.

Não é necessariamente aconselhável examinar arquivos suspeitos de contaminação com a opção Tools/Ferramentas/Macros. Alguns vírus estão "armados" prevenindo este tipo de ação e vão ser ativados no processo. Pode ser que seja seguro usar a sequência Arquivo/Modelos/Biblioteca/Macros para deletar macros estranhas, mas aconselhável mesmo só usar antivírus específicos. Vale notar que apenas alguns vírus de macro podem infectar qualquer versão de Word. A grande maioria só pode infectar versões "americanas" ou que usam o Word-Basic original. O Word-Basic usado em versões Tupiniquins só vai permitir versões tupiniquins (traduzidas) dos vírus ou alguns vírus universais, tipo Wazzu ou DMV. Ainda não dei uma olhada no CAP.A e NPAD que está infectando máquinas da USP para saber qual é a dele.

Alguns vírus inofensivos, outros podem conter código destrutivo, obliterando arquivos que infectam. Outros podem servir para "plantar" cargas destrutivas, tipo outros vírus de DOS ou cavalos de tróia. Curiosamente, há casos de vírus extremamente sofisticados que poderiam ser extremamente perigosos, mas que examinando o código se tem a impressão de que o programador aparentemente preferiu não "soltar" toda a potencialidade do vírus. Não sei de qual texto peguei esse lance...

Como se livrar dessa moçada? Tem versões do Vírus Scan específicas para examinar material que vem da rede. Eu uso e recomendo o F-macro, disponível pelo ftp.datafellows.com, ftp.datafellows.fi ou www.datafellows.com, etc, etc.. acredito que a McAfee deve ter um antivírus específico de macro. Informação específica pode ser encontrada em vários lugares. Tem um FAQ razoável no http://learn.senecac.on.ca/~jeashe/hsdemonz.htm, no http://www.backlabs.wisc.edu/~janda/macro_faq.html e uma descrição completa dos princípios do vírus Concept (um dos primeiros a serem diagnosticados) no http://www.wopr.com/wwwinfo/concept.htm . Existem outros FAQs específicos para o pessoal do Computer Underground, disponíveis no site do Aurodreph, que acredito, já deve ter caído por estas horas. A homepage do ??????? também tinha varios tutoriais para se fazer esses vírus, inclusive kits completos mas já saiu do ar.

NÃO ADIANTA ME ESCREVER PEDINDO MAIORES DADOS SOBRE VÍRUS DE MACRO.