fakultet elektrotehnike i...

12
Sveučilište u Zagrebu FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA UDP protokol Seminarski rad u okviru predmeta „Računalna forenzika“ Zagreb, 2018. Ena Tomić, 0036504631

Upload: others

Post on 27-Oct-2019

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: FAKULTET ELEKTROTEHNIKE I RAČUNARSTVAnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari/etomic/seminar.pdf · vektor napada: zahtjev može biti poslan s lažirane izvorišne

Sveučilište u Zagrebu

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

UDP protokol

Seminarski rad u okviru predmeta „Računalna forenzika“

Zagreb, 2018. Ena Tomić, 0036504631

Page 2: FAKULTET ELEKTROTEHNIKE I RAČUNARSTVAnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari/etomic/seminar.pdf · vektor napada: zahtjev može biti poslan s lažirane izvorišne

Sadržaj Uvod ......................................................................................................................................................................................... 1

1. UDP datagrami ........................................................................................................................................................... 2

2. Primjena ....................................................................................................................................................................... 2

3. Napad preplavljivanjem UDP paketima (UDP Flood Attack) .................................................................. 3

3.1. Direktni napad preplavljivanjem UDP paketima (Direct UDP Attack) ........................................ 5

3.2. Fragmentacijski napad UDP preplavljivanjem (Fragmentation UDP Attack) .......................... 5

3.3. Kako oslabiti UDP Flood napad? ................................................................................................................ 5

4. Napadi pojačavanja koji se temelje na UDP-u (UDP Amplification Attacks)..................................... 6

4.1. Zaraženi sustavi ............................................................................................................................................... 6

4.2. Detekcija i zaštita ............................................................................................................................................ 7

Zaključak ................................................................................................................................................................................ 9

Bibliografija ....................................................................................................................................................................... 10

Page 3: FAKULTET ELEKTROTEHNIKE I RAČUNARSTVAnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari/etomic/seminar.pdf · vektor napada: zahtjev može biti poslan s lažirane izvorišne

1

Uvod

UDP protokol je predstavljen još 1980.godine i jedan je od najstarijih postojećih protokola.

To je jednostavni OSI transportni protokol za mrežne klijent/poslužitelj aplikacije. Temelji se

na IP protokolu i glavna je alternativa TCP protokolu. UDP je nesiguran protokol budući da

nema nikakvu kontrolu grešaka ili mehanizme ispravljanja grešaka prilikom prijenosa

podataka. Postoje aplikacije koje podržavaju isključivo UDP protokol i ne podudaraju se s

TCP protokolom. UDP (često se spominje i kao UDP/IP) se uglavnom koristi za

videokonferencijske aplikacije i kompjuterske igrice koje su namijenjene stvarnovremenskim

performansama. U svrhu postizanja boljih performansi, pojedini paketi se mogu ispustiti (bez

ponovnog slanja), te također, na prijemu UDP paketi mogu stići nepravilnim redoslijedom.

UDP protokol tolerira veća kašnjenja te manje viška podataka (data overhead), za razliku od

TCP-a. S obzirom na slanje paketa bez ikakvog redoslijeda i bez ikakve kontrole greške,

samim tim je manja i propusnost. U radu će se govoriti o ranjivosti UDP protokola koja

proizlazi iz navedenih karakteristika.

Page 4: FAKULTET ELEKTROTEHNIKE I RAČUNARSTVAnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari/etomic/seminar.pdf · vektor napada: zahtjev može biti poslan s lažirane izvorišne

2

1. UDP datagrami

UDP promet se odvija putem tzv. datagrama. Detalji zaglavlja (Slika 1) se nalaze u prvih 8 B,

a ostatak čini sama poruka. Svaki dio UDP zaglavlja zauzima 2 B:

broj izvorišnog porta

broj destinacijskog porta

veličina datagrama

kontrolna suma

Slika 1 UDP zaglavlje [1]

UDP portovi služe aplikacijama da mogu zadržati vlastite kanale za prijenos podataka.

Mogući brojevi portova su između 0-65535.

UDP veličina datagrama je zbroj ukupnog broja bajtova sadržani u podatkovnom dijelu te u

zaglavlju. Duljina zaglavlja je fiksna. Veličina datagrama varira ovisno od operacijskog

okruženja, maksimalno 65535 B.

Kontrolna suma služi za očuvanje integriteta poruka. Ona predstavlja kodirane podatke

poruke i računa se kod pošiljatelja i kod primatelja. Ukoliko se ove dvije vrijednosti ne

podudaraju, to je pokazatelj da je došlo do oštećenja poruke. Izračunavanje kontrolne sume

kod UDP je opcionalno, za razliku od TCP gdje je obavezno.

2. Primjena

UDP je nespojni protokol. Dakle, prije samog prijenosa podataka, ne zahtijeva uspostavu veze

između dviju točaka interneta. Stoga se UDP koristi u aplikacijama gdje se prvenstveno traži

velika brzina prijenosa, ne nužno i pouzdanost, tj. u aplikacijama koje ne zahtijevaju potvrdu

prijema. Brojne ključne Internet aplikacije koriste UDP: DNS, SNMP, RIP i DHCP. Neki

VPN sustavi, poput OpenVPN-a, koriste UDP, dok pouzdane konekcije i provjeru greške

implementiraju na aplikacijskom sloju.

UDP-om se prenose višemedijski sadržaji. Protokoli za prijenos video i audio sadržaja u

stvarnom vremenu su dizajnirani tako da više toleriraju povremeno izgubljene pakete, nego

velika kašnjenja u slučaju retransmisije paketa, tako da se javlja samo neznatna degradacija u

kvaliteti prijenosa. S obzirom da i UDP i TCP protokol operiraju na istoj mreži, primijećeno

Page 5: FAKULTET ELEKTROTEHNIKE I RAČUNARSTVAnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari/etomic/seminar.pdf · vektor napada: zahtjev može biti poslan s lažirane izvorišne

3

je da u zadnje vrijeme, povećana upotreba UDP u stvarnovremenskim aplikacijama koči rad

aplikacija koje koriste TCP.

UDP protokol ne podržava kontrolu toka.

Tehnike UDP napada su: skeniranje portova, UDP spoofing, UDP hijacking,a u nastavku

rada, pobliže su objašnjeni napad preplavljivanjem UDP paketima, te napad pojačavanjem

koji se temelji na UDP-u.

3. Napad preplavljivanjem UDP paketima (UDP Flood Attack)

Slika 2 Napad preplavljivanjem UDP paketima [2]

Page 6: FAKULTET ELEKTROTEHNIKE I RAČUNARSTVAnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari/etomic/seminar.pdf · vektor napada: zahtjev može biti poslan s lažirane izvorišne

4

UDP preplavljivanje ili pretrpavanje UDP paketima je vrsta DDoS napada (engl. Distributed

Denial of Service)1 kod kojeg se šalje velik broj UDP paketa prema odabranom serveru s

ciljem da se zatrpa prometom i tako mu se oslabi sposobnost odaziva i procesiranja. Vatrozid

koji štiti ciljani server također može biti „iscrpljen“ od UDP preplavljivanja što rezultira

uskraćivanjem usluga za regularni promet.

Napad UDP preplavljivanjem funkcionira tako što poslužitelj najprije poduzme regularne

korake koje inače provodi kao odgovor na UDP paket poslan na jedan od njegovih portova. U

normalnim uvjetima, kad poslužitelj primi UDP paket na određeni port, slijede dva koraka

prilikom odgovora:

1.Poslužitelj prvo provjerava jesu li pokrenuti neki programi koji trenutno slušaju zahtjeve

na navedenom portu.

2.Ako nijedan program ne prima pakete na tom portu, poslužitelj odgovara paketom

ICMP (ping) kako bi obavijestio pošiljatelja da je odredište nedostupno.

UDP Flood se može promatrati u kontekstu hotelskog recepcionara koji usmjerava pozive.

Prvo, recepcionar prima telefonski poziv na kojem pozivatelj traži povezivanje s određenom

prostorijom. On tada treba pogledati popis svih soba kako bi bio siguran da je gost dostupan u

sobi i spreman preuzeti poziv. Jednom kada recepcionar shvati da gost ne prihvaća pozive, on

mora preuzeti telefon ponovno i reći pozivatelju da gost neće primiti poziv. Ako iznenada sve

telefonske linije svijetle istovremeno sa sličnim zahtjevima onda će brzo postati preplavljene.

Kako svaki poslužitelj prima novi UDP paket, prolazi kroz određene korake postepeno kako

bi obradio zahtjev. Kada se prenesu UDP paketi, svaki paket će sadržavati IP adresu izvornog

uređaja. Tijekom ove vrste DDoS napada, napadač obično neće koristiti vlastitu stvarnu IP

adresu, već će zamijeniti izvornu IP adresu UDP paketa, čime se sprječava da je napadačeva

stvarna lokacija vidljiva i potencijalno zasićena paketima odgovora iz ciljanog poslužitelja

(koji je meta napada).

Resursi „žrtve“ se mogu brzo iscrpiti kada se primi velika „poplava“ UDP paketa, što dovodi

do uskraćivanja usluge normalnog prometa.

1 DDoS (engl. Distributed Denial of Service) su napadi izvršeni od strane većeg broja raspodijeljenih napadača.

Najčešće su to tzv. zombie računala čiji vlasnici nisu upoznati s činjenicom da njihovo računalo generira DoS

napade na neko računalo ili računala na internetu. Na ovaj način je moguće stvarati velike količine prometa na

napadnutim mrežnim segmentima čiji dio jest i napadnuto računalo ili mrežni uređaj. [5]

Page 7: FAKULTET ELEKTROTEHNIKE I RAČUNARSTVAnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari/etomic/seminar.pdf · vektor napada: zahtjev može biti poslan s lažirane izvorišne

5

3.1. Direktni napad preplavljivanjem UDP paketima (Direct UDP Attack)

Ciljani poslužitelj se napada velikim brojem nekrivotvorenih UDP paketa. Da prikrije napad,

napadač ne krivotvori stvarnu IP adresu zombie računala. Broj zombie računala korištenih za

izvršavanje napada jednak je rasponu izvorišnih IP adresa za ovaj napad. Napad je osmišljen

da potroši sve raspoložive propusnosti i resurse u mreži sve dok se potpuno ne isprazne i

zatvore. Ovu vrstu DDoS napada nije lako otkriti, jer sliči legitimnom prometu.

3.2. Fragmentacijski napad UDP preplavljivanjem (Fragmentation UDP Attack)

To je još jedan od onih pametno maskiranih DDoS napada koje nije lako otkriti. Sve

aktivnosti generirane ovim napadom, podsjećaju na legitimni promet i sve je u dozvoljenim

granicama. Ova verzija UDP Flood napada šalje veće, ali fragmentirane pakete kako bi

iscrpila više propusnog pojasa, šaljući manje fragmentiranih UDP paketa.

Kada ciljani poslužitelj pokušava sastaviti ove nepovezane i krivotvorene fragmentirane UDP

pakete, to neće uspjeti. Na kraju, svi dostupni resursi iscrpljeni su i poslužitelj se može

reboot-ati.

3.3. Kako oslabiti UDP Flood napad?

Većina operativnih sustava ograničava brzinu odgovora ICMP paketima kako bi poremetila

DDoS napade koji zahtijevaju ICMP odgovor. Jedan od nedostataka ove vrste suzbijanja

napada je da se tijekom napada mogu filtrirati legitimni paketi u tom procesu. Ako UDP

preplavljivanje ima volumen dovoljno velik da zadovolji stanje tablice vatrozida ciljanog

poslužitelja, bilo koje suzbijanje koje se pojavljuje na razini poslužitelja neće biti dostatno.

Page 8: FAKULTET ELEKTROTEHNIKE I RAČUNARSTVAnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari/etomic/seminar.pdf · vektor napada: zahtjev može biti poslan s lažirane izvorišne

6

4. Napadi pojačavanja koji se temelje na UDP-u (UDP Amplification Attacks)

Ovi napadi se zovu još i amplifikacijski napadi. Postoje dva kriterija za dobar amplifikacijski

vektor napada:

zahtjev može biti poslan s lažirane izvorišne adrese (putem protokola koji ne zahtijeva

handshakeUDP)

odgovor na ovaj zahtjev je mnogo veći od samog zahtjeva [3]

4.1. Zaraženi sustavi

Određeni protokoli aplikacijskog sloja, koji se temelje na UDP protokolu, smatraju se

potencijalnim vektorima napada. To su:

DNS (Domain Name System),

NTP (Network Time Protocol),

CLDAP (Connection-less Lightweight Directory Access Protocol),

CharGEN (Character Generator Protocol),

SSDP (Simple Service Discovery Protocol),

BitTorrent,

SNMPv2 (Simple Network Management Protocol version 2),

Kad,

RPC (Portmap/Remote Procedure Call),

QOTD (Quote of the Day),

mDNS (Multicast Domain Name System),

NetBIOS (Netwok Basic Input/Output System),

Quake Network Protocol,

Steam Protocol,

RIPv1 (Routing Information Protocol version 1),

LDAP (Leightweight Directory Access Protocol),

TFTP (Trivial File Transfer Protocol).

Najpoznatiji amplifikacijski napadi su: NTP amplifikacija, DNS amplifikacija, Fraggle

napadi.

Već je spomenuto da je UDP nespojni protokol koji ne potvrđuje izvorišne IP adrese. Osim

ako protokol aplikacijskog sloja ne koristi protumjere kao što je inicijacija sjednice u VoIP-u,

napadač može lako falsificirati datagram IP paketa kako bi ubacio proizvoljnu izvorišnu IP

adresu. Kada mnogi UDP paketi imaju izvorišnu IP adresu pretvorenu u žrtvinu IP adresu,

odredišni poslužitelj (ili pojačavač) odgovara žrtvi (umjesto napadaču), stvarajući reflektirani

napad uskraćivanja usluga (DoS). Reflektirani napad izaziva legitimni poslužitelj (treća

strana) da odgovori na žrtvinu IP adresu. Može se usporediti s naručivanjem reklama poštom

na adresu žrtve. [3]

Page 9: FAKULTET ELEKTROTEHNIKE I RAČUNARSTVAnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari/etomic/seminar.pdf · vektor napada: zahtjev može biti poslan s lažirane izvorišne

7

Neke naredbe UDP protokolu zahtijevaju odgovore koji su mnogo veći od početnog zahtjeva.

Prije toga, napadači su bili ograničeni linearnim brojem paketa koji su izravno poslani žrtvi da

izvrše DoS napad; sada jedan paket može generirati između 10 i 100 puta veću od originalne

propusnosti. To se naziva napadom pojačavanja, a kada se kombinira s reflektiranim DoS

napadom u velikoj mjeri, koristeći više pojačavača i ciljajući jednu žrtvu, DDoS napadi se

mogu provesti relativno lako.

Potencijalni učinak napada pojačavanja može se mjeriti pomoću BAF-a (engl. Bandwidth

Amplification Factor), koji se može izračunati kao broj UDP korisnih bajtova koje poslužitelj

(pojačavač) šalje da odgovori na zahtjev, u usporedbi s brojem UDP korisnih bajtova

zahtjeva.

Na sljedećoj tablici [4] je prikazana lista poznatih protokola i pripadajućih BAF-ova:

Protokol BAF (Faktor pojačanja propusne širine)

DNS od 28 do 54

NTP 556.9

SNMPv2 6.3

NetBIOS 3.8

SSDP 30.8

CharGEN 358.8

QOTD 140.3

BitTorrent 3.8

Kad 16.3

Quake Network Protocol 63.9

Steam Protocol 5.5

mDNS od 2 do 10

RIPv1 131.24

Portmap (RPCbind) od 7 do 28

LDAP od 46 do 55

CLDAP od 56 do 70

TFTP 60

U studenom 2017, Netlab 360 je izvještava da je CLDAP sada treći najčešći DRDoS napad,

poslije DNS i NTP napada.

4.2. Detekcija i zaštita

Otkrivanje DRDoS napada nije lako zbog njihove upotrebe velikih, pouzdanih poslužitelja

koji pružaju UDP usluge. Mrežni operatori ovih iskoristivih usluga mogu primjenjivati

tradicionalne tehnike ublažavanja DoS-a. Jedan od znakova da napadač koristi uslugu jesu

abnormalno veliki odgovori na određenu IP adresu.

Page 10: FAKULTET ELEKTROTEHNIKE I RAČUNARSTVAnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari/etomic/seminar.pdf · vektor napada: zahtjev može biti poslan s lažirane izvorišne

8

Postoji nekoliko stvari koje žrtve DRDoS napada mogu napraviti kako bi otkrile takve

aktivnosti:

1) Detektirati i upozoriti velike UDP pakete na portove većeg reda.

2) Detektirati i upozoriti na sve UDP pakete koji nisu u stanju transakcije.

3) Davatelji usluga upstream-a trebaju održavati ažurirane kontakte i metode s downstream

korisnicima da bi mogli slati upozorenja mrežom.

Općenito, mrežni i poslužiteljski administratori za davatelje internetskih usluga trebaju

prakticirati sljedeće, kako bi izbjegli čvorove koji vode do pojačavanja:

1) Koristiti mrežni tok za otkrivanje krivotvorenih paketa.

2) Koristiti mrežni tok ili neke druge sumirane mrežne podatke za praćenje neobičnih brojeva

zahtjeva prema riskantnim UDP paketima.

3) Koristiti mrežni tok za otkrivanje bilo kakvih anomalija usluga (npr. anomalije u bajtima

po paketu i paketima po sekundi).

4) Redovito ažurirati software i konfiguracije da se poništi ili ograniči zlouporaba.

5) Onemogućiti i ukloniti neželjene servise ili uskratiti pristup lokalnim servisima putem

interneta.

6) Koristiti protokole koji se temelje na UDP-u- npr. QoS (engl. Quality of Service) na

uređajima za preusmjeravanje da bi se omogućilo ograničavanje brzine na razini mreže za

legitimaciju usluga preko interneta.

7) Surađivati s proizvođačima korisničke opreme kako bi se osigurala konfiguracija i

software.

Page 11: FAKULTET ELEKTROTEHNIKE I RAČUNARSTVAnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari/etomic/seminar.pdf · vektor napada: zahtjev može biti poslan s lažirane izvorišne

9

Zaključak UDP protokol koriste mnogi aplikacijski protokoli za prijenos paketa. U radu je pokazano

kako napadači lako mogu manipulirati UDP paketima i kakva šteta na mreži može nastati

krivotvorenjem paketa. Statistika pokazuje da u zadnje dvije godine, alarmantan broj

poduzeća je napadnut od strane hakera, kriminalaca i drugih zlonamjernih korisnika. Ne samo

da se uskraćuju usluge korisnicima, nego nastaju i financijske štete ogromnih razmjera.

Najpoznatiji napadi su napadi UDP preplavljivanjem i amplifikacijski UDP napadi i detaljnije

su objašnjeni u radu. Uklanjanje UDP napada je utoliko složenije, jer često nije moguće

zabraniti upotrebu UDP protokola. Također, s obzirom da UDP koriste aplikacije koje ne

zahtijevaju potvrdu o prijenosu, nije moguće efikasno koristiti klasične metode obrane

zasnovane na ograničavanju brzine propuštanja UDP paketa. Bez obzira, navedene su

određene metode detekcije i zaštite od UDP DDOS i UDP DRDOS napada.

Page 12: FAKULTET ELEKTROTEHNIKE I RAČUNARSTVAnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari/etomic/seminar.pdf · vektor napada: zahtjev može biti poslan s lažirane izvorišne

10

Bibliografija

[1] »Wikipedia,« 2018. [Mrežno]. Available:

https://en.wikipedia.org/wiki/User_Datagram_Protocol.

[2] »Juniper,« 2017. [Mrežno]. Available:

https://www.juniper.net/documentation/en_US/junos/topics/concept/denial-of-service-

network-udp-flood-attack-understanding.html.

[3] P. Pale i K. Skračić, Bilješke i predavanja u okviru predmeta "Računalna forenzika", Zagreb:

Fakultet elektrotehnike i računarstva, 2018.

[4] »US-CERT,« 2017. [Mrežno]. Available: https://www.us-cert.gov/ncas/alerts/TA14-017A.

[5] »CARNet, CERT,« 2006. [Mrežno]. Available: http://www.cert.hr/sites/default/files/CCERT-

PUBDOC-2006-07-162.pdf.

[6] »Cloudflare,« [Mrežno]. Available: https://www.cloudflare.com/learning/ddos/udp-flood-

ddos-attack/.

[7] »JAVAPIPE,« 2018. [Mrežno]. Available: https://javapipe.com/ddos/blog/ddos-types/.

[8] G. Gledec i M. Mikuc, Bilješke i predavanja u okviru predmeta "Sigurnost u internetu", Zagreb:

Fakultet elektrotehnike i računarstva, 2018.