Nová varianta útoku SAD DNS pro vkládání falešných dat do DNS cache.

Skupina výzkumníků z Kalifornské univerzity v Riverside publikovala novou variantu útoku SAD DNS (CVE-2021-20322), který funguje i přes ochranu přidanou minulý rok za účelem zablokování zranitelnosti CVE-2020-25705. Nová metoda je v zásadě podobná loňské zranitelnosti a liší se pouze použitím jiného typu ICMP paketů k ověřování aktivních UDP portů. Navrhovaný útok umožňuje substituci falešných dat do cache DNS serveru, což lze využít k nahrazení IP adresy libovolné domény v cache a přesměrování žádostí na doménu na server útočníka.

Navrhovaná metoda je funkční pouze v síťovém stacku Linuxu kvůli vazbě na specifickou vlastnost mechanismu zpracování ICMP paketů v Linuxu, který je zdrojem úniků dat, usnadňujících identifikaci čísla UDP portu, který byl použit serverem pro odeslání externího požadavku. Změny, které blokují únik informací, byly přidány do jádra Linuxu na konci srpna (oprava byla zahrnuta ve verzi jádra 5.15 a zářijových aktualizacích LTS větví jádra). Oprava spočívá v přechodu na používání algoritmu hashování SipHash místo Jenkins Hash v síťových cache. Status odstranění zranitelnosti v distribucích lze posoudit na těchto stránkách: Debian, RHEL, Fedora, SUSE, Ubuntu.

Podle údajů, které zjistili výzkumníci, je zranitelnosti vystaveno přibližně 38 % otevřených resolverů v síti, včetně populárních DNS služeb, jako jsou OpenDNS a Quad9 (9.9.9.9). Co se týče serverového softwaru, útok může být proveden pomocí na Linuxovém serveru takových balíčků, jako jsou BIND, Unbound a dnsmasq. Na DNS serverech spuštěných pomocí systémů Windows a BSD se problém neprojevuje. Pro úspěšné provedení útoku je nezbytné použít spoofing IP, tj. je potřeba, aby poskytovatel útočníka neblokoval pakety s falešnou výchozí IP adresou.

Připomínáme, že útok SAD DNS umožňuje obejít ochranu, která byla přidána do DNS serverů za účelem zablokování klasické metody otravy mezipamětí DNS, navržené v roce 2008 Danem Kaminským. Kaminského metoda manipuluje s malou velikostí pole s identifikačním číslem DNS dotazu, které má pouze 16 bitů. K vyhledání správného identifikátoru DNS transakce potřebného pro spoofing názvu hostitele stačí odeslat přibližně 7000 dotazů a simulovat asi 140 tisíc falešných odpovědí. Útok spočívá v odesílání velkého množství paketů k DNS resolveru s falešnou vazbou na IP a s různými identifikátory DNS transakce. Aby se předešlo mezipaměťování první odpovědi, v každé falešné odpovědi je uvedeno mírně pozměněné jméno domény (1.example.com, 2.example.com, 3.example.com atd.).

Pro ochranu před tímto typem útoku výrobci DNS serverů implementovali náhodné rozdělení čísel výchozích síťových portů, ze kterých se odesílají dotazy na rozlišení, což kompenzovalo nedostatečně velkou velikost identifikátoru. Po implementaci ochrany navíc k odhadu 16bitového identifikátoru bylo třeba také vybrat jeden ze 64 tisíc portů, což zvýšilo počet možností pro odhad na 2^32.

Metoda SAD DNS umožňuje zásadně zjednodušit určení čísla síťového portu a převést útok na klasickou metodu Kaminského. Útočník může zjistit přístup k nevyužívaným a aktivním UDP portům tím, že využije únik informací o aktivitě síťových portů při zpracování odpovědních ICMP paketů. Tato metoda umožňuje snížit počet možností pokusu o 4 řády – 2^16+2^16 místo 2^32 (131_072 místo 4_294_967_296). Únik informací, které umožňují rychlé určení aktivních UDP portů, je způsoben nedostatkem v kódu zpracování ICMP paketů s požadavky na fragmentaci (flag ICMP Fragmentation Needed) nebo přesměrování (flag ICMP Redirect). Odeslání takových paketů mění stav mezipaměti v síťovém zásobníku, což umožňuje na základě reakce serveru určit, který z UDP portů je aktivní a který není.

Scénář útoku: Když DNS resolver se pokouší určit doménové jméno, odešle UDP dotaz na obsluhující doménový DNS server. V okamžiku, kdy resolver očekává odpověď, může útočník rychle zjistit číslo původního portu, které bylo použito k odeslání dotazu, a poslat na něj falešnou odpověď, vydávaje se za obsluhující doménový DNS server prostřednictvím spoofingu. IP adresDNS resolver uloží do cache informace přenesené v falešné odpovědi a nějakou dobu na všechny ostatní DNS dotazy doménového jména bude vracet podstrčenou IP adresu útočníka.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster