Pažeidžiamumai detaliai: atskleistos DNS dizaino klaidos detalės

Publikuota: 2008 m. liepos 23 d. trečiadienis

Kompiuterio klaviatūra
Neseniai Dan'as Kaminsky'is, saugumo specialistas, paskelbė aptikęs kritinę DNS protokolo dizaino klaidą. Pranešimas sulaukė didelio atgarsio ir susidomėjimo, DNS programinės įrangos gamintojai suskubo ruošti pataisymus.

Dan'as Kaminsky'is pažeidžiamumo detalių neatskleidė ir pažadėjo jas atskleisti „BlackHat IT“ saugumo konferencijoje. Be abejo, DNS pažeidžiamumas sudomino ir įvairius saugumo specialistus, todėl prasidėjo masinis problemos aptarinėjimas bei pažeidžiamumo detalių paieškos. Realiausią pažeidžiamumo spėjimą pateikė atbulinės grąžos inžinierius Halvar'as Flake'as. Taip pat saugumo specialistų komanda Matasano netyčia savo tinklaraštyje paskelbė tikrąsias pažeidžiamumo detales. Dan'as Kaminsky'is savo tinklaraštyje patvirtino, kad „katė pabėgo iš maišo“. Critical.lt skaitytojams suteikiame progą vieniems pirmųjų įsigilinti į DNS pažeidžiamumo detales.

Pažeidžiamumo išnaudojimo tikslas yra „užnuodyti“ DNS saugomus serverio įrašus. Tai yra, vietoj realaus domeno IP adreso pakišti suklastotą IP adresą ir taip susikurti progą įvairioms tolesnėms atakoms. Pažeidžiamumas yra susijęs su tradicinėmis DNS serverių atmintinės užnuodijimo atakomis ir praktiškai apeina jų išnaudojimo būdų pataisymus.

Kiekvienoje DNS užklausoje yra naudojamas QID – užklausos identifikacijos numeris, kuris užtikrina, jog DNS serveris pateikia atsakymą į tą pačią užklausą: tai yra, kad klientas ir serveris susikalbėtų, tiek užklausoje, tiek atsakyme turi būti tas pats QID. Jeigu įsilaužėliui pavyktų klientui perduoti suklastotą užklausą su teisingu QID greičiau nei tą spės padaryti tikrasis DNS serveris, klientas priimtų tokią užklausą kaip tikrą. Kadangi DNS protokolas buvo sukurtas labai seniai, QID lauko dydis buvo pasirinktas tik 16 bitų, arba 65535 galimų lauko reikšmės variantų. DNS serveriai kiekvienai transakcijai (interneto vardo pavertimo į adresą užklausai ir atsakymui į ją), net tokiai pačiai, sukuria vis skirtingą QID, todėl įsilaužėliai gali pasinaudoti „gimtadienio paradoksu“ paremta ataka ir ganėtinai lengvai atspėti teisingą QID. Įsilaužėliui pakanka bent vienos teisingai atspėtos užklausos, kad galėtų užnuodyti kešuojančio DNS serverio atmintinę.

Atakos scenarijus

Tarkim, kad įsilaužėlis nori užnuodyti DNS serverio ns.pavyzdys.lt atmintį netikru critical.lt domeno IP adresu.
Įsilaužėlis siunčia daugybę DNS užklausų neegzistuojantiems critical.lt subdomenams, pavyzdžiui atsitiktinis0001.critical.lt, atsitiktinis0002.critical.lt ir t.t. Gavęs tokią užklausą, DNS serveris ns.pavyzdys.lt kreipiasi į atsakingą DNS serverį, aptarnaujantį critical.lt domeną ir iš ten gauna atsakymą NXDOMAIN, reiškiantį, jog toks domenas neegzistuoja. Tuo pačiu metu įsilaužėlis bando aplenkti tikrąjį critical.lt domeno DNS serverį siųsdamas daugybę suklastotų DNS užklausų ns.pavyzdys.lt serveriui. Kai galiausiai įsilaužėliui pavyksta atspėti bent vieną QID greičiau nei tikrasis DNS serveris spėja atsiųsti atsakymą, ns.pavyzdys.lt serveris priima suklastotą DNS užklausą su įsilaužėlio pateiktu suklastotu IP adresu. Tarkim, įsilaužėlis vietoje tikro IP pakiša adresą 127.0.0.1. Tada visi klientai, besinaudojantys ns.pavyzdys.lt DNS serveriu ir besikreipiantys adresu atsitiktinis000X.critical.lt bus nukreipti į savo kompiuterį. Aišku, atsitiktinių neegzistuojančių subdomenų užnuodijimas didelės naudos neatneša. Todėl siekiant užnuodyti pasirinktą taikinį, pagelbėti gali DNS paketo papildomas šaltinio įrašas (additional RR), kuriame saugoma papildoma informacija, reikalinga efektyviam DNS atsakymui suformuoti. Šiame įraše galima nurodyti papildomą informaciją apie užklausiamą domeną, pavyzdžiui, galima nurodyti to domeno IP adresą. Saugumo sumetimais tai galima daryti tik tam pačiam domenui, kurio adresą prašoma pateikti DNS užklausoje. Dabar galime nurodyti netikrą critical.lt domeno IP adresą (tačiau negalime nurodyti google.lt) ir tas IP adresas bus įrašytas i DNS serverio atmintinę bei bus ten kol pasibaigs TTL (time to live) galiojimo laikas: visi klientai, naudojantys užnuodytą DNS serverį ir norintys kreiptis į domeną critical.lt gaus netikrą šio vardo IP adresą tol, kol nesibaigs TTL galiojimas. Ši ataka gali būti panaudota, pavyzdžiui, prieš elektroninės bankininkystės vartotojus, siekiant nukreipti juos į suklastotas el. bankininkystės svetaines. Manoma, kad šiai atakai įvykdyti gali užtekti ir maždaug dešimties sekundžių.

Visiems interneto tiekėjams, administratoriams prižiūrintiems DNS serverius rekomenduojama kuo skubiau įsidiegti gamintojų pataisymus arba pereiti prie saugesnės DNS protokolo realizacijos DNSSEC. Beje, dauguma DNS programinės įrangos pataisymų tiesiog atsitiktinai parenka šaltinio prievadą, taip sumažinant užklausos padirbimo galimybę, nes įsilaužėliui tada reikia atspėti ne tik 16 bitų DNS užklausos identifikacjos numerį, bet ir 16 bitų šaltinio prievadą.

Kopijuoti, platinti, skelbti bet kokią portalo News.lt informaciją be raštiško redakcijos sutikimo draudžiama.

facebook komentarai

Naujas komentaras


Captcha

susiję straipsniai

Lietuvoje informacinių ir ryšio technologijų plėtra išlieka stabili (170)

Tarptautinės telekomunikacijų sąjungos duomenimis, Lietuva užima 41 vietą pagal informacinių ir ryšio technologijų plėtrą šalyje. skaityti »

Lapkričio 21 d.– Pasaulinė televizijos diena

Pirmoji televizija atsirado dar 1884 m., o kaip ji pasikeitė iki šiol? skaityti »

Vilnius pateko į klestinčių išmaniųjų miestų 100-uką

Švedų IT bendrovė „Easypark“ ištyrė 500 pasaulio miestų, iš kurių atrinko 100, atitinkančių aukštą technologinį lygį pagal žmogaus potencialo plėtros indeksą. skaityti »

Po sunkių traumų ligoniams atsigauti padeda ir virtuali realybė (27)

Virtualiosios realybės technologija nebėra inovacija, skirta vien tik pramogauti, ją įvertino ir medikai. skaityti »

Kas sukūrė pirmąją kompiuterio programą?

Pirmoji programuotoja gyveno laikais, kai kompiuteriai dar net neegzistavo skaityti »

JAV kuriamas dronas, kuris įvykdęs užduotį tiesiog išnyksta

JAV kuriamas dronas, kuris po užduoties įvykdymo tiesiog išnyksta - mokslinei fantastikai prilyginami reikalavimai buvo išpildyti skaityti »

5 neįtikėtinos inovacijos, greitai tapsiančios mums prieinama realybe

Naujausi technologijų gamintojų išradimai kuriami siekiant ne tik palengvinti žmonių kasdienybę, bet ir praturtinti jų gyvenimus. skaityti »

Holografinis kompiuteris „Microsoft HoloLens“ atkeliavo į Lietuvos rinką

Holografinis kompiuteris „Microsoft HoloLens“ nuo šiol tapo prieinamas dar 29 naujose šalyse. Inovatyviu technologiniu įrenginiu nuo šiol galės džiaugtis ir lietuviai. skaityti »

Ar žinote, kam dar naudojamas šviesolaidinis kabelis?

Šiais laikais išgirdęs žodį „šviesolaidis“ arba „optinis kabelis“ iš karto pagalvoji apie internetą. Tačiau, pasirodo, šviesolaidinis kabelis naudojamas ne tik interneto ryšiui užtikrinti. skaityti »

Lietuviai kurs sistemą, užkertančią neteisėtus ir kenkėjiškus bepiločių orlaivių veiksmus

Nepaisant spartaus plėtros tempo, dronai vis dar laikoma nauja technologija, todėl Europos Sąjungos mastu bepiločių orlaivių naudojimas iki šiol nėra vieningai reglamentuotas. skaityti »