Um grupo de investigadores da Universidade da Califórnia e da Universidade Tsinghua descobriu uma série de falhas críticas de segurança que podem levar a um re-aparecimento de ataques de envenenamento de cache DNS.

Apelidado de “ataque SAD DNS” (abreviação de Side-channel AttackeD DNS), a técnica possibilita que um agente malicioso execute um ataque off-path, redirecionando qualquer tráfego originalmente destinado a um domínio específico para um servidor sob o seu controlo, permitindo-lhes escutar e modificar as comunicações.

“This represents an important milestone — the first weaponizable network side channel attack that has serious security impacts,” the researchers said. “The attack allows an off-path attacker to inject a malicious DNS record into a DNS cache.”

 

Identificado como CVE-2020-25705, os resultados foram apresentados na conferência ACM Conference on Computer, and Communications Security (CCS ’20)  realizada esta semana.

A falha afeta os sistemas operativos Linux 3.18-5.10, Windows Server 2019 (versão 1809), macOS 10.15,  e FreeBSD 12.1.0 as e mais recentes versões destes sistemas operativos descritos anteriormente.

Em detalhe, os DNS resolvers geralmente guardam em cache as respostas às consultas de endereço IP por um período específico como meio de melhorar o desempenho da resposta numa rede de computadores. Mas esse mesmo mecanismo pode ser explorado para envenenar as caches, personificando as entradas DNS do endereço IP de um determinado site e redirecionando os utilizadores que tentam visitar esse site para outro site malicioso.

No entanto, a eficácia de tais ataques foi prejudicada em parte devido a protocolos como DNSSEC (Domain Name System Security Extensions) que cria um sistema de nomes de domínio seguro adicionando assinaturas criptográficas aos registros DNS existentes e defesas baseadas em randomização que permitem que o DNS resovler utilize uma porta de origem e ID de transação (TxID) diferente para cada consulta.

DNS Hacking

 

Observando que as duas medidas de mitigação ainda estão longe de serem amplamente implantadas devido a razões de “compatibilidade”, os investigadores disseram que executarem um side attack que pode ser usado com sucesso contra os DNS servers mais populares, tornando assim os resolvers de DNS públicos como o 1.1.1.1 do Cloudflare e o 8.8.8.8 do Google vulneráveis a este ataque.

O ataque SAD DNS usa uma máquina comprometida em qualquer rede que seja capaz de enviar um pedido ao DNS resolver, como pex., uma rede sem fio pública num café, shopping center ou aeroporto que utilizem os DNS resolver do router da própria rede.

Side-Channel Attack

 

Em seguida, o ataque tira partido do side-channel attack para verificar e descobrir quais portas são utilizadas para iniciar uma consulta DNS e, subsequentemente, injetar um grande número de respostas DNS falsificadas via força bruta dos TxIDs.

This port scan method achieves a scanning speed of 1,000 ports per second, cumulatively taking a little over 60 seconds to enumerate the entire port range consisting of 65536 ports. With the source port thus derandomized, all an attacker has to do is to insert a malicious IP address to redirect website traffic and successfully pull off a DNS cache poisoning attack.

 

Na ausência da mitigação, existem vários cenários de ataque, como por exemplo:
1. Um ataque de Man-in-The Middle (MITM), pode permitir ao atacante intercetar e redirecionar a vítima a consultar um website malicioso.

Os softwares que se conhecem como vulneráveis são BIND. Unbound e dnsmasp a correr em Linux
Linux 3.18-5.10, Windows Server 2019 (versão 1809) e mais recentes, macOS 10.15 e mais recentes, FreeBSD 12.1.0 e mais recentes. Podem ainda existir versões mais antigas dos sistemas operativos vulneráveis, mas ainda não existe confirmação.

Recomendações para resolução/mitigação da vulnerabilidade “SAD DNS”:

  • 1. Habilitar a validação de DNSSEC nos resolver/forwarders.
  • 2. Desativar canais laterais através da desativação de pacotes ICMP de dentro para fora nos resolver/forwarders.
  • 3. Aplicar patch ao kernel do Linux disponível aqui.

 

A aplicação de qualquer uma das medidas torna-se suficiente para mitigar a vulnerabilidade. Existem outros métodos para a resolução/mitigação disponíveis no site oficial.

Mais detalhes em: https://www.cs.ucr.edu/~zhiyunq/pub/ccs20_dns_poisoning.pdf