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: 2080



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

Implementando um algoritmo de pathfinding

Implementando um programa que encontra a menor distância entre dois pontos dentro de um labirinto usando o algoritmo A* (a-estrela).

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.

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.

Integrando Laravel com o protocolo MQTT para comunicação entre dispositivos

Projeto de comunicação entre dois dispositivos ESP8266 e Raspberrypi4. Laravel irá funcionar como servidor e receptor de dados de temperatura e umidade coletados com o DHT11.

Caixa eletrônico usando arquitetura limpa

Usando JavaFX e arquitetura limpa para criar um aplicativo de caixa eletrônico extremamente simples.

Veja também

O usuário malicioso joga a isca e espera a vítima pacientemente

Phishing tem esse nome pois a vítima se torna só mais um peixe na rede. Ter conhecimento de phishing é o melhor jeito de evitar ser um desses peixes

Ainda nos primórdios da internet discada, o maior medo de um usuário era o telefone tocar...

Esperávamos horas para baixar apenas alguns megabytes. Nessas horas, quando o telefone tocava nós fazíamos de tudo para não atender o telefone. Mas infelizmente nem sempre dava certo....

VPN Rede virtual privada

A VPN permite a transferência de dados de modo privado e seguro em uma rede pública sem a utilização de infraestrutura adicional.

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.

Protocolo

Protocolo é um conjunto de regras a serem seguidas para tornar possível a comunicação entre dois dispositivos ou computadores.

Tipos de serviços de servidor

Práticas como hospedagem de sites ou negócios online necessitam de servidores conectados à internet para permitir o acesso externo ao conteúdo.