“DNS Poisoning” – menos uma arma para o cybercrime

Algures no princípio deste ano, Dan Kaminsky encontrou uma falha de design no protocolo de DNS que, se explorada por alguém mal-intencionado, levava ao envenenamento dos servidores intermédios e clientes, permitindo assim enganar enormes quantidades de computadores sobre o endereço IP real dos serviços web a que acedemos (HTTP, HTTPS, FTP, SMTP, POP, IMAP, SSH, etc, todos os protocolos ficariam comprometidos pois o problema estava nos próprios endereços).

Chama-se “envenenamento” porque assim que a nossa “cache” de endereços obtém o primeiro endereço falso pode passar a pedir outros endereços a esse endereço falso, falseando todo o conteúdo. Em suma, a nossa ligação à internet seria “raptada” e redireccionada por alguém mal-intencionado, e se a coisa for bem feita, ninguém dá por nada. Outra utilização possível seria um ataque maciço “denial of service” em que seria possível simplesmente parar toda a internet de um ISP, país, ou até mesmo de todo o mundo, paragem essa que teria de ser corrigida “à mão” através de muitos dias de trabalho de limpeza…

A falha era conceptual, e por isso estava presente em praticamente todas as implementações, quer fossem closed source ou open source.

Dada a gravidade do problema, ele escolheu não publicar os detalhes, e em vez disso contactou os principais serviços de DNS e bases de clientes mundiais, explicou-lhes a situação, e deu-lhes a solução na forma de um “patch”. Foi difícil convencê-los da realidade da ameaça, mas a pouco e pouco o consenso foi-se formando, mesmo sem o apoio da comunidade pública de peritos de segurança, que continuavam “no escuro”. As entidades responsáveis foram corrigindo os seus sistemas, e o patch foi-se espalhando pelo mundo inteiro.

Aqui está um vídeo que ele arranjou que mostra a evolução da aplicação desse patch correctivo ao longo do tempo um pouco por todo o mundo.

Eu adoro este tipo de visualização. Não só é divertido e tem qualquer coisa de orgânico e mágico, como pode sempre fornecer informações que não são óbvias à primeira vista. Por exemplo, vê-se que a aplicação da correcção foi feita em “vagas” que percorrem o planeta. Estas vagas devem corresponder a esforços sincronizados (por efeito de notícias ou organização expressa), e também à aplicação automatizada de correcções distribuídas em massa (tipo “Windows Update” ou “apt-get update && apt-get upgrade”). Mas também é interessante notar que as vagas correm da direita para a esquerda, ou seja, segundo a rotação solar sobre o planeta. Isto indica que o fenómeno tem claramente origem humana (o pessoal liga as máquinas e trabalha normalmente durante o dia), e não é despoletado apenas pelas máquinas em si. Também mostra, de uma maneira mais óbvia, a assimetria que existe entre os países do “mundo industrializado” e os restantes… ficamos logo a saber quais são as nações que mais dependem de informação para sobreviver.

Infelizmente, esta ameaça é apenas uma num conjunto perigosamente grande que o DNS ainda alberga. Por exemplo, ainda é possível utilizar o DNS como túnel para dados arbitrários, o que leva a possíveis explorações por parte de cavalos de tróia, worms, ou ainda redes criminosas – é que ninguém estava à espera de ver outras coisas que não endereços dentro dos pacotes DNS, e por isso poucos procuram problemas aí…

Enfim, nunca estamos 100% seguros, mas ainda bem que há geeks que nunca dormem.😀

~ por Vasco Névoa em Agosto 7, 2008.

2 Respostas to ““DNS Poisoning” – menos uma arma para o cybercrime”

  1. O comprometimento da infraestrutura do DNS seria realmente grave.
    Outras utilizações do “DNS poisoning” para além das mais drásticas que mencionei acima poderiam ser mais subtis e portanto mais perigosas. Exemplos: seria possível em alguns cenários fazer o tradicional ataque “man-in-the-middle” com total impunidade, permitindo estabelecer “escutas” gigantescas em canais de comunicação VoIP, HTTPS, SSH, VPN, etc. (mesmo criptografados!), podendo comprometer as comunicações das forças de segurança durante tempo indeterminado… eu não tenho imaginação suficiente para isso, mas com um bocadinho de arte técnica e talvez um pouco de engenharia social, também seria possível obter as chaves criptográficas privadas, arrumando de vez a utilidade da criptografia. brrr!!…

  2. A necessidade de uma resposta ao problema teria sido evitada se quem desenvolve aplicações tivesse sempre em mente a segurança dos sistemas como o Daniel J. Bernstein (também apelidado por outros como) Doutor Bernstein (um criptógrafo) que criou um servidor de DNS que não teve de ser corrigido (pelo menos nesta vaga). Bernstein é um chato como pessoa mas é um fulano com uma mente brilhante com ele as coisas funcionam de forma segura.

Deixe uma Resposta

Preencha os seus detalhes abaixo ou clique num ícone para iniciar sessão:

Logótipo da WordPress.com

Está a comentar usando a sua conta WordPress.com Terminar Sessão / Alterar )

Imagem do Twitter

Está a comentar usando a sua conta Twitter Terminar Sessão / Alterar )

Facebook photo

Está a comentar usando a sua conta Facebook Terminar Sessão / Alterar )

Google+ photo

Está a comentar usando a sua conta Google+ Terminar Sessão / Alterar )

Connecting to %s

 
%d bloggers like this: