Novu attaccu SAD DNS per inserisce dati falsi in a cache DNS

Un squadra di circadori di l'Università di California, Riverside hà publicatu una nova variante di l'attaccu SAD DNS (CVE-2021-20322) chì funziona malgradu e prutezzione aghjunte l'annu passatu per bluccà a vulnerabilità CVE-2020-25705. U novu metudu hè in generale simili à a vulnerabilità di l'annu passatu è differisce solu in l'usu di un altru tipu di pacchetti ICMP per verificà i porti UDP attivi. L'attaccu prupostu permette a sustituzione di dati fittizi in u cache di u servitore DNS, chì pò esse usatu per rimpiazzà l'indirizzu IP di un duminiu arbitrariu in u cache è redirige e dumande à u duminiu à u servitore di l'attaccante.

U metudu prupostu funziona solu in a pila di rete Linux per via di a so cunnessione cù e peculiarità di u mecanismu di trasfurmazioni di pacchetti ICMP in Linux, chì agisce cum'è una fonte di fuga di dati chì simplifica a determinazione di u numeru di portu UDP utilizatu da u servitore per mandà un dumanda esterna. I cambiamenti chì bloccanu a fuga di l'infurmazioni sò stati aduttati in u kernel Linux à a fini di l'aostu (a correzione hè stata inclusa in u kernel 5.15 è l'aghjurnamenti di settembre à i rami LTS di u kernel). A correzione si riduce à cambià à utilizà l'algoritmu di hashing SipHash in cache di rete invece di Jenkins Hash. U statutu di riparà a vulnerabilità in e distribuzioni pò esse valutatu in queste pagine: Debian, RHEL, Fedora, SUSE, Ubuntu.

Sicondu i circadori chì identificanu u prublema, circa 38% di i resolutori aperti nantu à a reta sò vulnerabili, cumprese i servizii DNS populari cum'è OpenDNS è Quad9 (9.9.9.9). In quantu à u software di u servitore, un attaccu pò esse realizatu utilizendu pacchetti cum'è BIND, Unbound è dnsmasq in un servitore Linux. U prublema ùn appare micca nantu à i servitori DNS in esecuzione in sistemi Windows è BSD. Per fà successu un attaccu, hè necessariu di utilizà IP spoofing, i.e. hè necessariu chì l'ISP di l'attaccu ùn blucca micca i pacchetti cù un indirizzu IP fonte falsu.

Cum'è un ricordu, l'attaccu SAD DNS bypassa e prutezioni aghjuntu à i servitori DNS per bluccà u metudu classicu di avvelenamentu di cache DNS prupostu in 2008 da Dan Kaminsky. U metudu di Kaminsky manipula a piccula dimensione di u campu di l'ID di dumanda DNS, chì hè solu 16 bits. Per selezziunà l'identificatore di transazzione DNS currettu necessariu per u spoofing di u nome d'ospite, hè abbastanza per mandà circa 7000 140 richieste è simulate circa 1 mila risposte fittizie. L'attaccu si riduce à l'inviu di un gran numaru di pacchetti cù una associazione IP fittizia è cù diversi identificatori di transazzione DNS à u resolutore DNS. Per impediscenu a caching di a prima risposta, ogni risposta manichi cuntene un nome di duminiu ligeramente mudificatu (2.example.com, 3.example.com, XNUMX.example.com, etc.).

Per prutezzione di stu tipu d'attaccu, i pruduttori di u servitore DNS implementanu una distribuzione aleatoria di numeri di porti di rete di fonte da quale sò mandati e dumande di risoluzione, chì cumpensu per a dimensione insufficiente di l'identificatore. Dopu avè implementatu a prutezzione per mandà una risposta fittizia, in più di selezziunà un identificatore 16-bit, hè diventatu necessariu di selezziunà unu di 64 mila porti, chì hà aumentatu u numeru di opzioni per a selezzione à 2^32.

U metudu SAD DNS permette di simplificà radicalmente a determinazione di u numeru di portu di a rete è riduce l'attaccu à u metudu classicu Kaminsky. Un attaccu pò detectà l'accessu à i porti UDP inutilizati è attivi apprufittannu di l'infurmazioni filtrate nantu à l'attività di i porti di a rete durante u processu di pacchetti di risposta ICMP. U metudu ci permette di riduce u numeru di l'opzioni di ricerca da 4 ordini di magnitudine - 2^16 + 2^16 invece di 2^32 (131_072 invece di 4_294_967_296). A fuga di l'infurmazioni chì vi permette di determinà rapidamente i porti UDP attivi hè causatu da un difettu in u codice per processà i pacchetti ICMP cù richieste di frammentazione (bandiera ICMP Fragmentation Needed) o redirezzione (bandiera ICMP Redirect). Mandatu tali pacchetti cambia u statu di u cache in a pila di rete, chì permette di determinà, basatu nantu à a risposta di u servitore, quale portu UDP hè attivu è quale ùn hè micca.

Scenariu d'attaccu: Quandu un resolutore DNS prova di risolve un nome di duminiu, manda una dumanda UDP à u servitore DNS chì serve u duminiu. Mentre u resolutore aspetta una risposta, un attaccu pò determinà rapidamente u numeru di u portu fonte chì hè stata utilizata per mandà a dumanda è mandà una risposta falsa, impersoning u servitore DNS chì serve u duminiu utilizendu spoofing di l'indirizzu IP. U resolutore DNS cacherà i dati mandati in a risposta falsa è per qualchì tempu restituverà l'indirizzu IP sustituitu da l'attaccante per tutti l'altri dumande DNS per u nome di duminiu.

Source: opennet.ru

Add a comment