Dan Kaminsky fez certo

 

dan2.jpg


Não seria um exagero dizer que a Internet inteira (ou pelo menos a parte que consegue entender o problema a seguir) não fala de outra coisa desde que Dan Kaminsky divulgou que havia descoberto uma séria vulnerabilidade estrutural no serviço de DNS. Na ocasião, ele informou que vinha trabalhando numa solução com os fabricantes de software e a comunidade DNS há meses e implorou para que todos atualizassem seus servidores em caráter de urgência. Em virtude da criticidade do problema, ele decidiu só revelar detalhes durante uma palestra que faria no próximo Black Hat. Ele queria que os administradores tivessem um prazo adequado para aplicar a correção. Além disso, escolheu o próximo evento de destaque onde falaria para colher a merecida publicidade como retorno pelo seu trabalho.

Apesar da boataria que começou a rolar especulando sobre qual seria o problema, apenas ontem, por conta de um vazamento teoricamente acidental pelo pessoal da Matasano, é que ele se tornou oficialmente público. Os detalhes técnicos apenas enaltecem a conduta de Dan. O caso é uma séria vulnerabilidade estrutural que permite ataques de DNS cache poisoning, afetando a maioria dos servidores existentes. Fica difícil imaginar a quantidade de dinheiro que seria possível roubar com uma vulnerabilidade dessas, mas uma coisa é fato: seria possível vendê-la por muito, muito dinheiro. O próprio blog que vazou os detalhes estimava centenas de milhares de dólares.

Após o comunicado oficial sobre o assunto, Dan foi atacado de todos os lados. Alguns o acusavam de estar tendo este tipo de conduta apenas para se promover. Outros argumentavam que gostariam de conhecer os detalhes do problema antes de aplicar a correção. Muitos tentaram desqualificar a descoberta, argumentando que ela não passava de problemas estruturais conhecidos há pelo menos uma década.

Ao descobrir a vulnerabilidade, Dan entrou em contato de maneira extremamente reservada com os fabricantes e a comunidade que, desde então, vinham trabalhando na surdina para resolver o problema o mais rapidamente possível. Após o lançamento dos patches, Dan recusou-se a se vangloriar dos detalhes técnicos em primeira mão, priorizando o benefício de muitas pessoas que sequer o conhecem.

Para vencer o ceticismo e angariar mais vozes na campanha do "atualize já", ele explicou pessoalmente os detalhes do problema para alguns especialistas, e foi justamente um deles que publicou "sem querer" os detalhes em seu blog (uma cópia do descritivo do problema está aqui), numa história difícil de colar, que lembra o e-mail enviado por engano por um funcionário da Casa Civil ao senador Álvaro Dias.

Em épocas de democracia digital, onde a Internet permite que todos tenham voz, as discussões freqüentemente caminham para o relativismo, onde fica difícil defender qualquer tipo de posição em virtude de todas as perspectivas possíveis pelas quais podemos olhar para uma dada questão. E é precisamente por este motivo que o que Dan fez será lembrando por muitos anos, pois ele fez o certo.

A pesquisa de vulnerabilidades tem uma importância inestimável para nossa indústria. Muitos a fazem, e pelas mais diversas razões, sejam elas nobres ou não. Alguns fazem porque gostam, outros porque, além de gostar, precisam da publicidade que as descobertas geram. Em outras palavras, gastam dinheiro em pesquisa ao invés de gastá-lo em marketing ou publicidade. Outros fazem por pura vaidade, e quando a publicidade espontânea não é compatível com o tamanho do ego e do sentimento de inferioridade do pesquisador, eles divulgam o problema antes que haja patches disponíveis, normalmente reclamando que "o fabricante foi notificado há dois dias e até agora não tinha feito nada".

Alguns outros pesquisam as vulnerabilidades para vendê-las, seja para aqueles que as utilizam na produção de ferramentas destinadas ao crime em geral, seja para empresas idôneas que pagam por elas para notificar seus clientes em primeira mão. Neste ano eu jantei com Eli Jellenc da i-Defense, que é um dos maiores defensores, e foi um dos precursores, da política de pagar por vulnerabilidades. Eu sou favorável a este tipo de iniciativa, mas ela possui um componente perverso. Pode-se considerar, implicitamente, que a pessoa que pesquisa vulnerabilidades não se importa com uso que será feito delas e apenas com o dinheiro que ela vai receber.

É quase a mesma suposição por trás da idéia de que pobreza leva a criminalidade, sem que o pobre tenha o livre arbítrio para decidir o que fazer, por mais que haja forças sociais que o empurrem para a marginalidade. Acho que os fabricantes devem pagar por vulnerabilidades descobertas por terceiros simplesmente porque é economicamente eficiente e saudável para nosso mercado. É muito barato eliminar vulnerabilidades através de um outsourcing da pesquisa. Faço, entretanto uma ressalva, pois essa abordagem pode sujeitar os fabricantes à chantagem e à extorsão: "se vocês não pagarem 10 mil dólares pela minha vulnerabilidade eu vou entregá-la para a quadrilha X, pois eles me pagam 8 mil".

E aí é que está o cerne da questão. Dan poderia ter vendido a vulnerabilidade, poderia ter publicado os detalhes técnicos antes que um patch estivesse pronto, obtendo milhares de vezes mais atenção do que vem obtendo agora, e mesmo assim ele não o fez. Aos que argumentavam que queriam conhecer os detalhes antes da aplicação, sintam-se realizados, eles estão disponíveis e, neste exato, momento muitos servidores DNS já foram comprometidos e muitos ainda serão.

O argumento de que a comunidade underground já tinha matado a charada poucos dias depois que os primeiros patches foram publicados, pois fizeram engenharia reversa, não se sustenta. Não temos que (e talvez nem mesmo devamos) evitar que a comunidade faça engenharia reversa dos patchs ou analise as mudanças no código fonte de aplicações abertas para entender o problema, mas o sujeito precisa ter um QI muito baixo para argumentar que o impacto trazido por isso é o mesmo que o que virá agora que o problema é amplamente conhecido e ferramentas vão permitir que até minha mãe consiga redirecionar usuários desatentos para um site falso de banco.

Em épocas onde todo mundo pode falar qualquer coisa e ser atacado e acusado por todos os lados, nunca foi tão importante agir de maneira coerente com os valores nos quais você acredita. Questionado pelo Threat Level da Wired se ele estava puto com o vazamento teoricamente acidental (e, conseqüentemente, com a traição daqueles nos quais ele confiou detalhes do problema), Dan teve uma postura simples e correta: disse que isso não era importante, e que o importante mesmo era que tudo isso sirva como um alerta para que as pessoas atualizem os seus servidores DNS.

Ou seja, ele foi coerente do começo ao fim. Enquanto muitos estão apenas preocupados em aparecer e matar a charada, entrando para a história como o cara que divulgou a falha, Dan está preocupado com o impacto que a Internet possivelmente vai sofrer. E ele estava desde o começo quando resolveu não divulgar a falha e trabalhar por meses junto aos fabricantes para que o problema fosse corrigido.

Em tempo, você pode testar se o servidor DNS que você está usando está vulnerável no próprio site do Dan Kaminsky. Na dúvida (ou em caráter de emergência), é uma ótima oportunidade para você conhecer o OpenDNS e apontar sua estação pra lá.