.
Atualizada Um único pacote pode esgotar a capacidade de processamento de um servidor DNS vulnerável, desabilitando efetivamente a máquina, ao explorar uma falha de design de mais de 20 anos na especificação DNSSEC.
Isso tornaria trivial derrubar um resolvedor de DNS de validação de DNSSEC que ainda não foi corrigido, perturbando todos os clientes que dependem desse serviço e fazendo parecer que sites e aplicativos estavam offline.
Os acadêmicos que encontraram essa falha – associados ao Centro Nacional Alemão de Pesquisa para Segurança Cibernética Aplicada (ATHENE) em Darmstadt – alegaram que os fabricantes de software de servidor DNS informados sobre a vulnerabilidade a descreveram como “o pior ataque ao DNS já descoberto”.
Identificado pelos Professores Haya Schulmann e Niklas Vogel da Goethe University Frankfurt; Elias Heftrig da Fraunhofer SIT; e o professor Michael Waidner da Universidade Técnica de Darmstadt e Fraunhofer SIT, a falha de segurança foi chamada de KeyTrap, designada CVE-2023-50387, e recebeu uma classificação de gravidade CVSS de 7,5 em 10.
Em dezembro de 2023, aproximadamente 31 por cento dos clientes da Web em todo o mundo usavam resolvedores de DNS com validação de DNSSEC e, como outros aplicativos que dependem desses sistemas, sentiriam os efeitos de um ataque KeyTrap: com esses servidores DNS eliminados pela falha, os clientes que dependem de eles seriam incapazes de resolver nomes de domínio e host para endereços IP a serem usados, resultando em perda de conectividade.
Os pesquisadores disseram que pacotes DNS solitários que exploram o KeyTrap podem paralisar serviços DNS públicos validados por DNSSEC, como os fornecidos pelo Google e Cloudflare, obrigando-os a fazer cálculos que sobrecarregam os núcleos da CPU do servidor.
Esta interrupção do DNS poderia não só negar o acesso das pessoas ao conteúdo, mas também interferir com outros sistemas, incluindo defesas contra spam, defesas criptográficas (PKI) e segurança de roteamento entre domínios (RPKI), afirmam os pesquisadores.
“A exploração deste ataque teria consequências graves para qualquer aplicação que utilizasse a Internet, incluindo a indisponibilidade de tecnologias como navegação na web, e-mail e mensagens instantâneas”, afirmaram. “Com o KeyTrap, um invasor pode desativar completamente grandes partes da Internet mundial.”
Um documento técnico não público sobre a vulnerabilidade fornecido para Strong The One, intitulado “Os ataques de complexidade algorítmica de negação de serviço KeyTrap no DNS”, descreve como um ataque seria realizado. Basicamente, envolve pedir a um resolvedor DNS de validação de DNSSEC vulnerável que procure um endereço que faça com que o servidor entre em contato com um servidor de nomes malicioso que envia uma resposta que faz com que o resolvedor consuma a maior parte ou todos os seus próprios recursos de CPU.
Com o KeyTrap, um invasor pode desativar completamente grande parte da Internet mundial
“Para iniciar os ataques, nosso adversário faz com que o resolvedor da vítima procure um registro em seu domínio malicioso”, afirma o documento que será publicado. “O servidor de nomes do invasor responde às consultas DNS com um conjunto de registros maliciosos (RRset), de acordo com o vetor de ataque específico e a configuração da zona.”
O ataque funciona, explica o artigo, porque a especificação DNSSEC segue a Lei de Postel: “Os servidores de nomes devem enviar todo o material criptográfico disponível e os resolvedores devem usar qualquer material criptográfico que receberem até que a validação seja bem-sucedida”.
Este requisito, para garantir a disponibilidade, significa que os resolvedores de DNS que validam DNSSEC podem ser forçados a fazer muito trabalho se forem apresentados a tags de chave e chaves em colisão que devem ser validadas.
“Nossos ataques complexos são desencadeados pela alimentação dos resolvedores DNS com registros DNSSEC especialmente criados, que são construídos de uma forma que explora vulnerabilidades de validação na lógica de validação criptográfica”, explica o artigo.
“Quando os resolvedores DNS tentam validar os registros DNSSEC que recebem de nosso servidor de nomes, eles ficam paralisados. Nossos ataques são extremamente furtivos, sendo capazes de paralisar os resolvedores entre 170 segundos e 16 horas (dependendo do software do resolvedor) com uma única resposta DNS pacote.”
Os especialistas do ATHENE disseram que trabalharam com todos os fornecedores relevantes e os principais provedores públicos de DNS para divulgar a vulnerabilidade de forma privada, de modo que um lançamento de patch coordenado fosse possível. O último patch foi concluído hoje.
“Estamos cientes desta vulnerabilidade e implementamos uma correção em coordenação com os pesquisadores de relatórios”, disse um porta-voz do Google. Strong The One. “Não há evidências de exploração e nenhuma ação exigida pelos usuários neste momento”.
O laboratório de pesquisa de rede NLnet Labs publicou um patch para seu software Unbound DNS, abordando duas vulnerabilidades, uma das quais é KeyTrap. O outro bug corrigido, CVE-2023-50868, conhecido como vulnerabilidade NSEC3, também permite negação de serviço por esgotamento da CPU.
“A vulnerabilidade KeyTrap funciona usando uma combinação de chaves (também chaves de colisão), assinaturas e número de RRSETs em uma zona maliciosa”, escreveu o NLnet Labs. “As respostas dessa zona podem forçar um validador DNSSEC a seguir um caminho de validação muito intensivo em CPU e demorado.”
Enquanto isso, o PowerDNS tem uma atualização aqui para impedir a exploração do KeyTrap.
“Um invasor pode publicar uma zona que contém registros criados relacionados ao DNSSEC. Ao validar os resultados das consultas para essa zona usando os algoritmos obrigatórios do RFC, o uso de recursos do Recursor pode se tornar tão alto que o processamento de outras consultas é afetado, resultando em uma negação de serviço “, escreveu a equipe. “Observe que qualquer resolvedor que siga as RFCs pode ser afetado; isso não é um problema desta implementação específica.”
A correção para CVE-2023-50387 é apenas uma das seis vulnerabilidades abordadas no software BIND 9 DNS do Internet Systems Consortium. Os outros incluem:
- CVE-2023-4408: A análise de mensagens DNS grandes pode causar carga excessiva da CPU;
- CVE-2023-5517: Consultar zonas reversas RFC 1918 pode causar uma falha de asserção quando “nxdomain-redirect” está habilitado;
- CVE-2023-5679: A ativação do DNS64 e do serviço obsoleto pode causar uma falha de asserção durante a resolução recursiva;
- CVE-2023-6516: Padrões de consulta recursivos específicos podem levar a uma condição de falta de memória;
- CVE-2023-50868: Preparar uma prova de encapsulamento mais próximo NSEC3 pode esgotar os recursos da CPU.
Os requisitos para a vulnerabilidade KeyTrap datam de 1999, a partir da agora obsoleta RFC 2535, de acordo com a equipe de pesquisa que a identificou. E em 2012, esses elementos apareceram na RFC 6781 e na RFC 6840, os requisitos de implementação para validação de DNSSEC.
Um pacote é suficiente. Você não precisa fazer mais do que isso para desconectar uma rede inteira
Desde pelo menos agosto de 2000 – há mais de 23 anos – o KeyTrap está presente no resolvedor DNS BIND 9 e apareceu sete anos depois no resolvedor DNS Unbound.
Dr. Haya Shulman, professor de ciência da computação e um dos acadêmicos por trás da pesquisa KeyTrap, disse Strong The One em uma entrevista por telefone, o ataque é simples e pode ser realizado codificando-o em um arquivo de zona.
“A vulnerabilidade é na verdade algo recomendado no padrão DNSSEC”, explicou o professor Shulman. “Um pacote é suficiente. Você não precisa fazer mais do que isso para desconectar uma rede inteira.”
O professor Shulman disse que os patches lançados por vários fornecedores quebram o padrão. “O problema é que este ataque não é fácil de resolver”, disse ela. “Se o lançarmos em um resolvedor corrigido, ainda obteremos 100% de uso da CPU, mas ele ainda poderá responder.”
A equipe do ATHENE observou que, embora a falha tenha permanecido sem ser detectada por décadas, sua obscuridade não é surpreendente porque os requisitos de validação do DNSSEC são muito complicados. O mesmo ocorre com a mitigação da vulnerabilidade e sua eliminação completa exigirá uma revisão do padrão DNSSEC. ®
Atualizado para adicionar em 16 de fevereiro
Agora você pode baixar o documento técnico aqui como um PDF.
Além disso, o executivo da Akamai, Sven Dummer, agradeceu à equipe de pesquisa não apenas por descobrir a falha, mas também por trabalhar com provedores de DNS e fabricantes de software para coordenar a correção e a redistribuição de sistemas para evitar a exploração em massa.
“Talvez você não saiba, mas a Internet global se esquivou: KeyTrap é uma vulnerabilidade na infraestrutura chave necessária para o funcionamento da Internet – e uma das piores já descobertas”, opinou ele.
“Com o KeyTrap, um invasor pode desativar completamente grandes partes da Internet mundial.”
.







