Analiza jednog DDoS napada

DDoS (Distributed Denial-of-Service) su napadi sa više hiljada računara kojima je cilj da dovedu do preopterećenja veb servera, mreže ili nekog drugog dela infrastrukture i tako onemoguće pristup njihovim regularnim korisnicima. Na primer, DDoS napad na link onemogućava pristup Internetu, dok DDoS napad na veb server dovodi do „obaranja“ veb sajta. U tekstu koji sledi, opisaćemo saznanja o dva DDoS napada kojima su bili izloženi odlazni SMTP (Simple Main Transfer Protocol) serveri Univerzitetskog informatičkog centra Univerziteta u Kragujevcu u avgustu i septembru tekuće (2022) godine. Takođe će biti dati i konkretni detalji napada, uključujući i statističke raspodele događaja. Tekst ima namenu da poveća svest o DDoS napadima, kao i da ukaže na činjenicu da pažljivom analizom taktike napadača nastala šteta može da se minimizuje.

Detektovanje napada

DDoS napadi se obično primete onda kada već ostvare svoj cilj, a to je onemogućavanje pristupa servisa regularnim korisnicima sistema. Više o ciljevima i različitim vrstama DDoS napada možete pročitati ovde. U našem slučaju, krajem avgusta, Moodle portal je jednostavno prestao da šalje poruke polaznicima kurseva. Analizom je utvrđeno da je zapravo server smtp2.kg.ac.rs (koji Moodle portal koristi za slanje mejlova studentima) potpuno blokiran. Kako SMTP serveri obično imaju limit za broj zahteva u jedinici vremena, ispostavilo se da su pokušaji logovanja od strane botova iz čitavog sveta zauzeli čitav propusni opseg i blokirali regularne korisnike!

Na nesreću, podrazumevana (i prilično konzervativna) pravila postavljena u Linux firewall i Fail2Ban alat kao da uopšte nisu detektovala “lavinu”, tj. bilo je blokirano svega 3 IP adrese! To je razumljivo, s obzirom da podrazumevana podešavanja blokiraju dati IP samo ako se sa te adrese pokuša 6 pogrešnih login-a u periodu od 15 minuta. Vremenski tok intenziteta napada može se videti na sledećoj slici.

Opšta statistička analiza

Očigledno je da treba promeniti pravila detekcije opasnosti, ali da bismo odredili nova i efikasnija, moraćemo da uradimo nešto dublju analizu. Prvo pitanje koje nas interesuje je veličina botnet mreže, tj. kojim količinom resursa se botovi koriste. Iz SMTP logova se ispostavlja da botnet broji preko 4500 različitih IP-eva, dok se tokom posmatranog perioda svaka IP adresa koristila prosečno 26 puta! Ove cifre ukazuju na DDoS napad ozbiljnog obima. Međutim, raspodela broja napada po botovima uopšte nije uniformna, što se vidi i na sledećem histogramu.

Sa slike je očigledno da se neki botovi se koriste češće nego drugi. Najveći broj IP adresa se koristi samo jednom ili dvaput, mada postoji i pik na 30 pokušaja. Svakako da veličina botneta otvara razne mogućnosti.

Formiranje firewall pravila

Gore navedena statistika je korisna da pruži osnovni uvid, ali da bismo uspešno formirali Fail2Ban pravila za blokiranje pojedinačnih IP adresa, moramo se spustiti na nivo ponašanja pojedinačnih botova. Osnovno pitanje koje se postavlja je: Koji je prosečni vremenski interval između dva uzastopna napada sa iste IP adrese? Računica pokazuje da je prosečan interval između 2 pokušaja sa iste IP adrese 4,3h i medijana 2,1h. Različite vrednosti aritmetičke sredine i medijane ukazuju na “nagnutu”, tj. nesimetričnu raspodelu, što se može videti i na sledećem histogramu. Reklo bi se da oblik najviše liči na eksponencijalnu raspodelu.

Sa ovakvo postavljenog histograma se već solidno mogu spoznati pravila koja bi dovela do efikasne odbrane. Na primer, formiranje pravila po principu blokiranja IP-ova koji pokušaju 3 logina u 10 sati bi onemogućilo >80% botneta! Dakle, pažljivim uvidom u statistiku problema, dolazimo do efikasnije odbrane od DDoS napada u trenucima kada je važan svaki minut dostupnosti kritičnih servisa.

Ni napadač ne sedi skrštenih ruku

Nakon postavljanja i aktiviranja novih pravila, blokirano je preko 4000 IP-ova i u velikoj meri anuliran DDoS napad na smtp2.kg.ac.rs, što su odlične vesti. Na žalost, DDoS napadi uglavnom nisu jednokratna pojava i umeju da traju nedeljama, pa čak i mesecima! U našem slučaju, 15-ak dana nakon detekcije prvog napada na smtp2.kg.ac.rs, uočeno je kašnjenje u odzivu glavnog odlaznog SMTP servera smtp1.kg.ac.rs. Kao što smo i pretpostavljali, uzorok je isti, a veliko poklapanje botnet-a ukazuje na istog napadača. Međutim, ovoga puta se formirana pravila blokade IP adresa nisu pokazala kao sasvim efikasna, pa je stoga sprovedena analiza napada koristeći nove podatke iz sistemskih logova. Prosečni interval između 2 uzastopna napada sa iste IP adrese se povećao sa 4,3h na čak 20h, sa medijanom na 10h. Histogram je dat na sledećoj slici.

Raspodela i ovde liči na eksponencijalnu, ali je značajno pomerena udesno u odnosu na prvi napad. Jedno od mogućih objašnjenja je da je napadač igrao pametno i promenio taktiku kada je uvideo je veći deo njegovog botnet-a blokiran. Pravila koja smo prethodno formirali sada ne mogu da blokiraju više od 50% botnet-a. Međutim, stalno praćenje i analiza podataka u realnom vremenu daju smernice kako ta pravila treba prilagoditi radi postizanja što efikasnije odbrane. Podešavanjem vrednosti prema podacima, ponovo smo uspeli da blokiramo preko 80% IP-eva.

Zaključak

DDoS napadi su čest i, na žalost, sve učestaliji metod sajber ratovanja. Zato je što detaljnije razumevanje tehnika napada i odbrane od ključnog značaja. U tekstu smo razmotrili jedan praktičan primer DDoS napada i ukazali na različite mogućnosti prilikom formiranja firewall pravila. Ovo može da bude i interesantna tema za istraživače koji se bave upotrebom metoda mašinskog učenja u svrhe sajber bezbednosti, ali o tome nekom drugom prilikom.

Napomena: Podaci iz logova i skripte za obradu (Bash, Python) su dostupni na Github-u. Autor će rado na upit podeliti i podatke (mejl logove), ali zbog bezbednosti ne bi želeo da ih deli javno.

Autor: Milos Ivanovic

Nastavnik na Institutu za matematiku i informatiku PMF-a u Kragujevcu i rukovodilac Univerzitetskog informatičkog centra (UNIC).

Milos Ivanovic

Nastavnik na Institutu za matematiku i informatiku PMF-a u Kragujevcu i rukovodilac Univerzitetskog informatičkog centra (UNIC).