TUDO O QUE VOCÊ PRECISA SABER SOBRE OS

VÍRUS

Por Erik Kohler

Quem faz, as técnicas que usam, antivírus e tudo relacionado ao assunto

AFINAL, O QUE É E O QUE FAZ UM VÍRUS?

Definições sobre o que são os vírus de computador são inúmeras. Todas elas concordam em pelo menos um ponto: os vírus se "multiplicam" de diferentes maneiras. Nenhum vírus sobrevive se não se multiplicar - exatamente como ocorre com os vírus que infectam os seres vivos -, isto é, fazer uma cópia de si mesmo seja em um arquivo executável ou o boot do disquete ou disco rígido (ou ambos). Esta é a principal meta de um vírus, ao contrário do que muitas pessoas pensam. Afirmações como "todos os vírus causam algum dano" não são verdadeiras. Veremos que um vírus nem sempre é sinônimo de destruição ou perda de dados e que nenhum sistema está livre dos vírus.

Os vírus são programas como quaisquer outros e, como tais, contêm um código executável, que executa várias tarefas (de acordo com o vírus). Eles podem ter como função, além da autoduplicação, desde mostrar uma simples mensagem na tela ou travar o computador até destruir todos os dados do seu disco rígido. Acredite, a maioria esmagadora dos vírus não causa dano algum aos seus dados ou equipamento. A razão de certas pessoas ficarem alarmadas (ou em verdadeiro estado de pânico) sabendo que estão contaminadas não é outra senão a de que provavelmente ouviram falar do efeito destruidor de algum vírus (que é mais comentado do que um que mostre alguma coisa na tela ou faça um "beep"). Os vírus danosos são os primeiros a serem alvos dos antivírus, por isso geralmente os programadores não se interessam em fazê-los. Já um vírus que se oculte e só seja ativado, digamos, daqui a 1, 3 ou 5 meses ou uma vez por ano terá muito mais chance de se proliferar sem ser notado.

Os vírus são escritos na sua quase totalidade em linguagem Assembly, pois é a linguagem "nativa" do computador, gerando menos código para executar alguma tarefa. Vírus em Assembly variam de 20 bytes de tamanho até mais ou menos 2.000 bytes. Estes últimos geralmente incorporam sofisticadas técnicas de encriptação. Existem também alguns poucos vírus em Pascal, C e até BASIC - mas estes vão além dos 10Kb, sendo facilmente notados. O "AIDS", por exemplo, é um vírus feito em Pascal, com 12Kb.

A figura 1 mostra o diagrama de um vírus simples. O diagrama começa do ponto em que o vírus é executado no programa hospedeiro. A partir daí, ele irá procurar pelo próximo arquivo no mesmo diretório (pode ser um arquivo .COM e/ou .EXE). Se for encontrado um, ele será aberto e em seguida o vírus irá verificar se este arquivo já está contaminado (geralmente verificando se ele já contém uma "marcação" própria do vírus). Se já estiver, procura o próximo arquivo (até todos os arquivos do diretório estarem infectados). Se não, reconstrói o cabeçalho do arquivo hospedeiro (que foi alterado para primeiro executar o vírus), e então altera o programa encontrado, alterando seu cabeçalho e fazendo uma cópia do vírus no final do mesmo (há virus que se copiam no início do arquivo, danificando-o permanentemente). Então, fecha o arquivo e direciona a execução para o início do programa hospedeiro. É por isso que os vírus muitas vezes passam despercebidos: todo este processo pode durar apenas 1 segundo! A "alteração de cabeçalho" nada mais é do que incluir uma instrução de desvio de execução do programa para o vírus, que se encontra no final do arquivo.

QUEM FAZ OS VÍRUS? O QUE FAZEM?

Não há quem fique infectado e não tenha vontade de acabar com quem escreveu o vírus que o infectou. Alguns acham que os criadores de vírus são delinqüentes; outros, inconseqüentes que não têm nada o que fazer. Verdade ou não, os "Vx" (criadores de vírus, como são às vezes chamados) consideram-se pessoas normais e, além disso, a criação de vírus, uma arte. Um vírus, embora pequeno em relação aos programas comuns, requer muito conhecimento de Assembly e "macetes" do hardware, além de um domínio sobre muitas interrupções, programação de TSRs (programas residentes) e muita imaginação. Cada autor possui um "apelido" que o identifica. Por exemplo, não estranhe se um dia encontrar algum vírus que diga que seu autor é o "Dark Angel", "Memory Lapse", "Metabolis", "Qark", "Demogorgon", "Geoff Heap", "Stormbringer" ou "Hellraiser", entre muitos outros. Raramente os autores colocam seus nomes reais nos vírus.

Muitos autores reúnem-se em grupos de criadores de vírus. Eles estão sempre inventando ou aperfeiçoando técnicas de contaminação, encriptação ou efeitos diversos que os vírus possam causar. É por isso que existe uma variedade tão grande deles, embora normalmente só tenhamos contato com pouco menos de 10. Hoje em dia, contando todas as variações (modificações feitas em vírus já existentes), conta-se o número de vírus por perto de 5.000! Existem vários grupos espalhados pelo mundo todo, como "Phalcon/Skism" (onde "Skism" significa Smart Kids Into Sick Methods), "YAM" (Youngsters Against McAfee), "NuKE" e outros. As figuras 2 a 5 são um exemplo de alguns deles. Geralmente os grupos produzem uma revista periódica com técnicas de programação, artigos, comentários, fontes de vírus e muitas outras informações. Uma das revistas mais conhecidas (e de maior duração) é a 40Hex, editada pelo grupo Phalcon/Skism, nos E.U.A. Há também a VLAD, editada pelo Metabolis e membros (australiana), a NuKE, que não é somente de vírus (canadense), VLAB e outras.

Para eles, um vírus é como um programa qualquer. Costumam dizer que não há nada de errado em fazer um; o erro está em quem o distribui (o que muitos garantem não fazer). Não há nada que os impeça de criar novos vírus. Argumentam, por exemplo, que nenhum fabricante de armas é punido ou culpado pelo que fazem com as armas fabricadas por eles. Assim como eles não podem ser responsáveis pelo que as outras pessoas fazem com seus vírus. É certo, claro, que nem todos criadores de vírus pensam assim. Alguns fazem e espalham suas criações, geralmente com o propósito de atingir uma determinada pessoa, mas acabam contaminando muito mais gente.

OS "KITS" PARA CRIAÇÃO DE VÍRUS

Um verdadeiro boom de novos vírus ocorreu após os primeiros kits para criação de vírus. Estes kits permitem que qualquer pessoa, mesmo sem nenhum conhecimento de programação, faça seu próprio vírus. Eles possuem rotinas prontas e oferecem algumas opções como o que mostrar na tela, data e/ou hora da ativação, efeito, etc. Milhares de variações foram criadas a partir de então. O primeiro kit que se tem notícia foi o GENVIR, francês, baseado em menus, que não era totalmente funcional. Depois surgiu o VCS (Virus Construction Set), alemão, que produzia somente um tipo de vírus. A única opção do usuário era mudar a mensagem que se mostrava no monitor. Estes programas pertencem à primeira geração: produziam somente o vírus já compilado, sem fontes. Surgiu então o VCL (Virus Construction Laboratory), o primeiro kit realmente funcional, e o primeiro pertencente à segunda geração. É guiado por menus e produz o código fonte, possibilitando o usuário a alterar qualquer parte do vírus antes de compilá-lo. Logo após surgiu o PS-MPC (Phalcon/Skism Mass-Produced Code generator), desenvolvido em linguagem C. Os fontes do programa também foram divulgados, o que abriu as portas para o aperfeiçoamento por parte de outras pessoas. O PS-MPC produzia um código fonte mais compacto e com melhores comentários que o VCL. O IVP (Instant Virus Production kit, dizem que é uma adaptação em linguagem Pascal do PS-MPC), criado pelo grupo YAM, adicionou algumas opções extras, como encriptação, contaminação do COMMAND.COM, gerador aleatório de NOPs, etc. O G2, também do Phalcon/Skism, foi uma reescrita do PS-MPC, adicionou características semi-polimórficas aos vírus.

TÉCNICAS

Desde os primeiros e mais simples vírus existentes, criados na década de 60, até os avançados vírus de hoje, muitas técnicas de programação foram aperfeiçoadas de modo a fazer os vírus cada vez mais difíceis de serem detectados, destrutivos ou com extrema facilidade de se proliferar. Hoje em dia, muitas destas técnicas são bem conhecidas da comunidade de vírus (por comunidade de vírus entende-se os criadores de vírus e antivírus, assim como todas as pessoas interessadas no assunto). Algumas das técnicas mais usadas são descritas a seguir.

"Tunneling" é uma técnica usada para que os vírus possam ultrapassar programas residentes e tomar o controle de algumas interrupções diretamente. Deste modo, por exemplo, eles podem monitorar qualquer acesso ao disco (rígido ou disquete), enganando antivírus e demais programas.

"Stealthing" é a denominação de técnicas para que o vírus seja difícil de ser detectado. Por exemplo, muitos vírus não alteram a data e hora do arquivo que contaminaram ou o tamanho deste; ou ainda, detectam a execução de um programa antivírus e imediatamente "escondem-se", eliminando qualquer vestígio de que estão presentes no sistema, voltando à ativa imediatamente após a execução do programa. Podem também eliminar arquivos de assinaturas dos programas, utilizados por diversos antivírus para verificar a integridade dos mesmos (CHKLIST.MS, ANTI-VIR.DAT, etc). O antivírus é então obrigado a gerar uma nova assinatura baseada no CRC ou checksum do arquivo, que já está contaminado.

"Encriptação" é umas das técnicas mais usadas. Geralmente, envolve um laço ("loop") no qual o vírus é encriptado ou desencriptado, toda a vez que é executado. Encriptando o vírus, algumas strings não serão visíveis por um editor de arquivos, por exemplo, além de ocultar o código dos antivírus. O modo mais fácil e comum de se fazer isto é usando um laço com o operador lógico XOR.

"Polimorfismo" é a capacidade do vírus em mudar seu código fazendo com que cada nova geração seja funcionalmente igual porém fisicamente diferente, ou seja, a cada contaminação o vírus irá trocar parte do seu código por outro que faça a mesma coisa, porém de modo diferente. Isto torna quase impossível a detecção por assinaturas. A procura heurística pode detectar tal tipo de vírus polimórfico com uma boa margem de segurança. O polimorfismo pode ser incorporado em qualquer vírus pelos vários algoritmos já desenvolvidos e disponíveis, que nada mais são do que rotinas prontas facilmente adaptáveis ao código de um vírus. Existem várias delas, que ainda adicionam encriptação, algumas mais complexas que outras, por exemplo: MtE (Mutant Engine), DAME (Dark Angel Multiple Encryptor), TPE (TridenT Polymorphic Engine), SMEG (Simulated Metamorphic Encryption Generator), NED e outras.

Os vírus podem incorporar ou não algumas destas técnicas; os mais complexos utilizam-se de todas, e, com uma boa imaginação do autor, podem se tornar indetectáveis por um bom tempo.

CLASSIFICAÇÃO DOS VÍRUS

Quando o assunto "vírus" foi ficando cada vez mais freqüente, os vírus tornando-se mais comuns e mais e mais antivírus foram colocados à disposição, surgiu um problema: a nomenclatura.

No início, cada vírus que surgia e fosse considerado "desconhecido" recebia um nome geralmente devido a alguma mensagem que mostrava na tela, ou a algum texto que pudesse ser lido através de um editor de arquivos (como XTGold, HIEW, etc). Assim, não foi nenhuma surpresa, após algum tempo, encontrar diversas denominações diferentes para o mesmo vírus. E mais: muitas pessoas, tendo posse de um vírus, simplesmente alteravam (e ainda acontece muito isso) desde uma simples string contida no vírus até algumas rotinas do mesmo, mas mantendo o mesmo "esqueleto" (organização das rotinas). Deste modo, criavam as chamadas "variações". Se este vírus, por exemplo, chegasse à outra pessoa, provavelmente receberia um nome diferente. Analisando cada variação, foi possível montar várias "famílias" de vírus, cada uma constituída de um vírus-origem e suas variantes.

Percebeu-se, então, a necessidade de uma padronização na nomenclatura dos vírus. Foram estabelecidas regras para que os vírus pudessem ser corretamente nomeados. Ainda assim, muitos vírus possuem "apelidos" ("aliases"), pelos quais também podem ser reconhecidos. Por exemplo, o conhecido vírus "Athens" também é chamado de "Trojector".

Em novembro de 1991, o NCSA (National Computer Security Association), nos E.U.A., organizou uma conferência na qual foi discutido este assunto. Participaram vários produtores de antivírus e estudiosos, entre eles Fridrik Skulason (autor do "F-PROT"), Vesselin Bontchev (famoso pesquisador de vírus) e Alan Solomon (autor do "Dr. Solomon’s Anti-Virus Tool Kit"). Foi então definida uma regra geral para a nomenclatura dos vírus:

Todo nome completo de um vírus contém 4 partes, separadas por um ponto ("."), com o seguinte formato:

Nome_Família.Nome_Grupo.Nome_Maior_Variante.Nome_Menor_Variante

Por exemplo: Vienna.648.Reboot.A, Leprosy.Skism.1818, Leprosy.Surfer, Michelangelo.G, Ping-Pong.Standard.C, Pinky, etc. Note que pelo menos uma parte deve estar especificada. Note também que, com exceção do campo "Nome_Família", todos os outros podem ser tanto numéricos (indicando o seu tamanho) como alfanuméricos. Caso um vírus ainda não tenha sido enquadrado em nenhuma família, receberá uma denominação temporária começando com o caracter "_", seguido do tamanho do mesmo e possíveis variantes. Exemplos: _172, _205.198, _205.205, _500-2, etc.

A partir de então, grande parte dos desenvolvedores de antivírus adotaram esta convenção, reduzindo drasticamente o número de vírus com diversas denominações.

LEIS

Muitos países perceberam o perigo real que os vírus oferecem e criaram leis específicas para este problema. Na Alemanha, uma lei diz que "qualquer pessoa que intencionalmente ou ilegalmente faça disponível ou distribua qualquer informação (dados) que tenha o propósito de danificar por replicação do mesmo em um sistema automatizado deverá ser responsabilizado em uma pena que não exceda quatro anos ou uma multa de 100.000 marcos".

Em dezembro de 1993, a Itália também aprovou uma lei sobre o mesmo assunto. Diz ela que "qualquer um que distribua, transmita ou envie um programa de computador, seja escrito por este ou por outra pessoa, com o objetivo ou tendo o efeito de danificar um computador ou sistema de telecomunicação, os programas ou dados contidos ou pertencentes a estes, ou interrompendo totalmente ou em parte ou desfazendo sua operação será punido com a pena de até dois anos e uma multa de até 20.000.000 liras italianas". A Suíça aprovou, à mesma época, uma lei nos mesmos moldes, porém mais rigorosa.

No Brasil ainda não temos alguma lei específica para o assunto. Recentemente, o Serpro (Serviço Federal de Processamento de Dados) distribuiu cerca de 16.000 disquetes para recadastramento dos funcionários públicos, dos quais aproximadamente 10% estavam infectados com o vírus "Leandro & Kelly". O Serpro havia verificado todos os disquetes, mas com uma versão antiga do antivírus SCAN, que não reconhecia este vírus. Sabemos que os vírus não surgem do nada. A pergunta é: como os disquetes foram contaminados?

Com os recentes casos de contaminação no país por novas variantes de vírus, contaminando não só usuários comuns como também departamentos do governo, esperamos que este se conscientize e siga o exemplo de outros países do primeiro mundo, criando uma lei sobre o assunto.

OS VÍRUS E OS DIFERENTES SISTEMAS OPERACIONAIS

Nenhum sistema está livre dos vírus.

Muitas pessoas não acreditam nesta regra. É claro que um sistema mais antigo, como o DOS, é vítima da maioria quase absoluta dos vírus - principalmente porque é um sistema bem conhecido, difundido e documentado. O OS/2 tem a fama de não poder ser contaminado - o que não é verdade. A partir do momento que se saiba como um sistema funciona, é possível fazer um vírus para ele. O OS/2, assim como o Windows, possui vírus específicos - e são tão poucos que você, pelo menos por enquanto, dificilmente terá contato com um.

A diferença está no fato de que o OS/2 é realmente um sistema operacional completo, rodando em modo protegido. Nenhum vírus "normal" (para DOS) irá infectá-lo; porém as sessões de DOS abertas e o WIN-OS/2 poderão ser infectadas normalmente. O Windows, até a versão 3.11, não é na realidade um sistema operacional, tendo o mesmo perigo que o DOS. O Windows 95, neste caso, deverá ter as mesmas características que o OS/2. Portanto, pense um pouco na hora de mudar de sistema operacional só pela segurança que este possa oferecer.

Não só existem vírus para o PC como também para outras plataformas, como o Amiga, Macintosh e até mesmo o MSX. Obviamente, um vírus para Amiga só funcionará em computadores Amiga. Para estes sistemas existem antivírus específicos, muitos produzidos também por desenvolvedores para a linha PC.

OS ANTIVÍRUS

Os antivírus são programas que procuram por vírus em programas, boots de disquete, MBRs (Master Boot Record) e na memória. Por programas podemos entender qualquer arquivo. Existem vírus que até mesmo contaminam arquivos de dados, mesmo que não se utilize disso depois. Arquivos com extensão .EXE e .COM (ou seja, executáveis) são os alvos principais; mas também .SYS (carregados durante o boot pelo CONFIG.SYS) podem ser contaminados. Ou seja, nenhum arquivo está livre da contaminação.

Foram muitos os antivírus desenvolvidos ao longo dos anos. Cada vez mais foram sendo aperfeiçoados, à medida que surgiam vírus cada vez mais "espertos", capazes de se ocultarem no sistema e de mudar seu código em cada contaminação. Técnicas de detecção dos vírus evoluíram a um ponto em que não é mais necessário (embora seja mais seguro) que os antivírus sequer tenham informações sobre o vírus atuante. Basicamente, um vírus pode ser detectado de duas maneiras: por uma string, ou seja, uma seqüência de bytes que seja própria do vírus (e normalmente somente dele), que deverá estar em cada arquivo infectado; ou pelo método da procura heurística, um tipo muito complexo de identificação de vírus em geral, que envolve emulação do código do vírus. A procura heurística baseia-se no fato de que os vírus possuem características muito próprias. Ao contaminar um programa, o vírus faz uma cópia de si, geralmente no final do mesmo. Depois, desvia o endereço de execução para o seu código. Dessa forma, quando o programa for executado, irá executar primeiro o vírus, que, depois de executar suas funções (contaminação de outros arquivos, indicação de que está ativo, ou qualquer coisa para que tenha sido programado), continua a execução normal do programa, passando-se, assim, incógnito. É isto, além de outras funções, que a procura heurística tenta detectar.

Alguns antivírus possibilitam que seja adicionado aos arquivos executáveis um código para auto-validação do programa ("self integrity check"). O funcionamento é quase como um vírus: quando o programa é executado, este código, adicionado ao final do mesmo, verifica se o arquivo mantém o CRC ou checksum original (dependendo do programa que o adicionou). Caso o programa tenha sido contaminado, estes códigos são alterados; o usuário então é advertido e questionado para a ação a ser tomada, que geralmente é parar a execução, continuar ou assumir os novos códigos (nem todos os antivírus adicionam estas possibilidades). Mas lembre-se que o seu sistema já está contaminado! Isto serve apenas como um alerta. Se o seu antivírus não dispuser da auto-validação, existem programas específicos para isso, como o "Integrity Master". Um grupo de vírus desenvolveu uma técnica para auto-descontaminação de programas que sejam infectados, bastante eficaz, mas que não deve ser tomada como única opção.

A escolha do antivírus a ser usado é um ponto fundamental se você quiser se defender bem dos vírus. Existem bons pacotes de antivírus disponíveis gratuitamente em versão shareware (ou seja, você experimenta o programa e depois paga se quiser) em todos os BBSs. Geralmente, costumam ser completamente funcionais, sendo somente necessário o registro para o uso comercial ou governamental.

F-PROT (FRISK SOFTWARE)

O F-PROT é um dos mais completos pacotes de antivírus no mercado. É um dos mais rápidos; possui procura heurística de alto nível, onde raramente apresenta alarmes falsos, ou seja, acusa a suspeita de um arquivo estar contaminado por um vírus conhecido ou desconhecido quando na realidade ele não está. Possui um extenso banco de dados com informações sobre mais de 900 vírus, além de identificar mais de 4.500 vírus e também programas "jokes" (programas que imitam um vírus) e reconhecendo programas que tenham sido alterados por outros antivírus. O pacote vem com um antivírus residente, o VIRSTOP, que verifica cada boot de disquete que é inserido no computador, assim como qualquer programa que for executado. Se estiver contaminado, o programa avisa e interrompe a execução. O banco de assinaturas do F-PROT (usado para a identificação dos vírus) é atualizado bimestralmente. A versão "Professional" (recebida quando se registra o produto) inclui uma versão para o Windows.

THUNDERBYTE ANTI-VIRUS (THUNDERBYTE B.V.)

O TBAV é um super-pacote com diversos utilitários para proteção contra os vírus. Assim como o F-PROT, possui procura heurística avançada; porém, dependendo do nível, poderá gerar muitos alarmes falsos. O TBAV é o único antivírus que só utiliza a procura heurística, por considerar que ela é essencial; assim como é o único a desinfectar arquivos infectados com vírus desconhecidos, através da emulação do código do vírus. O pacote inclui um poderoso conjunto de programas residentes que podem monitorar acessos ao disco e à memória, tudo de acordo com a preferência do usuário (pode ocupar uma quantidade considerável de memória convencional). Além disso, possui uma base de dados sobre diversos vírus (somente nas versões registradas), porém não tão bem detalhada como o do F-PROT. O TBAV também está disponível em versão para Windows. Versões totalmente em português são facilmente encontradas nos BBSs.

SCAN (MCAFEE ASSOCIATES)

O antivírus da McAfee é composto por três pacotes, o SCAN, o CLEAN e o VSHIELD. O SCAN detecta os vírus, o CLEAN os retira e o VSHIELD é um antivírus residente. Ironicamente, este conjunto é um dos mais conhecidos e utilizados, embora tenha um desempenho bastante inferior ao F-PROT e ao TBAV. Acompanha o pacote o VALIDATE, um programa que calcula o CRC de qualquer arquivo. Se um arquivo for contaminado, o seu CRC também mudará - o que pode ser constatado com este programa (foi feito principalmente para distribuição de programas através de BBSs e redes afins). A nova versão do SCAN é bem mais rápida e eficaz do que as anteriores. O SCAN traz ainda uma lista de vírus que detecta, somente indicando o meio pelo qual o vírus contamina o sistema. Possui uma procura heurística bastante rudimentar, muito inferior aos dois outros pacotes acima. Também em versão para Windows.

Uma história interessante é a de como o F-PROT, de uma hora para outra, passou a identificar quase o dobro de vírus que identificava. Um integrante de um grupo de vírus desenvolveu um programa capaz de desencriptar a base de dados do SCAN (que contém strings de identificação dos vírus), dessa forma liberando informações sobre milhares de vírus. Misteriosamente, a versão do F-PROT seguinte à divulgação das strings incorporou milhares de vírus que não identificava, inclusive classificando alguns como "unknown" (desconhecidos). Intrigado, o autor do programa resolveu conversar com o autor do F-PROT, e este último confessou que conseguiu as novas strings com o programa que esse havia feito. O caso gerou polêmica sobre a validade ou não de direitos sobre as strings de identificação dos vírus. Mais tarde, foi desenvolvido um outro programa capaz de desencriptar a base de dados do F-PROT.

OUTROS ANTIVÍRUS

Os três antivírus descritos acima são os mais usados em sistemas de BBS e por pessoas que os usam. Existem muitos outros antivírus, alguns de qualidade equiparável aos três e outros com qualidade inferior. Alguns dos mais conhecidos são o "Norton Anti-Virus" (NAV), "Microsoft Anti-Virus" (MSAV), "Central Point Anti-Virus" (CPAV), "InocuLan" (para redes), "Dr. Solomon’s Anti-Virus Tool Kit", "IBM Anti-Virus", "Virus Buster", "VirexPC", "Vi-Spy" e mais recentemente o "Invircible". A Microsoft comprou os direitos do CPAV e passou a incorporá-lo no MS-DOS a partir da versão 6.0 com o nome de Microsoft Anti-Virus, sem grandes alterações, incluindo uma versão para o Windows.

Embora você possa utilizar qualquer um dos antivírus listados acima, os três analisados são mais do que suficiente para manter o seu sistema livre de qualquer infecção.

O PROBLEMA COM O TBAV

Para poder desinfectar arquivos contaminados até mesmo com vírus desconhecidos, o TbScan (programa para detecção do pacote TBAV) utiliza técnicas de emulação do código do programa sendo analisado, o que é um tanto perigoso. O TbClean (o programa que desinfecta) utiliza as mesmas técnicas, com perigo ainda maior. Por que o perigo?

Não demorou muito, assim que a versão do TBAV com esta técnica foi lançada, para que os seus detalhes fossem conhecidos pelos autores de vírus. O TbClean utiliza-se de vários truques para a análise do vírus. O código do mesmo é virtualmente executado, depois de tomadas diversas precauções para o vírus não contaminar o sistema, como: ocupação total da memória disponível (pois, se o vírus "escapar", não terá como se instalar residente), verificação se está sendo disassemblado (tendo seu código examinado), duas cópias da tabela de vetores do DOS, não execução de interrupções e outras poucas proteções. A seguir, emulando o código do vírus, ele tenta resgatar o endereço original de execução do arquivo infectado. Todas estes cuidados seriam suficientes para a correta desinfecção de programas com os vírus "normais", mas o problema é que foram desenvolvidos vírus capazes de burlarem o esquema de proteção do TbClean. Felizmente, os vírus com esta capacidade não são muito comuns e você dificilmente terá contato com eles. O Lemming é um vírus de 2.160 bytes, que se espalha pelo sistema com muita rapidez sem ser notado. Ele espera pela execução do TbScan e outros antivírus. Utiliza uma particularidade do TbScan para enganá-lo e não ser notado. O TbScan nunca acusará sua presença! O Varicella II é outro vírus com a capacidade de enganar o TbClean, infectando todo o sistema se um arquivo contaminado for examinado por ele (mesmo que seu sistema ainda não esteja). Um vírus mais comum também é capaz de burlar o TbClean: é o Natas, mais destrutivo, que formata o disco rígido e que contaminou muita gente há pouco tempo.

Não se alarme. O TBAV é um excelente antivírus e, como dito acima, há poucas chances de você encontrar um vírus que o engane.

ALGUNS DETALHES NA ESCOLHA DO ANTIVÍRUS E NA SUA UTILIZAÇÃO

- Alguns antivírus oferecem a opção de procura por vírus em todo o disco rígido diariamente, semanalmente ou de acordo com a escolha do usuário. Poupe seu tempo se você sabe que seu sistema não está contaminado. Utilize esta opção somente se você não tem controle absoluto de tudo que é inserido em seu sistema (como em redes de computadores, BBSs, etc);

- Lembre-se que, mesmo que alguns antivírus detectem um programa infectado, nem sempre serão capazes de desinfectá-los. Caso o programa não seja importante, apague-o;

- O melhor meio de se proteger contra os vírus ou contra qualquer problema que possa ocorrer com seu disco rígido é fazendo uma cópia de segurança de cada arquivo que seja importante para você. Todos nós sabemos como hoje em dia custa caro fazer isso. Se você tomar alguns cuidados simples, nunca ficará infectado e poderá evitar ter que fazer isso;

- Examine cada disquete que você inserir no seu micro que não seja seu. Utilize sempre a procura heurística, se o seu antivírus dispuser;

- Mesmo que os BBSs que você freqüenta procurem por vírus em cada arquivo do acervo, faça o mesmo depois de cada download. Muitos SysOps (operadores do sistema) ativam apenas procuras por strings conhecidas, por ser mais rápido (o que pode não acusar alguns vírus novos);

- Se você mantém contato constante com arquivos vindos diretamente do exterior, tenha atenção redobrada;

- Mantenha sempre um disquete de boot com o seu antivírus e o seu sistema operacional, protegido contra gravação. Se o seu sistema for infectado, dê boot com este disquete e elimine o vírus. Isto é necessário pelo fato de que alguns vírus copiam-se no MBR do seu disco rígido, ativando-se toda vez que você inicializa o computador por ele;

- Evite dar boot em seu computador com disquetes. A não ser por alguns programas protegidos, não há realmente nenhuma necessidade de se fazer isso;

- Alguns antivírus costumam dar suporte à qualquer língua. Se você se incomoda com o inglês, procure os arquivos necessários para instalar o português em seu antivírus (podem ser encontrados em BBSs);

- Procure sempre ter a última versão atualizada de seu antivírus!

TROJAN HORSES

Muita gente confunde os "Trojan Horses" (Cavalos de Tróia) com vírus, ou vice-versa. Na verdade, os Trojans são programas que deveriam executar uma função mas executam outra, geralmente destrutiva. Por exemplo, alguém pode fazer um programa e dizer que ele muda as letras do DOS. O programa tanto pode fazer isso como não, mas ao mesmo tempo formata seu disco rígido ou apaga todos os arquivos do diretório. Além disso ele pode ser um "virus dropper", ou seja, pode liberar um vírus em seu sistema. Por isso há a confusão. Existe um programa chamado "Red Alert" que examina um arquivo executável e fornece informações sobre eventuais funções perigosas que o programa possa executar (o que não significa necessariamente que o programa seja um Cavalo de Tróia ou vírus). O programa está disponível em vários BBSs no Brasil.

Outro caso de constante confusão são os simuladores de vírus, como o "Virus Simulator". São programas que simulam o efeito de vários vírus, especialmente os mais conhecidos e os que causam algum efeito visual ou sonoro. São desenvolvidos apenas para entretenimento ou para testes com os antivírus, não causando qualquer dano ao usuário. Estes programas não são nem vírus nem "Cavalos de Tróia", com os quais são confundidos.

OS VÍRUS NO BRASIL

No Brasil, somente os vírus mais velhos e que se espalham facilmente costumam aparecer, principalmente os que contaminam o boot dos disquetes. Esta é a forma de contaminação que mais ajuda a espalhar os vírus. E evitá-la é tão simples como copiar um programa: simplesmente não dê boot no seu micro com disquetes que não foram testados por um bom antivírus!

São comuns vírus como Ping-Pong, Michelangelo, Athens (Trojector), Sexta-Feira 13, Freddy e o Natas. Todos podem ser facilmente eliminados com um bom antivírus. Há poucos meses, o vírus "Leandro & Kelly" (também conhecido como "GVMG"), atacou computadores em quase todo o país. À data da ativação, 21 de outubro, muita gente já sabia que ele iria se manifestar nesse dia, através das redes de mensagens como FidoNet e RBT, acessíveis por BBSs. No Brasil, são poucas as pessoas que fazem vírus, mas no exterior elas existem em grande número. Aqui, este número tende a crescer cada vez mais.

CONCLUSÕES

Espero que este artigo tenha ajudado a você a compreender todos os mitos e realidades sobre os vírus. Eles não são programas que surgem do nada no seu micro, muito menos são tão perigosos como se ouve falar. O principal é saber evitá-los; se não foi possível, não se desespere se o seu sistema estiver infectado. Sei de muitos casos em que as pessoas simplesmente formataram o disco rígido por estarem desesperadas e acharem que o vírus poderia causar dano maior ao micro!

Proteja-se. Afinal, é melhor prevenir do que remediar!


    "Tudo o que você precisa saber sobre os vírus"
    Copyright (C) 1995-2001  Erik Kohler 
    This information is free; you can redistribute it and/or modify it
    under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.
    This work is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    You should have received a copy of the GNU General Public License
    along with this work; if not, write to the Free Software
    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

Texto publicado na revista Micro Sistemas número 149 em Março de 1995.

Copyright (C) 1995-2001 Erik Kohler

[Retorna]

 

1