Ovo je stara izmjena dokumenta!
UDP (User Datagram Protocol) protokol je protokol koji se nalazi na transportnom sloju OSI modela. Uz TCP tvori jedan od temeljnih Internet protokola. Protokol pruža nespojnu i nepouzdanu uslugu transporta paketa te je moguća međusobna komunikacija bez uspostava mreže. Kako je UDP beskonekcijski, nepouzdan protokol koji nema kontrolu toka koristi se za prijenos višemedijskih podataka i za usluge temeljene na principu zahtjev/odziv.
Postoji više vrsta napada na UDP od kojih detaljnije obrađujemo “UDP spoofing”, “UDP Hijacking”, “UDP storm”, “UDP flooding” i “UDP amplification”. Neki od spomenutih napada imaju cilj onemogućavanja rada servisa odnosno računala (DDoS) dok se drugi koriste za mijenjanje sadržaja paketa u mreži i lažno predstavljanje.
Keywords: udp; udp storm; udp hijacking; udp storm; udp flooding; udp amplification
UDP (User Datagram Protocol) je protokol transportnog sloja OSI modela. Za razliku od TCP protokola, UDP je beskonekcijski i nepouzdan protokol stoga nije potrebno uspostavljati vezu za razmjenu paketa. UDP koristimo za stvarno-vremene servise kao računalni gaming, video i audio komunikaciju, streaming itd. Kako je za sve te potrebe bitan vrlo brzi prijenos podataka i velika performansa, UDP dopušta odbacivanje umjesto obrade zakašnjelih paketa. Također ne postoji provjera grešaka unutar UDP-a stoga se dodatno poveća propusnost.
Zaglavlje UDP-a sastoji se od 8 bajtova fiksiranih podatak (Slika 1). Sastoji se od izvornišnih vrata, odredišnih vrata, duljine datagrama i kontrolne sume. Duljina polja za UDP vrata iznosi 16 bitova što omogućava raspon vrata od 0 do 65535. Vrata se koriste za razlikovanje različitih korisničkih procesa i zahtjeva. Duljina podataka označava duljinu zaglavlja zajedno sa duljinom podataka.
Iskorištavanje UDP protokola najviše se koristi za napade uskraćivanja usluge. U nastavku biti će pojašnjeni UDP obmana, UDP otimanje, UDP oluje i skeniranje UDP portova.
Napad UDP obmana iskorištava činjenicu da je UDP 'stateless' protokol. Kod protokola UDP, IP adresa je jedini način identifikacije računala. Pojednostavljeni primjer napada prikazan je na slici 2. Napadač ima cilj predstaviti se kao drugo računalo. Kako bi u tome uspio, sastavlja UDP paket u kojemu mijenja izvorišnu IP adresu u IP adresu žrtvinog računala. Takav paket koji sadrži 'spoofanu' IP adresu šalje se poslužitelju koji zatim šalje odgovor s najčešće velikim teretom prema žrtvinoj IP adresi. Poslužitelj ne zna kako je došlo do promjene izvorišne IP adrese te automatski odgovara na zahtjev. U ovome napadu, neposredni poslužitelj se koristi kako bi generirao paket koji je nekoliko puta veći od zahtjeva. Tako se efektivno povećava teret napada koji se šalje žrtvi. Faktor povećanja tereta jeee omjer veličine odgovora i zahtjeeva koji varira ovisno o korišptenom protokolu. Tako ako se koristi DNS veličina odgovora može biti 28 do 54 puta veća od veličinee zahtjeva. Primjerice ako napadač pošalje teret od 64 bajta prema DNS poslužitelju, poslužitelj može kreirati preko 3400 bajta neželjenog prometa prema žrtvi.
Napad UDP otimanje iskorištava to što UDP protokol nema servis oporavljanja od grešaka, ne garantira isporuku, integritet podataka, ne provjerava je li paket dupliciran te ne koristi resolijed paketa i sinkronizaciju. Kako je većinom korišten gdje je brzina isporuke paketa bitnija od sigurnog primanja paketa, ne koriste se redni brojevi kao kod TCP protokola.
U ovoj vrsti napada napadač sluša vezu i čeka klijentove UDP zahtjeve. Na odabrani klijentov UDP zahtjev odgovara prije poslužitelja sa spoofanim paketom (Slika 3). Kako nema nikakve provjere klijent misli kako je paket dobio od poslužitelja. Na taj način moguće je poslati željeni teret prema klijentu koji može sadržavati maliciozne namjere.
UDP oluje su tip napada uskraćivanja usluge, zagušenja poslužitelja i mreže. U tim napadima veliki broj UDP paketa se šalje prema žrtvinom poslužitelju/računalu s ciljem preoptereećivanja te onemogućavanja mogućnosti procesuiranja i odgovaranja na pakete.
UDP oluja također iskorištava postojanje poslužitelja 'UDP Small Services' koji su korisni za općenitu dijagnostiku (Tablica 1).
Naziv | Port | Opis usluge |
---|---|---|
echo | 19/udp | Poslužitelj vraća podatke koje je poslao klijent |
daytime | 13/udp | Poslužitelj vraća vrijeme i datum |
chargen | 19/udp | Poslužitelj odgovara s datagramom koji sadrži string ascii karaktera |
time | 37/udp | Poslužitelj vraća vrijeme kao 32-bitni broj |
Primjer napada prikazan je na slici 3. Za napad potreban je samo jedan paket koji napadač šalje jednom od poslužitelja servisa. U ovom slučaju napadač šalje posredniku chargen paket sa lažiranom izvorišnom adresom gdje se predstavlja kao poslužitelj echo. Na taj način servisi echo i chargen kreću se 'ping-pongati' paketima te dovode do zagušenja mreže i/ili samih poslužitelja. Obično napadač pošalje nekoliko paketa kako bi pojačao djelovanje napada. Petlja paketa izvodi se sve dok jedno računalo ne završi s radom.
Skeniranje portova je uobičajena tehnika koju napadači koriste za otkrivanje otvorenih vrata i slabih točaka u mreži. Napad pomaže napadačima da pronađu otvorene portove te shvate da li poslužitelj na tom portu prima ili šalje podatke. Takođr moguće je otkriti postoje li sigurnosni sustavi poput vatrozida unutar sustava. Kod skeniranja UDP portova, napadačev cilj je otkriti koji se UDP poslužitelji vrte na računalu. Napadač šalje paket na port te ako je port zatvoren većinom se generiraju poruke “ICMP port unreachable” (ne uvijek). Otvoreni portovi nee šalju nikakav odgovor te ako se ne dobije ICMP poruka smatra se da je port otvoren. No, ako se ne dobije poruka ne može se uvijek zaključiti da je port otvoren jer je UDP nepouzdan protokol. Dolazi do komplikacija pri skeeniranju ako je računalo udaljeno jer je veća mogućnost gubitaka datagrama. Stoga potrebno je osigurati retransmisiju. Također, neki operacijski sustavi ograničavaju brzinu slanja ICMP poruka, stoga generiraju ograničen broj ICMP poruka u sekundi. Tako ova tehnika otkrivanja slabosti sustava postaje jako spora i teško sa sigurnošću izvediva. Jedan od alata koji se koristi je program Nmap koji prilagođava brzinu slanja brzini primljenih odgovora.