domingo, 19 de junho de 2011

‘Genética’ dos vírus indica comportamento das pragas virtuais

Se você desconhece o nome das pragas de computador, possivelmente não saberá de imediato como reagir quando seu antivírus alertar sobre o JS/Downloader.gen, o W32.Netsky.a@mm ou o Backdoor.HackDefender. No entanto, a existência de alguns padrões permite que, apenas pelo nome, o usuário tenha uma boa ideia do comportamento desses códigos maliciosos. A coluna de hoje decifra a “genética” dos nomes de vírus, para facilitar a identificação dessas pragas.

Decifrando os termos em nomes de pragas
Cada antivírus usa termos diferentes em seus nomes. A barra na tabela abaixo separa alguns termos iguais que são escritos de forma diferente. Esses termos podem ser prefixos (vir antes da família) ou sufixos (depois). Com base na tabela abaixo, por exemplo, dá para saber que o W32.HLLW.Lovgate@mm é uma praga da família Lovgate e que ela foi programada em uma linguagem de alto nível para se espalhar pela rede e por e-mail. Confira:
@m Envia e-mails para se espalhar. Exemplo: W32/Ska@M
@mm/Email-Worm/I-Worm Envia grande quantidade de e-mails para se espalhar. Exemplo: Email-Worm.Win32.Sober.c
! e outros sufixos não-variante Utilizado para dar informações adicionais. Por exemplo, um “Algumvírus.dam” significa um arquivo danificado, enquanto um “Algumvírus!dll” se refere a um componente DLL do vírus especificado na família. Exemplo: W32/Pinkslipbot!dll
Backdoor Permite o controle do PC pelo criador da praga. Exemplo: Backdoor.SubSeven
Downloader/Dldr Instala arquivos no PC, baixados da internet. Exemplo: Downloader.Trojan
Dropper/Drop/Dr Instala arquivos no PC sem precisar baixar nada. Exemplo: Trojan-Dropper.Win32.Yabinder.a
Exploit Código usado somente para explorar falha de segurança (raramente usado para vírus que exploram falhas). Exemplo: Exploit-MS04-028
Gen Vírus genérico, sem variante. Quando há muitas variantes de uma praga, ou quando não vale a pena catalogá-la sob uma família nova, usa-se o “gen”. Exemplo: Win32:trojan-gen
HLLC/HLLW/HLLP/HLLO (Vírus de Companhia, Rede, Parasita, Destruidor de arquivos, respectivamente) Estes termos têm caído em desuso. Significam que o vírus foi programado em uma linguagem de alto nível. Fazia sentido antigamente, mas hoje todos os vírus são feitos em alto nível. O mais relevante é o HLLO, que significa um vírus que destrói arquivos de maneira irreparável. Exemplo: W32.HLLO.Videoinf
Joke Um programa não malicioso, mas que prega uma “peça”. Exemplo: Joke.Win32.VB.h
JS/HTML/VBS É um código em formato script (texto – o normal é binário, código) que faz uso da referida linguagem (Javascript, HTML, VBScript…). Exemplo: VBS.LoveLetter
M (Macro)
MS/O (Office)
W (Word)/A (Access)/X (Excel)
São vírus de macro do Microsoft Office. Raríssimos hoje. São combinações dessas letras que dão o significado. Por exemplo, OM é “Office Macro”. A2KM é “Macro do Access 2000”. X97M é “Macro do Excel 97” e assim por diante. Exemplo: W97M.Melissa.A
PUP/PUA Programa Potencialmente Indesejado (acrônimo do inglês: potentially unwanted program/application). Exemplo: Generic PUP.x!06F91978
PE Usado por poucas companhias antivírus. PE significa “Portable Executable”, ou seja, programas. Significa que o vírus infecta programas ou é um programa. Exemplos: NewHeur_PE; PE_WINDANG
Proxy Abre um proxy no computador, normalmente de e-mails. Com isso, o criador da praga pode enviar e-mails ou navegador na web pelos computadores infectados. Exemplo: Trojan-Proxy.Win32.Mitglieder.a
PWS/PWSteal/Infostealer Rouba senhas ou outras informações valiosas. Exemplo: PWS-Mmorpg.gen
Spy Faz algum tipo de espionagem no computador. Exemplo: Trojan-Spy.Win32.Banker
Trojan/Troj Praga que, de modo geral, não se espalha sozinha e, por isso, é “semeada” por seu criador. Exemplo: Troj/Ransom-A
W32/Win32 É uma praga que ataca sistemas Windows. Praticamente irrelevante hoje, mas antigamente se usava muito para diferenciar dos vírus de DOS. Ainda se usa em alguns casos, especialmente em pragas clássicas. Exemplo: W32.Blaster.Worm
I-Worm/Worm/P2P Um vírus que ataca pela rede. No caso de P2P, redes de trocas de arquivo. I-Worm aparece aqui novamente, porque algumas empresas usam tanto para um quanto para outro. Exemplo: P2P-Worm.Win32.Tibick
Às vezes esses termos fazem parte da própria família do vírus. E em alguns casos, a família do vírus poderá dar a informação que falta. Por exemplo: não é difícil deduzir que tipo de informação o “Infostealer.Bancos” rouba, ainda mais com o nome em português.
O caos da nomenclatura
As empresas antivírus não conseguem padronizar o nome dos vírus. Os motivos não são claros, mas muitos especialistas afirmam que o problema é a quantidade de pragas – por serem muitas, é difícil usar o mesmo nome que todas as demais empresas. Um texto sobre nomenclatura da WildList afirma que é “impossível” fazer com que todos os produtos antivírus usem o mesmo nome para as mesmas pragas.
Em 1991, foi criada a Nova Convenção de Nomenclatura de Vírus (New Virus Naming Convention, NVNC). Ela não busca padronizar os nomes, mas sim as informações que deveriam estar nele e como elas seriam dispostas. Além de ser antiga e não contemplar as técnicas usadas por pragas mais novas, ela não é seguida à risca e, por isso, existem diferenças não apenas nomes, mas em como eles são escritos.

Site do CME agora fica na web apenas como arquivo, porque o projeto foi abandonado. (Foto: Reprodução )

Um projeto chamado Common Malware Enumeration (CME) – Numeração de malware Comum – foi iniciado em 2004 para criar um “identificador único” que todos os antivírus pudessem usar, mas apenas quando necessário, em infecções de escala mundial. O jornalista Robert Lemos, do site SecurityFocus, da Symantec, observou em 2006 que “as companhias antivírus parecem menos propensas a cooperar quanto mais atenção da mídia um vírus ganha”.
Como o CME buscava apenas catalogar pragas de alta relevância e grande parte dos especialistas acredita que a era dos “grandes vírus” acabou, decidiu-se dar fim ao projeto em janeiro de 2007. Porém, houveram muitas infecções em larga escala desde 2007. É fácil citar o Conficker, que recebeu até cobertura de emissoras de televisão em abril deste ano.
Não é nada intuitivo o fato de as pragas Conficker, Downadup e Kido serem as mesmas. Mas as empresas antivírus deram um “jeitinho”: as páginas informativas a respeito das pragas trazem também os nomes usados pelos concorrentes.
Resumindo, se você quiser saber os outros nomes de um determinado vírus, terá de buscar isso na internet para descobrir os “aliases” do código malicioso. Não tem outro jeito, e o consenso entre as companhias antivírus parece ser de que padronizar os nomes é impossível.
Variantes e Famílias

Vírus cujo código parece ter uma fonte comum são colocados na mesma família como variações. São as ‘variantes’. (Foto: Reprodução)

A família é o nome do vírus. No caso do Conficker, temos um vírus da família… Conficker. Para se referir a um vírus específico, é preciso especificar a variante que, hoje em dia, é determinada por uma letra. Conficker.C, por exemplo, é a terceira variante da família Conficker. Depois do “Z” vem o AA (27ª variante), AB, AC… AZ, BA, BB… ZZ, AAA e assim por diante.
Devido ao problema explicado acima, existem casos em que a variante (“C”, no nosso exemplo) de uma empresa antivírus não seja a mesma da outra.
Antigamente, e ainda em alguns casos mais atuais, usa-se como variante o número de bytes (tamanho) do vírus. Mas isso é raro, porque a já mencionada NVNC determinou esse método das letras.
Agora que você já sabe tudo isso, o que é o “JS/Downloader.gen”? Como se espalha o W32.Netsky@mm? Fácil saber, não é? Existem ainda outros sufixos e prefixos além dos citados, mas muitas vezes o significado explica-se por si mesmo. Veja o caso de “Linux.RST”. o que se sabe é apenas que trata-se de um vírus que ataca o Linux. Ou então um “Riskware”, que é apenas “software de risco”.
É importante ressaltar que nem sempre todos os nomes são usados no caso de um vírus que faz mais de uma coisa. Por exemplo, uma praga que rouba dados e permite o acesso remoto do PC dificilmente vai receber o nome de “Backdoor.PWS.[Nome]”. Você consegue geralmente descobrir o comportamento principal da praga, conforme julgado pela companhia antivírus, mas não todos os detalhes!
Nomes curiosos de famílias
A convenção de 1991 (NVNC) impõe uma série de restrições no que pode ser usado como nome do vírus (“família”). Com isso, pesquisadores antivírus precisam usar um pouco a criatividade para nomear as pragas. Abaixo segue a origem de alguns nomes de pragas conhecidas:
1) Conficker: o nome foi obtido com o reordenamento de algumas letras de “Traffic Converter”, segundo o especialista da Microsoft Joshua Phillips. O site trafficconverter.biz era usado pela praga para baixar atualizações.
2) Netsky: o nome é uma inversão de “skynet”. O termo, retirado do filme “Exterminador do Futuro”, estava no código do vírus. A praga dizia-se um “Skynet Antivírus”. De fato, o código malicioso eliminava pragas “concorrentes” da época, como o MyDoom e o Beagle.
3) Chernobyl: deriva da data de ativação, 26 de abril, a mesma do acidente da usina nuclear de mesmo nome. O vírus também ficou conhecido como CIH devido às iniciais do seu criador (Chen Ing Hau) e Spacefiller, por causa da técnica de infecção (ele preenchia os espaços em branco dentro de um arquivo – por isso space (espaço) filler (“enchedor”).
4) Nimda: a palavra “admin”, de “administrador”, ao contrário.
5) Blaster: este vírus teve seu nome derivado do arquivo malicioso que instalava no PC, o “msblast.exe”. Algumas o empresas o chamavam também de MSBlast.
6) Sasser: origina-se no componente do Windows que o vírus explorava para se espalhar, o “lsass.exe”. Tirando-se o “l” do arquivo e colocando-se o “er” – um sufixo comum no inglês –, têm-se “sasser”.
7) HackDefender: a indústria de antivírus tenta evitar o uso do nome escolhido pelo criador da praga, para não legitimá-lo. Como o nome original era “Hacker Defender”, retirou-se apenas duas letras. O Hacker Defender é um poderoso cavalo de troia, que “protege” outras pragas contra detecção e remoção.
Nem sempre as empresas informam diretamente o motivo por trás do nome, mas é comum que palavras tenham suas letras invertidas, cortadas ou rearranjadas de alguma forma. Se a descrição do vírus mencionar a presença de algum termo que se assemelhe com o nome, provavelmente está ali a sua origem.

0 comentários:

Postar um comentário