Sulm i ri SAD DNS për të futur të dhëna false në cache DNS

Një ekip studiuesish nga Universiteti i Kalifornisë, Riverside ka publikuar një variant të ri të sulmit SAD DNS (CVE-2021-20322) që funksionon pavarësisht mbrojtjeve të shtuara vitin e kaluar për të bllokuar cenueshmërinë CVE-2020-25705. Metoda e re është përgjithësisht e ngjashme me cenueshmërinë e vitit të kaluar dhe ndryshon vetëm në përdorimin e një lloji të ndryshëm të paketave ICMP për të kontrolluar portet aktive UDP. Sulmi i propozuar lejon zëvendësimin e të dhënave fiktive në memorien e serverit DNS, e cila mund të përdoret për të zëvendësuar adresën IP të një domeni arbitrar në cache dhe për të ridrejtuar kërkesat në domen në serverin e sulmuesit.

Metoda e propozuar funksionon vetëm në grupin e rrjetit Linux për shkak të lidhjes së saj me veçoritë e mekanizmit të përpunimit të paketave ICMP në Linux, i cili vepron si një burim i rrjedhjes së të dhënave që thjeshton përcaktimin e numrit të portit UDP të përdorur nga serveri për të dërguar një kërkesë e jashtme. Ndryshimet që bllokojnë rrjedhjen e informacionit u miratuan në kernelin Linux në fund të gushtit (rregullimi u përfshi në përditësimet e kernelit 5.15 dhe shtatorit në degët LTS të kernelit). Rregullimi përfundon në kalimin në përdorimin e algoritmit të hashimit SipHash në memoriet e rrjetit në vend të Jenkins Hash. Statusi i rregullimit të cenueshmërisë në shpërndarje mund të vlerësohet në këto faqe: Debian, RHEL, Fedora, SUSE, Ubuntu.

Sipas studiuesve që identifikuan problemin, rreth 38% e zgjidhësve të hapur në rrjet janë të cenueshëm, duke përfshirë shërbimet e njohura DNS si OpenDNS dhe Quad9 (9.9.9.9). Sa i përket softuerit të serverit, një sulm mund të kryhet duke përdorur paketa të tilla si BIND, Unbound dhe dnsmasq në një server Linux. Problemi nuk shfaqet në serverët DNS që funksionojnë në sistemet Windows dhe BSD. Për të kryer me sukses një sulm, është e nevojshme të përdoret mashtrimi IP, d.m.th. kërkohet që ISP-ja e sulmuesit të mos bllokojë paketat me një adresë IP të rreme me burim.

Si kujtesë, sulmi SAD DNS anashkalon mbrojtjet e shtuara në serverët DNS për të bllokuar metodën klasike të helmimit të cache DNS të propozuar në 2008 nga Dan Kaminsky. Metoda e Kaminsky manipulon madhësinë e vogël të fushës ID të pyetjes DNS, e cila është vetëm 16 bit. Për të zgjedhur identifikuesin e saktë të transaksionit DNS të nevojshëm për mashtrimin e emrit të hostit, mjafton të dërgoni afërsisht 7000 kërkesa dhe të simuloni rreth 140 mijë përgjigje fiktive. Sulmi zbret në dërgimin e një numri të madh paketash me një lidhje fiktive IP dhe me identifikues të ndryshëm transaksionesh DNS te zgjidhësi DNS. Për të parandaluar ruajtjen në memorie të përgjigjes së parë, çdo përgjigje rreme përmban një emër domaini pak të modifikuar (1.example.com, 2.example.com, 3.example.com, etj.).

Për t'u mbrojtur nga ky lloj sulmi, prodhuesit e serverëve DNS zbatuan një shpërndarje të rastësishme të numrave të porteve të rrjetit burim nga të cilat dërgohen kërkesat për rezolucionin, të cilat kompensuan madhësinë e pamjaftueshme të identifikuesit. Pas zbatimit të mbrojtjes për dërgimin e një përgjigje fiktive, përveç zgjedhjes së një identifikuesi 16-bit, u bë e nevojshme të zgjidhej një nga 64 mijë portet, gjë që rriti numrin e opsioneve për përzgjedhje në 2^32.

Metoda SAD DNS ju lejon të thjeshtoni rrënjësisht përcaktimin e numrit të portit të rrjetit dhe të reduktoni sulmin në metodën klasike Kaminsky. Një sulmues mund të zbulojë aksesin në portet UDP të papërdorura dhe aktive duke përfituar nga informacioni i rrjedhur në lidhje me aktivitetin e porteve të rrjetit kur përpunon paketat e përgjigjes ICMP. Metoda na lejon të zvogëlojmë numrin e opsioneve të kërkimit me 4 rend të madhësisë - 2^16+2^16 në vend të 2^32 (131_072 në vend të 4_294_967_296). Rrjedhja e informacionit që ju lejon të përcaktoni shpejt portat aktive UDP shkaktohet nga një defekt në kodin për përpunimin e paketave ICMP me kërkesa për fragmentim (flamuri i nevojshëm për fragmentimin ICMP) ose ridrejtimi (flamuri i ridrejtimit ICMP). Dërgimi i paketave të tilla ndryshon gjendjen e cache-it në stivën e rrjetit, gjë që bën të mundur përcaktimin, bazuar në përgjigjen e serverit, se cila portë UDP është aktive dhe cila jo.

Skenari i sulmit: Kur një zgjidhës DNS përpiqet të zgjidhë një emër domeni, ai dërgon një pyetje UDP në serverin DNS që i shërben domenit. Ndërsa zgjidhësi është duke pritur për një përgjigje, një sulmues mund të përcaktojë shpejt numrin e portit të burimit që është përdorur për të dërguar kërkesën dhe t'i dërgojë asaj një përgjigje të rreme, duke imituar serverin DNS që i shërben domenit duke përdorur mashtrimin e adresës IP. Zgjidhësi DNS do të fshehë të dhënat e dërguara në përgjigjen e rreme dhe për ca kohë do të kthejë adresën IP të zëvendësuar nga sulmuesi për të gjitha kërkesat e tjera DNS për emrin e domenit.

Burimi: opennet.ru

Shto një koment