Analiza modernih DDOS metoda (NTP,DNS, SNMP amplification)

Izvor: SIS Wiki
Skoči na: orijentacija, traži

Mediji:Primjer.oggTim: Matej Groznica, Anto Tomaš i Ivana Završki


Sadržaj

DDOS napadi

DDOS napad (eng. Distributed Denial-of-service attack) je vrsta DOS (Denial-of-service ) napada. On predstavlja „poplavu“ nezakonitog prometa koji je poslan na mrežni resurs s jedne ili više IP adresa s ciljem da taj mrežni resurs postane nedostupan. Žrtve DDOS napada su i ciljani sustavi i svi sustavi koji su zlonamjerno korišteni u distribuiranom napadu. DDOS napad predstavlja ozbiljnu sigurnonosnu prijetnju svim tipovima mreža, od jednostavnih mreža poduzeća do kompleksnih korporativnih mreža. Iz razloga što dolazni promet koji preplavljuje žrtve potječe iz više različitih izvora (ponekad i iz više tisuća njih), nemoguće je zaustaviti takav napad blokiranjem jedne IP adrese te otežano je razlikovanje prometa napadača od korisničkog prometa kada je on proširen diljem više mjesta podrijetla.

Postoje različiti tipovi DOS napada, npr. NTP DDOS napad, ICMP floods, teardrop, peer-to-peer,slow read i reflected/spoofed napadi.


NTP amplification

Najveći DDOS napad ikad zabilježen je u veljači 2014., bio je usmjeren protiv tvrtke CloudFlare te pogodio je njezine servere sa sjedištem u SAD-u i Europi. Opseg napada premašio je 400 Gb/s. Napad je koristio NTP (Network Time Protocol), šaljući lažne zahtjeve za sinkronizaciju na NTP servere što je prouzročilo da oni vrate bujicu odgovora na ciljane web stranice.


NTP amplification je tip DDOS napada u kojem napadač iskorištava javno dostupni NTP poslužitelj kako bi preplavio metu UDP prometom.

NTP protokol je jedan od najstarijih mrežnih protokola, a koriste uređaji povezani na Internet kako bi točno podesili svoje satove. Ranjivost ovog protokola je u tome što dozvoljava slanje upita NTP poslužitelju o povezanim klijentima i njihovom prometu. Ako se ti upiti pošalju masovno, mogu prouzročiti preveliki promet, rušeći metu poput tipičnog DDOS napada. Ta ranjivost NTP-a omogućuje da su NTP amplification napadi slični DNS napadima iskorištavajući naredbu u protokolu „MONLIST“ . Ta naredba vraća IP adrese posljednjih 600 uređaja povezanih na server. Odgovor je mnogo veći od poslanog zahtjeva što ga čini idealnim za amplification napad. Ti zahtjevi poslani s krivotvorenom adresom žrtve, šalju bujicu podataka natrag na stranicu koja je meta napada (zahvaljujući tzv. „spoofing-u“ IP adrese napadača može se prikazati kao da zapravo žrtva napada generira te neželjene (spam) zahtjeve) što vodi do smanjenja usluge za legitimne zahtjeve. Zbog toga se ova taktika napada često zove “reflection and amplification”napad (napad refleksijom i umnažanjem). Refleksija se odnosi na izazivanje odgovora sa poslužitelja na lažnu IP adresu, a amplifikacija, u ovom kontekstu, na izazivanje odgovora od servera koji je neproporcionalan veličini orginalnog poslanog zahtjeva. U NTP amplification napadu, omjer veličine zahtjeva naprema veličini odgovora je između 20:1 i 200:1 i više.


Osnovni tijek NTP Amplification napada

Osnovi tijek NTP napada može se vidjeti na slici ispod.

Tijek NTP Amplification napada.JPG

1. Napadač s IP adresom 60.70.80.90 šalje monlist zahtjev brzine prijenosa 5 mbps, spoofa izvorišnu IP adresu kao IP 123.123.123.1 iskoristivom NTP serveru.

2. Server šalje odgovor brzine prijenosa 15 Mbps meti s IP adresom 123.123.123.1, a ne napadaču čija je IP adresa 60.70.80.90

3. Propusnost mete napada je 10 Mbps i ona nije u mogućnosti koristiti svoju internetsku vezu zbog pretjeranog zasićenja zbog monlist poplave brzine 15 Mbps

Kada se ovaj proces ponovi sa više različitih klijenata i NTP servera, tada je to NTP amplification DDOS napad.


Zaštita NTP servera protiv upotrebe u amplification napadima

Mrežni operateri mogu smanjiti učinkovitost NTP napada ako konfiguriraju firewall da blokira vanjske zahtjeve.

Koraci zaštite vlastitog NTP servera prema https://www.transip.eu/question/699-protect-server-against-amplification-attacks/

1. Prvo je potrebno provjeriti da je operacijski sustav ažuriran i da su sve nadogradnje instalirane 2. Potrebno je provjeriti je li vlastiti NTP server ranjiv (Linux/FreeBSD server):

                         ntpd –version

Ova naredba će ispisati verziju NTP-a. Mora biti 4.2.7p26 ili viša.

Također može se napraviti i:

       pokrenuti naredba  ntpdc -n -c monlist localhost

Ako ova naredba ispiše listu serverskih adresa, Vaš server odgovara na monlist napad.

3. Ako je Vaš NTP server ranjiv, da bi poduzeli hitnu akciju savjetuje se isključivanje „monlist“ funkcionalnosti dodavanjem sljedećih linija u ntp.conf datoteku:

           restrict -4 default nomodify nopeer noquery notrap
           restrict -6 default nomodify nopeer noquery notrap
           disable monitor

Isto tako, ako nije potrebno da Vaš NTP server odgovara na Vašu javnu IP adresu, dodajte u tu datoteku (ntp.config): restrict 127.0.0.1

        restrict ::1

4. Ne zaboravite reboot-ati NTP deamon kako pi primjenili promjene.

            /etc/init.d/ntp restart

5. Pokrenite slijedeću naredbu kako bi provjerili da Vaš NTP server više nije ranjiv:

          ntpdc -n -c monlist localhost

NTP napadi u porastu

Napadi refleksijom su bili glavno uporište DDoS alata i botneta, ali korištenje NTPa u takvim napadima je relativno novo. Recimo, u usporedbi s DNS amplification napadima, NTP šalje puno manju količinu podataka u odgovoru na zahtjeve, no kako su uloženi veliki napori da se DNS amplification napadi spriječe te je smanjenjem broj otvorenih DNS poslužitelja dostupnih napadačima njihova učestalost se smanjuje. Istovremeno, postoji preko 3000 aktivnih poslužitelja javnog vremena konfiguriranih da odgovaraju na NTP zahtjeve te postoji još mnogo vremenskih poslužitelja u manjim mrežama koji su otvoreni za vanjske zahtjeve pa NTP napadima raste popularnost.

NTP napadi nisu usmjereni prema nekom određenom sektoru, već ciljaju različita područja kao što su telekomunikacije, mediji, financije, obrazovanje, sigurnost, gaming i SaaS provideri.

DNS napadi

DNS (eng. Domain Name System) je distribuirani hijerarhijski sustav internet poslužitelja u kojemu se nalaze informacije, kako mu i ime kaže, o domenskim nazivima, odnosno o povezanosti IP adresa i njihovih logičkih (simboličkih) imena. Dio DNS poslužitelja nazvan rješavač (eng. Resolver) koristi se za pretraživanje informacija o imenima, bilo u cacheu samog DNS poslužitelja, bilo traženjem same informacije od drugog DNS poslužitelja. DNS Backbone DDoS napad je napad u kojem se napadač koristi DDoS napadom kako bi razbio jedan ili više DNS poslužitelja. DNS (eng. Domain Name System) poslužitelj služi za prevođenje tekstualnih imena poslužitelja u IP adrese. Izvođenje ovog napada može biti vrlo štetno jer dolazi do velikog gubitka prometa. Izvođenje ovakvog napada je zapravo potpuno isto kao i tipičan DDoS napad ali je žrtva DNS poslužitelj. Način na koji se izvodi DNS napad je preko slanja upita DNS resolveru. Ukoliko resolver zna odgovor na naš upit (jer ga je netko prije nas pitao, on odgovara na naš upit. Ako ne zna odgovor, tada se naš zahtjev prosljeđuje autoritativnom DNS-u za domenu. U dobrim slučajevima, DNS resolveri odgovaraju na upite samo od klijenata našeg davatelja usluga (eng. ISP, Internet Service Provider). Na veliku žalost postoje puno loše konfiguriranih DNS resolvera koji prihvaćaju upit od svih internet korisnika. Oni se nazivaju otvoreni poslužitelji (resolveri u ovom slučaju). Na sljedećem linkumože se provjeriti ažurirana tablica takvih resolvera. DNS upiti su najčešće poslani pomoću UDP protokola. UDP protokol je poznat po tome što ne zahtjeva rukovanje nego se samo pošalje (nema potvrde odakle zapravo paket dolazi). Što bi u našem slučaju značilo da ukoliko napadač krivotvori zaglavlje UDP paketa i kaže da dolazi sa određene IP adrese koju ima namjeru napasti, otvoreni DNS resolver će odgovoriti na krivotvorenu IP adresu sa odgovorom na upit. Kako bi zagušio promet, napadač treba samo priupitati pitanje koje će rezultirati sa velikim odgovorom kao što je upit za sve DNS zapise za određenu zonu. Skraćeno, napadač, sa vrlo malim UDP zahtjevom te korištenjem otvorenih DNS resolvera može zaguštiti metu sa velikim prometom.

Ublažavanje DNS DDoS napada

Jedna od velikih ironija kada se susretnemo s ovim napadima je ta što često dobijemo mail od vlasnika mreže gdje je otvoreni DNS resolver gdje nas zamole da smirimo napad na našu mrežu jer se on reflektira i na njih. Oni to vide kao poslane velike UDP pakete sa jedne od naših IP adresa kao izvor koji dolazi do njihove mreže te automatski pretpostavljaju da smo mi ti koji ih šalju. Što u stvarnosti nije slučaj jer je njihova mreža ta koja je iskorištena kako bi se napalo nas. Odlična je mogućnost to što možemo odgovoriti i zamoliti ih da blokiraju sve DNS zahtjeva upućene sa naše stranice jer naš IP nikad nije ni trebao uputiti DNS zahtjev njihovom resolveru. Ne samo da to rješava njihov problem, nego to znači da broj otvorenih resolvera za nas time postaje manji. Veliki napor je uložen da se očiste otvoreni DNS resolveri koji su trenutno aktivni. Nažalost, to ide jako sporo. Dok se mi svim mukama trudimo zaštititi našu mrežu, potrebno je prvo riješiti se svih otvorenih DNS resolvera koji nam nikako ne idu u prilog.

Primjer načina zaštite korištenjem usluge CloudFlare

CloudFlare je usluga koja omogućuje ubrzano i osigurava vaše web mjesto. CloudFlare se ponaša kao proxy između vaših posjetitelja i servera. Korištenjem CloudFlare-a može se osigurati vaša web stranica od strane zlobnih posjetitelja, ali i ubrzati prosječno učitavanje vaše stranice.

Način obrane

CloudFlare omogućuje obranu vaše mreže od više vrsta napada, a to su redom:

-DDoS napadi 3. i 4. sloja

-DNS amplificirani (umnoženi napadi)

-SMURF napadi

-ACK napadi

-DDoS napadi 7. sloja

Cloudf1.jpg

Slika: Ilustracija rada CloudFlare servisa

Način obrane od DDoS napada 3. i 4. sloja

Većina DDoS napada usmjerena je na mrežni i transportni sloj OSI modela. Cilj ovih napada je onemogućavanje switcheva i mrežnih servera. U ovom slučaju štetni paketi najčešće dolaze sa više izvora pa im je teže stati u kraj. CloudFlare tu staje na kraj na način što on štetni promet prihvaća na svoju mrežu te tako apsorbira sam napad.

DNS amplificirani napadi

Ova vrsta napada postaje sve poopularnija. CloudFlare uspješno i rutinski ublažava napade koji prelaze i preko 100 Gbps, a nedavno je obranila i kupca od napada koji je dosegao 300 Gbps, onog napada koji je New York Times prozvao najvećim DDoS napadom u povijesti interneta.

Cloudf2.jpg

Slika : DNS amplificirani napad prije korištenja CloudFlare-a

Cloudf3.jpg

Slika : DNS amplificirani napad poslije korištenja CloudFlare-a

Kao što se može vidjeti na ilustracijama iznad, CloudFlare uspješno razaznaje prave od lažnih zahtjeva te na taj način omogućuje neometani pristup vašoj stranici.

CloudFlare još brani od više vrsta napada na vaše web mjesto, ali njih nećemo sada spominjati tu. Kao što se može vidjeti, uz relativno malo napora moguće je serversko okruženje dovesti na dosta sigurnu razinu i to uz znatno poboljšanje performansi sustava. Velika mana mu je dosta visoka cijena, ali ukoliko imate popularnu stranicu, ponekad je bolje spriječiti nego liječiti.

SNMP

Prije nego krenemo govoriti o SNMP napadima, trebali bi reći što je i za što je zadužen zapravo SNMP. Simple Network Management Protocol je protokol aplikacijskog sloja najčešće korišten za upravljanje uređajima s IP adresama kao što su ruteri, hubovi, printeri, modemi, IP video kamere, alarmi, web i drugi aplikacijski serveri. SNMP šalje podatke o komponentama uređaja, mjerama uređaja, očitanjima senzora i druge varijable sustava.

Snmp arhitektura.png


Komunikacija može biti jednosmjerna ili dvosmjerna unutar bilo kojeg uređaja ili senzora koji podržava prijenos SNMP protokola. Agenti su softverski moduli, koji se nalaze na podržanom uređaju. Upravljački softver je modul koji prikuplja, prikazuje i upravlja informacijama na podržanom uređaju.

SNMP poruka

Strukturu SNMP poruke možemo vidjeti na sljedećoj slici. Agent šalje informacije na osnovu dva stanja, a to je ili kao odgovor na zahtjev SNMP upravljačkog softvera ili kada se pojavi „trap event“.

Snmp poruka.png

Slika: "SNMP poruka [10]

PDU tip može biti jedno od sljedećeg [6]:

GetRequest – Zahtjev za jednom ili više varijabli od agenta

SetRequest – Zahtjev agentu da zamijeni vrijednosti od jedne ili više varijabli

GetNextRequest – Zahtjev agentu da pronađe odgovarajuće varijale i njihove vrijednosti

GetBulkRequest – Zahtjev agentu za vračanje podataka u jedinicama

Response – Zahtjev agenta prema upravljačkom softveru, a vraća varijabilne vezove te potvrde za PDU-ove

Trap – Obavijest agenta upravljačkom softveru, uključuje trenutnu sysUpTime vrijednost i opcionalne varijabilne vezove

InformRequest – Potvrdna asinkrona obavijest od upravljačkog do upravljačkog softvera ili pak od agenta do upravljačkog softvera

Kada su SNMP zahtjevi konfigurirani na uređaju, uređaj je postavljen na slušanje SNMP upita koji odgovaraju čitanju ili pisanju „community“ nizova od dotičnog uređaja. Zajednički nizovi su vrsta pristupnog koda poslani kao text.

Sigurnosni izazovi SNMP protokola

Za početak možemo vidjeti opće uvjete koji pogoduju napadima:

• Neke mreže ne izvode filtriranje prolaza, što korisnicima tih mreža omogućuje spoofanje paketa

• Mreža ima hostove zaražene malverima te su pod kontrolom bot mreža

• Neki ruteri komuniciraju sa defaultno upaljenim SNMP protokolima

Time dolazimo do saznanja da su ranjivi su na „brute force“ i „dictionary“ napade. Podrijetlo prijenosa se ne može provjeriti stoga je ranjiv i na IP spoofing . Isto tako, određene verzije, ranjive su na presretanje, otkrivanje i modifikaciju sadržaja. Krajnji korisnici tipično pristupaju Internetu koristeći ruter, kako bi dopustili brojnim uređajima spajanje na Internet. A samim time zapravo ne znaju, niti ih zanima što je zapravo SNMP ili što njegovo paljenje zapravo znači. DDoS napadi se događaju kada su uređaji, koji imaju pokrenut SNMP, korišteni za usmjeravanje velike količine prometa meti, čija je IP adresa spoofana u SNMP zahtjevu. Koraci napada:

• Iniciranje napada

• Distribucija

• Refleksija

• Amplifikacija

Smnp napad1.png

Izvor: http://broabandtrafficmanagement.blogspot.com/2012/08/bitag-be-aware-of-snmp-ddos-attacks.html. Posjećeno 17.01.2015.

Prvi korak je da Napadač šalje naredbu svojim botovima („Send Forged SNMP Query to all Bots“), drugi korak uključuje botove koji šalju SNMP upite svim uređajima koristeći krivotvorene IP adrese meta. U trećem koraku ranjivi uređaji se odazivaju na krivotvorene upite. Rezultat na ciljanu metu jest napad koji može trajati satima.

Primjer SNMP napada

Snmpbulkwalk je SNMP aplikacija ,koja koristi SNMP GETBULK zahtjev, da bi izvela upit na mreži koji će vratiti stablo informacija. Komandnoj liniji dajemo OID (identifikator objekta) koji specificira što ćemo točno pretražiti. U nastavku je prikazan primjer napada prema Prolexic-u.

Snmp zahtjev odgovor.png

Na sljedećoj slici je napad koristeći snmpbulkwalk tool, snmpbulkwalk naredba proizvodi BulkGetRequest bazi MIB (management information base) 1.3.6.1.2.1. GET odgovor će sadržavati listu MIB-ova nad kojima će se moći izvršavati upiti za dobivanje informacija. Potom, će se BulkGetRequest kreirati i poslati svakom MIB prikazivajući tako GET odgovore.

Snmp 1.png

Na sljedećoj slici možemo vidjeti rezultatg u alatu Wireshark.

Snmp 2.png

Napadač može odabrati MIB s najvećim odgovor i izvesti BulkGetRequest. Označeni MIB s najvećim odgovorom je 1.3.6.1.2.1.1.9.1.2.3, koji je vratio odgovor od 503 byte-a. Na sljedećoj slici se može vidjeti korištenje alata Scapy, koji je korišten kako bi se generirao paket za SNMP BulkGetRequest za 1.3.6.1.2.1.1.1 otprilike 100 puta.

Snmp 3.png

Scapy je tako kreirao sljedeći paket:

Snmp 4.png

A sam paket je poslan testnom serveru:

Snmp 5.png

Wireshark je ponovno korišten, kako se vidio zahtjev te odgovor u ASCII formatu, što možemo vidjeti na sljedećim slikama.

Snmp 6.png

Crvenim je označen request a plavim response.

Snmp 7.png

Sljedeće refleksije su uočene: Request: 1377 bita Response: 10243 bita Primjetiti možemo omjer 1:7 u odnosu na podatke koji ukazuje na jačinu snage SNMP napada.


Literatura

[1] https://www.transip.eu/question/699-protect-server-against-amplification-attacks/

[2] http://www.datayardworks.com/blog/article/ntp-amplification-ddos-attacks

[3] http://www.webopedia.com/TERM/D/DDoS_attack.html

[4] http://rt.com/news/biggest-ddos-us-cloudflare-557/

[5] http://news.softpedia.com/news/Prolexic-Warns-of-Significant-Increase-in-NTP-Amplification-DDOS-Attacks-432041.shtml

[6] Prolexic: „An Analysis of DrDoS SNMP/NTP/CHARGEN Reflection Attacks“. Izvor: [1]

[7] BITAG: „SNMP Reflected Amplification DdoS Attack Mitigation“. Izvor: [2]

[8] http://www.net-snmp.org/wiki/index.php/TUT:snmpbulkwalk

[9] http://www.nothink.org/misc/snmp_reflected.php

[10] http://ironbark.xtelco.com.au/subjects/CN/2012/lectures/l23.d/index.php. Posjećeno: 17.01.2015.

[11] https://www.cloudflare.com/ddos

[12] http://www.cis.hr/www.edicija/LinkedDocuments/CCERT-PUBDOC-2008-09-240.pdf

Osobni alati
Imenski prostori
Inačice
Radnje
Orijentacija
Traka s alatima