Uma nova variante do ataque SAD DNS para injeção de dados falsos no cache DNS

Um grupo de pesquisadores da Universidade da Califórnia em Riverside publicou uma nova variante do ataque SAD DNS (CVE-2021-20322), que continua a funcionar apesar da proteção adicionada no ano passado para bloquear a vulnerabilidade CVE-2020-25705. O novo método é essencialmente semelhante à vulnerabilidade do ano passado, diferenciando-se apenas pelo uso de um tipo diferente de pacotes ICMP para verificar portas UDP ativas. O ataque proposto permite a injeção de dados falsos no cache do servidor DNS, o que pode ser usado para substituir o endereço IP de um domínio qualquer no cache e redirecionar solicitações para o domínio para o servidor do atacante.

O método proposto é funcional apenas na pilha de rede do Linux devido à vinculação às características do mecanismo de processamento de pacotes ICMP no Linux, que é a fonte de vazamento de dados, facilitando a identificação do número da porta UDP utilizada. servidor para enviar uma solicitação externa. Mudanças para bloquear o vazamento de informações foram incorporadas ao núcleo do Linux no final de agosto (a correção foi incluída no núcleo 5.15 e nas atualizações de setembro dos ramos LTS do núcleo). A correção consiste na alteração do uso do algoritmo de hash SipHash em vez do Jenkins Hash nos caches de rede. O status de correção da vulnerabilidade nas distribuições pode ser avaliado nas seguintes páginas: Debian, RHEL, Fedora, SUSE, Ubuntu.

De acordo com os pesquisadores que descobriram o problema, cerca de 38% dos resolvedores abertos disponíveis na rede estão vulneráveis, incluindo serviços DNS populares, como OpenDNS e Quad9 (9.9.9.9). Em termos de software de servidor, o ataque pode ser realizado em servidores Linux utilizando pacotes como BIND, Unbound e dnsmasq. Em servidores DNS que operam com sistemas Windows e BSD, o problema não se manifesta. Para que o ataque seja bem-sucedido, é necessário utilizar spoofing de IP, ou seja, é preciso que o provedor do atacante não bloqueie pacotes com um endereço IP de origem falso.

Lembramos que o ataque SAD DNS permite contornar as proteções adicionadas aos servidores DNS para bloquear o método clássico de envenenamento de cache DNS, proposto em 2008 por Dan Kaminsky. O método de Kaminsky manipula o tamanho diminuto do campo do identificador da consulta DNS, que possui apenas 16 bits. Para descobrir o identificador da transação DNS necessário para falsificação de nome de host, basta enviar cerca de 7000 consultas e simular cerca de 140 mil respostas falsas. O ataque consiste no envio a um resolvedor DNS de um grande número de pacotes com uma ligação falsa ao IP e com diferentes identificadores de transação DNS. Para evitar o cache da primeira resposta, em cada resposta falsa é especificado um nome de domínio ligeiramente modificado (1.example.com, 2.example.com, 3.example.com, etc.).

Para proteger contra esse tipo de ataque, os fabricantes de servidores DNS implementaram a distribuição aleatória dos números das portas de rede de origem a partir das quais são enviados os pedidos de resolução, o que compensou o tamanho insuficientemente grande do identificador. Após a implementação da proteção, para enviar uma resposta falsa além de descobrir o identificador de 16 bits, tornou-se necessário também adivinhar uma das 64 mil portas, o que aumentou o número de combinações a 2^32.

O método SAD DNS permite simplificar drasticamente a determinação do número da porta de rede e reduzir o ataque ao método clássico de Kaminsky. O atacante pode identificar acessos a portas UDP não utilizadas e ativas, aproveitando a vazamento de informações sobre a atividade das portas de rede ao processar pacotes ICMP de resposta. O método permite reduzir em 4 ordens de grandeza o número de combinações a serem testadas — 2^16 + 2^16 em vez de 2^32 (131_072 em vez de 4_294_967_296). O vazamento de informações que permite determinar rapidamente as portas UDP ativas é causado por uma falha no código de processamento de pacotes ICMP com pedidos de fragmentação (bandeira ICMP Fragmentation Needed) ou redirecionamento (bandeira ICMP Redirect). O envio de tais pacotes altera o estado do cache na pilha de rede, permitindo, com base na reação do servidor, determinar qual das portas UDP está ativa e qual não está.

Cenário de ataque: Quando o resolvedor DNS tenta determinar um nome de domínio, ele envia uma consulta UDP para o servidor DNS do domínio em questão. No momento em que o resolvedor aguarda a resposta, o atacante pode rapidamente identificar o número da porta de origem que foi usada para enviar a solicitação e enviar uma resposta falsa, se passando pelo servidor DNS legítimo, usando spoofing. endereços IPO resolvedor DNS armazenará em cache os dados fornecidos na resposta falsa e por um tempo retornará o endereço IP enganoso fornecido pelo atacante para todas as outras consultas DNS do nome de domínio.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster