novembro 04, 2013

[Segurança] 25 anos do Morris Worm

Há 25 anos atrás, mais precisamente no dia 2 de Novembro de 1988, o mundo foi tomado pelo Morris Worm, um tipo de vírus que se espalhou rapidamente por alguns milhares de servidores e representou a primeira grande infestação em massa na história. O "worm", assim batizado por ser um código malicioso que se auto-replicava infectando servidores vulneráveis, foi criado por um estudante de 23 anos de idade na universidade de Cornell, Robert Morris Jr. Ele causou um impacto gigantesco na época, uma época em que a Internet ainda estava nascento e seu acesso ainda era restrito a poucos institutos de pesquisa, órgãos governamentais e universidades americanas.

O jornal The Washington Post escreveu um longo artigo detalhando essa história, que vale a pena ser lido pelos mais entusiastas e curiosos. O mais importante de tudo é que o Morris Worm inaugurou algumas coisas que hoje em dia nos parecem rotineiras:
  • grandes infestações por vírus automatizados, uma vez que esta foi a primeira infestação em larga escala por algum tipo de código malicioso ou ataque - algo que anos mais tarde se tornou assustadoramente comum;
  • a preocupação de responder rapidamente a incidentes de segurança, através de grupos específicos e coordenados, para centralizar as informações e compartilhar as estratégias de proteção. E assim surgiu o CERT/CC (Computer Emergency Response Team) e as centenas de instituições similares que se proliferaram pelo globo nos anos seguintes;
  • a aplicação de leis contra ataques cibernéticos. Robert Morris Jr. inaugurou o "Computer Fraud and Abuse Act", que tinha sido aprovada dois anos antes. Ele foi o primeiro condenado por esta lei e, por isso, cumpriu liberdade condicional por três anos, fez 400 horas de serviço comunitário e teve que pagar uma multa de pouco mais de 10.000 dólares.
Tecnicamente, o Morris Worm é chamado de "verme" ("worm") em vez de vírus, pois há uma pequena diferença: enquanto os vírus usam algum arquivo "hospedeiro" para se propagar e infectar outros equipamentos (como um arquivo infectado do Word ou um executável), os vermes se propagam sozinhos, automaticamente, independente da necessidade de um arquivo infectado ser enviado para a vítima. Eles são auto-contidos, ou seja, o próprio código do verme já contém as funções que definem como ele se espalha e como ele infecta um alvo. Na prática, é uma diferença técnica que não diz muita coisa para o público leigo, por isso muitas vezes preferimos rotular tudo de "vírus" (erroneamente) ou, de uma forma mais correta, é melhor rotular tudo de "código malicioso".


O portal Naked Security publicou um artigo descrevendo o funcionamento do verme, que atacava servidores Unix. Ele usou várias técnicas de ataque para se espalhar de um computador ao outro, técnicas que são utilizadas até hoje, tais como:

  • explorava uma vulnerabilidade de estouro de pilha em um serviço nativo do sistema operacional - no caso, o fingerd;
  • explorava uma opção de debugging desnecessariamente ativada no servidor de e-mail, o sendmail;
  • usava ataque de força bruta, ou seja, acessava o arquivo local de senhas e tentava adivinhar senhas dos usuários usando permutações do login e do nome real do usuário, além de um pequeno dicionário de senhas;
  • se aproveitava de uma facilidade configurada normalmente nos servidores Unix na época, que permitia que usuários não precisassem se autenticar quando faziam o login remoto a partir de um "host confiável" (através do comando rsh, de remote shell).

O worm estava programado para evitar a infecção em uma máquina já invadida, para diminuir o impacto e a chance de detecção, mas uma falha na programação impediu que essa "proteção" funcionasse. Por isso, um servidor infectado acabava tendo várias instâncias do vírus rodando e ficava extremanente lento.

O site NetworkWorld publicou o vídeo de uma reportagem da época sobre o Morris Worm - e é muito interessante ver como eles descriviam o vírus, que incluiram pérolas como "os estudantes estão a salvo, os computadores não".


Hoje o mundo dos códigos maliciosos se sofisticou, e muito. Se nos anos 90 eles eram destinados a pesquisa, diversão ou simplesmente para assustar as pessoas, hoje são direcionados ao crime cibernético e a construção de botnets, que acabam sendo usadas por.... criminosos cibernéticos, em sua grande maioria (há também os hacktivistas, que usam alguma sbotnets para fazer ataques de DDoS). Códigos maliciosos profissionais, desenvolvidos por programadores experts e vendidos no underground para facilitar o crime cibernético são dominantes hoje em dia. Nomes como Zeus, Citatel, SpyEye e Carberp são temidos em todo o mundo (menos no Brasil, pois os nossos ciber criminosos preferem crias seus próprios trojans em vez de comprar kits de outros países).

O worm criado por Morris foi importante na história da Internet e da segurança pois ele serviu como um grande despertador: antes dele, havia muito pouca, ou nenhuma, preocupação com segurança. Após o ataque, em que várias organizações foram afetadas, muitas delas continuaram a se falar para organizar estratégias de defesa e, principalmente, procedimentos de resposta a ataques. Os profissionais da época começaram a se preocupar com tecnologias para detecção de ataques e proteção das redes, e assim nasceu uma nova cultura de segurança corporativa e, entre outras coisas, surgiram os grupos de resposta a incidentes.

No ano passado eu já tinha escrito um pequeno post sobre o aniversário do Morris Worm. Para saber detalhes do worm, recomendo a leitura do paper original do Eugene Spafford, um dos principais responsáveis por entender o worm na época e que hoje é um respeitadíssimo especialista na área de segurança.

Nenhum comentário:

Creative Commons License
Disclaimer: The views expressed on this blog are my own and do not necessarily reflect the views of my employee.