Un gruppo di ricercatori dell'Università di Tel Aviv e del Centro Interdisciplinare di Herzliya (Israele)
Il problema è legato alle peculiarità del protocollo e colpisce tutti i server DNS che supportano l'elaborazione ricorsiva delle query, compresi
L'attacco si basa sul fatto che l'aggressore utilizza richieste che si riferiscono a un gran numero di record NS fittizi mai visti prima, a cui è delegata la determinazione del nome, ma senza specificare nella risposta record di colla con informazioni sugli indirizzi IP dei server NS. Ad esempio, un utente malintenzionato invia una query per risolvere il nome sd1.attacker.com controllando il server DNS responsabile del dominio attacker.com. In risposta alla richiesta del risolutore al server DNS dell'aggressore, viene emessa una risposta che delega la determinazione dell'indirizzo sd1.attacker.com al server DNS della vittima indicando i record NS nella risposta senza dettagliare i server IP NS. Poiché il server NS menzionato non è mai stato incontrato prima e il suo indirizzo IP non è specificato, il risolutore tenta di determinare l'indirizzo IP del server NS inviando una query al server DNS della vittima che serve il dominio di destinazione (victim.com).
Il problema è che l'aggressore può rispondere con un enorme elenco di server NS non ripetitivi con nomi di sottodomini delle vittime fittizi inesistenti (fake-1.victim.com, fake-2.victim.com,... fake-1000. vittima.com). Il risolutore tenterà di inviare una richiesta al server DNS della vittima, ma riceverà una risposta che il dominio non è stato trovato, dopodiché proverà a determinare il server NS successivo nell'elenco e così via finché non avrà provato tutte le Record NS elencati dall'aggressore. Di conseguenza, per la richiesta di un utente malintenzionato, il risolutore invierà un numero enorme di richieste per determinare gli host NS. Poiché i nomi dei server NS vengono generati in modo casuale e fanno riferimento a sottodomini inesistenti, non vengono recuperati dalla cache e ogni richiesta dell'aggressore si traduce in una raffica di richieste al server DNS che serve il dominio della vittima.
I ricercatori hanno studiato il grado di vulnerabilità dei risolutori DNS pubblici al problema e hanno scoperto che quando si inviano query al risolutore CloudFlare (1.1.1.1), è possibile aumentare il numero di pacchetti (PAF, Packet Amplification Factor) di 48 volte, Google (8.8.8.8) - 30 volte, FreeDNS (37.235.1.174) - 50 volte, OpenDNS (208.67.222.222) - 32 volte. Si osservano indicatori più evidenti
Livello3 (209.244.0.3) - 273 volte, Quad9 (9.9.9.9) - 415 volte
SafeDNS (195.46.39.39) - 274 volte, Verisign (64.6.64.6) - 202 volte,
Ultra (156.154.71.1) - 405 volte, Comodo Secure (8.26.56.26) - 435 volte, DNS.Watch (84.200.69.80) - 486 volte e Norton ConnectSafe (199.85.126.10) - 569 volte. Per i server basati su BIND 9.12.3, a causa della parallelizzazione delle richieste, il livello di guadagno può arrivare fino a 1000. In Knot Resolver 5.1.0, il livello di guadagno è di circa diverse decine di volte (24-48), poiché la determinazione di I nomi NS vengono eseguiti in sequenza e si basano sul limite interno del numero di passaggi di risoluzione dei nomi consentiti per una richiesta.
Esistono due principali strategie di difesa. Per sistemi con DNSSEC
Fonte: opennet.ru