Nova SAD DNS-atako por enmeti falsajn datumojn en la DNS-kaŝmemoron

Teamo de esploristoj de la Universitato de Kalifornio, Riverside publikigis novan varianton de la SAD DNS-atako (CVE-2021-20322), kiu funkcias malgraŭ protektoj aldonitaj pasintjare por bloki la vundeblecon CVE-2020-25705. La nova metodo ĝenerale similas al la vundebleco de la pasinta jaro kaj diferencas nur en la uzo de malsama speco de ICMP-pakoj por kontroli aktivajn UDP-havenojn. La proponita atako permesas la anstataŭigon de fikciaj datumoj en la DNS-servila kaŝmemoro, kiu povas esti uzata por anstataŭigi la IP-adreson de arbitra domajno en la kaŝmemoro kaj redirekti petojn al la domajno al la servilo de la atakanto.

La proponita metodo funkcias nur en la Linukso retstako pro sia ligo al la proprecoj de la ICMP-pakaĵa prilaborado-mekanismo en Linukso, kiu funkcias kiel fonto de datumfluo, kiu simpligas la determinon de la UDP-havennombro uzata de la servilo por sendi. ekstera peto. Ŝanĝoj, kiuj blokas informfluon, estis adoptitaj en la Linuksan kernon fine de aŭgusto (la riparo estis inkluzivita en kerno 5.15 kaj septembra ĝisdatigoj al la LTS-filioj de la kerno). La solvo konsistas en ŝanĝi al uzado de la algoritmo de haĉado SipHash en retaj kaŝmemoroj anstataŭ Jenkins Hash. La stato de ripari la vundeblecon en distribuoj povas esti taksita sur ĉi tiuj paĝoj: Debian, RHEL, Fedora, SUSE, Ubuntu.

Laŭ la esploristoj, kiuj identigis la problemon, ĉirkaŭ 38% de malfermitaj solvantoj en la reto estas vundeblaj, inkluzive de popularaj DNS-servoj kiel OpenDNS kaj Quad9 (9.9.9.9). Koncerne al servila programaro, atako povas esti farita uzante pakaĵojn kiel BIND, Unbound kaj dnsmasq sur Linuksa servilo. La problemo ne aperas sur DNS-serviloj kurantaj sur Vindozo kaj BSD-sistemoj. Por sukcese efektivigi atakon, necesas uzi IP-spoofing, t.e. necesas, ke la ISP de la atakanto ne bloku pakaĵetojn kun falsa fonta IP-adreso.

Kiel memorigilo, la SAD DNS-atako preteriras la protektojn aldonitajn al DNS-serviloj por bloki la klasikan DNS-kaŝmemoran venenigan metodon proponitan en 2008 de Dan Kaminsky. La metodo de Kaminsky manipulas la etan grandecon de la DNS-demanda ID-kampo, kiu estas nur 16 bitoj. Por elekti la ĝustan DNS-transakcian identigilon necesan por gastnomo-falsado, sufiĉas sendi proksimume 7000 petojn kaj simuli ĉirkaŭ 140 mil fikciajn respondojn. La atako konsistas en sendi grandan nombron da pakaĵoj kun fikcia IP-ligado kaj kun malsamaj DNS-transakciaj identigiloj al la DNS-solvilo. Por malhelpi kaŝmemoron de la unua respondo, ĉiu imita respondo enhavas iomete modifitan domajnan nomon (1.example.com, 2.example.com, 3.example.com, ktp.).

Por protekti kontraŭ ĉi tiu speco de atako, DNS-servilproduktantoj efektivigis hazardan distribuadon de nombroj da fontretaj havenoj de kiuj rezoluciopetoj estas senditaj, kiuj kompensis por la nesufiĉe granda grandeco de la identigilo. Post efektivigo de protekto por sendado de fikcia respondo, krom elekti 16-bitan identigilon, necesis elekti unu el 64 mil havenoj, kio pliigis la nombron da elektoj al 2^32.

La metodo SAD DNS ebligas al vi radikale simpligi la determinon de la reta haveno-numero kaj redukti la atakon al la klasika metodo Kaminsky. Atakanto povas detekti aliron al neuzataj kaj aktivaj UDP-havenoj utiligante likitajn informojn pri la agado de retaj havenoj dum prilaborado de ICMP-respondpakaĵoj. La metodo permesas al ni redukti la nombron da serĉopcioj je 4 grandordoj - 2^16+2^16 anstataŭ 2^32 (131_072 anstataŭ 4_294_967_296). La liko de informoj, kiu permesas vin rapide determini aktivajn UDP-havenojn, estas kaŭzita de difekto en la kodo por prilaborado de ICMP-pakoj kun fragmentaj petoj (ICMP Fragmentation Needed flago) aŭ alidirektado (ICMP Redirect flago). Sendi tiajn pakaĵojn ŝanĝas la staton de la kaŝmemoro en la reto-stako, kio ebligas determini, surbaze de la respondo de la servilo, kiu UDP-haveno estas aktiva kaj kiu ne.

Atako-Scenaro: Kiam DNS-solvilo provas solvi domajnan nomon, ĝi sendas UDP-demandon al la DNS-servilo servanta la domajnon. Dum la solvanto atendas respondon, atakanto povas rapide determini la fontan havennumeron, kiu estis uzata por sendi la peton kaj sendi falsan respondon al ĝi, personigante la DNS-servilon servantan la domajnon uzante IP-adresfalsadon. La DNS-solvanto konservos la datumojn senditajn en la falsa respondo kaj por iom da tempo resendos la IP-adreson anstataŭigitan de la atakanto por ĉiuj aliaj DNS-petoj por la domajna nomo.

fonto: opennet.ru

Aldoni komenton