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 hè funzionale solu in a pila di rete. Linux per via di a cunnessione cù e peculiarità di u funziunamentu di u mecanismu di trasfurmazione 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 servitore per mandà una dumanda esterna. I cambiamenti chì bluccanu e fughe d'infurmazioni sò stati accettati in u kernel. Linux À a fine d'aostu (a correzione hè stata inclusa in u kernel 5.15 è l'aghjurnamenti di u kernel LTS di settembre). A correzione implica u cambiamentu à l'algoritmu di hashing SipHash per e cache di rete invece di Jenkins Hash. U statu di a correzione di vulnerabilità in e distribuzioni pò esse valutatu nantu à queste pagine: Debian, RHEL, Fedora, SUSE, Ubuntu.
Sicondu i circadori chì anu identificatu u prublema, circa u 38% di i risolutori aperti nantu à a rete sò vulnerabili, cumpresi i servizii DNS populari cum'è OpenDNS è Quad9 (9.9.9.9). In quantu à u software di u servitore, l'attaccu pò esse realizatu aduprendu Linux-pacchetti di servitore cum'è BIND, Unbound, è dnsmasq. Nantu à i servitori DNS chì funzionanu cù Windows è i sistemi BSD, u prublema ùn si manifesta micca. Un attaccu riesciutu richiede una falsificazione di l'IP, vale à dì chì l'ISP di l'attaccante ùn deve micca bluccà i pacchetti cù un indirizzu IP di origine falsificatu.
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 risolutore DNS prova à risolve un nome di duminiu, manda una dumanda UDP à u servitore DNS chì gestisce u duminiu. Mentre u risolutore aspetta una risposta, un attaccante pò determinà rapidamente u numeru di portu d'origine utilizatu per mandà a dumanda è mandà una risposta falsificata, impersonendu u servitore DNS chì gestisce u duminiu aduprendu u spoofing. indirizzi IPU risolutore DNS metterà in cache i dati trasmessi in a risposta falsificata è, per un certu periodu di tempu, restituirà l'indirizzu IP sustituitu da l'attaccante à tutte l'altre richieste DNS per u nome di duminiu.
Source: opennet.ru
