O Lado Negro

Como eu disse, havia um vai-e-vem tremendo de disquetes nos laboratórios: cada aluno trazia seus disquetes, gravava programas, e aquilo virava uma placa de Petri para vírus de computador. Todo dia tinha algum vírus circulando pelo laboratório. Na maior parte das vezes, um antivírus comum dava conta: bastava rodar o scanner em casa antes de usar o disquete. Mas um dia foi diferente: cheguei em casa, rodei nosso antivírus preferido na época, o F-Prot, e ele acusou uma variante desconhecida do vírus Jerusalém. Claro que aquilo atiçou nossa curiosidade, e lá fomos nós investigar.

Nessa época, meu irmão é que fazia estágio na IBM, então ainda tínhamos acesso a pesquisadores lá de Nova York. Mandamos uma amostra e eles identificaram que era, de fato, algo novo, com alguma semelhança com Jerusalém, mas possivelmente não da mesma família. Fui à universidade procurar um professor pra avisar que havíamos achado um vírus novo no laboratório. Acabei sendo redirecionado pro professor Bauer, que trabalhava com temas relacionados a vírus, e a partir daí o pessoal do laboratório passou a usar o F-Prot diariamente para limpar as máquinas. Ao mesmo tempo, mandamos as amostras para os principais fabricantes de antivírus que conhecíamos. O vírus acabou sendo batizado de Freddy Kruger, por causa de uma frase no código que fazia referência ao personagem dos filmes.

O Freddy Kruger foi só o primeiro dos vírus que achamos por lá, e nem era muito agressivo. Alguns meses depois, porém, surgiu outro bem mais bravo. Uns o chamaram de Freddy Kruger 2; nós acabamos chamando de Frisk vírus. Achei que foi obra do mesmo autor, alguém com acesso aos computadores do departamento, porque esse segundo malware trazia uma provocação direta: uma string “hello Frisk”, Frisk sendo o nome do desenvolvedor do F-Prot. Ou seja, o autor parecia apontar que a briga era contra aquele antivírus em particular.

O Frisk vírus era mais sofisticado: era mutante, polimórfico, o que significa que ele alterava sua forma a cada infecção, dificultando a detecção por assinaturas tradicionais. Além disso, ficava residente na memória e, a cada arquivo aberto, alterava um byte desse arquivo. Num laboratório movimentado como o nosso, ao final do dia nada mais rodava direito: os arquivos do sistema tinham sido corrompidos e os trabalhos dos alunos vinham cheios de caracteres trocados. Foi um caos: os computadores tinham de ser formatados e reinstalados no fim de cada dia.

Daí apareceu um colega, um dos alunos dos anos acima, famoso por ser muito bom em computação, que conseguiu escrever um programa capaz de detectar e limpar o Frisk vírus. Aquele utilitário salvou horas de reinstalação e foi um grande alívio pro pessoal que tomava conta do laboratório. As más línguas, claro, diziam que quem desenvolveu o antivírus era o próprio autor do vírus, por isso ele saberia exatamente como removê-lo.

Depois veio o Leandro e Kelly, um vírus de boot também encontrado no laboratório. Ele trazia a string “Leandro e Kelly, GV, MG”. Coincidência: havia um estudante mais novo chamado Leandro, vindo de Governador Valadares, MG. Ele sempre negou envolvimento, mas a fofoca não perdoou e a história correu pelos corredores.

Enquanto a gente achava esses vírus, o curso continuava. Estudamos estruturas de dados, e lembro de uma que o professor apresentou como útil para detecção de padrões: a árvore PATRICIA. A ideia surgiu rápido: será que dava pra implementar essa estrutura e extrair assinaturas de vírus, talvez até para alguns polimórficos? Tentamos, mas a implementação do livro tinha um bug e o projeto morreu ali.

Numa outra matéria a gente estudou o algoritmo RSA, para criptografia de chave pública. Eu já conhecia a existência da criptografia, mas entender o RSA abriu uma nova perspectiva: segurança da informação deixou de ser só antivírus e passou a ser um campo maior, com várias nuances. O trabalho da disciplina era implementar o RSA, ao mesmo tempo em que aprendíamos C. Nas leituras pela internet, eu já tinha ouvido falar do PGP (Pretty Good Privacy), que usava RSA, e sabia que, na época, software criptográfico era tratado como armamento nos Estados Unidos — havia restrições de exportação. Uma turma criativa resolveu contornar isso imprimindo o código em livro e vendendo nas livrarias, porque a Constituição americana protege a expressão em forma impressa; alguém podia comprar o livro fora dos EUA, escanear e recuperar o código-fonte. Era uma solução inusitada e virou notícia.

Quando o professor mandou implementar o RSA, minha primeira ideia foi aproveitar o código do PGP que eu conhecia, mas descobri que o PGP era bem mais complexo do que o exercício do curso. Acabei tirando algumas ideias dali, mas não entreguei um PGP inteiro como trabalho de segundo ano. Mesmo assim, o bom desempenho naquele projeto abriu portas dentro da universidade — mas essa história fica pro próximo capítulo.