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

Visualizações: 510



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.