NetworkMonitoringServer status

Our network is under a high risk of attacks. We are investigating and maintaining 24/7 cover of our network, alongside our provider.High risk of network attacks. We're investigating, with 24/7 cover alongside our provider.

Learn more
Skip to content
Tehnika

Anatomija DDoS napada: šta se desilo 20. oktobra i šta smo promenili preko noći

Oba servera igre su 20. oktobra zatrpana lažnim saobraćajem. Šta je zapravo DDoS, koliko je napad bio veliki, "izbacivač" koji smo uveli iste noći i šta smo naučili.

By MelonDisrupt10 min read

Read this post in English

Ako si bio u gradu oko 01:37 po našem vremenu, u noći na utorak 20. oktobra, video si isto što i svi ostali: svet se zamrznuo, počeo je da teče brojač, a onda je stiglo "connection timed out". Prvo je pao Balkan, a minut kasnije i English server.

Bili smo meta DDoS napada. U ovom tekstu objašnjavamo jednostavnim rečima šta to znači, šta smo promenili iste noći i šta smo naučili. (Izostavili smo sve što bi moglo da pomogne onima koji to rade.)

Sva vremena u tekstu i na graficima su po našem, srednjoevropskom vremenu.

Ukratko

  • Neko je oba servera igre zatrpao lažnim saobraćajem, toliko da pravi saobraćaj igrača nije mogao da prođe.
  • Serveri se nijednom nisu srušili. Tvoj lik, automobili, novac i stvari su sve vreme bili bezbedni. Izbačen si zato što tvoja igra nekoliko sekundi nije mogla da "čuje" server, a ne zato što se nešto pokvarilo.
  • Iste noći smo uveli novu zaštitu. Kada je neko pokušao ponovo dva sata kasnije, niko nije ni primetio.

Šta je DDoS?

Zamisli jedini put koji vodi u grad. Obično njime ide stalna kolona automobila: to si ti i svi ostali koji igraju. DDoS je kada neko odjednom pošalje hiljade praznih kamiona na taj put. Sa samim gradom je sve u redu, ali niko stvaran ne može da uđe.

Pravi igrači zaglavljeni u redu iza poplave lažnog saobraćaja

Rečeno jezikom računara, sve što radiš u igri (hodaš, voziš, pričaš) šalje se serveru kao sitne poruke koje se zovu paketi. Server ih čita jedan po jedan. Ako ga zatrpaš milionima lažnih paketa, on sve vreme troši na čitanje smeća. Tvoji pravi paketi čekaju u redu, i posle nekoliko sekundi tvoja igra odustaje.

"Distribuirani" (prvo D u DDoS) samo znači da smeće stiže sa mnogo mesta odjednom, pa ga je mnogo teže blokirati nego kada napada jedna osoba.

Koliko je bio veliki?

Obične noći na naše servere stiže oko 500 paketa u sekundi. Ovako je ta noć izgledala, minut po minut:

Obična noć i napad, u istoj razmeri

Paketi koji stižu svake sekunde, od 01:30 do 02:00

  • 01:37: saobraćaj skače na 475.000 paketa u sekundi, skoro hiljadu puta više nego obično. Prvo je pogođen Balkan, zatim English.
  • 01:42: prvi talas prestaje.
  • 01:45 do 01:54: drugi, manji talas pogađa English.

Običan saobraćaj se nalazi na tom grafikonu. Samo je toliko mali u poređenju sa napadom da se jedva vidi.

Unutar napada

Evo detaljnijeg pogleda na to kako je napad zapravo funkcionisao.

Sitni paketi, namerno

Lažni paketi su bili sitni: oko 70 bajtova svaki, otprilike veličine kratke SMS poruke. To zvuči bezazleno, ali je bilo namerno.

Postoje dva načina da se server preoptereti. Prvi je da se pošalje ogromna količina podataka i napuni njegova internet veza, kao da put blokiraš ogromnim kamionima. Drugi je da se pošalje ogroman broj malih paketa, kao da pošalješ milion motora. Svaki je lagan, ali server ipak mora da stane, pogleda svaki pojedinačno i odluči šta će s njim. To je radio ovaj napad. Nije pokušavao da napuni vezu, već da server bude toliko zauzet proveravanjem smeća da ne stigne da pročita ništa pravo.

Zašto je ciljao mrežni deo servera

FiveM server ima deo čiji je jedini posao da čita dolazni saobraćaj. Zamisli ga kao poštansku sobu. Tvoji pokreti, tvoj automobil i tvoj chat prvo stižu tamo, pa se prosleđuju igri. Tokom napada, poštanska soba Balkan servera je za minut prešla iz gotovo besposlenog stanja na oko 80% zauzetosti. Otvarala je milione lažnih pisama, a stizalo ih je toliko odjednom da se gomila prelila i neka su, uključujući i prava, bačena pre nego što ih je iko pročitao.

Sama igra, deo koji pokreće grad, nikada nije bila preopterećena. Samo je prestala da prima tvoje poruke.

U poštanskoj sobi: smeće se gomila dok igra i dalje radi

Dve vrste smeća

Dva talasa su se krila na različite načine, i to je bilo važno za način na koji smo se branili.

Prvi talas je došao sa zaraženih uređaja sa pravim adresama, a drugi je koristio izmišljene povratne adrese

  • Prvi talas je došao iz botneta. To su obični kućni računari, ruteri i telefoni širom sveta koji su zaraženi malverom i kojima se upravlja na daljinu, gotovo sigurno bez znanja njihovih vlasnika. Svaki je slao nekoliko hiljada paketa u sekundi. Sam za sebe to nije mnogo, ali zajedno su bili zid. Svaki uređaj koji smo mogli da prepoznamo proverili smo u našoj evidenciji: nijedan od njih nikada nije igrao na našim serverima. To nije bio igrač sa sopstvene veze, već iznajmljena ili oteta oprema.
  • Drugi talas je koristio lažne adrese. Svaki paket na internetu nosi adresu "od", kao povratnu adresu na koverti. Ništa ne proverava da li je tačna. U drugom talasu napadači su upisivali izmišljene povratne adrese. Za samo 20 sekundi videli smo više od 135.000 različitih "pošiljalaca", a zapravo je to bio mnogo manji broj mašina koje su se predstavljale kao mnogo ljudi. Blokiranje adresa ne pomaže kada su adrese izmišljene, i upravo zato su napadači to i uradili.

Napad se pomerao

Napad nije gađao samo jedan server. Oko dva minuta je pogađao Balkan, zatim se prebacio na English, a nekoliko minuta kasnije se vratio na English sa drugim talasom. Ovakvo menjanje meta je čest trik: proverava se da li je odbrana svuda ista, a napad je teže pratiti. Pošto smo beležili svaki minut, mogli smo da vidimo svaku promenu dok se dešavala.

Šta smo promenili preko noći

1. Izbacivač na vratima

Ovo je najvažnija promena.

Kada se tvoja igra poveže na server, uvek prvo napravi brzo "kucanje", običnu web vezu, pre nego što počne da šalje saobraćaj igre. To nikada ne vidiš. Pametan deo je ovo: lažna adresa ne može da kucne. Server odgovara na kucanje, a taj odgovor ide pravom vlasniku adrese, ne napadaču. Zato napadač nikada ne može da završi kucanje.

Sada server vodi spisak gostiju sa svima koji su pravilno kucnuli. Saobraćaj igre od nekoga sa spiska prolazi odmah. Sve ostalo se baca na vratima, pre nego što ga server igre uopšte pogleda.

Novi izbacivač: pravi igrači kucnu i uđu, lažni pošiljaoci su odbijeni

Za tebe povezivanje radi potpuno isto kao ranije. Za poplavu lažnih paketa, to je zid od cigle.

2. Ograničenja brzine i lista blokiranih

Svaki pošiljalac sada ima razumno ograničenje brzine, daleko iznad onoga što je potrebno bilo kom pravom igraču. Blokiramo i vrste saobraćaja koje napadači vole da odbijaju od tuđih servera kako bi im napadi bili veći. Uređaji iz botneta te noći su sada na trajnoj listi blokiranih.

3. Alarmi

Serveri sada beleže saobraćaj svakog minuta, a naš tim za mrežnu bezbednost dobija upozorenje čim nešto izgleda pogrešno. Upozorenje kaže koji server je meta, da li pošiljaoci izgledaju lažno i da li su igrači pogođeni. Kada se završi, šalje se kratak izveštaj.

4. Zaključavanje ostalih vrata

Kada neko pokuša na jednim vratima, proveriš sva. Prošli smo kroz sve na našim serverima čemu se moglo pristupiti sa interneta i zatvorili sve što nije moralo da bude otvoreno.

Naši slojevi zaštite, spolja ka unutra

Da li je uspelo?

Dva sata posle glavnog napada, neko je pokušao ponovo. Jedna mašina je počela da ispaljuje oko hiljadu paketa u sekundi na English server. Nikada nije igrala i nikada nije kucnula.

Izbacivač je za dva minuta odbio oko 128.000 njenih paketa. Igrači na serveru nisu primetili ništa: ni lag, ni prekide veze. Alarm se oglasio u našem bezbednosnom kanalu dok se to dešavalo, a pošiljalac je odmah otišao na listu blokiranih.

Igrači na serveru tokom napada i tokom probnog napada dva sata kasnije

Takav mali "test" obično znači da neko proverava da li su vrata i dalje otvorena. Nisu bila.

Iza kulisa

Ništa od ovoga se ne dešava samo od sebe. Iza Roleplay Projecta stoji Phytoventures tim, a veliki deo onoga što radimo se nikada ne vidi u gradu: praćenje, učenje i izgradnja zaštite upravo protiv ovakvih napada.

  • Mrežu pratimo 24 sata dnevno, 7 dana u nedelji. Saobraćaj, stanje servera i veze igrača mere se svakog minuta, a naš tim za mrežnu bezbednost dobija upozorenje čim nešto izgleda pogrešno, danju ili noću.
  • Zato se prekidi mere u minutima, a ne u satima. Te noći su oba talasa uočena čim su počela, a nova odbrana je bila postavljena pre kraja noći. Što brže vidimo napad, brže možemo da ga zaustavimo.
  • Sarađujemo sa našim mrežnim provajderom. Njihovi sistemi uočavaju velike napade koji idu ka nama i prijavljuju ih, a zatim kontaktiraju mreže sa kojih je napad došao. Oni su deo tima, a ne samo ljudi koji priključuju kablove.
  • Svaki napad otežava sledeći. Svaki incident se posle analizira: kako je izgledao, šta je prošlo i šta možemo da napravimo da sledeći put ne prođe. Sve u ovom tekstu je nastalo iz tog procesa.

Koliko brzo smo reagovali te noći

Zašto ovo ne vidimo kao nešto loše

Možda zvuči čudno, ali napad ne vidimo kao poraz. Svaki napad nas nečemu nauči. Svaki nam pokaže šta napadači pokušavaju, kako izgleda njihov saobraćaj, odakle dolazi i kako se menja kada im se suprotstavimo. Tako gradimo naše znanje i našu odbranu za sledeći put.

Izbacivač, alarmi i lista blokiranih iz ovog teksta postoje zbog te jedne noći. Napadači koji su pokušali ponovo dva sata kasnije naleteli su pravo na ono čemu nas je njihov sopstveni napad naučio. Tako će biti i ubuduće: svaki pokušaj otežava sledeći, a zajednica je sve bolje zaštićena.

Šta smo naučili

  • Meri sve. Beleženje saobraćaja svakog minuta pretvorilo je "server je pao" u jasnu vremensku liniju. Omogućilo nam je i da dokažemo da nova zaštita radi, umesto da se samo nadamo.
  • Proveravaj ko je stvaran, ne juri ko je lažan. Blokiranje loših adresa radi protiv pravih zaraženih uređaja, ali ne i protiv izmišljenih. Provera da je igrač pravi radi protiv oba.
  • I naša zaštita ima granicu. Naš server može vrlo brzo da baci smeće, ali tek kada ono stigne. Dovoljno velika poplava može da zakrči put pre nego što uopšte stigne do vrata. Rešenje za to je filtriranje dalje od nas, na mnogo većoj mreži od naše.
  • Mali testovi dolaze pre velikih napada. Zato alarmi ostaju uključeni.

Šta sledi

  • Zaštita dalje niz put. Testiramo uslugu zaštite napravljenu za FiveM servere. Igrači se povezuju preko njene ogromne mreže, a smeće se filtrira mnogo pre nego što stigne do nas. Prvo ćemo je isprobati na Balkan serveru.
  • Još brži izbacivač. Filter ćemo pomeriti na prvu tačku na kojoj saobraćaj ulazi u server, pa će nas bacanje smeća koštati gotovo ništa.
  • Odvojeni putevi za sajtove i servere igre, kako napad na jedno ne bi mogao da uspori drugo.

Reč o DDoS napadima: to je krivično delo

Hajde da budemo jasni, jer neki ljudi DDoS napade vide kao šalu ili deo gejmerske kulture. To je ozbiljno krivično delo.

  • U Velikoj Britaniji je napad na računarski sistem kojim on prestaje da radi kako treba krivično delo prema zakonu Computer Misuse Act iz 1990, sa maksimalnom kaznom od 10 godina zatvora.
  • Širom Evrope, uključujući i zemlje u kojima živi naša Balkan zajednica, namerno ometanje rada računarskog sistema je krivično delo po domaćim zakonima. U zemljama EU ti zakoni se zasnivaju na direktivi EU o napadima na informacione sisteme, a sve zemlje regiona su potpisnice Budimpeštanske konvencije o visokotehnološkom kriminalu i imaju slična krivična dela u svojim zakonima. SAD i većina drugih zemalja imaju slične zakone.
  • Plaćanje za napad je takođe krivično delo. Sajtovi koji prodaju DDoS napade često sebe nazivaju "stresserima" ili "booterima" i tvrde da služe za "testiranje sopstvenog servera". Korišćenje takvog sajta protiv tuđeg servera je i dalje napad, a kupovinom postaješ njegov deo.

Takođe, to nikada nije anonimno koliko ljudi misle. Policije širom sveta, uključujući britansku Nacionalnu agenciju za borbu protiv kriminala (NCA), redovno gase sajtove koji iznajmljuju DDoS napade i zaplenjuju spiskove njihovih kupaca. U okviru međunarodne operacije pod nazivom PowerOFF, policija je ugasila desetine takvih usluga, pregledala njihove podatke i kontaktirala, upozorila, uhapsila i optužila ljude koji su ih koristili. Neke od tih "booter" sajtova je zapravo vodila policija, samo da bi otkrila ko će pokušati da kupi napad.

A šta ti to zapravo donosi? Nekoliko minuta tokom kojih su ljudi izbačeni iz igre. Zauzvrat rizikuješ krivični dosije koji se vidi pri zapošljavanju, zabrane putovanja, oduzimanje računara od strane policije i trajne zabrane u zajednicama čiji si bio deo. Nikada se ne isplati.

Koliko te stresser zaista košta

Čuvamo evidenciju o napadima, a oni se prijavljuju mrežama sa kojih dolaze. Ako te nešto ikada navede na to, ili znaš nekoga koga navodi: molimo te, nemoj. Ako imaš problem sa nama, otvori tiket. Mnogo radije ćemo razgovarati.

Kako možeš da pomogneš

Ako te ikada izbaci zajedno sa svima ostalima, otvori tiket i reci nam u koliko sati se to desilo (i u kojoj vremenskoj zoni). Vreme je najkorisnija informacija koju nam možeš dati. Možemo da ga uporedimo sa evidencijom saobraćaja i da ti kažemo tačno šta se dešavalo.

A onome ko je proveo noć na ovome: nije uspelo, i ne isplati se.