Serangan DNS SAD anyar kanggo nglebokake data palsu menyang cache DNS

Tim peneliti saka Universitas California, Riverside wis nerbitake varian anyar saka serangan DNS SAD (CVE-2021-20322) sing bisa digunakake sanajan ana proteksi sing ditambahake taun kepungkur kanggo ngalangi kerentanan CVE-2020-25705. Cara anyar iki umume padha karo kerentanan taun kepungkur lan beda mung ing nggunakake macem-macem jinis paket ICMP kanggo mriksa port UDP aktif. Serangan sing diusulake ngidini substitusi data fiktif menyang cache server DNS, sing bisa digunakake kanggo ngganti alamat IP domain sewenang-wenang ing cache lan ngarahake panjalukan menyang domain menyang server penyerang.

Cara sing diusulake mung dianggo ing tumpukan jaringan Linux amarga ana hubungane karo kekhasan mekanisme pangolahan paket ICMP ing Linux, sing dadi sumber kebocoran data sing nyederhanakake penentuan nomer port UDP sing digunakake dening server kanggo ngirim request external. Owah-owahan sing ngalangi kebocoran informasi diadopsi menyang kernel Linux ing pungkasan Agustus (perbaikan kasebut kalebu ing kernel 5.15 lan nganyari September kanggo cabang LTS saka kernel). Perbaikan kasebut mudhun kanggo ngalih nggunakake algoritma hashing SipHash ing cache jaringan tinimbang Jenkins Hash. Status ndandani kerentanan ing distribusi bisa ditaksir ing kaca iki: Debian, RHEL, Fedora, SUSE, Ubuntu.

Miturut peneliti sing ngenali masalah kasebut, kira-kira 38% saka solvers mbukak ing jaringan rentan, kalebu layanan DNS populer kayata OpenDNS lan Quad9 (9.9.9.9). Kanggo piranti lunak server, serangan bisa ditindakake kanthi nggunakake paket kayata BIND, Unbound lan dnsmasq ing server Linux. Masalah ora katon ing server DNS sing mlaku ing sistem Windows lan BSD. Kanggo sukses nindakake serangan, perlu nggunakake spoofing IP, i.e. dibutuhake ISP panyerang ora mblokir paket kanthi alamat IP sumber palsu.

Minangka pangeling, serangan DNS SAD ngliwati proteksi sing ditambahake menyang server DNS kanggo mblokir metode peracunan cache DNS klasik sing diusulake ing 2008 dening Dan Kaminsky. Cara Kaminsky manipulasi ukuran cilik saka kolom ID query DNS, sing mung 16 bit. Kanggo milih pengenal transaksi DNS sing bener sing perlu kanggo spoofing jeneng host, cukup kanggo ngirim kira-kira 7000 panjalukan lan simulasi babagan 140 ewu tanggapan fiktif. Serangan kasebut mudhun kanggo ngirim akeh paket kanthi ikatan IP fiktif lan pengenal transaksi DNS sing beda menyang solver DNS. Kanggo nyegah cache saka respon pisanan, saben respon dummy ngemot jeneng domain sing rada diowahi (1.example.com, 2.example.com, 3.example.com, etc.).

Kanggo nglindhungi saka jinis serangan iki, produsen server DNS ngleksanakake distribusi acak saka nomer port jaringan sumber saka panjalukan resolusi dikirim, kang menehi ganti rugi kanggo ukuran insufficiently gedhe saka pengenal. Sawise ngleksanakake proteksi kanggo ngirim respon fiktif, saliyane kanggo milih pengenal 16-dicokot, dadi perlu kanggo milih salah siji saka 64 ewu bandar, kang nambah nomer pilihan kanggo pilihan kanggo 2 ^ 32.

Metode SAD DNS ngidini sampeyan kanthi radikal nyederhanakake penentuan nomer port jaringan lan nyuda serangan menyang metode Kaminsky klasik. Penyerang bisa ndeteksi akses menyang port UDP sing ora digunakake lan aktif kanthi njupuk kauntungan saka informasi sing bocor babagan aktivitas port jaringan nalika ngolah paket respon ICMP. Cara kasebut ngidini kita ngurangi jumlah pilihan panelusuran kanthi 4 urutan gedhene - 2^16+2^16 tinimbang 2^32 (131_072 tinimbang 4_294_967_296). Kebocoran informasi sing ngidini sampeyan nemtokake port UDP kanthi cepet amarga cacat kode kanggo ngolah paket ICMP kanthi panjaluk fragmentasi (Fragmentation ICMP Needed flag) utawa redirection (gendera ICMP Redirect). Ngirim paket kuwi ngganti negara cache ing tumpukan jaringan, kang ndadekake iku bisa kanggo nemtokake, adhedhasar respon server, kang port UDP aktif lan kang ora.

Skenario Serangan: Nalika solver DNS nyoba kanggo mutusake masalah jeneng domain, iku ngirim pitakonan UDP menyang server DNS porsi domain. Nalika solver ngenteni respon, panyerang bisa kanthi cepet nemtokake nomer port sumber sing digunakake kanggo ngirim panjalukan lan ngirim tanggapan palsu, nyamar dadi server DNS sing nglayani domain kasebut nggunakake spoofing alamat IP. Penyelesai DNS bakal nyimpen data sing dikirim ing respon palsu lan sawetara wektu bakal ngasilake alamat IP sing diganti dening panyerang kanggo kabeh panjalukan DNS liyane kanggo jeneng domain.

Source: opennet.ru

Add a comment