Serangan DNS SAD anyar pikeun nyelapkeun data palsu kana cache DNS

Tim peneliti ti University of California, Riverside parantos nyebarkeun varian anyar tina serangan DNS SAD (CVE-2021-20322) anu tiasa dianggo sanaos panyalindungan ditambah taun ka tukang pikeun meungpeuk kerentanan CVE-2020-25705. Metodeu anyar umumna sami sareng kerentanan taun ka tukang sareng ngan ukur béda dina ngagunakeun pakét ICMP anu béda pikeun pariksa palabuhan UDP aktip. Serangan anu diusulkeun ngamungkinkeun substitusi data fiktif kana cache server DNS, anu tiasa dianggo pikeun ngagentos alamat IP tina domain sawenang dina cache sareng alihan pamundut ka domain ka server panyerang.

Metodeu anu diusulkeun ngan ukur tiasa dianggo dina tumpukan jaringan Linux kusabab sambunganna kana ciri-ciri mékanisme ngolah pakét ICMP dina Linux, anu bertindak salaku sumber bocor data anu nyederhanakeun penentuan nomer port UDP anu dianggo ku server pikeun ngirim hiji pamundut éksternal. Parobihan anu meungpeuk kabocoran inpormasi diadopsi kana kernel Linux dina ahir Agustus (perbaikan ieu kalebet dina kernel 5.15 sareng apdet Séptémber kana cabang LTS kernel). Perbaikan éta ngagentos nganggo algoritma hashing SipHash dina cache jaringan tinimbang Jenkins Hash. Status ngalereskeun kerentanan dina distribusi tiasa ditaksir dina halaman ieu: Debian, RHEL, Fedora, SUSE, Ubuntu.

Numutkeun kana panaliti anu ngaidentipikasi masalahna, sakitar 38% tina solvers kabuka dina jaringan rentan, kalebet jasa DNS populér sapertos OpenDNS sareng Quad9 (9.9.9.9). Sedengkeun pikeun parangkat lunak pangladén, serangan tiasa dilakukeun ku ngagunakeun pakét sapertos BIND, Unbound sareng dnsmasq dina server Linux. Masalahna henteu muncul dina server DNS anu dijalankeun dina sistem Windows sareng BSD. Pikeun suksés ngalaksanakeun serangan, perlu ngagunakeun spoofing IP, i.e. Diperlukeun yén ISP panyerang henteu meungpeuk pakét nganggo alamat IP sumber palsu.

Salaku panginget, serangan DNS SAD ngalangkungan panyalindungan anu ditambahkeun kana server DNS pikeun meungpeuk metode karacunan cache DNS klasik anu diusulkeun dina 2008 ku Dan Kaminsky. Metoda Kaminsky ngamanipulasi ukuran leutik widang ID query DNS, nu ngan 16 bit. Pikeun milih identifier urus DNS anu bener dipikabutuh pikeun spoofing ngaran host, éta cukup pikeun ngirim kira 7000 requests sarta simulate ngeunaan 140 sarébu réspon fiktif. Serangan éta dugi ka ngirim sajumlah ageung pakét kalayan beungkeutan IP fiktif sareng kalayan identifier urus DNS anu béda-béda ka DNS resolver. Pikeun nyegah cache tina respon kahiji, unggal respon dummy ngandung ngaran domain rada dirobah (1.example.com, 2.example.com, 3.example.com, jsb).

Pikeun ngajaga ngalawan jenis ieu serangan, produsén server DNS ngalaksanakeun distribusi acak tina jumlah port jaringan sumber ti mana requests resolusi dikirim, nu ngimbangan ukuran insufficiently badag tina identifier nu. Saatos nerapkeun panyalindungan pikeun ngirim réspon fiktif, salian milih identifier 16-bit, janten kedah milih salah sahiji 64 sarébu palabuhan, anu ningkatkeun jumlah pilihan pikeun pilihan 2 ^ 32.

Metodeu DNS SAD ngamungkinkeun anjeun sacara radikal nyederhanakeun tekad nomer port jaringan sareng ngirangan serangan kana metode Kaminsky klasik. Panyerang tiasa ngadeteksi aksés ka palabuhan UDP anu henteu dianggo sareng aktip ku ngamangpaatkeun inpormasi bocor ngeunaan kagiatan palabuhan jaringan nalika ngolah pakét réspon ICMP. Metoda ieu ngamungkinkeun urang pikeun ngurangan jumlah pilihan pilarian ku 4 ordo gedena - 2 ^ 16 + 2 ^ 16 tinimbang 2 ^ 32 (131_072 tinimbang 4_294_967_296). Bocor informasi nu ngidinan Anjeun pikeun gancang nangtukeun port UDP aktip disababkeun ku cacad dina kode pikeun ngolah pakét ICMP kalawan requests fragméntasi (ICMP Fragméntasi Diperlukeun bandéra) atawa redirection (ICMP Redirect bandéra). Ngirim pakét sapertos ngarobah kaayaan cache dina tumpukan jaringan, nu ngamungkinkeun pikeun nangtukeun, dumasar kana respon server urang, nu port UDP aktip tur nu henteu.

Skenario Serangan: Lamun DNS resolver nyoba pikeun ngabéréskeun ngaran domain, éta ngirimkeun query UDP ka server DNS porsi domain. Nalika solver ngantosan réspon, panyerang tiasa gancang nangtukeun nomer port sumber anu dianggo pikeun ngirim pamundut sareng ngirim réspon palsu ka éta, nyamar server DNS anu ngalayanan domain nganggo spoofing alamat IP. Resolver DNS bakal cache data dikirim dina respon palsu sarta pikeun sawatara waktu bakal balik alamat IP diganti ku panyerang pikeun sakabéh requests DNS séjén pikeun ngaran domain.

sumber: opennet.ru

Tambahkeun komentar