O formato da década
Entre 1999 e 2008 um tipo específico de evento aconteceu repetidamente: um programa autopropagante se espalhava pela internet mais rápido do que as pessoas conseguiam responder, e o mundo descobria o que estava conectado a quê. Lidos em ordem, os sete surtos mais conhecidos mostram duas coisas se movendo ao mesmo tempo. A rota de infecção desce a pilha - de um documento que alguém abre, para um e-mail que alguém abre, para um servidor web em que ninguém tocou, para uma porta de banco de dados, para qualquer máquina Windows alcançável. E a janela entre a correção e o surto fica aberta o tempo todo.
1999: Melissa, e a funcionalidade que era a vulnerabilidade
Em 26 de março de 1999 David L. Smith publicou um documento do Word infectado num grupo da , alegando que continha senhas de sites adultos. Abri-lo fazia o Microsoft Word usar o Outlook para enviar cópias aos primeiros cinquenta endereços do catálogo da vítima, chegando como "mensagem importante" de um colega conhecido. Cinquenta vezes cinquenta vezes cinquenta: perturbou cerca de um milhão de contas e algumas organizações desligaram o e-mail por completo. O Departamento de Justiça estimou o dano acima de 80 milhões de dólares. Smith foi preso em menos de uma semana, declarou-se culpado e foi sentenciado a vinte meses - entre as primeiras pessoas presas por escrever um vírus.
Não havia vulnerabilidade. Macros do Word rodando automaticamente e o Outlook ser roteirizável eram as duas funcionalidades, funcionando como projetadas. É um começo desconfortável para a década: o primeiro surto de massa não explorou nada além do comportamento pretendido de dois produtos, e a correção foi mudar o que os produtos estavam dispostos a fazer.
2000: ILOVEYOU, e a lei que faltava
Em 4 de maio de 2000 um e-mail com o assunto e um anexo chamado LOVE-LETTER-FOR-YOU.txt.vbs chegou a dezenas de milhões de máquinas. O Windows escondia a extensão final, então o arquivo parecia texto e era script. Como o Melissa, se autoenviava; ao contrário dele, sobrescrevia arquivos. As estimativas de dano chegaram aos bilhões.
A parte interessante é o desfecho. Investigadores o rastrearam até Onel de Guzman, estudante de 24 anos em Manila. Todas as acusações foram retiradas, porque as Filipinas não tinham lei contra crime informático - as acusações feitas sob um estatuto de fraude de cartão não se encaixavam, e uma lei de crime informático foi sancionada apenas semanas depois. Em 2020, de Guzman contou a jornalistas que o escrevera para roubar senhas de acesso discado porque não podia pagar pela internet, e não antecipara o que faria. Um surto global, um autor conhecido e nenhum crime previsto: o caso é uma das razões de a legislação sobre crime cibernético existir na forma que hoje tem na maioria dos países.
2001: Code Red e Nimda, e o fim da participação do usuário
O mudou o modelo. Lançado em 13 de julho de 2001, não precisava de usuário algum: mandava uma única requisição HTTP a um servidor web, estourando um buffer numa extensão de indexação do Internet Information Services da Microsoft, e o servidor a executava. Em 19 de julho o número de hosts infectados chegou a 359 mil. Páginas infectadas eram pichadas com "Hacked By Chinese!", e o worm fora programado para lançar um ataque de negação de serviço contra o site da Casa Branca.
Três detalhes do anúncio dos próprios pesquisadores valem ser guardados. A equipe da eEye que o analisou o batizou com o nome do refrigerante que a manteve acordada a noite inteira fazendo isso. O worm checava a existência de um arquivo chamado c:\notworm e, se ele existisse, não se espalhava - um interruptor deixado pelo autor. E o ataque à Casa Branca mirava um endereço IP e não um nome, de modo que o remédio definitivo foi mudar o site para outro endereço. A falha fora publicada pela eEye em 18 de junho e corrigida pela Microsoft no boletim MS01-033 cerca de um mês antes de o worm aparecer.
O veio em 18 de setembro, uma semana depois dos atentados de 11 de setembro, e sua inovação foi a amplitude: espalhava-se por e-mail, por compartilhamentos de rede abertos, infectando páginas web que os visitantes baixavam, varrendo em busca das portas dos fundos deixadas pelo Code Red, e atacando o diretamente. Quem bloqueava uma rota achava as outras abertas.
2003: o Slammer, a coisa mais rápida que já aconteceu
Por volta das cinco e meia da manhã de sábado, 25 de janeiro de 2003, um worm de 376 bytes - pequeno o bastante para caber num pacote UDP, enviado à porta 1434 sem aperto de mão e sem esperar resposta - começou a varrer a internet. Dobrava a cada oito segundos e meio. Em dez minutos alcançara noventa por cento das máquinas vulneráveis da internet, cerca de 75 mil servidores rodando Microsoft Server ou o mecanismo de mesa embutido em dezenas de outros produtos, que muitos administradores não sabiam ter instalado.
Não carregava carga maliciosa. O dano era puramente o tráfego: 13 mil caixas eletrônicos do Bank of America saíram do ar, a Coreia do Sul perdeu internet e telefonia móvel para 27 milhões de pessoas, voos foram cancelados e serviços de emergência foram perturbados. O artigo sobre segurança de memória explica a classe de falha por baixo.
A Microsoft publicara a correção, MS02-039, em 24 de julho de 2002. Seis meses.
O Blaster chegou em agosto do mesmo ano por outra porta - um estouro de buffer no serviço de chamada de procedimento remoto DCOM, na porta TCP 135 - reiniciando máquinas em laço e atacando o próprio site de atualização da Microsoft. A correção, MS03-026, saíra cerca de um mês antes. A essa altura o padrão não é um padrão; é a definição da era.
2008: o Conficker, e um boletim que avisou
Depois um intervalo, e então o último. Em 23 de outubro de 2008 a Microsoft emitiu uma atualização emergencial fora de ciclo, a MS08-067, para uma falha no serviço Windows Server, e escreveu no boletim que era possível que a vulnerabilidade fosse usada na construção de um exploit passível de worm. É o fabricante prevendo o worm no documento que anuncia a correção.
A primeira variante do apareceu por volta de 21 de novembro. Variantes posteriores se espalhavam por redes locais, por mídia removível e adivinhando senhas fracas de administrador em compartilhamentos. Seu canal de comando foi a inovação que o sobreviveu: em vez de um servidor fixo que pudesse ser apreendido, gerava 250 nomes de domínio por dia a partir de um algoritmo semeado com a data, de modo que os defensores tinham de registrar ou bloquear um alvo em movimento - o que produziu o Conficker Working Group, uma coordenação sem precedentes entre empresas de segurança, registros e operadores de domínios nacionais, vários dos quais bloquearam milhares de nomes de antemão. A Microsoft ofereceu recompensa de 250 mil dólares. As estimativas de infecção chegavam aos milhões; as contagens variavam por fabricante e método e devem ser lidas como aproximações.
Ainda em janeiro de 2009, uns trinta por cento das máquinas Windows seguiam sem a correção. A botnet era enorme, resiliente e, até onde o registro público mostra, nunca foi usada para grande coisa.
O que acabou com isso, e o que não acabou
Os surtos deixaram de ser rotina por razões, em geral, nada espertas. O Service Pack 2 do Windows XP ligou o firewall por padrão, o que removeu as portas alcançáveis de que os worms de rede dependiam. A atualização automática virou padrão em vez de opção, o que fechou a janela entre a correção e a instalação para o consumidor. Macros pararam de rodar sem perguntar. O fabricante se reorganizou em torno do problema. Essas mudanças, sem glamour nenhuma delas, fizeram mais do que qualquer produto.
O que não acabou foi a lacuna. Nove anos de surtos tiveram, todos, uma correção disponível antes: um mês para o Code Red, um mês para o Blaster, seis meses para o Slammer, quatro semanas e um aviso explícito para o Conficker. Quatorze anos depois do Slammer, o WannaCry e o NotPetya se espalharam por uma falha corrigida cinquenta e nove dias antes - e um dos responsáveis da Microsoft que trabalhou no Conficker fez exatamente essa comparação quando os ataques de 2017 chegaram. A higiene de correções, observou ele, segue ruim justamente onde é mais difícil consertar: hospitais, órgãos públicos, máquinas velhas sem dono.
Para um profissional a lição transferível não é "corrija mais rápido", que todo mundo já sabe e poucos conseguem. São as três perguntas que esta década não para de fazer. O que é alcançável? - o Slammer achou mecanismos de banco de dados embutidos em produtos cujos donos não sabiam estar rodando um. O que fica exposto por padrão? - a mudança do firewall acabou com mais worms do que qualquer assinatura. E qual é, medida, a lacuna real entre uma correção existir e uma correção estar instalada no seu parque? Esse último número é o que decidiu todos os casos acima, e é o que a maioria das organizações ainda não sabe dizer.
Fontes
- Departamento de Justiça dos Estados Unidos, sobre a sentença do Melissa: Smith admitiu ter criado o vírus e disseminado do computador de casa; apareceu em milhares de sistemas de e-mail em 26 de março de 1999 disfarçado de mensagem importante de um colega, foi projetado para enviar e-mail infectado aos primeiros 50 endereços, e causou mais de 80 milhões de dólares de dano
- Wikipedia, Melissa: lançado por David L. Smith em 26 de março de 1999 e publicado num grupo de notícias com a alegação de conter senhas de sites adultos; perturbou cerca de um milhão de contas de e-mail e levou algumas organizações a suspender o serviço; Smith foi preso em menos de uma semana e sentenciado em 2002 a vinte meses
- ABC News e CNN, agosto de 2000: promotores filipinos retiraram todas as acusações contra Onel de Guzman porque não se aplicavam a invasão informática ou faltavam provas; até uma lei sancionada em junho de 2000 as Filipinas não tinham leis específicas contra crimes informáticos; o vírus foi solto em 4 de maio e causou dano estimado em até 10 bilhões de dólares
- Kaspersky, sobre o ILOVEYOU: de Guzman era estudante de 24 anos; não foi punido por falta de provas e pela ausência de tipo penal para crime cibernético na lei local; em 2020 disse ter criado o worm para roubar senhas de acesso à internet porque não podia pagar por ele
- O anúncio original do Code Red pela eEye na Bugtraq: a vulnerabilidade .ida divulgada pela eEye em 18 de junho de 2001; o worm picha páginas com "Hacked By Chinese!" e foi batizado em parte porque o refrigerante Code Red Mountain Dew foi a única coisa que manteve a equipe acordada para desmontar o exploit; cria 100 threads de varredura e checa
c:\notwormantes de se propagar - Wikipedia, Code Red: lançado em 13 de julho de 2001, com hosts infectados chegando a 359 mil em 19 de julho; a falha estava em software distribuído com o IIS, descrita no MS01-033 (CVE-2001-0500), para a qual havia correção um mês antes; o worm nem verificava se o servidor remoto rodava IIS
- Communications of the ACM, sobre a análise da eEye: a equipe liderada por Marc Maiffret determinou que o worm lançaria negação de serviço contra o servidor da Casa Branca à meia-noite GMT de 19 de julho, e que mirava o site por endereço IP e não por URL - de modo que o reparo definitivo foi mudar o servidor de endereço
- Análise do Slammer pelo SANS/GIAC: surgiu em 25 de janeiro de 2003, dobrou a cada 8,5 segundos no primeiro minuto, infectou 90 por cento dos sistemas vulneráveis em dez minutos e mais de 74 mil máquinas distintas; tamanho total de 376 bytes num único pacote para a UDP 1434, sem aperto de mão; não carregava carga maliciosa mas consumia banda
- Um segundo artigo do GIAC: a Microsoft publicou o MS02-039 em 24 de julho de 2002, seis meses antes de o Slammer ser solto; a CAIDA o relatou como o worm de propagação mais rápida até então
- ESET, sobre os efeitos do Slammer: a Coreia do Sul perdeu cobertura de internet e telefonia para 27 milhões de pessoas, e quase todos os 13 mil caixas eletrônicos do Bank of America saíram do ar
- Levantamento dos principais ataques cibernéticos de 2001 a 2013: o Code Red infectou 359 mil computadores em menos de 14 horas; o Slammer explorou uma falha cuja correção estava disponível seis meses antes; o Blaster explorou a interface de chamada de procedimento remoto da Microsoft e causou negação de serviço contra o windowsupdate.com, ainda que as correções tivessem saído um mês antes do ataque
- Sobre o mecanismo do Blaster: múltiplas threads sondam a porta TCP 135 em busca de sistemas ouvindo RPC, e então enviam requisições RPC superdimensionadas que disparam um estouro de buffer na interface DCOM, a falha descrita no MS03-026 e designada CVE-2003-0352
- CAIDA, sobre o Conficker: em 23 de outubro de 2008 a Microsoft anunciou atualização de segurança resolvendo uma vulnerabilidade crítica no serviço Windows Server (MS08-067), afirmando no boletim que "é possível que esta vulnerabilidade seja usada na construção de um exploit passível de worm"; a primeira evidência séria de surto foi relatada em 22 de novembro de 2008
- Wikipedia, Conficker: apesar da correção emergencial fora de ciclo de 23 de outubro de 2008, estimados 30 por cento dos PCs Windows seguiam sem correção ainda em janeiro de 2009; uma variante de dezembro acrescentou propagação por redes locais, mídia removível e compartilhamentos; a variante A gera 250 nomes de domínio por dia em cinco domínios de topo, semeados com a data corrente; a Microsoft ofereceu recompensa de 250 mil dólares em fevereiro de 2009; registros do Chile, da Suíça e da Polônia, entre outros, bloquearam nomes gerados de antemão
- Help Net Security, a retrospectiva de dez anos de um responsável da Microsoft: o MS08-067 afetava a vasta maioria dos computadores Windows; a higiene de correções segue ruim, particularmente em órgãos públicos como hospitais que usam máquinas antigas, e o WannaCry e o NotPetya só foram eficazes porque organizações não aplicaram uma correção conhecida havia um e dois meses respectivamente
- Sobre a confiabilidade das contagens de infecção: números em torno de nove milhões eram estimativas de melhor esforço e não um censo preciso, derivados de telemetria e dados de sinkhole e variando conforme a metodologia de cada fabricante