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



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

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 artes de texto usando imagens

Convertendo imagens para ascii art usando o valor da intensidade das cores cinzentas.

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 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.

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.

Os três pilares de segurança da informação são o requerimento mínimo para um serviço seguro

A quantidade de programadores só tende a aumentar com o tempo. Porém, muitos programadores ainda não conhecem os três pilares de segurança da informação.

LAN

Rede local de computadores (LAN) é um conjunto de computadores ou dispositivos conectados uns aos outros de forma isolada em um pequeno local.

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.

Servidor

O servidor é um computador responsável por disponibilizar serviços aos clientes dentro de uma rede interna ou para a internet toda

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.