Što je SYN Flooding?

SYN flooding je oblik napada uskraćivanja usluge koji se može pokrenuti na računalni poslužitelj kako bi se preplavio poslužitelj i ne dopustio pristup drugim korisnicima. Ovo je nešto stariji oblik napada i neko je vrijeme bio prilično popularan zbog relativno niskih resursa potrebnih za njegovo pokretanje. Osnovni proces za napad koristi metodu kojom se korisnici povezuju s poslužiteljem putem protokola kontrole prijenosa (TCP) kako bi koristili sve resurse sustava. SYN flooding je nekoć bio popularan oblik napada, iako je osmišljen niz različitih rješenja kako bi se smanjila ili eliminirala njegova učinkovitost na modernim poslužiteljima.

Osnovna ideja iza SYN floodinga koristi način na koji se korisnici povezuju s poslužiteljima putem TCP veza. TCP koristi sustav koji se naziva trosmjerno rukovanje koje počinje s slanjem poruke “sinkroniziraj” ili SYN poslužitelju. Poslužitelj tada prima poruku i korisniku šalje natrag “sinkroniziraj potvrđenu” ili SYN-ACK poruku. Nakon što korisnikov sustav primi ovu poruku, konačnu poruku “potvrde” ili ACK šalje korisnik poslužitelju kako bi uspostavio vezu. Ovaj osnovni proces odvija se prilično brzo i osigurava da su oba kraja veze sinkronizirana.

SYN flooding napad, međutim, koristi ovo trosmjerno rukovanje da poveže resurse unutar poslužitelja, čime se onemogućuje drugima da pristupe sustavu. SYN flooding napad počinje SYN porukom poslanom poslužitelju, koji odgovara standardnim SYN-ACK odgovorom. Ova poruka ostaje bez odgovora, međutim, kroz jednu od nekoliko metoda koje rezultiraju slanjem konačne ACK poruke na poslužitelj. U ovom trenutku poslužitelj ostavlja resurse posvećene čekanju na ACK poruku, u slučaju da je zagušenje mreže uzrok izostanka odgovora.

Međutim, poslužitelji imaju samo ograničene resurse za rukovanje trosmjernim rukovanjem, a mnogi poslužitelji dizajnirani su za rukovanje samo osam takvih procesa odjednom. SYN flooding se sastoji od osam ili više SYN poruka koje se šalju bez odgovarajuće ACK poruke nakon toga, ostavljajući sve resurse poslužitelja predanim čekanju odgovora koji nikada neće doći. Dokle god čeka te poruke, nijedan drugi korisnik ne može se spojiti na poslužitelj. Dok su mnogi poslužitelji dizajnirani da isprazne red za odgovore nakon tri minute, netko tko je pokrenuo SYN napad mogao je jednostavno ponovno poslati osam SYN poruka svake tri minute kako bi sustav ostao zaključan na neodređeno vrijeme.

Pronađen je niz različitih rješenja za ove vrste napada, pa je SYN flooding često manje uspješan nego što je bio u prošlosti. Jedno uobičajeno rješenje koristi “SYN kolačiće” kako bi sustavu omogućilo da očisti svoj red čekanja kada se dosegne osam zahtjeva, dopuštajući novim korisnicima da pošalju zahtjeve za povezivanje s poslužiteljem. Ako konačno dođe jedan od starijih očišćenih zahtjeva, kolačići osiguravaju da je ispravno prepoznat kao ACK poruka i dopuštaju korisniku da se poveže s poslužiteljem.