Vrste napada na DNS — zašto se bezbednosti jednog od ključnih internet servisa ne pridaje dovoljno pažnje?

Jedno istraživanje je pokazalo da je 2018. godine čak 77 odsto organizacija bilo meta napada na DNS, a da je 33 odsto pretrpelo krađu podataka preko DNS-a.

Marko Marković - 3. Decembar, 2019.

Poznato je da je IP adresa ono što omogućava saobraćaj između računara na internetu. Svaki računar na mreži ima svoju javnu IP adresu dodeljenu od strane provajdera, vezanu za fizičku lokaciju na kojoj se nalazi uređaj. Dakle, slično principu na koji se dodeljuje poštanski adresni kod (PAK).

Međutim, koncept IP adresa služi pre svega računarima. Budući da se sastoji od dugačkog niza cifara, teško da bi mogla da se nađe osoba koja bi upamtila ove nizove za sve veb-strane i servise koje koristi.

Upravo zbog toga postoji i DNS — sistem naziva domena (eng. Domain Name Server) — koji koristi slovne oznake umesto brojeva. Svaka javna IP adresa sastavljena od cifara nalazi se u „imeniku” i ima svoj par — adresu izraženu slovima. Upravo je DNS ono što omogućava ljudima da s lakoćom posete sajt koji su planirali. Jednostavno, lakše je zapamtiti startit.rs nego 85.17.12.65.

Iako jedan od ključnih internet servisa, DNS-u je tek od nedavno počelo da se pridaje malo više pažnje. Nažalost, razlog su neke rupe u bezbednosti koje DNS nosi sa sobom.

DNS se od svog nastanka vrlo malo menjao, pa zbog toga često predstavlja laku metu napadača. Ukoliko je DNS loše konfigurisan ili neobezbeđen, može biti zloupotrebljen na niz različitih načina.

Kao što je pomenuto na početku IP adrese su vezane za fizičku lokaciju. Ukoliko promenite mesto stanovanja, pa makar koristili i isti uređaj i istog internet provajdera, vaša IP adresa će se promeniti. Očigledno je da bi bilo veoma nezgodno kada bi pri svakoj promeni lokacije vaš sajt ili vaša e-mail adresa dobili novi naziv. Upravo to je druga uloga DNS-a — odvajanje servisa od njegove lokacije.

Kako i koliko često se DNS napada?

Istraživanje koje je sprovela kompanija EfficientIP pokazalo je da je 2018. godine čak 77 odsto organizacija bilo meta napada na DNS, a da je 33 odsto pretrpelo krađu podataka preko DNS-a. Zavisno od nivoa zaštite servisa koji je napadnut, ljudi zaduženi za bezbednost to mogu primetiti odmah, ali pravi problem nastaje kada prođu nedelje ili čak meseci pre nego što se napad uoči. Zbog toga isto istraživanje procenjuje da je prosečna „cena” DNS napada 715.000 dolara.

Uprkos ovako visokim procentima, bezbednosti DNS-a se ne pridaje dovoljno pažnje, pre svega od strane administratora i ljudi koji su zaduženi za bezbednost računarskih sistema. Kako postoje mnogo „interesantnije” teme vezane za funkcionisanje interneta, DNS-u se ne poklanja ni preterana medijska pažnja, kao što se ne poklanja ni dovoljna pažnja edukaciji korisnika.

Naravno, postoje i drugi faktori, koji su usađene mane ovog sistema. Spomenuli smo da je uloga DNS-a i da razdvoji servis od njegove lokacije. Naravno, ne postoji osoba koja pre svake posete svakoj vebstranici proveri IP adresu i uporedi je sa fizičkom lokacijom servera. Ukoliko servis kome korisnik pristupa nije obezbeđen, lako je naslutiti kako ovo može da se zloupotrebi.

U nastavku ćemo pojasniti kako funkcionišu neki od uobičajenih napada na DNS.

„Kidnapovanje” domena

Kidnapovanje DNS-a (eng. Domain hijacking) je opšti termin koji se odnosi na svaki napad u kome je cilj da se prevari krajnji korisnik da pomisli da komunicira sa legitimnom IP adresom vezanom za ime domena kada zapravo komunicira sa IP adresom koju je napadač postavio.

Najjednostavnije rečeno, ova vrsta napada uključuje promene u vašem DNS serveru i registru domena, tako da se saobraćaj sa originalnog servera preusmeri na novu lokaciju. Korisnik to ne može da primeti pošto mu se prikazuje identična kopija sajta kome je hteo da pristupi. Naziv domena je isti, jedino je promenjena IP adresa.

Ovo se radi kako bi se krajnji korisnik naterao da pristupi neautorizovanoj verziji sajta. Često se biraju sajtovi na kojima se od korisnika zahteva da unese osetljive podatke, koje napadač onda krade. Ipak, to nije jedini način da se izvuče korist iz kidnapovanja domena. Na primer, kada se korisnik preusmeri na sajt sa velikim brojem pop-up reklama, generiše se profit za vlasnika te stranice.

Napadač koji želi da otme domen mora da dobije pristup detaljima iz registra domena servisa koji napada. Kada dobije potpunu kontrolu, može da zloupotrebi ime domena, kao i da izmeni lične, tehničke i administrativne detalje svih domena koji se nalaze u vlasništvu jednog naloga.

Napadači koriste niz metoda da dobiju pristup ovim detaljima. Od pravljenja phishing stranica, preko provale u registar domena ili kroz neko od brojnih masovnih otkrivanja privatnih podataka korisnika od strane određenih servisa. Postoje naravno i old school tehnike, poput instaliranja keylogger-a koji beleži sve što se kuca na tastaturi ili zvanja telefonom, lažnog predstavljanja kao osobe od autoriteta i traženja osetljivih podataka da bi se, na primer, „verifikovali podaci o nalogu”.

Postoji i lakši način da se postigne isti efekat, koji ne uključuje komplikovane tehnike. Malver koji se instalira na lokalnom računaru menja TCP/IP konfiguraciju tako da korisnika upućuje na zlonamerni DNS server, koji onda preusmerava saobraćaj na maliciozni sajt. Za ovu metodu postoji veliki broj automatizovanih skripti.

Google je bio žrtva kidnapovanja DNS-a u 2017. godini, iako je napad kratko trajao, napadač je imao dovoljno vremena da načini štetu Google korisnicima.

Uskraćivanje servisa

Denial-of-Service (DoS) su napadi koji za cilj imaju da se onemogući upotreba napadnutog servisa — usporavanjem rada zbog preplavljenosti saobraćajem ili potpunim obaranjem servisa. Ukoliko napad dolazi sa jedne IP adrese, relativno je lako odbraniti se. Međutim, ako se napad distribuiše tako da dolazi sa hiljada IP adresa, nastaju ozbiljni problemi. Takva vrsta napada se naziva DDoS — distribuisano uskraćivanje servisa.

Napadači pomoću malvera zaraze uređaje na velikom broju IP adresa, koji na taj način postaju deo botneta — mreže botova, tj. uređaja čije funkcije kontroliše napadač. Kada dobiju kontrolu, napadači preusmeravaju saobraćaj na sajt koji žele da onesposobe. Važno je napomenuti da je moguće da vaš uređaj učestvuje u jednom od ovih napada, a da toga niste ni svesni.

DDoS napadi predstavljaju posebnu muku za one koji žele da se odbrane. Kako je napadač sakriven iza mnogo sistema, gotovo je nemoguće da bude identifikovan. Takođe, praktično je nemoguće da se koriste filteri koji će blokirati maliciozni saobraćaj, pošto on dolazi sa izvora rasprostranjenih širom sveta.

Slična vrsta napada, mada mnogo efikasnija, naziva se DRDoS — reflektovani DDoS. Ideja je da se zaraženi uređaji nateraju da šalju legitimne zahteve servisu koji se napada. Na primer, sajt koji služi za prodaju nekih proizvoda nudi opciju slanja cenovnika u PDF formatu. Zahtev da dobijete taj cenovnik je „težak” nekoliko bajtova, ali odgovor sajta ima više od megabajta. Kada se broj ovih zahteva pomnoži sa brojem zaraženih uređaja, efekat je mnogo destruktivniji nego kod običnih DDoS napada.

Jedan od primera je i memcached DRDoS napad, koji koristi DNS amplifikaciju.

Tokom DRDoS-a napadači će zapravo pokušati da prevare sistem tako da se pomenuti zahtevi šalju sa njegovih servera. Tako svoju adresu, sa koje napad zapravo dolazi, menjaju sa adresom žrtve, pa njihove sopstvene mašine odgovaraju i preplavljuju saobraćaj. Ovi napadi mogu biti „pojačani” raznim metodama, pa se jedan DNS zahtev od 60 bajtova može konfigurisati tako da izazove odgovor od 4.000 bajtova — pojačanje u razmeri 70 prema 1.

Najpoznatiji servis dinamičkog DNS-a je 2016. godine bio žrtva ogromnog DDoS napada koji je napravio velike probleme na globalnoj DNS mreži.

Trovanje keša

Lokalni DNS serveri, najčešće pri internet provajderu ili organizaciji, imaju zadatak da „razreše” vaš upit. Drugim rečima, oni prevode ime domena koje ste uneli u IP adresu. Njihova druga uloga je da ubrzaju čitav proces. Ukoliko se nekom servisu pristupa često, lokalni DNS server ga skladišti u keš (cache) memoriji, pa mu svaki sledeći put lakše pristupa. Računari koji vrše ovaj zadatak se nazivaju DNS resolveri.

Kod nedovoljno zaštićenih sistema napadači mogu da prevare (zatruju) DNS resolvere tako da u keš memoriji skladište maliciozni sajt umesto onog koji želite da posetite. Pored krajnjeg korisnika, trovanje jednog DNS servera može da utiče i na sve ostale DNS servere koji koriste napadnuti za razrešavanje DNS upita. U sledećih nekoliko sati (koliki je „životni vek” svakog unosa u DNS resolver) sav saobraćaj napadnutog servera i svih hijerarhijski nižih servera će biti preusmeren tamo gde napadač želi.

Kako se izvršava ovaj napad? Istovremenim slanjem velikog broja upita i lažnih odgovora, gde se napadač predstavlja kao autoritativni server za odabrani domen. Da bi DNS server prihvatio odgovor kao važeći, on mora da sadrži isti broj porta koji se nasumično generiše prilikom upita. Upravo to je cilj napadača — ukoliko uspe da pogodi broj porta i pošalje lažni odgovor na upit pre nego što autoritativni server pošalje pravi odgovor, uspešno će zatrovati keš. Zato napadači i šalju veliki broj upita — tako povećavaju sebi šanse da pogode broj porta, ali i usporavaju DNS resolver dovoljno da njihov lažan odgovor stigne prvi.

Ovom metodom je moguće pratiti čitavu komunikaciju između dve strane, čak i menjati sadržaj poruka koje se šalju. Kada napadač presretne čitavu razmenu informacija, taj napad se odgovarajuće naziva Man in the Middle („čovek u sredini”).


U izradi teksta nam je pomogao Daniel Maksimovic, analitičar sigurnosti za aplikacije u LearnUpon-u.