Sadržaj

DoS i DDoS napadi

Sažetak

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Napad uskraćivanja usluge i distribuirani napad uskraćivanja usluge mrežni su napadi kojima je cilj onemogućiti korisnicima pristup nekoj usluzi ili resursu. DDoS se ostvaruje koristeći botnet – mrežu zaraženih računala kontroliranu od strane napadača, dok u DoS-u sudjeluje samo jedno računalo. Neovisno o sloju OSI modela koji se iskorištava prilikom napada, samoj tehnici ili broju računala koji sudjeluju, ciljevi su uvijek isti – uzrokovati preopterećenje žrtve i onemogućiti njeno daljnje funkcioniranje. To se može postići slanjem velikog broja zahtjeva, slanjem nepotpunih zahtjeva, slanjem paketa većih od dozvoljene veličine, itd.
Neki od uspješnijih napada u proteklih par godina bili su onaj na Github i na Dyn, Inc DNS provider. Iako su ti napadi zabilježeni kao oni najvećih razmjera (s generiranim prometom većim od 1 Tbps), uz korištenje DDoS mitigacijskih servisa, napadi se mogu znatno ublažiti.</font>

Ključne riječi: dos, ddos, mrežni napadi, botnet

Uvod

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Napad uskraćivanja usluge (eng. denial-of-service) cyber je napad koji se koristi kako bi se legitimnim korisnicima onemogućio ili usporio pristup resursima kao što su – web stranice, aplikacije, mreža, e-mail, itd. DoS ima samo jedan izvor, dok distribuirani napad uskraćivanja usluge (eng. distributed denial-of-service) ima više izvora, no koordiniran je iz jedne centralne točke.</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>DoS i DDoS analogni su grupi ljudi koja stoji na ulaznim vratima dućana, blokirajući ulaz i otežavajući drugim korisnicima ulazak.
Aktivizam, osveta i ucjenjivanje glavne su motivacije za ovakve napade. Napadači najčešće pogađaju web stranice ili servise koji su hostani na web serverima „visokog profila“, kao što su banke, medijske tvrtke, vlada i vladine udruge.</font>

Tipovi napada

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>DoS napadi mogu se podijeliti u 3 najčešće kategorije:</font>

  1. <font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Napadi na aplikacijskom sloju – imaju fokus na sedmom, aplikacijskom, sloju OSI modela. Ovaj tip napada iskorištava ranjivosti web aplikacije ili zloupotrebljava protokole visoke razine – HTTP i SNMP. Ova vrsta napada često djeluje kao promet uzrokovan od strane legitimnih korisnika jer se, npr., može postići slanjem uzastopnih upita na bazu podataka. Koriste manje bandwidtha</font><font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>od ostalih tipova napada pa ih je i teže uočiti jer neće doći do naglog porasta u mrežnom prometu. Iz tog razloga nazivaju se i „low&slow attacks“ i „slow-rate attacks“. Mjere se u zahtjevima po sekundi.
    Primjeri – napadi na DNS servise</font>
  2. <font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Napadi na protokole –iscrpljuju serverske resurse umjesto bandwidtha . Također napadaju posrednike između servera i web stranice, kao što je firewall. Uskraćuju uslugu iskorištavanjem ranjivosti na trećem i četvrtom sloju OSI modela (ICMP, TCP, UDP). Mjere se u paketima po sekundi.
    Primjeri – Smurf, Ping of Death, SYN Flood</font>
  3. <font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Amplifikacijski napadi – poznati još i kao preplavljivanje. Ideja iza ovih napada je da kroz zloupotrebu slabosti Internet servisa i protokola, napadač može pojačati svoj promet za određeni faktor, reflektirajući ga na third-party servere. Na primjer, napadač treba kontrolu nad samo 1Gbps mrežnog prometa kako bi dopustio trećoj strani da ga pojača, i generira promet od 20Gps, koji se onda usmjerava na žrtvu. Refleksija se postiže slanjem paketa sa lažiranom IP adresom kao source adresom, tako da odgovor preplavi žrtvu.</font><font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Mjeri se u bitovima po sekundi.
    Primjeri – UDP/TCP Flood, DNS amplifikacije</font>

Tehnike napada

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Ping of Death</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Naredba ping uobičajeno se koristi kako bi se provjerila dostupnost mrežnog resursa, temelji se na ICMP protokolu. Radi tako da se ciljanom resursu pošalju paketi s malim podacima. Ping smrti iskorištava to i šalje pakete koji prelaze limit – 65.636 bajtova koje TCP/IP dopušta. TCP/IP fragmentacija će pakete razložiti na manje dijelove koji se proslijeđuju serveru. Kako su paketi s podacima veći nego što server može podnijeti, server će se ili zamrznuti, rebootati ili srušiti.</font>
7.jpg
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Metoda mitigacije: Zabrana ICMP ping poruka nije dobro rješenje – nevažeći paketi mogu biti poslani na bilo koji port (npr. FTP). Također njihovim blokiranjem spriječava se i legitimna upotreba ping naredbe. Jedan od poželjnijih pristupa bila bi selektivna zabrana fragmentiranih pingova ili provjera veličine paketa prije refragmentacije.</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Teardrop</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Prilikom fragmentacije paketa, kako bi se na odredištu paketi mogli refragmentirat odnosno posložiti u pravom redoslijedu, svaki fragment u offset polju sadrži potrebne informacije koje odredišni stroj koristi prilkom određivanja redoslijeda. U Teardrop napadu, offset polje je nevažeće/korumpirano kako žrtva ne bi mogla posložiti pakete. Takvi korumpirani paketi se gomilaju i dolazi do rušenja stroja žrtve.</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Metoda mitigacije : provjera paketa na povrede fragmentacijskih pravila (na ruteru ili proxyju).</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>SYN flood</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>SYN ili Synchronize napad iskorištava three-way-handshake prilikom uspostave komunikacije koristeći TCP. SYN napad preplavlja žrtvu sa nepotpunim SYN porukama. Pošalje zahtjev za uspostavom komunikacije (SYN), žrtva odgovori (SYN-ACK), no napadač nikada ne pošalje posljednji odgovor(ACK) – kojeg žrtva čeka. U ovom trenutku server/žrtva ne može poslati RST paket i veza ostaje otvorena. Prije nego veza istekne, pristižu novi SYN paketi te mnogo konekcija ostaje polu-otvorenima. Svojevremeno, na serveru će doći do preplavljivanja tablice u koju se zapisuju otvorene konekcije te će zahtjevi novih korisnika biti odbijeni.</font>
syn-flood.jpg
<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Metoda mitigacije: RST kolačići – na prvi zahtjev klijenta, server namjerno šalje nevažeći SYN-ACK, zbog čega bi klijent trebao generirati RST odgovor, kojim govori serveru da nešto nije u redu. Ako server primi RST, zna da je početni zahtjev korisnika legitiman te prihvaća sve buduće zahtjeve od njega.</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Smurf</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Napad temeljen na protokolu ICMP. Napadač generira lažan Echo zahtjev s IP adresom žrtve kao source adresom zahteva. Zahtjev šalje najbližoj IP broadcast mreži, te se on transmitira svim uređajima unutar te mreže. Uređaji unutar mreže šalju ICMP odgovor žrtvi. S dovoljno prosljeđenih odgovora, server je srušen.</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Metode mitigacije: onemogoćiti IP broadcast adrese na svakom mrežnom routeru i firewallu.</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>DNS amplifikacija</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Napadač šalje DNS upit s lažnom IP adresom (adresom žrtve) na velik broj reukrzivnih DNS resolvera. DNS resolveri šalju odgovore, no ti odgovori su znatno veći, što znači da napadač može pojačati svoj napad za od 10 do 50 puta.</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Metoda mitigacije: Ova vrsta napada moguća je zbog loše konfiguriranih domain name servera koji imaju omogućenu rekurziju i odgovaraju svima. Nazivaju se otvoreni DNS resolveri ili otvoreni DNS rekurzori. Takvih postoji oko 28 milijuna online. Kako bi se riješio ovaj problem, takve server potrebno je zaključati i osigurati na pravilan način.</font>

Povijest napada

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Github</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Jedan od najvećih zabilježenih napada izvršen je 2018. godine na GitHub – web servis za distribuciju koda i „version control“. Github je napalo čak 1.35 Tbps prometa, te je okončan 8 minuta nakon što je GitHub zatražio pomoć od mitigacijskog servisa za ublažavanje napada. Mitigacijski servis djeluje kao posrednik, preusmjeravajući sav dolazeći promet na sebe, a sve primljene podatke u svoj data centar koji ih pregledava i blokira maliciozne pakete.
Napad je izvršen non-bot tehnikom pojačavanja napada (eng. amplification attack).</font>

<font 14px/Arial,Helvetica,sans-serif;;#333333;;inherit>Takvi napadi koriste memchached sustave baza podataka, kroz koje svatko može postaviti upite (query).</font> <font 14px/inherit;;inherit;;inherit>Napadač podvali IP adresu žrtve i šalje male upite sa višestrukih memcached servera – otprilike 10 po sekundi po serveru. Serveri šalju odgovore žrtvi koji su i do 50 puta veći.</font>

akamai_graph.jpg

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Dyn, Inc.</font>

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Prije GitHuba, mjesto najvećeg DDoS napada držao je napad na Dyn, Inc., DNS provider za stotine tvrtki diljem svijeta. Dogodio se u listopadu 2016. godine i sastojao se od serije od 3 DNS DDoS napada koji su se dogodili unutar 4 sata. Napad je ostvaren koristeći Mirai botnet, koji se sastojao od nekoliko stotina tisuća IoT uređaja zareženih Mirai virusom. Promet tijekom napada dosegao je 1.2 Tbps i prvi je pokazao koliko su ugroženi Internet of Thing uređaji i koliko lagano mogu biti iskorišteni u loše svrhe. Kao posljedica napada, Dyn je izgubio oko 8% hostanih domena.</font>

Zaključak

<font 14px/Arial,Helvetica,sans-serif;;inherit;;inherit>Denial-of-Service napadi iskorištavaju ranjivosti u mrežnim protokolima i sustavima kako bi onemogućili pristup ciljanom servisu. Ne zahtijevaju veliko znanje ili poznavanje zero-day ranjivosti. Mogu se pronaći lako dostupni alati za izvođenje ovakvih napada, a i cijena “iznajmljivanja” botneta za izvođenje DDoS-a počinje već od 5 dolara. Iako je njihovo djelovanje najčešće kratkog trajanja, svega par minuta ili sati, mogu nanijeti veliku štetu.
Kako su proteklih godina uznapredovali mehanizmi zaštite od opisanih napada, tako su i napadači postali sve inovativniji i agresivniji. Eksponencijalni porast DDoS napada zabilježen je proteklih godina, a možemo ga očekivati i u budućnosti. Glavni uzrok tome su između ostalog IoT uređaji, koji su iznimno ranjivi i lako je od njih formirati botnet.</font>

Izvori

[1] "DoS (Denial of Service) Attack Tutorial: Ping of Death, DDOS"

[2] "TCP SYN Flood"

[3] Amar Shekhar, "Teardrop Attack: What Is It And How Does It Work?", 2016

[4] Lily Hey Newman, "GitHub Survived the Biggest DDoS Attack Ever Recorded", 2018

[5] Debbie Walkowski, "What is a DDoS Attack?", 2019

[6] "Denial-of-service attack"

[7] Candid Wueest, "The continued rise of DDoS attacks"