DDoS napad

Kažemo da se radi o DDoS napadu kada se veliki broj kompromitovanih mašina, inficiranih zlonamernim kodom, sinhronizovano i pod kontrolom jednog napadača koristi za iscrpljivanje resursa sistema‑žrtve i uskraćivanje usluga njegovim korisnicima. Kako ti napadi izgledaju i kako se boriti protiv njih?

Postoje dve osnovne vrste DDoS napada: standardni DDoS napadi i reflektovani DDoS (koristi se i skraćenic DRDoS) napadi. U standardnom DDoS napadu napadač šalje naredbu „armiji zombija“ (botnetu), koju je kreirao širenjem zlonamernog koda, i pokreće napad na sistem žrtve. Svaki agent (zombi), koristeći svoje računarske i mrežne resurse, počinje da šalje veliki broj paketa ka sistemu žrtve, preplavljujući (engleski flooding) njegove resurse. U većini DDoS napada koriste se lažne (spoofed) IP adrese kako žrtva ne bi mogla da prati pravi izvor napada, ali i iz razloga smanjenja mogućnosti da žrtva uspešno filtrira zlonamerni saobraćaj na fajervolu (firewall).

Za razliku od standardnog DDoS napada, reflektovani ili DRDoS napadi se izvode tako što armija zombija šalje veliki broj paketa sa lažnom IP adresom žrtve, na sisteme koji pružaju legitimnu uslugu (reflektore), zahtevajući da odgovor pošalju ka sistemu žrtve. Ovakva vrsta napada je mnogo destruktivnija od standardnog DDoS napada jer je moguće „angažovati“ mnogo više reflektorskih sistema nego što ima zombija i na taj način znatno povećati količinu saobraćaja usmerenu ka sistemu žrtve.

Poslednjih nekoliko godina DNS sistemi se koriste za specifičnu vrstu reflektorskih napada, a to su pojačani DDoS (amplified DDoS) napadi. U ranijim tekstovima je pomenuto da su DNS upiti mnogo manji (i do nekoliko stotina puta) od odgovora koje šalju DNS serveri. Loše konfigurisani DNS serveri koji dozvoljavaju javnu rekurziju (svima šalju odgovore i na DNS upite za koje nisu autoritativni) bili su korišćeni u nekoliko najvećih DDoS napada. Veoma je bitno da administratori sistema provere svoje DNS servere i konfigurišu ih tako da DNS odgovore za koje nisu autoritativni šalju samo određenoj grupi korisnika. Nedavna analiza RNIDS‑a, u saradnji sa RCUB‑om (Računski centar Univerziteta u Beogradu), pokazala je da skoro 10.000 DNS servera, koji se koriste u .RS i .SRB domenskim prostorima, dozvoljavaju javnu rekurziju. U svetu ima više od 20 miliona takvih servera.

Borba protiv DDoS‑a

Do danas nije razvijen siguran metod koji omogućava uspešnu odbranu od DoS/DDoS napada. Napadači mnogo brže pronalaze nove i naprednije metode za realizaciju napada, nego što efikasni odbrambeni sistemi mogu da budu implementirani. Iako su mnoge kompanije koje ulažu desetine miliona dolara na bezbednost sistema bile izložene uspešnim DDoS napadima, to ne znači da ne treba ništa raditi na povećanju sigurnosti sistema i preventivno delovati u cilju ublažavanja efekata napada.

Slika 1. Re­flek­to­va­ni DDoS na­pad (DRDoS)

Postoje tri nivoa zaštite od DDoS napada: nivo korisnika, nivo transmisije i nivo sistema.

  • Na nivou korisnika treba raditi na edukaciji i podizanju svesti o potencijalnim opasnostima, ne samo po sisteme samih korisnika, već i o mogućnostima da nezaštićeni sistemi mogu biti iskorišćeni za napad na druge sisteme na internetu.
  • Implementacija filtera koji sprečavaju prenos paketa podataka sa lažnom IP adresom (Network Ingress Filtering RFC 2827) omogućila bi detekciju izvora napada i efikasniju zaštitu daleko od sistema žrtve. Takođe, dobra saradnja sa internet provajderima i njihovim nad‑provajderima na filtriranju neželjenog saobraćaja obezbedila bi nesmetan rad sistema žrtve. Kada su u pitanju napadi koji za cilj imaju zagušenje komunikacionih linkova, ograničavanje saobraćaja i filtriranje paketa daleko od sistema žrtve je i jedini efikasan način za umanjenje ili eliminisanje efekata DoS/DDoS napada.
  • Konačno, na nivou samog sistema potrebno je obezbediti dovoljno resursa za ključne servise koje sistem pruža korisnicima. Treba implementirati efikasne sisteme za filtriranje i ograničavanje neželjenog saobraćaja koji predstavlja opasnost za nesmetan rad sistema.

Cache poisoning napadi

U najvećem broju slučajeva korisnici umreženih računara koriste DNS servis svoje kompanije ili internet provajdera. Lokalni DNS serveri imaju prevashodni zadatak da poboljšaju i ubrzaju proces razrešenja DNS upita (uparivanje naziva internet servisa sa odgovarajućom IP adresom računara koji pruža traženi servis) kroz „pamćenje“ ranije dobijenih odgovora na DNS upite (caching). Već smo pominjali značaj DNS servisa i moguće posledice po korisnike ukoliko je ovaj servis nedostupan ili mu se prosledi pogrešna informacija o IP adresi traženog internet servisa.

Slika 2. Ca­che po­iso­ning na­pad

Odavno je poznata ranjivost DNS sistema vezana za izmenu ranije zapamćenih odgovora na DNS upite. Ovakva vrsta zlonamernog delovanja je poznata kao „trovanje keša“ (cache poisoning). Ova tehnika može biti korišćena za preusmeravanje korisnika na internet servise koje kontroliše napadač, a da sam korisnik nije svestan da usluga ili sadržaj nisu autentični. Suština ove vrste napada je u tome da napadač svojom aktivnošću izmeni zapamćen („keširan“) sadržaj na kešing DNS serveru. Uspešno izveden cache poisoning napad na jedan DNS server može imati negativan uticaj, ne samo na direktne korisnike servisa, već i na hijerarhijski niže DNS servere koji koriste napadnuti DNS server za razrešavanje DNS upita.

Slika 3. Sekventa upita za različite nazive domena

10:54:12.423228 192.168.1.2.33748 > 66.218.71.63.53: 21345 [1au] A? www.yahoo.com. (42) (DF)

10:54:21.313293 192.168.1.2.33748 > 216.239.38.10.53: 53735 [1au] A? www.google.com. (43) (DF)

10:54:27.182852 192.168.1.2.33748 > 149.174.213.7.53: 19315 [1au] A? www.netscape.com. (45) (DF)

10:54:43.252461 192.168.1.2.33748 > 66.35.250.11.53: 43129 [1au] A? www.linux.com. (42) (DF)

Slika 4. Za­vi­snost ve­ro­vat­no­će us­pe­ha na­pa­da od bro­ja pa­ro­va upit‑od­go­vor

Napadač šalje veliki broj upita za odabrani domen ka DNS serveru koji je napadnut i istovremeno šalje lažne odgovore predstavljajući se kao autoritativni DNS server za taj domen. Ukoliko odgovor od napadača stigne pre odgovora autoritativnog servera, DNS server će zapamtiti pogrešan odgovor i u periodu važenja (TTL – time to live) zapamćenog DNS zapisa, prosleđivati ga korisnicima kao validan.

Slika 5. Je­dnos­ta­van MTM na­pad

Da bi napad bio uspešan napadač mora da pošalje veliki broj DNS upita DNS serveru koji napada i da u isto vreme šalje jednak broj lažnih odgovora. Nove generacije DNS servera kao validan DNS odgovor prihvataju odgovor koji u sebi sadrži tačan broj transakcije (transaction ID) i broj porta koji se generiše metodom slučajnih brojeva.

Paradoks rođendana

Koncept uspešno izvedenih napada baziran je na teoremi iz teorije verovatnoće poznatom kao paradoks rođendana (Birthday Paradox), koji kaže da je verovatnoća da u grupi od 23 ljudi dvoje ili više njih ima rođendan istoga dana veća od 50%. Opšta definicija teoreme kaže da ako su ulazne vrednosti neke funkcije brojevi dobijeni metodom slučajnih brojeva i kao rezultat daje jednu od i jednako verovatnih vrednosti, tada će se ista vrednost u rezultatu pojaviti nakon 1.2×sqrt(i) ponavljanja (paradoks rođendana je specijalni slučaj teoreme, za i=365).

Broj transakcije je 16 bitni broj što znači da napadač slanjem n odgovora, na jedan upit, ima n/65536 šanse da pogodi tačan broj transakcije. Ukoliko primenimo opisanu teoremu na slučajno generisani broj transakcije i uzmemo u obzir činjenicu da DNS serveri generišu višestruke upite ka autoritativnom DNS serveru za isti domen, moguće je znatno povećati verovatnoću da lažni odgovor koji šalje napadač sadrži tačan broj transakcije. Verovatnoća uspešnog pogađanja broja transakcije računa se po formuli gde je t broj mogućih vrednosti (u našem slučaju 65536), a n je broj upita i lažnih odgovora koje napadač šalje. Za razliku od standarnog računanja, gde je verovatnoća uspeha n/65536 (za n=700 poslatih odgovora verovatnoća bi bila 1,07%), upotrebom birthday attack metoda će 700 poslatih upita, uz isto toliko lažnih odgovora, dati blizu 100% verovatnoću da će napadač pogoditi broj transakcije. Zavisnost verovatnoće uspeha od broja parova upit‑odgovor data je na grafiku. Vidimo da sa samo 300 poslatih upita i lažnih odgovora (ovo ne zahteva posebne računarske resurse i internet konekciju) napadač ima 50% šanse za uspeh.

Tok napada

Nalaženje tačne IP adrese servera je lako: napadač zna metu napada i poznate su mu adrese autoritativnih servera za domen čiji zapis pokušava da lažira. Ostaje najteži zadatak da napadač nađe odgovarajući port koji se podudara sa brojem porta koji napadnuti DNS server šalje u svom upitu ka autoritativnim DNS serverima za traženi domen. Iako se broj porta generiše metodom slučajnog broja, DNS server će najčešće upotrebiti isti port za upite koji dolaze od istog klijenta. Ako napadač ima pristup nekom od autoritativnih DNS servera za bilo koji domen, on će najpre DNS serveru koji napada poslati upit za domen za koji je autoritativan server koji on kontroliše, a zatim upotrebiti isti taj port u lažnim odgovorima za domen čije pogrešne podatke pokušava da ubaci u memoriju napadnutog servera. Pogledajmo sekvencu upita za različite nazive domena od strane istog klijenta na slici 3:

Vidi se da sve linije imaju isti broj porta (33748) iako su upiti bili vezani za različite domene. Napadaču sada jedino preostaje da njegovi lažni odgovori stignu pre pravog odgovora koji je poslao autoritativni DNS server za domen čije pogrešne podatke pokušava da utisne u memoriju napadnutog DNS servera. Napadači najčešće pri realizaciji ovakve vrste napada preplavljuju autoritativne servere ogromnim brojem upita kako bi ih usporili ili potpuno onemogućili da validan DNS odgovor stigne pre lažnog.

Uspešno upisivanje lažnih DNS podatke u memoriju kešing servera otvara niz različitih mogućnosti za zloupotrebu. Preusmeravanje saobraćaja na web strane koje kontroliše napadač i koje izgledaju potpuno isto kao original ili preusmeravanje e‑mail poruka ka serveru napadača. Posebno je opasna mogućnost preusmeravanja celokupnog internet saobraćaja, takozvani Man in The Midle (MTM) napad, gde napadač presreće kompletnu komunikaciju napadnutog domena i ima pristup i mogućnost da menja sadržaj poruka koje dve strane razmenjuju.

Iako su ovakve vrste napada poznate od početka devedesetih godina prošlog veka, većina DNS servera još uvek je ranjiva i nema adekvatnu zaštitu. Najnovije verzije DNS softvera imaju povećan nivo zaštite od cache poisoning napada. Takođe, veoma je bitno da DNS serveri budu konfigurisani tako da DNS upite na koje će odgovarati primaju samo od određene grupe korisnika, a ne od bilo kog korisnika na Internetu. U ovom trenutku najviši nivo zaštite DNS servisa, od ovakve vrste napada, predstavlja DNSSEC (sigurnosna ekstenzija za kriptovanu proveru autentičnosti DNS odgovora).

 

Tekst je realizovan u saradnji s Registrom nacionalnog internet domena Srbije (RNIDS)

Žarko Kecić

(Objavljeno u PC#245)

Pogledajte i: Video nadzor Srbija – Portal Videonadzor.Net
Facebook komentari: