Envenenamento de cache DNS

O envenenamento de cache DNS é a injeção de endereços IP de um site falso no cache de um servidor DNS local, com o objetivo de pharming.

Categoria de Tecnologia

Postado em 21 maio 2022

Atualizado em 21 maio 2022

Palavras-chave: network,cache,dns,poisoning,server,pharming,phishing

Visualizações: 1822



O servidor DNS tem um papel fundamental para tornar a interface da internet mais amigável ao usuário.

O DNS traduz os sites que digitamos na barra de endereço do nosso navegador, retornando um endereço IP, que em seguida tornará possível o acesso ao site.

Ao todo, temos apenas cerca de 13 servidores DNS espalhados pelo mundo todo. Por isso, fazer solicitações para esses servidores toda vez que queremos acessar um site não é uma idéia muito boa. Por isso muitas máquinas utilizam o cache.

O cache tem como objetivo armazenar dados temporariamente, evitando que servidores como o DNS recebam múltiplas solicitações de sites que já foram solicitados. Em outras palavras, se um usuário solicita acesso à um site que ele já solicitou no passado, provavelmente o endereço IP desse site estará armazenado no cache. Uma vez que a informação necessária para o acesso já está armazenada, podemos obter esses dados do cache, sem a necessidade de solicitar ao servidor DNS.

O cache aumenta a disponibilidade de servidores, pois esse atua como um servidor substituto temporário. Porém, caso um endereço IP atribuído ao site no cache esteja errado, isso causará grandes problemas.

Injetar informações falsas no cache de algum servidor propositalmente, é chamado de envenenamento de cache DNS.

O que é o envenenamento de cache DNS?

Em inglês, “DNS cache poisoning” é usado para expressar o ato de injetar informações falsas no cache de um servidor DNS.

Com isso, o agressor consegue redirecionar a vítima para um site malicioso sem mesmo a vítima perceber.

Para realizar esse ato é necessário saber o endereço IP do servidor DNS local da vitima, que na maioria dos casos pode ser o roteador.

Uma vez que o agressor consegue obter esse endereço IP, o ataque pode ser efetuado em algumas etapas.

1. Usuário acessa o site

O usuário abri o navegador e digita na barra de endereço o site www.dicionariotec.com.

O navegador solicita o endereço IP para o servidor DNS local para poder acessar o site.

Um exemplo de servidor DNS local pode ser o nosso roteador.

Navegador
Roteador

2. Servidor DNS local solicita endereço IP para o servidor DNS externo

Caso o servidor DNS local não saiba o endereço IP do site digitado, ele irá solicitar para outro servidor DNS, provavelmente um servidor DNS localizado na rede ISP (Internet service provider).

ISP
Internet
DNS
...
Roteador

3. Antes do servidor DNS responder, o agressor irá interferir

O roteador irá mandar uma solicitação para o servidor DNS externo, e esperará por uma resposta.

Antes dessa resposta contendo o endereço IP ser retornada, o agressor irá interferir com endereços IP falsos.

ISP
1
3
2
DNS
Roteador
Agressor
  1. O roteador irá solicitar ao servidor DNS externo o endereço IP.
  2. Antes da resposta chegar o agressor vai interferir com dados falsas.
  3. O servidor DNS irá responder as solicitações, porém será ignorado.

Uma vez que o endereço IP falso chega até o nosso roteador, esse endereço IP será armazenado temporariamente no cache.

O roteador irá retornar ao nosso navegador o endereço IP obtido na internet.

Roteador
Usuário

Com isso, o usuário acessa um site falso com um endereço legítimo e um endereço IP errado.

dns cache poisoning

O tempo de vida de um cache (TTL) pode variar, mas geralmente dura 1 dia. Após um dia passar, o nosso roteador irá solicitar ao servidor DNS externo novamente o endereço IP desse site. Caso não haja mais interferência do agressor, há uma alta probabilidade dos dados falsos serem substituídos pelos dados legítimos no cache, voltando a ter o acesso ao site legítimo.

Porém, durante o tempo de vida desse cache falso o usuário pode ser vítima de pharming.

O que é pharming?

Pharming é o ato de redirecionar a vítima para um site falso com um endereço de site legítimo.

Diferente do phishing que pode ser identificado com mais facilidade, o pharming pode ser muito difícil de ser identificado por não apresentar muitas características de um site falso.

O agressor pode clonar um site com formulários para obter os dados sensíveis ou instalar malwares sem o consentimento da vítima com truques como drive-by download.

Um jeito de prevenir esse tipo de ataque é usar uma internet privada como o VPN (virtual private network).

Conclusão

O envenenamento de cache DNS é a injeção de dados falsos no cache de um servidor DNS local, com o objetivo de pharming. O agressor troca endereços IP de sites verdadeiros com endereços IP de sites falsos.

Esse tipo de técnica maliciosa é difícil prevenir, pois o endereço do site é de fato legítimo.

Projetos práticos

Usando dados fornecidos pelo TSE para simular o gráfico das eleições presidenciais de 2022

Simulação dos gráficos do segundo turno das eleições presidenciais, utilizando python e ferramentas de análise de dados, pandas e jupyter.

Desenvolvendo um jogo de quebra blocos em javascript

Programando um jogo clássico de arcade usando javascript e p5.js. O usuário deve quebrar os blocos utilizando uma bola ao mesmo tempo que evita que a bola saia pela parte inferior da tela

Integrando o PHP com Elasticsearch no desenvolvimento de um sistema de busca

Projeto de criação de um sistema de busca usando o framework Symfony e Elasticsearch. A integração com Kibana também é feito de modo remoto com um raspberrypi.

Criando um sistema de mini garagem automatizada integrada com um sistema de monitoramento independente

Desenvolvimento de um sistema de monitoramento que exibi todos os eventos que acontecem na garagem automatizada, como abertura de portões ou ocupação de vagas.

Desenvolvendo o campo de visão de um personagem em um plano 2D

Detectando objetos que entram dentro do campo de visão do personagem. Útil para servir de "gatilho" para eventos em um jogo.

Veja também

A digitalização é o jeito moderno de gerenciamento de documentos

Digitalizar documentos facilita o gerenciamento, aumenta a disponibilidade e economiza tempo, consequentemente trazendo muitos outros benefícios.

Estar antenado pode te salvar de cair em algum golpe

A engenharia social é a forma mais fácil de roubar os dados da vítima, principalmente aqueles que não estão antenados..

Pacote de dados

Unidades contendo informação de um arquivo que é enviado de um nó para o outro através da internet. Quando juntadas formam um arquivo.

DNS Domain Name System (Sistema de Nomes de Domínio)

Protocolo utilizado para buscar endereços IPs vinculados com um URL solicitado através de um navegador ou aplicativo de email.

DHCP

O DHCP é um protocolo que automatiza o processo de atribuição de informações que são necessárias para um dispositivo poder se conectar à internet.

Modelo OSI

Modelo teórico dividido em sete camadas que fornece uma arquitetura padrão de rede para realizar a transferência de dados entre computadores.