Obľúbený DNS Forwarder DNSMasq ovplyvňuje súbor závažných nedostatkov

Výskumníci v oblasti kybernetickej bezpečnosti odhalili viacero zraniteľností v Dnsmasq, populárnom softvéri s otvoreným zdrojovým kódom, ktorý sa používa na ukladanie odpovedí systému názvov domén (DNS) do vyrovnávacej pamäte, čím potenciálne umožňuje protivníkovi spustiť útoky na otravu vyrovnávacej pamäte DNS a na diaľku spustiť škodlivý kód.

Sedem nedostatkov, spoločne nazývaných „DNSpooq“ od izraelskej výskumnej firmy JSOF, odráža už skôr odhalené slabé stránky v architektúre DNS, vďaka čomu sú servery Dnsmasq bezmocné voči množstvu útokov.

“Zistili sme, že Dnsmasq je zraniteľný voči útoku DNS cache otravy útočníkom mimo cesty (tj útočníkom, ktorý nesleduje komunikáciu medzi DNS forwarderom a DNS serverom),” uviedli vedci v dnes zverejnenej správe.

“Náš útok umožňuje otravu viacerých doménových názvov naraz a je výsledkom niekoľkých nájdených zraniteľností. Útok možno úspešne dokončiť v priebehu niekoľkých sekúnd alebo niekoľkých minút a nemá žiadne špeciálne požiadavky. Zistili sme tiež, že mnohé inštancie Dnsmasq sú nesprávne nakonfigurované.” počúvať na rozhraní WAN, čo umožňuje útok priamo z internetu.”

Dnsmasq, skratka pre DNS maškaráda, je ľahký softvér s možnosťami presmerovania DNS, ktorý sa používa na lokálne ukladanie záznamov DNS do vyrovnávacej pamäte, čím sa znižuje zaťaženie upstream nameserverov a zvyšuje sa výkon.

K septembru 2020 ich bolo cca 1 JSOF zistil, že milión zraniteľných inštancií Dnsmasq so softvérom zahrnutým v systéme Android smartphones a milióny smerovačov a iných sieťových zariadení od spoločností Cisco, Aruba, Technicolor, Redhat, Siemens, Ubiquiti a Comcast.

Opätovná návšteva Kaminsky Attack a SAD DNS

Koncept otravy DNS cache nie je nový. V roku 2008 bezpečnostný výskumník Dan Kaminsky prezentoval svoje zistenia o rozšírenej a kritickej zraniteľnosti DNS, ktorá útočníkom umožnila spustiť útoky na otravu vyrovnávacej pamäte proti väčšine nameserverov.

Využila základnú konštrukčnú chybu v DNS – môže existovať iba 65 536 možných ID transakcií (TXID) – na zaplavenie servera DNS falošnými odpoveďami, ktoré sa potom ukladajú do vyrovnávacej pamäte a využívajú na nasmerovanie používateľov na podvodné webové stránky.

Identifikátory transakcií boli zavedené ako mechanizmus na zmarenie možnosti, že autoritatívny nameserver by mohol byť zosobnený s cieľom vytvoriť škodlivé odpovede. S týmto novým nastavením DNS resolvery pripojili 16-bitové ID k svojim požiadavkám na nameservery, ktoré potom poslali späť odpoveď s rovnakým ID.

Obmedzenie v ID transakcií však znamenalo, že kedykoľvek sa rekurzívny prekladač dotazuje na autoritatívny nameserver pre danú doménu (napr. www.google.com), útočník by mohol zahltiť prekladač odpoveďami DNS pre niektoré alebo všetky z približne 65 tisíc možných ID transakcií.

Ak záškodnícka odpoveď so správnym ID transakcie od útočníka príde pred odpoveďou od autoritatívneho servera, potom by bola vyrovnávacia pamäť DNS účinne otrávená a vrátila by útočníkovu zvolenú IP adresu namiesto legitímnej adresy, kým bola odpoveď DNS platná. .

Útok spočíval na skutočnosti, že celý proces vyhľadávania nie je overený, čo znamená, že neexistuje žiadny spôsob, ako overiť identitu autoritatívneho servera, a že požiadavky a odpovede DNS používajú namiesto protokolu TCP protokol UDP (User Datagram Protocol), čo uľahčuje sfalšovať odpovede.

Na vyriešenie tohto problému bol ako druhý identifikátor spolu s ID transakcie použitý náhodný UDP port, na rozdiel od samotného použitia portu 53 na vyhľadávanie a odpovede DNS, čím sa zvýšila entropia rádovo v miliardách a pre útočníkov bola prakticky nerealizovateľná. uhádnuť správnu kombináciu zdrojového portu a ID transakcie.

Hoci účinnosť útokov na otravu vyrovnávacou pamäťou bola zasiahnutá v dôsledku vyššie uvedenej randomizácie zdrojových portov (SPR) a protokolov, ako je DNSSEC (Domain Name System Security Extensions), výskumníci minulý november našli „nový“ bočný kanál, ktorý zabráni náhodnému pomocou rýchlostných limitov ICMP ako vedľajšieho kanála na odhalenie, či je daný port otvorený alebo nie.

Útoky – pomenované „SAD DNS“ alebo Side-channel AttackeD DNS – zahŕňajú odoslanie sérií falošných UDP paketov do DNS resolveru, pričom každý je odoslaný cez iný port, a následne použitie ICMP správ „Port Unreachable“ (alebo ich absencia). indikátor na zistenie, či bol splnený limit rýchlosti a prípadne zúženie presného zdrojového portu, z ktorého požiadavka pochádza.

Zapojte viacstupňové útoky, ktoré umožňujú prevzatie zariadenia

Je zaujímavé, že útoky na otravu vyrovnávacej pamäte DNS podrobne opísané v JSOF sa podobajú na SAD DNS v tom, že cieľom troch zraniteľností (CVE-2020-25684, CVE-2020-25685 a CVE-2020-25686) je znížiť entropiu ID transakcií a zdrojový port, ktorý je potrebný na prijatie odpovede.

Výskumníci konkrétne poznamenali, že napriek podpore Dnsmasq pre SPR „multiplexuje viacero TXID na vrchole jedného portu a nespája každý port s konkrétnymi TXID“ a že algoritmus CRC32 používaný na zabránenie spoofingu DNS môže byť triviálne porazený, čo vedie k scenár, kde „útočník potrebuje správne nastaviť ktorýkoľvek z portov a ktorýkoľvek z TXID“.

verzie Dnsmasq 20,78 až 2.82 sa zistilo, že všetky sú ovplyvnené tromi chybami.

Ďalšie štyri zraniteľnosti zverejnené JSOF sú pretečenia vyrovnávacej pamäte založené na halde, čo môže viesť k potenciálnemu vzdialenému spusteniu kódu na zraniteľnom zariadení.

„Tieto zraniteľnosti by mali samy osebe obmedzené riziko, ale stali by sa obzvlášť silnými, pretože sa dajú kombinovať so zraniteľnosťami otrávenia vyrovnávacou pamäťou, aby vytvorili silný útok umožňujúci vzdialené spustenie kódu,“ uviedli vedci.

Ešte horšie je, že tieto slabé stránky môžu byť spojené s inými sieťovými útokmi, ako sú SAD DNS a NAT Slipstreaming, aby sa zaviedli viacstupňové útoky proti prekladačom Dnsmasq počúvajúcim na porte 53. Dokonca aj tie, ktoré sú nakonfigurované tak, aby počúvali iba pripojenia prijaté z internej siete, sú ohrozené, ak sa škodlivý kód prenesie cez webové prehliadače alebo iné infikované zariadenia v rovnakej sieti.

Okrem toho, že sú náchylné na otravu vyrovnávacej pamäte, útoky môžu tiež umožniť zlému aktérovi prevziať kontrolu nad smerovačmi a sieťovým zariadením, organizovať útoky distribuovaného odmietnutia služby (DDoS) podvrátením prevádzky do zákernej domény a dokonca zabrániť používateľom v prístupe. legitímne stránky (reverzné DDoS).

Výskumníci tiež poukázali na možnosť „červového útoku“, pri ktorom mobilné zariadenia pripojené k sieti, ktorá používa infikovaný server Dnsmasq, dostanú zlý záznam DNS a potom sa po pripojení k nej použijú na infikovanie novej siete.

Aktualizujte DNSmasq na 2.83

Dôrazne sa odporúča, aby predajcovia aktualizovali svoj softvér Dnsmasq na najnovšiu verziu (2.83 alebo vyššie), ktoré budú zverejnené neskôr dnes, aby sa znížilo riziko.

Ako riešenie výskumníci navrhujú zníženie maximálneho počtu dotazov, ktoré je možné posielať ďalej, ako aj spoliehanie sa na DNS-over-HTTPS (DoH) alebo DNS-over-TLS (DoT) na pripojenie k upstream serveru.

„DNS je kritický internetový protokol, ktorého bezpečnosť výrazne ovplyvňuje[s] bezpečnosť používateľov internetu,“ uzavreli výskumníci. „Tieto problémy vystavujú sieťové zariadenia riziku kompromitácie a ovplyvňujú milióny používateľov internetu, ktorí môžu trpieť prezentovaným útokom na otravu vyrovnávacou pamäťou.

„Tento vrchol[s] dôležitosť bezpečnosti DNS vo všeobecnosti a bezpečnosti DNS forwarderov zvlášť. Zdôrazňuje tiež potrebu urýchliť nasadenie bezpečnostných opatrení DNS, ako je DNSSEC, zabezpečenie prenosu DNS a súbory cookie DNS.“