DNS klastojimas yra ataka, nukreipianti vartotojus į netikrą svetainę, o ne į svetainę, kurią jie bando pasiekti. Jis išnaudoja UDP protokolo pažeidžiamumą ir reikalauja apsaugos priemonių, pvz., DNSSEC (domeno vardų sistemos saugos plėtinio), kad to išvengtų.
Domeno vardų sistemos (DNS) klastojimas – tai praktika nukreipti interneto vartotojus į suklastotą svetainę, kai jie bando patekti į svetainę. Tai pasiekiama išverčiant domenų vardus į IP adresus.
Kad prie interneto prijungti kompiuteriai galėtų atpažinti ir bendrauti tarpusavyje, kiekvienas kompiuteris turi turėti unikalų IP adresą, kuris sukuriamas pagal interneto protokolą (IP). Protokolai yra ryšio sutartys, kurias kompiuteriai naudoja duomenims tarpusavyje sujungti ir siųsti, ir yra įdiegtos programinėje arba aparatinėje įrangoje. Šiandien dažniausiai naudojami IP adresai yra pavaizduoti skaičiais keturiuose taškais atskirtuose laukuose, pvz., „***.126.63.1“. Šis adresas neturėtų būti kartojamas ar atsitiktinai pasirinktas, jam turėtų būti priskirtas viešas IP adresas.
Yra dviejų tipų viešieji IP adresai: statiniai IP adresai, kuriuose nuolat naudojamas tas pats numeris, ir dinaminiai IP adresai, kuriuos galima pernumeruoti. Dinaminius IP adresus suteikia protokolas, vadinamas DHCP. DHCP priima užklausas iš kompiuterių, kuriems reikalingas IP adresas, ir jiems jį priskiria, o kai kompiuteris nustoja naudoti IP adresą, adresas grąžinamas, kad jį galėtų naudoti kitas kompiuteris. Kita vertus, yra ir privačių IP adresų, kurie internetu tiesiogiai nepasiekiami ir vieni kitus identifikuoja tik vidiniuose tinkluose.
Internetas veikia remdamasis viešais IP adresais, tačiau kai naudojamės internetu, vietoj IP adresų naudojame domenų vardus, kurie sudaromi iš tokių simbolių kaip „www..“, kad būtų lengviau naudotis. Mums reikia DNS, kad išverstume domenų vardus į IP adresus, o įrenginiai, kuriuose veikia DNS, vadinami vardų serveriais. Jūsų kompiuteryje turi būti įrašytas vardų serverio IP adresas, o jei kompiuteryje su dinaminiu IP adresu vardų serverio IP adresas bus automatiškai įrašytas, kai jis gauna IP adresą, kompiuteryje su statiniu IP adresu vartotojas turės įrašyti vardų serverio IP adresą rankiniu būdu. Interneto paslaugų teikėjai valdo vardų serverius, kuriais dalijasi jų abonentai.
DNS yra esminis interneto komunikacijos komponentas, o greitas ir tikslus domeno vardo vertimas daro didelę įtaką interneto naudotojų patirčiai. DNS našumas ir saugumas yra ypač svarbūs svetainėms ir įmonėms, kurios valdo didelį srautą. Jei DNS serveris sugenda arba yra įsilaužtas, tai gali sukelti didžiulį paslaugos trūkumą. Pavyzdžiui, Dyn DNS ataka 2016 m. padarė sumaištį, panaikindama daugybę pagrindinių svetainių.
Pažiūrėkime, kaip vartotojas paprastai prisijungia prie svetainės. Kompiuteris, bandantis pasiekti svetainę, vadinamas klientu. Kai vartotojas adreso juostoje įveda norimos aplankyti svetainės domeno pavadinimą (arba ieško jo portalo svetainėje ir jį spusteli), klientas siunčia užklausos paketą įrašytiems vardų serveriams, prašydamas įvesti domeno pavadinimą atitinkantį IP adresą. Jei IP adresas yra jo sąraše, vardų serveris siunčia atsakymo paketą, kuris klientui nurodo IP adresą. Atsakymo paketas nurodo, į kurį užklausos paketą jis atsako. Jei IP adresas nenurodytas, vardų serveris siunčia atsakymo paketą, kuris klientui nurodo kito vardų serverio IP adresą, o klientas grįžta į tam vardų serverio užklausos paketą ir pakartoja procesą. Klientas naudoja IP adresą, kad surastų svetainę. Vardų serveriai ir klientai siunčia paketus pirmyn ir atgal naudodami UDP protokolą. Siekdama užtikrinti, kad paketai būtų siunčiami greitai, UDP siunčia paketus tik kitai šaliai ir netikrina, ar jie buvo gauti; ji pasitiki pirmuoju atsakymo paketu, kuris gaunamas pagal tam tikrą užklausos paketą, ir atmeta kitą paketą nepatikrinęs. DNS klastojimas naudojasi šiomis UDP spragomis.
Pažiūrėkime, kaip veikia DNS klastojimas. Kompiuteris, užkrėstas kenkėjišku kodu, kuris atlieka DNS klastojimą, vadinamas užpuoliku. Kai klientas siunčia užklausos paketą vardų serveriui, prašydamas konkretaus IP adreso, paketas persiunčiamas užpuolikui, kuris klientui siunčia atsakymo paketą su netikros svetainės IP adresu. Atsakymo paketas iš užpuoliko pasiekia klientą anksčiau nei atsako paketas iš vardų serverio, o klientas atpažįsta užpuoliko atsakymo paketą kaip teisingą paketą ir nukreipiamas į netikrą svetainę.
Todėl svarbu imtis saugumo priemonių, tokių kaip domeno vardų sistemos saugos plėtinys (DNSSEC), kad būtų išvengta DNS klaidinimo atakų. DNSSEC patikrina DNS duomenų vientisumą ir kilmę, todėl klientai gali patikrinti, ar gaunami duomenys yra patikimi. Tinklo administratoriai taip pat turėtų reguliariai stebėti DNS serverius ir aptikti nenormalią veiklą, kad galėtų nedelsiant reaguoti. Taip pat svarbu, kad galutiniai vartotojai laikytųsi pagrindinės saugos praktikos, pvz., naudotųsi patikima saugos programine įranga ir nesilankytų įtartinose svetainėse.