FreeBSD, IPneti ja Nucleus NETi haavatavused, mis on seotud vigadega DNS-i tihendamise rakendamisel

Uurimisrühmad Forescout Research Labs ja JSOF Research on avaldanud ühisuuringu tulemused DNS-, mDNS-, DHCP- ja IPv6 RA-sõnumitesse dubleerivate nimede pakkimiseks kasutatava tihendusskeemi erinevate rakenduste turvalisuse kohta (duplikaatnimede pakkimine sõnumitesse). mis sisaldavad mitut nime). Töö käigus tuvastati 9 turvaauku, mis on kokku võetud koodnime NAME:WRECK alla.

Probleemid on tuvastatud FreeBSD-s, aga ka võrgu alamsüsteemides IPnet, Nucleus NET ja NetX, mis on laialt levinud VxWorksi, Nucleuse ja ThreadX reaalajas operatsioonisüsteemides, mida kasutatakse automaatikaseadmetes, salvestusseadmetes, meditsiiniseadmetes, avioonikas ja printerites. ja olmeelektroonika. Arvatakse, et haavatavused mõjutavad vähemalt 100 miljonit seadet.

  • FreeBSD haavatavus (CVE-2020-7461) võimaldas korraldada selle koodi täitmist, saates ohvriga samas kohtvõrgus asuvatele ründajatele spetsiaalselt loodud DHCP-paketi, mille töötlemine haavatava DHCP-kliendi poolt viis. puhvri ülevooluni. Probleemi leevendas asjaolu, et dh-kliendi protsess, milles haavatavus oli, töötas lähtestamisõigustega isoleeritud Capsicumi keskkonnas, mis nõudis väljumiseks teise haavatavuse tuvastamist.

    Vea olemus seisneb parameetrite vales kontrollis, DHCP-serveri poolt DHCP-valikuga 119 tagastatud paketis, mis võimaldab „domeeniotsingu“ loendi lahendada. Pakkimata domeeninimede mahutamiseks vajaliku puhvri suuruse vale arvutamine viis selleni, et ründaja juhitud teave kirjutati eraldatud puhvrist kaugemale. FreeBSD-s lahendati probleem eelmise aasta septembris. Probleemi saab ära kasutada ainult siis, kui teil on juurdepääs kohalikule võrgule.

  • RTOS VxWorksis kasutatava manustatud IPneti võrgupinu haavatavus võimaldab DNS-i sõnumite tihendamise ebaõige käitlemise tõttu võimalikku koodi käivitamist DNS-kliendi poolel. Nagu selgus, tuvastas Exodus selle haavatavuse esmakordselt 2016. aastal, kuid seda ei parandatud kunagi. Uus päring Wind Riverile jäi samuti vastuseta ja IPneti seadmed jäävad haavatavaks.
  • Siemensi toetatud Nucleus NET TCP/IP-virnas tuvastati kuus haavatavust, millest kaks võivad viia koodi kaugkäitamiseni ja neli teenuse keelamiseni. Esimene ohtlik probleem on seotud veaga tihendatud DNS-sõnumite lahtipakkimisel ja teine ​​on seotud domeeninimesiltide vale sõelumisega. Mõlemad probleemid põhjustavad spetsiaalselt vormindatud DNS-i vastuste töötlemisel puhvri ületäitumist.

    Turvaaukude ärakasutamiseks peab ründaja lihtsalt saatma spetsiaalselt loodud vastuse igale haavatavast seadmest saadetud seaduslikule päringule, näiteks korraldades MTIM-i rünnaku ja segades DNS-serveri ja ohvri vahelist liiklust. Kui ründajal on juurdepääs kohalikule võrgule, saab ta käivitada DNS-serveri, mis üritab rünnata probleemseid seadmeid, saates levirežiimis mDNS-i päringuid.

  • ThreadX RTOS-i jaoks välja töötatud NetX-i võrgupinu (Azure RTOS NetX) haavatavus, mis avati 2019. aastal pärast selle ülevõtmist Microsofti poolt, piirdus teenuse keelamisega. Probleemi põhjuseks on viga tihendatud DNS-sõnumite sõelumisel lahendaja juurutamisel.

Testitud võrgupinudest, milles DNS-sõnumite korduvate andmete tihendamisega seotud haavatavusi ei leitud, nimetati järgmisi projekte: lwIP, Nut/Net, Zephyr, uC/TCP-IP, uC/TCP-IP, FreeRTOS+TCP , OpenThread ja FNET. Veelgi enam, kaks esimest (Nut/Net ja lwIP) ei toeta DNS-teadete tihendamist üldse, teised aga rakendavad seda toimingut vigadeta. Lisaks märgitakse, et varem olid samad teadlased juba tuvastanud sarnased haavatavused Trecki, uIP ja PicoTCP virnades.

Allikas: opennet.ru

Lisa kommentaar