Skip to content

A História do Worm

Material de apoio para a aula sobre worms (vermes de computador), com foco no Morris Worm de 1988.

1. O que é um worm?

Um worm (verme de computador) é um programa malicioso autônomo que se replica para se espalhar de um computador para outro. Diferente de um vírus, ele não precisa de um programa hospedeiro: roda sozinho e usa a rede para se propagar, explorando falhas de segurança nas máquinas-alvo.

O ciclo é sempre o mesmo:

  1. O worm infecta uma máquina explorando uma vulnerabilidade.
  2. Usa essa máquina como base para procurar e infectar outras.
  3. As novas máquinas infectadas repetem o processo.

Por se reproduzir de forma recursiva, o worm cresce de maneira exponencial, controlando muitos computadores em pouco tempo. Mesmo quando não tem uma carga maliciosa (payload), ele causa dano, nem que seja apenas pelo consumo de banda e tráfego de rede.

Worm vs. vírus — a diferença central

Característica Vírus Worm
Precisa de hospedeiro? Sim (insere código em outro programa) Não (programa independente)
Como se executa Quando o programa hospedeiro roda Sozinho, ativamente
Propagação Geralmente depende do usuário Automática pela rede
Dano típico Corrompe/modifica arquivos Consome recursos e propaga; pode ter payload

2. As origens do conceito

A ideia de um programa que se autorreplica pela rede é mais antiga do que se imagina:

  • 1971 — Creeper. Considerado o primeiro worm. Era uma versão autorreplicante criada por Ray Tomlinson e Bob Thomas na BBN para se copiar pela ARPANET. Tomlinson também escreveu o Reaper, o primeiro antivírus, justamente para apagar o Creeper.
  • 1975 — origem do termo. A palavra "worm" nesse sentido apareceu pela primeira vez no romance de ficção científica The Shockwave Rider, de John Brunner, no qual um personagem solta um programa de coleta de dados que se espalha pela rede e sabota qualquer tentativa de monitorá-lo.
  • 1979 — Xerox PARC. Pesquisadores estudavam programas "worm" para computação distribuída — ou seja, a tecnologia nasceu também com intenções legítimas. John Shoch e Jon Hupp os usaram para testar princípios de rede Ethernet em computadores Xerox Alto.

3. O Morris Worm (novembro de 1988)

O Morris Worm foi um dos primeiros worms distribuídos pela Internet e o primeiro a ganhar grande atenção da mídia. Embora antigo, as técnicas que ele usou continuam sendo a base de worms modernos — incluindo o ransomware WannaCry (2017).

Quem foi o autor

Em 2 de novembro de 1988, Robert Tappan Morris, então estudante de pós-graduação em ciência da computação na Universidade Cornell, liberou o worm. Ele acabou se tornando a primeira pessoa julgada e condenada sob a Computer Fraud and Abuse Act de 1986.

As duas partes de todo worm

O Morris Worm ilustra a anatomia clássica de um worm, dividida em duas partes:

  1. Ataque (attack) — explora uma ou mais vulnerabilidades para conseguir entrar em outro computador.
  2. Autoduplicação (self-duplication) — envia uma cópia de si mesmo para a máquina comprometida e relança o ataque a partir dela.

As vulnerabilidades exploradas

O Morris Worm não usava um único truque — ele combinava várias brechas para ganhar acesso aos sistemas:

  • Uma vulnerabilidade de buffer overflow no serviço de rede fingerd.
  • Uma falha no modo debug do programa sendmail do Unix.
  • A confiança transitiva estabelecida entre máquinas pelo remote shell (usuários que confiavam em máquinas remotas).

O bug que virou desastre

Acredita-se que Morris não pretendia causar danos reais às máquinas-alvo. O problema foi um bug no mecanismo de controle de reinfecção.

A lógica era esta: quando um computador é comprometido, uma instância do worm roda como um processo separado. Se a mesma máquina for infectada de novo, uma nova instância começa a rodar. Sem um mecanismo que verifique se a máquina já está infectada, várias cópias do worm passam a rodar simultaneamente, consumindo cada vez mais recursos.

O Morris Worm tinha um mecanismo de verificação — mas ele continha um defeito. O resultado foi, na prática, um ataque de negação de serviço (DoS): as máquinas eram sobrecarregadas até travarem.

O impacto

  • Estima-se que o worm afetou cerca de um décimo de todos os computadores então conectados à Internet.
  • No processo de apelação, a corte estimou o custo de remoção do worm entre US$ 200 e US$ 53.000 por instalação.
  • O incidente levou diretamente à criação do CERT Coordination Center (centro de coordenação de respostas a incidentes de segurança) e da Phage mailing list.

4. A evolução dos worms depois de Morris

O Morris Worm abriu caminho para décadas de worms cada vez mais sofisticados. Alguns marcos importantes:

  • ILOVEYOU (2000) — espalhou-se por e-mail, enganando usuários para que executassem o anexo malicioso (engenharia social).
  • Code Red (2001) — combinado com técnicas de backdoor.
  • Conficker (2008) — atacou o Windows usando três estratégias de propagação (sondagem local, de vizinhança e global); afetou milhões de computadores e foi classificado como uma "epidemia híbrida".
  • Stuxnet — worm altamente direcionado contra sistemas industriais. Espalhava-se por redes locais e pen drives infectados, usou quatro vulnerabilidades zero-day no Windows e atacou controladores lógicos programáveis (PLCs) da Siemens. Atingiu principalmente Irã, Indonésia e Índia.
  • WannaCry (2017) — worm de ransomware que criptografava arquivos das vítimas e exigia resgate.

O conceito de payload

Qualquer código no worm que faça mais do que apenas se propagar é chamado de payload (carga). Payloads maliciosos típicos podem:

  • Apagar arquivos do sistema (ex.: worm ExploreZip).
  • Criptografar arquivos para extorsão (ransomware, como o WannaCry).
  • Roubar dados confidenciais ou senhas (exfiltração).
  • Instalar um backdoor, transformando a máquina em um "zumbi" controlado remotamente. Redes dessas máquinas são chamadas botnets e servem para enviar spam ou realizar ataques DoS.

5. Como se defender de worms

Worms se espalham explorando vulnerabilidades de sistemas operacionais e softwares. As principais defesas:

  • Manter o sistema operacional e os softwares atualizados — fabricantes lançam correções de segurança regularmente (o conceito de Patch Tuesday). Uma máquina atualizada está imune à maioria dos worms.
  • Cuidado com e-mails inesperados — não abrir anexos nem executar arquivos ou links suspeitos.
  • Usar antivírus e antispyware atualizados — as assinaturas precisam ser renovadas com frequência.
  • Usar um firewall.

Técnicas adicionais de mitigação em rede incluem ACLs em roteadores e switches, filtros de pacotes, TCP Wrappers, software EPP/EDR e nullrouting. Worms também podem ser detectados por comportamento — por exemplo, varreduras aleatórias da Internet em busca de hosts vulneráveis.

Atenção a um detalhe importante

mesmo "worms do bem" (anti-worms, como o Welchia, que instalava correções automaticamente) são considerados malware pelos especialistas — porque agem sem o consentimento do dono da máquina, geram tráfego e podem causar efeitos colaterais como reinicializações.

6. Resumo para revisão

  • Worm = programa malicioso autônomo que se replica pela rede; não precisa de hospedeiro.
  • Todo worm tem duas partes: ataque (explora vulnerabilidade) + autoduplicação.
  • Linha do tempo conceitual: Creeper (1971) → termo em The Shockwave Rider (1975) → pesquisa no Xerox PARC (1979).
  • Morris Worm (1988): criado por Robert T. Morris; explorou fingerd, sendmail e remote shell; um bug no controle de reinfecção causou um DoS massivo; afetou ~10% da Internet da época; levou à criação do CERT.
  • As mesmas técnicas seguem vivas em worms modernos (Conficker, Stuxnet, WannaCry).
  • Defesa: atualizar tudo, desconfiar de e-mails, usar antivírus e firewall.

Referências

  • Computer worm — Wikipedia: https://en.wikipedia.org/wiki/Computer_worm
  • Morris Worm Attack Lab (SEED Labs, Wenliang Du, 2021): https://seedsecuritylabs.org/Labs_20.04/Files/Morris_Worm/Morris_Worm.pdf
  • Spafford, Eugene. An analysis of the worm, Purdue University, 1988.