View
246
Download
0
Category
Preview:
Citation preview
SVEUČILIŠTE U ZAGREBU
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
DIPLOMSKI RAD br. 1792
ISPITIVANJE SIGURNOSTI MREŽNE
OPREME NA UOBIČAJNE MREŽNE NAPADE
Krešimir Petrović
Zagreb, lipanj 2009.
Sadrţaj
I
Sadržaj
1. Uvod ............................................................................................................ 1
2. Mreţna sigurnost ......................................................................................... 3
2.1. IzviĎački napadi .................................................................................. 3
2.1.1. Napad skeniranjem ...................................................................... 4
2.1.2. Napad prisluškivanjem ................................................................. 4
2.2. Napad s ciljem neovlaštenog pristupa ................................................ 5
2.2.1. Napad manipulacijom podataka ................................................... 6
2.2.2. Napad na sjednice ....................................................................... 6
2.2.2.1. Napad laţnim predstavljanjem ................................................. 6
2.2.2.2. Otimanje sjednice ..................................................................... 6
2.2.2.3. Napad na sjednicu reprodukcijom ............................................ 7
2.2.2.4. Napad nepriznavanjem ............................................................ 7
2.2.2.5. Zaštita od napada na sjednice ................................................. 8
2.2.3. Virusi, crvi i trojanski konji ............................................................ 8
2.3. Napadi uskraćivanjem usluge (DoS napadi) ..................................... 10
2.4. ISO/OSI referentni model ................................................................. 11
2.4.1. Fizički sloj ................................................................................... 12
2.4.2. Podatkovni sloj ........................................................................... 12
2.4.3. Mreţni sloj .................................................................................. 12
2.4.4. Transportni sloj ........................................................................... 12
2.4.5. Sjednički sloj .............................................................................. 13
2.4.6. Prezentacijski sloj ....................................................................... 13
2.4.7. Aplikacijski sloj ........................................................................... 13
3. Mreţni ureaji .............................................................................................. 13
3.1. Preklopnici ........................................................................................ 13
3.1.1. Učenje MAC adresa ................................................................... 15
3.1.2. Odluka o filtriranju/usmjeravanju okvira ..................................... 16
3.1.3. Izbjegavanje petlji ....................................................................... 16
3.2. Usmjerivači ....................................................................................... 17
3.2.1. Arhitektura usmjerivača .............................................................. 17
3.2.1.1. Upravljačka razina .................................................................. 17
3.2.1.2. Podatkovna razina ................................................................. 18
3.2.1.3. Nadzorna razina ..................................................................... 20
Sadrţaj
II
3.2.2. Vrste usmjerivača ....................................................................... 21
3.2.3. Arhitektura usmjeravanja............................................................ 23
3.2.3.1. Procesno usmjeravanje .......................................................... 23
3.2.3.2. Brzo usmjeravanje ................................................................. 25
3.2.3.3. CEF ........................................................................................ 26
3.2.3.4. Utjecaj metode usmjeravanja na mreţnu sigurnost ............... 29
3.3. Vatrozidi ............................................................................................ 30
3.3.1. Definicija vatrozida ..................................................................... 30
3.3.2. Vrste vatrozida ........................................................................... 31
3.3.2.1. Vatrozidi s filtriranjem paketa ................................................ 31
3.3.2.2. Vatrozidi s praćenjem stanja veze .......................................... 34
3.3.2.3. Aplikacijski vatrozidi ............................................................... 37
3.3.2.4. Vatrozidi za translaciju adresa ............................................... 38
3.3.2.5. Računalno orijentirani vatrozidi .............................................. 39
3.3.2.6. Hibridni vatrozidi ..................................................................... 40
3.4. UreĎaji za detekciju i prevenciju napada .......................................... 41
4. Sigurnost drugog mreţnog sloja ................................................................ 44
4.1. Poplavljivanje MAC adresama .......................................................... 44
4.2. ARP zavaravanje .............................................................................. 45
4.3. DHCP njuškanje ............................................................................... 45
4.4. VLAN bazirani napadi ....................................................................... 46
4.4.1. Napadi na 802.1Q i ISL označavanje ........................................ 46
4.4.2. 802.1q dvostruko označavanje ................................................... 47
4.4.3. Napad na privatne VLAN-ove ..................................................... 48
4.5. Napadi na spanning-tree protokol ..................................................... 50
4.5.1. BPDU obrana ............................................................................. 52
4.5.2. BPDU filtriranje ........................................................................... 52
4.5.3. Obrana korijena spanning tree protokola ................................... 52
4.5.4. UDLD ......................................................................................... 53
4.5.5. Obrana od petlji .......................................................................... 53
4.6. Oluja razašiljanja .............................................................................. 53
5. Sigurnost trećeg mreţnog sloja ................................................................. 54
5.1. Zaštita upravljačke razine ................................................................. 54
5.1.1. Proxy arp .................................................................................... 54
5.1.2. ARP prigušenje .......................................................................... 55
Sadrţaj
III
5.1.3. ICMP paket za preusmjeravanje ................................................ 55
5.1.4. ICMP odredište nedostupno ....................................................... 56
5.1.5. Napad istekom TTL-a ................................................................. 56
5.1.6. Upravljanje prometom prema upravljačkoj razini ........................ 56
5.2. Zaštita podatkovne razine ................................................................. 57
5.2.1. IP options ................................................................................... 57
5.2.2. Usmjeravanje paketa na temelju zahtjeva izvora ....................... 58
5.2.3. IP usmjereno razašiljanje (SMURF napad) ................................ 58
5.3. Anti-spoofing zaštita ......................................................................... 59
5.3.1. Čuvar izvorišne IP adrese .......................................................... 59
5.3.2. Unicast RPF ............................................................................... 59
5.4. Zaštita usmjerivačkih protokola......................................................... 60
5.4.1. IGP ............................................................................................. 60
5.4.2. BGP ........................................................................................... 60
5.4.2.1. TTL sigurnosna zaštita ........................................................... 60
5.4.2.2. MD5 provjera vjerodostojnosti ................................................ 61
5.4.2.3. Maksimalni broj prefiksa ......................................................... 61
5.4.2.4. Filtriranje prefiksa ................................................................... 62
6. Praktična implementacija sigurnosnih napada ........................................... 63
6.1. Način i tehnologija implementacije .................................................... 63
6.1.1. Programski jezik ......................................................................... 63
6.1.2. Pcap biblioteka ........................................................................... 63
6.1.3. Libnet biblioteka ......................................................................... 63
6.1.4. Pokretanje programa .................................................................. 64
6.2. ARP trovanje..................................................................................... 64
6.3. Poplavljivanje MAC adresama .......................................................... 66
6.4. Resetiranje TCP sjednica ................................................................. 67
6.5. Napad istekom TTL-a ....................................................................... 68
6.6. Napad na spanning-tree protokol ...................................................... 70
7. Zaključak ................................................................................................... 73
8. Literatura ................................................................................................... 74
1. Uvod
1
1. Uvod
Streloviti razvoj elektroničkih računala koji se dogodio u zadnjih 30 godina uvelike
je promijenio naš način ţivota. Današnji ţivot bez računala gotovo je nezamisliv.
Računala su postala neizostavni dio naše dnevne rutine. Od voţnje automobilom,
plaćanja karticom u trgovini do posudbe knjige u knjiţnici, svaka od tih radnji u
pozadini je upravljana računalom. Kako su računala tijekom povijesti tehnološki
napredovala, javila se i potreba za njihovom meĎusobnom razmjenom podataka.
Tako su nastale prve računalne mreţe.
Većina današnjih poslovnih procesa koristi računala i računalne mreţe. Ţivot i rad
bez njih danas bi bio gotovo nezamisliv. Povijest računalnih mreţa stara je gotovo
koliko i povijest samih računala, a vrhunac je doţivjela 90-tih godina kada je
spajanjem NSFneta (National Science Foundation Network), bivšim ARPAnetom,
CSneta (Computer Science Network) i EUneta (European Network) stvorena
globalna mreţa World Wide Web.
Razvoj računalnih mreţa pratio je razvoj računala. Od početnih 2.4 kb/s korištenih
u ARPAnetu, brzine izmeĎu internet čvorova rasle su na 50 kb/s, kasnije i na T1
(1.55 Mb/s) i T3 (45 Mb/s). Danas svako računalo dolazi s minimalno 100 Mb/s
mreţnim adapterom dok se 1 Gb/s već praktički nametnuo kao standard u
posluţiteljskom okruţenju. Naravno, računalne mreţe konstantno prate taj
napredak, pa tako mreţna oprema već danas posjeduje 10 Gb/s sučelja, 40 Gb/s
sučelja već su najavljena, a predlaţe se i standard za 100 Gb/s.
U današnje vrijeme najraširenija verzija mreţnog protokola koja se nametnula kao
standard na Internetu je IP verzija 4. Kada je IPv4 osmišljen, nitko nije razmišljao
da će broj računala koja su spojena na internet tako brzo rasti, te da će broj 32-
bitnih adresa koje sluţe za komunikaciju izmeĎu računala uskoro postati
premalen. Kao rješenje tog problema definirana je IP verzija 6 koja koristi 128-
bitne adrese te tako teoretski omogućuje 2128 različitih IP adresa što još dugo
premašuje sve potrebe čovječanstva.
Razvoj računalnih mreţa kroz povijest pratio je i razvoj podatkovnih protokola.
Neki od njih kao što su token ring, FDDI, SLIP gotovo da se više ni ne koriste, dok
su neki drugi protokoli kao što su mreţa s uslugom prijenosa okvira (FR, eng.
frame relay) i ATM tehnološki dosegnuli maksimalne brzine, te daljnji razvoj tih
tehnologija više nije isplativ. Njihova sudbina takoĎer ne izgleda sjajno i svi oni
gube bitku od ethernet protokola ili njegove verzije za mreţe širokog dosega
(WAN), pod nazivom metroethernet.
1. Uvod
2
Kako bi mreţna oprema mogla pratiti ovaj streloviti rast mreţnog prometa, moralo
je doći do odreĎenih promjena u njenoj arhitekturi. Tako su se prijašnje arhitekture
mreţne opreme koje su se temeljile na usmjeravanju upravljanom programskom
podrškom morale transformirati u arhitekturu koja usmjeravanje obavlja u samom
sklopovlju mreţne opreme. Nove tehnologije donose i nove protokole, a s njima i
nove sigurnosne probleme. Tehnologije koje su prvobitno namijenjene za lokalne
mreţe kao što je ethernet, sada se koriste kao WAN tehnologije. Svi problemi koji
su prije bili vezani za interne mreţe odjednom su postali globalni problemi.
Kako sada stvari stoje, sav razvoj mreţne opreme, a i podatkovnih protokola
fokusiran je na ethernet, tj. metro ethernet kao njegovo proširenje za mreţe
širokog dosega. Postojeće ATM i FR mreţe postupno se prebacuju na metro
ethernet te će za par godina potpuno nestati. Ethernet s druge strane ima blistavu
budućnost, danas postoje standardi koji definiraju 10 Gb/s koji se već uvelike
koriste u postojećim mreţama, pogotovo u podatkovnim centrima. Standard za 40
Gb/s i 100 Gb/s verzije je u pripremi i očekuje se 2010. kada će već postojati
mreţna oprema koja će to podrţavati. U prilog ethernetu ide naravno i cijena.
Omjer cijene i performansi po mreţnom sučelju višestruko su povoljniji nego kod
drugih tehnologija kao što su recimo ATM ili IPoDWDM.
Budući da je mreţna oprema koju uglavnom čine usmjerivači i preklopnici
okosnica interneta, vrlo je bitno osigurati njen stabilan rad. Na Internet su povezani
svi koji to ţele, pa i zlonamjerni korisnici i zato je potrebno pobrinuti se oko zaštite
samih mreţa, ali i servisa koje usluţuju. U današnje vrijeme paţnja prema
sigurnosnoj zaštiti uglavnom je fokusirana na zaštitu samih posluţitelja i servisa
koje oni nude te na zaštitu povjerljivih podataka koji nikako ne bi smjeli napustiti
radne organizacije. Zaštiti same mreţne opreme posvećuje se premalo paţnje te
ona dolazi u fokus tek kod nekih napada s uskraćivanjem usluge.
Ovaj će se rad baviti sigurnošću na samoj mreţnoj opremi. U sklopu rada bit će
obraĎeni svi sigurnosni problemi na podatkovnom ethernet sloju te na mreţnom IP
sloju. U sklopu rada biti će obraĎene i moguće obrane od pojedinih napada ako ih
mreţni ureĎaji podrţavaju. Kao praktični dio rada izradit će se programi u
programskom jeziku C s odgovarajućim napadima te će se mjeriti njihov utjecaj na
dvije vrste usmjerivača. Prvi će usmjerivač biti namijenjen za male poslovne
korisnike, proizvoĎača Cisco, model 1812 koji usmjeravanje obavlja pomoću
programske podrške, dok će drugi usmjerivač biti verzija za pruţatelje usluga,
Cisco model 6500 koji dio usmjeravanja obavlja u samom sklopovlju usmjerivača.
Namjerno su odabrani usmjerivači različitih arhitektura da bi se mogla vidjeti
ovisnost nekih napada o arhitekturi usmjerivača.
2. Mreţna sigurnost
3
2. Mrežna sigurnost
Prema izvoru, sigurnosne prijetnje mogu se ugrubo podijeliti na dvije vrste. Prva
vrsta su prijetnje od udaljenih korisnika, znači korisnika koji dolaze izvan naše
mreţe. Drugu vrstu prijetnje čine lokalni korisnici. U zadnjih nekoliko godina
prijetnje od lokalnih korisnika postaju učestalije od vanjskih prijetnji. Jedan od
razlog je i to što internoj sigurnosti ne pridajemo dovoljno vaţnosti.
Prema vrsti, sigurnosne prijetnje mogu se svrstati u dvije kategorije. Prvu
kategoriju čine nestrukturirane prijetnje. Nestrukturirane prijetnje obično potiču od
neiskusnih korisnika koji pokušavaju ostvariti pristup mreţnim resursima. Ti
korisnici obično nemaju veliko znanje o mreţnim tehnologijama nego pomoću
programa skinutih s interneta pokušavaju naći nekakvu sigurnosnu rupu. To su
obično programi za skeniranje portova i adresa. Ti napadi obično nisu zlonamjerni,
nego potiču od znatiţelje korisnika te njihove ţelje da saznaju koji ureĎaji se
koriste u mreţi.
S druge strane, strukturirane prijetnje obično potiču od tehnički vrlo potkovanih
osoba, s dobrim poznavanjem mreţa i mreţnih protokola. Ti će zlonamjerni
korisnici koristiti ili izraditi vrlo sloţene alate za napad na mreţu ili za narušavanje
njenih performansi. Za razliku od nestrukturiranih prijetnji, ovdje je zaštita mnogo
teţa, pogotovo ako je zlonamjerni korisnik u lokalnoj mreţi.
Sami napadi mogu se podijeliti u tri kategorije:
IzviĎački napadi
Napadi s ciljem neovlaštenog pristupa
Napadi uskraćivanjem usluge
2.1. IzviĎački napadi
U izviĎačkom napadu zlonamjerni korisnik pokušava doznati različite informacije o
mreţi. Interesantne informacije su mu prvenstveno topologija, vrsta mreţnih
ureĎaja, konfiguracija te programska podrška koju mreţni ureĎaji koriste.
Zlonamjeran korisnik na osnovu tih informacija moţe planirati jedan od sljedećih
napada, bilo da je riječ o pokušaju neovlaštenog pristupa ili neki od DoS napada.
Dvije su vrste izviĎačkih napada:
Skeniranje
Prisluškivanje
2. Mreţna sigurnost
4
2.1.1. Napad skeniranjem
Mreţno skeniranje je najčešći napad izviĎanjem. Mreţnim skeniranjem
zlonamjeran korisnik pokušava otkriti ureĎaje u mreţi. Jedan od načina je slanje
ICMP ping paketa na sve IP adrese u mreţi ili slanjem ICMP ping paketa na
adresu razašiljanja (eng. broadcast address), ako to mreţa podrţava.
Mreţno skeniranje otkriva samo ureĎaje u mreţi, ne i servise koji se izvršavaju na
njima. Da bi otkrio koji se servis nalazi na kojem ureĎaju, zlonamjerni korisnik
mora koristiti neki od programa za skeniranje portova. Program za skeniranje
portova skenirat će raspon portova na odreĎenom ureĎaju i pokušati odrediti koja
se vrsta servisa izvršava na odreĎenom portu.
Na osnovi prikupljenih podataka zlonamjerni korisnik moţe se odlučiti za neki od
novih napada.
Najčešća zaštita od napada skeniranjem je upotreba ureĎaja za filtriranje mreţnog
prometa, bilo da se koriste pristupne liste (ACL) na samim usmjerivačima ili
dedicirani ureĎaji kao što su vatrozidi. Bez obzira koriste li se vatrozidi ili neki drugi
oblici zaštite, poţeljno je isključiti sve servise koji se ne koriste.
2.1.2. Napad prisluškivanjem
Druga vrsta napada izviĎanjem je prisluškivanje. Napad prisluškivanjem uključuje
presretanje i obradu paketa koji putuju od izvora prema odredištu. Napadač obično
koristi neki od analizatora protokola da bi iz mreţnog prometa izdvojio podatke
potrebne za daljnje napade. Najjednostavniji primjer je presretanje telnet prometa
izmeĎu klijenta i servera. Ovdje napadač zbog arhitekture samog protokola moţe
vrlo lako doći do korisničkih podataka za autorizaciju.
Analizator protokola korišten za napad prisluškivanjem moţe biti sklopovski (na
primjer, Network Associates Sniffer) ili aplikacijski temeljen i izvršavati se na
običnom računalu (na primjer, Ethereal, Wireshark). Kod analizatora temeljenih
na aplikaciji u slučaju etherneta, mreţna kartica na računalu mora biti u
slobodnom načinu rada (eng. promiscuous mode) da bi mogla procesirati sve
ethernet okvire, a ne samo okvire čija odredišna MAC adresa odgovara MAC
adresi mreţne kartice računala.
Da bi izveo ovaj napad, napadač mora biti fizički povezan s mreţom tako da vidi
sav mreţni promet izmeĎu izvora i odredišta. Budući da se mreţna čvorišta (eng.
hub) uglavnom više ne koriste kod izgradnje računalnih mreţa i zamijenili su ih
komutatori, napadaču više nije tako lako presresti ţeljeni promet i primoran je
koristiti dodatne napade. Kao najbolja zaštita od napada prisluškivanjem
preporučuje se korištenje enkripcije. Enkripcija moţe biti sadrţana u samom
protokolu (SSH, HTTPS) i na taj način zaštiti osjetljive informacije, a moţe i zaštiti
sav IP promet koji se razmjenjuje izmeĎu dva mreţna ureĎaja (IPSec). Koju god
metodu odaberemo, napadač neće jednostavno moći iskoristiti promet koji je uspio
presresti.
2. Mreţna sigurnost
5
2.2. Napad s ciljem neovlaštenog pristupa
Još jedan od čestih napada je napad s ciljem ostvarivanja neovlaštenog pristupa.
U ovom napadu zlonamjeran korisnik pokušava neovlašteno pristupiti mreţi i
mreţnim resursima kao što su elektronička pošta, ftp ili udaljeni pristup putem
telnet ili ssh protokola.
Tipično će se zlonamjerni korisnik pokušati domoći datoteke sa zaporkama te će
koristeći neke od programa za njihovo razbijanje pokušati doći do izvorne zaporke
koja je kriptirano pohranjena u datoteci. Zlonamjerni korisnik takoĎer moţe koristiti
i tehniku prisluškivanja da bi se domogao zaporki koje nekriptirano putuju mreţom.
Ostali napadi s ciljem neovlaštenog pristupa uključuju iskorištavanja propusta u
operacijskom sustavu računala i odreĎenih aplikacija. Jedan od primjera je preljev
spremnika, greška kojom zlonamjerni korisnik moţe ostvariti pristup bez prethodne
provjere autentičnosti.
Nakon što je uspješno provalio na jedan od mreţnih ureĎaja, napadač će iskoristiti
taj ureĎaj za napad na ostale ureĎaje. Naravno, kada je dobio pristup, napadač
ima mogućnost promijeniti ili čak obrisati konfiguraciju s mreţnog ureĎaja te tako
stvoriti dodatne probleme mreţnim administratorima.
Da bi zlonamjerni korisnik ostvario neovlašteni pristup moţe koristiti više alata,
uključujući i ove:
pogaĎanje zaporki javno poznatih računa (npr. root, administrator, ftp, php)
korištenje analizatora protokola da bi se dokopao zaporki koje nekriptirane
putuju mreţom
pristup datoteci s kriptiranim zaporkama te korištenje nekih od programa za
pokušaj njihove dekripcije
socijalni inţenjering
Socijalni inţenjering je obično najlakši način za neovlašteni pristup. Njime
zlonamjeran korisnik pokušava izmanipulirati legitimne korisnike da mu otkriju
informacije potrebne za pristup, obično se predstavljajući kao administrator.
Situacija moţe biti i obrnuta, da zlonamjerni korisnik glumi legitimnog korisnika,
traţeći administratora podatke potrebne za pristup.
Sama zaštita od ovog tipa napada nije jednostavna te ovisi o tehnici koju koristi
napadač. Dobra sigurnosna politika s definiranim sigurnosnim procedurama
uvelike pomaţe u rješavanju ovog problema.
2. Mreţna sigurnost
6
2.2.1. Napad manipulacijom podataka
Napad manipulacijom podataka uključuje promjenu podataka od strane
zlonamjernog korisnika. Tipično je riječ o konfiguracijskim datotekama mreţnog
ureĎaja ili datotekama na internetskom posluţitelju. Napad manipulacijom
podataka moţe uključivati i manipulaciju samih paketa koji putuju mreţom. Kako bi
izveo taj napad, zlonamjerni će se korisnik posluţiti nekim od napada izviĎanja da
bi se domogao informacija potrebnih za pristup te kasnije izvršio promjene na
podacima.
Kao najbolja zaštita protiv manipulacije podataka preporuča se uvoĎenje centralne
autorizacije i kontrole pristupa i korištenje enkripcije kod osjetljivih protokola.
2.2.2. Napad na sjednice
Jedan od teţih napada koje zlonamjerni korisnik moţe izvršiti je napad na sjednicu
ili sjednički sloj (eng. session layer). Kod napada na sjednicu, zlonamjerni korisnik
pokušava napasti sjednički sloj nadajući se da će dobivene informacije iskoristiti
za neki drugi napad ili da će preoteti sjednicu praveći se da je on izvorni ili
odredišni ureĎaj. Napadi na sjednice mogu se generalno podijeliti u četiri
kategorije:
napad laţnim predstavljanjem (eng. masquerading attack)
otimanje sjednice (eng. session hijacking)
napad na sjednicu reprodukcijom (eng. session replay)
napad nepriznavanjem (eng. repudiation)
2.2.2.1. Napad lažnim predstavljanjem
Napad laţnim predstavljanjem je metoda koju koristi zlonamjerni korisnik da bi
skrio svoj identitet. Mijenjanjem izvorišne IP adrese on se predstavlja kao neko
drugo računalo u mreţi.
U TCP/IP svijetu taj se napad naziva IP zavaravanje (eng. IP spoofing). Da bi
izveo napad IP zavaravanjem, zlonamjerni korisnik koristi programe koji mogu
mijenjati izvorišnu IP adresu, a kod TCP protokola čak i brojeve slijeda za TCP
segmente.
Napad laţnim predstavljanjem najčešće se koristi kod napada uskraćivanjem
usluge (DoS eng. Denial Of Service).
2.2.2.2. Otimanje sjednice
U napada otimanjem sjednice zlonamjerni korisnik pokušava preoteti sjednicu koja
se odvija izmeĎu dva računala ili mreţna ureĎaja. Na primjer, zlonamjeran korisnik
moţe fizički ili na neki drugi način odsjeći izvorišni ureĎaj i odredišnom ureĎaju se
2. Mreţna sigurnost
7
pretvarati da je on taj koji je inicirao konekciju. On se moţe posluţiti i sloţenijim
napadom gdje bi se pozicionirao izmeĎu izvorišnog i odredišnog ureĎaja i prema
svakom od njih glumio drugi kraj konekcije što bi krajnje ureĎaje prevarilo kao da
još uvijek komuniciraju meĎusobno.
Napad otimanjem sjednice obično se sastoji od više različitih napada kao što su
manipulacija podacima, prisluškivanje i laţno predstavljanje. Na osnovu ovoga
moglo bi se pomisliti kako je ovaj napad jako kompliciran. Naprotiv, neki protokoli
kao što su TCP relativno su predvidljivi, pogotovo ako koriste brojeve slijeda (eng.
sequence numbers) za TCP segmente.
Jedan od najjednostavnijih napada koji koriste laţno predstavljanje i otimanje
sjednice je napad na DNS servis (eng. Domain Name System). Vješt zlonamjerni
korisnik moţe presresti DNS odgovore koji dolaze od DNS posluţitelja i zamijeniti
IP adresu u odgovoru adresom koju on kontrolira te tako vrlo jednostavno ostvariti
napad na odlazne sjednice.
2.2.2.3. Napad na sjednicu reprodukcijom
Napad na sjednicu reprodukcijom sastoji se od dva dijela. Zlonamjeran korisnik
prvo napadom prisluškivanjem sprema dio stvarne komunikacije koja se odvija
izmeĎu dva računala ili mreţna ureĎaja. Nakon toga presretnuti promet koristi za
napad bilo izvorišnog ili odredišnog računala.
Najjednostavniji primjer ovog napada je korištenje kolačića (eng. cookies) da bi se
zlonamjerni korisnik laţno predstavio kao mreţni posluţitelj i uvjerio drugu stranu
kako je on posluţitelj s kojim se ţrtva izvorno ţeljela povezati.
Napadi na sjednicu reprodukcijom česti su i kod VoIP protokola (eng. Voice Over
IP), gdje zlonamjerni korisnik pomoću presretnutnog prometa pokušava
reprodukcijom ponovo ostvariti poziv.
2.2.2.4. Napad nepriznavanjem
Nepriznavanje (eng. Repudiation) je proces u kojemu je nemoguće dokazati da se
odreĎena transakcija izmeĎu dva entiteta stvarno dogodila. S druge strane,
priznavanje (eng. Nonrepudiation) je proces u kojemu postoje nepobitni dokazi da
se transakcija izmeĎu dva entiteta stvarno dogodila. OdreĎene transakcije
zahtijevaju proces priznavanja, primjerice, elektroničko potpisivanje dokumenata,
elektronički prijenos novca, kupovina kreditnom karticom.
Cilj napada nepriznavanjem je nemogućnost dokazivanja identiteta zlonamjernog
korisnika u slučaju nekog autoriziranog ili čak neautoriziranog djela. Napadi
nepriznavanjem obično se veţu za neke zlonamjerne aktivnosti kod kojih je
nemoguće odrediti koji ih je korisnik počinio. Napadi nepriznavanjem obično
2. Mreţna sigurnost
8
uključuju zaobilaţenje sustava za prijavu ili čak izmjene u sigurnosnim logovima
da bi se prikrio identitet napadača.
2.2.2.5. Zaštita od napada na sjednice
Kao zaštita od napada na sjednički sloj moţe se koristiti više rješenja:
Korištenje VPN-a
Korištenje SSL-a kod internetskih veza
Provjera autentičnosti digitalnim potpisima
Filtriranje Java i ActiveX skripti
Blokiranje e-pošte s nesigurnih posluţitelja
Najvaţnija zaštita je zasigurno korištenje VPN-a koji kriptira podatke koji se šalju
putem nesigurnih veza. Kod korištenja VPN-a zlonamjerni korisnik nije u
mogućnosti vidjeti stvarne podatke koji se prenose izmeĎu dva ureĎaja, a time mu
je onemogućen veliki broj napada na sjednice.
Isto se odnosi i na korištenje SSL-a kod internetske veze gdje se korištenjem
enkripcije zlonamjernom korisniku ne dopušta uvid u komunikaciju izmeĎu
posluţitelja i korisnika.
Jedna od popularnih metoda za utvrĎivanje identiteta je korištenje digitalnih
certifikata. Pomoću digitalnih certifikata i treće osobe CA (eng. Certificate
Authority) moguće je nepobitno utvrditi je li osoba s kojom pokušavamo
komunicirati ona za koju se predstavlja.
Filtriranje Java i ActiveX skripti s nepoznatih posluţitelja pokazalo se kao dobar
način zaštite od napada na sjednice. Filtriranjem tih skripti smanjuje se
vjerojatnost napada na sjednice zbog neopreznih korisnika.
Kao metoda zaštite, a kasnije i radi lakšeg utvrĎivanja počinitelja napada,
preporučuje se uključivanje prijave na sve ureĎaje i servise koji to podrţavaju.
Logovi bi se trebali pohranjivati na jedno sigurno centralno mjesto gdje bi se po
potrebi naknadno obraĎivali.
2.2.3. Virusi, crvi i trojanski konji
Virusi, crvi i trojanski konji vjerojatno su najpoznatije vrste napada na računalne
sustave. Svoj publicitet stekli su zahvaljujući velikoj rasprostranjenosti i šteti koju
nanose računalnoj industriji. Iako dosta slični, svaki od tih zlonamjernih programa
djeluje različito.
Virusi su vrsta zlonamjernih programa koji se izvršavaju na korisnikovom računalu
bez njegovog znanja. Virusi za svoje širenje koriste legitimne programe na koje
dodaju svoj dodatak koji će se prilikom pokretanja zaraţenog programa takoĎer
2. Mreţna sigurnost
9
izvršiti. Kod izvršavanja zaraţenog programa izvršava se i zlonamjerni kod i
korisnici često nisu svjesni da su zaraţeni virusom.
Crvu, za razliku od virusa, nije potrebna pomoć korisnika da bi se proširio. On
obično koristi nedostatke operacijskog sustava ili odreĎenih aplikacija da bi se
proširio na ostala računala u mreţi. Sama priroda crva puno je destruktivnija od
virusa jer brzina njihova širenja ne ovisi o korisnicima i u vrlo kratkom roku mogu
zaraziti tisuće računala. Crvi se često koriste u DoS napadima kada se zaraţena
računala koriste u napadu na druge mreţne resurse.
Trojanski konji su zlonamjerne aplikacije koje se predstavljaju kao normalne
korisničke aplikacije. Nemaju metodu širenja kao crvi i virusi, nego ih korisnik mora
sam instalirati i pokrenuti na računalu. Kada su pokrenuti, trojanski konji su u
mogućnosti otvoriti pozadinska vrata (eng. back door) i na taj način potencijalnom
napadaču otvoriti neometan pristup računalu.
Kako su ove vrste napada najraširenije i zahvaćaju najveću količinu korisnika
potrebno je obratiti posebnu pozornost njihovom sprječavanju. Kao zaštitu od ovih
napada moţemo upotrijebiti sljedeće metode:
Edukacija korisnika
Antivirusni alati
Programi za verifikaciju aplikacija
Konfiguracija mreţnih ureĎaja za smanjivanje štete
Najbolja obrana od zlonamjernih programa je edukacija samih korisnika. Tako bi,
primjerice, korisnici trebali znati da ne otvaraju privitke u elektroničkoj pošti od
nepoznatih korisnika, ne posjećuju web stranice poznate po distribuciji trojanskih
konja i ne instaliraju programe koji nisu provjereni.
Upotreba antivirusnih programa uvelike će pomoći kod situacija kada korisnik
nesvjesno pokuša pokrenuti zlonamjerni program te ga zaštiti od moguće infekcije
virusima.
Programi za verifikaciju aplikacija takoĎer su koristan dodatak sigurnosti. Oni će
napraviti snimku programa i konfiguracijskih datoteka i kasnije omogućiti analizu je
li neka od njih promijenjena. Promjena aplikacija i skripti moţe indicirati da je neka
vrsta napada u tijeku.
Konačno, ako se neki od crva i proširi mreţom, konfiguracijom mreţnih ureĎaja
moguće je spriječiti njegovo daljnje širenje na ostale dijelove mreţe i barem malo
umanjiti nastalu štetu.
2. Mreţna sigurnost
10
2.3. Napadi uskraćivanjem usluge (DoS napadi)
Napadi uskraćivanjem usluge ili poznatije DoS napadi jedan su od najčešćih
napada u mreţnom svijetu. Zlonamjerni korisnik DoS napada ţeli spriječiti
legitimnog korisnika u pristupu odreĎenim mreţnim resursima i uslugama ili da, u
najmanju ruku, naruši njihovu kvalitetu. Proširena verzija DoS napada naziva se
DDoS (eng. Distributed Denial Of Service). Kod nje zlonamjerni korisnik koristi
više izvora DoS napada, obično druga preoteta računala, sa svrhom povećanja
napada i na taj se način obrana od napada višestruko komplicira.
Kako doslovno postoje stotine vrste DoS napada podijelit ćemo ih u osnovne
skupine:
Zauzimanje računalnih resursa kao što su procesor, memorija, slobodan
prostor na disku i dostupna mreţna propusnost. Ova skupina je ujedno i
najčešća i većina je napada fokusirana upravo na ovaj dio. U ovu skupinu
spadaju i većina poznatijih DoS napada kao što su: ICMP flood, smurf
napad, TCP SYN flood napad, ping smrti itd.
Napadi s ciljem promjene konfiguracije kao što su, na primjer, stanje tablica
usmjerivačkih protokola. Ovi napadi su nešto rjeĎe prisutni, ali šteta koju
mogu izazvati nije zanemariva, pogotovo zato što je paţnja posvećena
njihovoj sigurnosti obično jako mala.
Napadi s ciljem promjene informacija o stanju, npr. resetiranje aktivne TCP
sjednice koji će dovesti do prekida mreţne komunikacije izmeĎu dva
mreţna ureĎaja.
Ometanje fizičkih komponenti mreţnih ureĎaja, bilo da je riječ o različitim
sučeljima ili dijelovima za procesiranje.
Ometanje komunikacijskog medija izmeĎu korisnika i posluţitelja s ciljem
unošenja smetnji ili kompletnog prekida komunikacije.
Kako su načini djelovanja DoS napada dosta raznoliki, tako postoje i raznovrsne
metode obrane od njih. Same metode obrane mogu se podijeliti na nekoliko
osnovnih vrsta:
Fizička sigurnost kod smještaja mreţne opreme
Filtriranje nepoţeljnih IP paketa
Korištenje sustava za detekciju napada (IDS)
Korištenje usmjerivačkih protokola s provjerom autentičnosti
Pohranjivanje svih logova na sigurno centralno mjesto
Prva i osnovna metoda obrane je smještaj mreţne opreme na sigurno mjesto gdje
je dopušten ulaz samo odreĎenim osobama. Većina mreţne opreme posjeduje
2. Mreţna sigurnost
11
fizičko sučelje za nadzor i upravljanje koje uz fizički pristup opremi zlonamjerni
korisnik moţe iskoristiti za DoS napad.
Najbolja metoda obrane od DoS napada je korištenje sustava za detekciju i
prevenciju napada (IDS/IPS) u kombinaciji s vatrozidom ili nekim drugim načinom
filtriranja nepoţeljnih paketa, dok će pohranjivanje logova sa svih mreţnih ureĎaja
na centralno mjesto kasnije omogućiti forenziku i bolju pripremu za obranu od
novih napada.
2.4. ISO/OSI referentni model
Da bismo što bolje razumjeli djelovanje pojedinih napada na odreĎene vrste
mreţne opreme, potrebno je razumjeti kako i na kojoj razini se odvija mreţna
komunikacija. ISO/OSI referentni model (eng. International Standards
Organization (ISO), Open Systems Interconnect (OSI)) jedan je od virtualnih
modela mreţne komunikacije i definira sedam komunikacijskih slojeva i sučelja
meĎu njima. Slojevi od vrha prema dnu su: aplikacijski, prezentacijski, sjednički,
prijenosni, mreţni, podatkovni i fizički sloj.
Aplikacijski sloj
Prezentacijski sloj
Sjednički sloj
Prijenosni sloj
Mreţni sloj
Podatkovni sloj
Fizički sloj1
2
3
5
4
6
7
Slika 1. ISO/OSI referentni model
Sam sloj čine konceptualno slične funkcije koje pruţaju servise sloju iznad, dok
istovremeno koriste servise od sloja ispod sebe.
ISO/OSI referentni model razvijen je u svrhu standardizacije protokola koji se
koriste u pojedinim slojevima. Svrha modela je omogućiti modularnost i
interoperabilnost izmeĎu opreme različitih proizvoĎača, te tako olakšati razvoj
mreţne opreme.
Svaki sloj ovisi o uslugama sloja ispod sebe, sve do najniţeg fizičkog sloja
(bakreni i optički kabeli, radio valovi itd.). Sama ideja ovog modela je da svaki sloj
komunicira samo sa slojem ispod i iznad sebe. Time smo dobili razinu apstrakcije i
modularnosti i tako, teoretski, svaku komponentu u stogu moţemo zamijeniti
2. Mreţna sigurnost
12
komponentom nekog drugog proizvoĎača koja radi na istom sloju ISO/OSI modela
i ima istu funkcionalnost kao prethodna komponenta.
Razmjena informacije izmeĎu susjednih slojeva odvija se korištenjem odreĎenih
protokola, a komunikacija izmeĎu slojeva, bilo vertikalna ili horizontalna, strogo je
definirana.
2.4.1. Fizički sloj
Fizički sloj definira fizičke i električne specifikacije ureĎaja i fizičkog medija po
kojem se prenose podaci. Ovaj sloj se brine o prijenosu bitova preko
komunikacijskog kanala i definira tip medija, korištene modulacije, izgled i
specifikacije konektora, napone na sučeljima, vremenska ograničenja na sučelju
itd.
Primjer standarda na fizičkom sloju je RS-232 kojim se točno definira što je
potrebno za serijsku komunikaciju izmeĎu dva mreţna ureĎaja na fizičkom sloju.
2.4.2. Podatkovni sloj
Osnovna zadaća podatkovnog sloja je pouzdan prijenos podataka preko medija.
On otkriva pogreške u prijenosu preko fizičkog sloja i brine se o pristupu mediju za
prijenos podataka. Prijenos se obavlja na način da pošiljatelj rastavi ulaznu poruku
na dijelove koji se u podatkovnom sloju nazivaju okviri (eng. frame) i zatim ih
slijedno pošalje po fizičkom sloju. Podatkovni sloj brine se i o toku podataka i
posjeduje mehanizme za sprječavanje zastoja ako pošiljatelj šalje više informacija
nego što primatelj moţe obraditi. U tu svrhu koriste se razne signalizacije i
meĎuspremnici za privremeno pohranjivanje podataka.
2.4.3. Mrežni sloj
Mreţni sloj pruţa usluge povezanosti i odabir najboljeg puta paketa od izvora
prema odredištu. Kako bi znao kamo poslati koji paket, mreţni sloj koristi logičko
adresiranje (jedan od primjera je i IP adresa). Paket kroz mreţu moţe putovati
različitim putanjama, ovisno o raznim parametrima u mreţi. Podaci na mreţnom
sloju prenose se metodom najboljeg mogućeg prijenosa (eng. best effort), što
znači da se ne vodi računa o pouzdanoj dostavi paketa. O tim stvarima brinu se
viši slojevi, obično TCP.
2.4.4. Transportni sloj
Transportni sloj je zaduţen za transparentni prijenos podataka izmeĎu korisnika.
On prihvaća podatke od gornjih slojeva, rastavlja ih na dijelove i prosljeĎuje
mreţnom sloju. Transportni sloj takoĎer osigurava da segmenti ispravno stignu na
drugi kraj.
Transportni sloj odreĎuje koji će se tip usluge pruţati sjedničkom sloju i samim
time koji će se stupanj zaštite primjenjivati za prijenos podataka. ISO/OSI
referentni model ima pet klasa konekcijski orijentiranih transportnih protokola, TP0
3. Mreţni ureĎaji
13
- TP4. TP0 posjeduje najmanje značajki za oporavak od pogreške dok ih TP4
posjeduje najviše i namijenjen je za mreţe sklone pogreškama u komunikaciji, kao
što je Internet. Klasa TP4 je najbliţa TCP-u s razlikom da TCP posjeduje
odreĎene funkcionalnosti koje se obično veţu za sjednički sloj.
2.4.5. Sjednički sloj
Sjednički sloj ostvaruje, upravlja i prekida sjednice izmeĎu lokalne i udaljene
aplikacije. Sjednice nude različite usluge, uključujući kontrolu razgovora (full-
duplex, half-duplex, simplex), upravljanje značajkama i sinkronizaciju koje
omogućuju nastavak prijenosa podataka ako je došlo do prekida sjednice.
2.4.6. Prezentacijski sloj
Da bi se omogućila meĎusobna komunikacija računala s različitim predstavljanjem
podataka, definiran je prezentacijski sloj. On definira podatkovne strukture na
apstraktan način da bi omogućio razmjenu podatkovnih struktura viših razina.
Prezentacijski sloj pretvara podatke u formu koju razumije aplikacijski sloj, a
istodobno prima podatke aplikacijskog sloja, prilagoĎava ih i šalje niţim slojevima i
na taj način rješava probleme s kompatibilnošću.
2.4.7. Aplikacijski sloj
Aplikacijski sloj u ISO/OSI referentnom modelu najbliţi je korisniku, odnosno
aplikacijski sloj i korisnik direktno komuniciraju s aplikacijom. On sadrţi
aplikacijske protokole koje svakodnevno koristimo kao što su HTTP (eng.
HyperText Transfer Protocol), FTP (eng. File Transfer Protocol), SMTP (eng.
Simple Mail Transfer Protocol) i mnogi drugi. U ovom ćemo se radu baviti
sigurnošću mreţnih ureĎaja od drugog do četvrtog sloja, odnosno podatkovnim,
mreţnim i sjedničkim slojem.
3. Mrežni ureĎaji
U ovom ćemo poglavlju napraviti pregled mreţni ureĎaja i tehnologija koje se
trenutno koriste. Kod preklopnika ćemo se fokusirati na ethernet preklopnike jer
tehnologije kao što su frame relay i ATM polako izumiru dok je sav razvoj nove
mreţne opreme usmjeren ka ethernetu i njegovoj WAN izvedbi, metro ethernetu.
3.1. Preklopnici
Preklopnici (eng. switch) su ureĎaji koji sluţe za spajanje više segmenata mreţe u
jednu cjelinu. Budući da su danas ethernet mreţe skoro u potpunosti izgraĎene od
preklopnika, koncentratore (eng. hub) i mostove (eng. bridge) rijetko gdje
susrećemo. Time praktički dobivamo da je svako računalo ili mreţni ureĎaj u svom
segmentu čime smo u potpunosti eliminirali kolizijsku domenu na ethernetu i tako
direktno poboljšali performanse mreţe temeljene na ethernetu. Korištenjem
3. Mreţni ureĎaji
14
preklopnika u mreţi, propusnost se više ne dijeli na cijelu mreţu već isključivo
ovisi o brzini izmeĎu dva sudionika. Korištenjem preklopnika moguće je
istovremeno ostvariti više komunikacija na linijskoj brzini bez zagušenja mreţe.
Generalno gledajući, preklopnici rade na drugom, podatkovnom sloju ISO/OSI
referentnog modela i kao takvi ethernet okvire usmjeravaju na osnovi fizičke
adrese podatkovnog sloja (MAC adresa). Današnji ethernet preklopnici rade i na
višim slojevima ISO/OSI modela, mreţnom, pa čak i transportnom sloju, a takvi se
ureĎaji nazivaju višeslojni preklopnici (eng. multilayer switch).
Arhitektura današnjih preklopnika u potpunosti je sklopovski orijentirana. To znači
da u samom preklopniku postoje dedicirani sklopovi, ASIC (eng. Application
Specific Integrated Circuit) koji obavljaju sve funkcionalnosti vezane uz
usmjeravanje okvira. Sklopovski orijentirana arhitektura, za razliku od arhitekture
temeljene na centralnom procesoru, ima odreĎene prednosti. Takvi preklopnici
imaju jako veliki kapacitet preklapanja, 8, 16, 32 pa čak i 720 Gb/s, jako malo
kašnjenje i odličan omjer cijene i performansi. Centralni procesor na njima sluţi
samo za nadzor i upravljanje ASIC sklopovljem.
Postoje četiri metode koje preklopnici koriste za usmjeravanje ethernet okvira.
Metode dva do četiri donose velika poboljšanja performansi kod preklopnika sa
sučeljima istih brzina:
Spremi i pošalji (eng. store and forward) metoda koristi meĎuspremnike u
koje posprema cijeli okvir. Nad okvirom se izvrši provjera zbroja (eng.
checksum) te se ako je sve u redu, okvir šalje na ţeljeno sučelje.
Prereţi (eng. cut through) metoda sastoji se od toga da se pročita dio
okvira koji sadrţi samo odredišnu adresu, te se okvir odmah proslijedi bez
ikakve provjere greške.
Metoda bez fragmenata (eng. fragment free) pokušava kombinirati
prednosti prve i druge metode. Ona provjerava prvih 64 bajta okvira gdje je
smještena odredišna adrese. Prema definiranom ethernet standardu, ako
doĎe do kolizije, ona se mora detektirati u prvih 65 bajta ethernet okvira,
tako da će okviri s pogreškom koji su nastali kolizijom biti odbačeni.
Provjera greške u podacima koji su sadrţani u ethernet okviru ostavlja se
višim slojevima, tipično mreţnom i transportnom sloju.
Prilagodljivo preklapanje (eng. adaptive switching) je metoda koja
automatski odabire jednu od tri gornje metode, ovisno o stanju i zagušenju
fizičkih sučelja.
Postoje tri vaţne funkcije koje obavlja preklopnik na drugom sloju ISO/OSI
modela:
3. Mreţni ureĎaji
15
Učenje MAC adresa
Odluka o filtriranju/usmjeravanju okvira
Izbjegavanje petlji
Svaka od tih funkcija izuzetno je bitna za funkcioniranje preklopnika, ali i za
stabilnost cijele mreţe bazirane na ethernetu.
3.1.1. Učenje MAC adresa
Kako bi znali koji okvir usmjeriti na koje fizičko sučelje, preklopnici moraju naučiti
izvorišnu fizičku adresu od svih ureĎaja koji sudjeluju u komunikaciji, te izraditi
tablicu u memoriji koja će povezivati fizičku adresu ureĎaja i sučelje na
preklopniku na koji je ureĎaj spojen.
Postupak učenja MAC adresa je sljedeći. Na početku učenja tablica usmjeravanja
je prazna. Kada preklopnik primi poslani okvir od nekog mreţnog ureĎaja ili
računala, u tablicu usmjeravanja će pohraniti njegovu izvorišnu MAC adresu i
sučelje na koje je okvir došao. Da bi primljeni okvir mogao poslati dalje, preklopnik
će provjeriti tablicu usmjeravanja da bi saznao sučelje na koje mora proslijediti
okvir. Budući da je na početku tablica usmjeravanja prazna, preklopnik će okvir
poslati na sve portove, dok ne utvrdi na kojem se portu nalazi odredišna MAC
adresa. Ako odredišni ureĎaj odgovori na okvir koji mu je poslan, preklopnik će
pohraniti njegovu MAC adresu u tablicu usmjeravanja, te će svaki sljedeći okvir
koji ide na tu odredišnu adresu biti poslan samo na jedno izlazno sučelje.
Računalo
A
Računalo
B
Računalo
C
Računalo
D
Korak 1
3 4 3 3
E0/1 E0/2
E0/3E0/0
MAC tablica / tablica filtriranja
E0/0 0000.8c01.000A korak 2
E0/1 0000.8c01.000B korak 4
E0/2
E0/3
Slika 2. Postupak učenja MAC adresa
3. Mreţni ureĎaji
16
3.1.2. Odluka o filtriranju/usmjeravanju okvira
Kao što smo vidjeli u postupku učenja, ako preklopnik u tablici usmjerivanja
posjeduje odredišnu MAC adresu, okvir će biti usmjeren sam na jedno izlazno
sučelje umjesto na sva ostala sučelja. Ova funkcionalnost povećava propusnost i
naziva se filtriranje okvira. Okviri koji imaju adresu razašiljanja biti će poslani na
sva izlazna sučelja osim na ono s kojeg su došli, što je jednako ponašanju
preklopnika kad mu je tablica usmjeravanja prazna.
3.1.3. Izbjegavanje petlji
Ako se ţeli postići redundancija izmeĎu preklopnika poţeljno je koristiti dvostruke
veze kako ispad jedne veze ne bi doveo do ispada cijelog preklopnika. Iako se
dvostruke veze na podatkovnom sloju čine kao dobra stvar, one mogu postati veći
problem od nedostatka redundancije ako preklopnik ne posjeduje odreĎene
mehanizme zaštite. Jedan od tih mehanizama je i izbjegavanje petlji.
Segement 1
Segement 2
Preklopnik APreklopnik B
Usmjerivač C
Unicast
Unicast
Unicast
Slika 3. Izbjegavanje petlji
Kada preklopnik ne bi bio svjestan redundantnih veza u mreţi, moglo bi doći do
velikih problema. Jedan od manifestiranih problema bio bi da mreţni ureĎaj dobije
dvije kopije istog paketa, ili još gora varijanta gdje bi broadcast promet u
potpunosti zagušio mreţu jer bi konstantno kruţio u petlji koja je zatvorena
korištenjem redundantnih veza.
Jedna od najčešćih metoda za izbjegavanje petlji na podatkovnom sloju je STP
(eng. Spanning Tree Protocol) koji je definiran standardom IEE 802.1D, te neke
metode vezane uz proizvoĎača kao što su Flex-link i REP (eng. Resilient Ethernet
Protocol).
3. Mreţni ureĎaji
17
3.2. Usmjerivači
Usmjerivač (eng. router) je mreţni ureĎaj koji vrši usmjeravanje paketa na osnovu
logičke adrese mreţnog sloja i tako povezuje dvije ili više računalnih mreţa.
Budući da odreĎena vrsta preklopnika takoĎer posjeduje mogućnost
usmjeravanja, njih nazivamo preklopnici treće razine (eng. layer 3 switch).
Osnovna razlika izmeĎu usmjerivača i preklopnika s mogućnošću usmjeravanja je
arhitektura i broj funkcionalnosti koje posjeduje odreĎeni ureĎaj. Usmjerivači,
generalno gledajući, posjeduju više funkcionalnosti i u mogućnosti su odraditi više
funkcionalnosti, kao što su NAT, IPsec, vatrozid, VPN, QoS itd. Velike mogućnosti
uvjetuju neke kompromise u arhitekturi usmjerivača, pa oni generalno imaju puno
manju propusnost od preklopnika.
S druge strane preklopnici s mogućnošću usmjeravanja, imaju ograničene
funkcionalnosti, oni su obično u mogućnosti obaviti samo statičko i dinamičko
usmjeravanje, ali zbog svoje arhitekture imaju puno veće performanse od običnih
usmjerivača.
3.2.1. Arhitektura usmjerivača
Kako bi bolje razumjeli napade i učinke koji oni imaju na mreţne ureĎaje, nuţno je
poznavati njihovu arhitekturu i način rada. Kako sve arhitekture nisu iste, tako ni
svi napadi neće imati jednako djelovanje.
Sama arhitektura usmjerivača generalno se moţe podijeliti na tri razine:
upravljačka razina
podatkovna razina
nadzorna razina
Prve dvije razine, upravljačka i podatkovna, ključne su kod funkcioniranja samog
usmjerivača i obično su najzapostavljenije po pitanju sigurnosti.
3.2.1.1. Upravljačka razina
Upravljačka razina sastoji se od protokola i procesa za komunikaciju izmeĎu
mreţnih ureĎaja da bi omogućila prijenos podataka izmeĎu njih. Upravljačka
razina je mozak samog usmjerivača. Ona je zaduţena za izgradnju tablice
usmjeravanja na osnovu koje će kasnije podatkovna razina usmjeravati pakete.
Zaštita upravljačke razine na usmjerivaču je vrlo bitna stvar jer ona osigurava
ispravan rad podatkovne i nadzorne razine. Ako bi tijekom sigurnosnog incidenta
3. Mreţni ureĎaji
18
kao što je DoS napad došlo do narušavanja funkcionalnosti upravljačke razine, to
bi moglo dovesti do nestabilnosti cijele mreţe.
Izgradnju tablice usmjeravanja, upravljačka razina obavlja na osnovu stanja
pojedinih sučelja, statički definiranih ruta i razmjene ruta pomoću raznih
usmjerivačkih protokola. Usmjerivački protokoli kao što su RIP, OSPF, EIGRP,
BGP i dr. koriste se da bi mreţni ureĎaji mogli izmjenjivati informacije za
usmjeravanje. Svaki od tih dinamički protokola je drugačiji i koristi se u odreĎene
svrhe. Tablica usmjeravanja sadrţi samo najbolju rutu do odreĎene mreţe i
metriku koja joj je pridruţena. Manja metrika označava bolji put do neke mreţe i
ona ima prednost u tablici usmjeravanja u odnosu na rute s većom metrikom.
Budući da različiti usmjerivački protokoli koriste različite parametre kod izračuna
metrike, potrebno je razlikovati iste rute koje su dobivene različitim protokolom.
Tako je usmjerivačkim protokolima pridruţen parametar koji se naziva
administrativna udaljenost, AD (eng. Administrative Distance). Ako postoje dvije
iste rute dobivene različitim protokolima, u tablicu će usmjeravanja biti spremljena
ona ruta koja je dobivena usmjerivačkim protokolom s manjom administrativnom
udaljenošću. Direktno povezane i statičke rute imaju prioritet pred svim dinamičkim
protokolima.
Kao rezultat rada upravljačke razine usmjerivač će izgraditi usmjerivačku tablicu
RIB (eng. Routing Information Base) koja sadrţi sve informacije o usmjeravanju od
svih usmjerivačkih protokola. U toj se tablici nalaze rute koje su naučene od svih
usmjerivačkih protokola. Na osnovu nje usmjerivač će izgraditi FIB (eng.
Forwarding Information Base) tablicu koja posjeduje minimalnu količinu
informacija potrebnih za usmjeravanje paketa.
3.2.1.2. Podatkovna razina
Podatkovna ili usmjerivačka razina definira dio arhitekture usmjerivača koji je
odgovoran za usmjeravanje paketa. Podatkovna razina se često prikazuje kao
tablica na osnovu koje usmjerivač usmjerava paket gledajući njegovu odredišnu
adresu. Tu FIB tablicu izgradila je upravljačka razina na osnovu ruta koje se
nalaze u usmjerivačkoj tablici. Podatkovna razina osim podataka za usmjeravanje
moţe sadrţavati i podatke za odbacivanje pojedinih paketa. Ako je potrebno
poslati ICMP paket kao uda je paket odbačen, to će biti proslijeĎeno upravljačkoj
razini.
Podatkovna razina zaduţena je i za dekrementiranje TTL vrijednosti IP paketa
prilikom njegovog usmjeravanja. Ako je TTL vrijednost 0, usmjerivač će takoĎer
odgovoriti s odgovarajućim ICMP paketom, ako nije drugačije specificirano.
Funkcija podatkovne razine izvršava se na usmjerivačkim elementima. Ovisno o
arhitekturi usmjerivača, moţe postojati više usmjerivačkih elemenata koji rade
paralelno što pridonosi performansama samog usmjerivača. Većina proizvoĎača
3. Mreţni ureĎaji
19
mreţne opreme proizvodi više vrsta usmjerivača, ovisno o njihovoj namjeni i
ţeljenim performansama. Usmjerivači namijenjeni zahtjevnijim primjenama,
kompleksniji su i skuplji i postiţu veću propusnost na podatkovnoj razini.
Postoji više faktora koji utječu na performanse usmjeravanja:
Izvlačenje i procesiranje paketa na podatkovnom sloju
Dekodiranje zaglavlja paketa
Analiza ostalih polja u zaglavlju
Slanje paketa kroz prespojenu strukturu (eng. switching fabric) spajajući
ulazno i izlazno sučelje
Procesiranje enkapsulacije na podatkovnom sloju kod izlaznog sučelja
Da bi posjedovali odgovarajuće performanse, usmjerivači mogu imati jedan ili više
procesora. U jednoprocesorskom dizajnu, performanse usmjeravanja ne ovise
samo o brzini procesora već i o broju procesa koji se natječu za procesorsko
vrijeme. Usmjerivači velikih performansi moraju imati više elemenata za
procesiranje koji mogu biti procesori široke primjene ili pak specijalizirani čipovi
poput ASIC-a (eng. Application Sepcific Integrated Circuit). Usmjerivači vrlo velikih
performansi moraju posjedovati više elemenata za procesiranje i to na svakoj
kartici s mreţnim sučeljima. Kod takvog dizajna, glavni procesor ne sudjeluje u
samom usmjeravanju, nego samo na upravljačkoj i nadzornoj razini.
Na početku razvoja, usmjerivač je za sva odredišta provjeravao RIB tablicu. Prvi
korak ka ubrzanju je bio razdvajanje na RIB i FIB tablicu. FIB tablica generalno
sadrţi manji ili jednak broj informacija kao RIB tablica i prilagoĎena je za brzo
pretraţivanje. Za razliku od nje, RIB tablica je prilagoĎena za efikasnije aţuriranje
od strane usmjerivačkih protokola.
Raniji jednoprocesorski usmjerivači su organizirali FIB tablicu kao tablicu
raspršivanja (eng. hash table), dok je RIB tablica bila organizirana kao povezana
lista (eng. linked list). Kada su se s razvojem usmjerivača počeli odvajati glavni od
usmjerivačkih procesora, usmjerivački procesori su generalno imali manje
memorije od glavnog procesora, te su mogli pohraniti oko 1000 ruta. To je moţda
bilo dovoljno za male mreţe, ali ne i za primjene na internetu.
Različite arhitekture usmjerivača različito su reagirale ako odredište nije bilo u
priručnoj memoriji. U tom slučaju, paket bi bio poslan glavnom procesoru i
usmjeren preko sporog puta koji ima pristup cijeloj usmjerivačkoj tablici. Ovisno o
arhitekturi, taj promašaj bi uvjetovao osvjeţenje priručne memorije s podacima iz
glavne memorije. U nekim implementacijama prilikom promašaja bilo je
najefikasnije proglasiti podatak iz priručnog spremnika nevaţećim, a paket koji je
uzrokovao promašaj poslati glavnom procesoru, te osvjeţiti priručnu memoriju s
informacijama koje sada uključuju i odredište koje je imao sporni paket.
3. Mreţni ureĎaji
20
Kako je cijena memorije padala, a performanse su rasle, FIB tablica je mogla
pohraniti jednak broj ruta kao i RIB i da bi se promijenio podatak u RIB tablici,
usmjerivač bi odmah promijenio ekvivalentan dio u FIB tablici.
Što se programske implementacije FIB tablice tiče, postoji nekoliko algoritama
korištenih za pretraţivanje. Najčešći su: binarno stablo (eng. binary tree), radix
stablo (eng. radix tree), četverostrano stablo (eng. four-way tree) te Patricia stablo
(eng. Patricia tree). Svaki od njih ima neke prednosti i nedostatke. Više podataka o
njima se moţe naći na internetu.
Sklopovska implementacija uključuje CAM (eng. Content Addressble Memory) za
ubrzanje pretraţivanja. CAM tablice su dizajnirane za preklopnike koji rade na
drugom sloju ISO/OSI modela, moraju pretraţivati MAC adrese fiksne duljine i
imaju ograničenu primjenu na IP adrese s promjenjivom maskom. Kao
poboljšanje, dizajnirane su TCAM (eng. Ternary Content Addressable Memory)
tablice koje nemaju ta ograničenja i u mogućnosti su pretraţivati prefikse
varijabilne duljine.
Još jedan od zadataka podatkovne razine je rješavanje problema zagušenja.
Zagušenje se obično dogaĎa kada paketi dolaze brzinom većom nego što ih
usmjerivač moţe obraditi i kada postoji razlika u propusnosti ulaznog i izlaznog
sučelja. Da bi izbjegao zagušenje, usmjerivač na podatkovnoj razini koristi neke
od tehnika za njihovo izbjegavanje. Najčešće tehnike su: odbaci zadnjeg (eng. tail
drop), slučajno rano otkrivanje (eng. random early detection) i teţinsko slučajno
rano otkrivanje (eng. weighted random early detection).
Tehnika odbaci zadnjeg najjednostavnija je od gore nabrojanih. Kada se zapuni
red, usmjerivač počinje odbacivati pakete koji su došli zadnji. Tehnike slučajnog
ranog otkrivanja počinju slučajno odbacivati odreĎeni postotak paketa kada broj
paketa u redu prijeĎe definiranu vrijednost. Teţinska verzija razlikuje se po tome
što odreĎenim vrstama promet pridruţuje odreĎenu vjerojatnost odbacivanja, tako
da će prioritetni promet imati manju vjerojatnost da bude odbačen.
3.2.1.3. Nadzorna razina
Nadzornu razinu čine funkcije i aplikacije koje omogućuju nadzor mreţne opreme.
Ovo uključuje interaktivnu sjednicu putem telneta ili SSH protokola i metode za
skupljanje statistika putem SNMP ili NetFlow protokola.
Nadzorna razina omogućuje pristup, konfiguraciju, upravljanje i nadzor mreţnog
ureĎaja i vrlo je vaţno pobrinuti se oko njene sigurnosti. Ako bi njena sigurnost bila
narušena nekom vrstom napada, bilo bi vrlo teško ili nemoguće stabilizirati mreţu
zbog nemogućnosti utjecaja na konfiguraciju mreţnog ureĎaja.
Nadzorna razina odgovorna je za sljedeće protokole:
SNMP
3. Mreţni ureĎaji
21
Telnet
SSH
FTP
TFTP
SCP
RADIUS
NetFlow
NTP
Syslog
Svaki od tih protokola sluţi za neku od funkcija nadzora ili konfiguracije. Neki
protokoli posjeduju mehanizme enkripcije i autorizacije, a neki ne. Potrebno je
pripaziti da se gdje je to god moguće koriste sigurne metode ako postoje kao
alternativa, na primjer, SSH, SCP, SNMPv3 umjesto telneta, FTP i SNMPv1.
Posebna paţnja mora se posvetiti sigurnosti nadzorne razine jer ako bi došlo do
sigurnosnog propusta, ostale dvije razine, upravljačka i podatkovna, takoĎer bi bile
ugroţene.
3.2.2. Vrste usmjerivača
Usmjerivače moţemo ugrubo podijeliti po funkcijama koje obavljaju, Pristupni
usmjerivači su manji usmjerivači malog broja sučelja koji koriste kućni korisnici ili
tvrtke da bi pristupili internetu. Obično su takvi usmjerivači dizajnirani da budu
cjenovno prihvatljivi, nauštrb samih funkcionalnosti.
Distribucijski usmjerivači su dizajnirani za agregiranje prometa od više pristupnih
usmjerivača. Oni imaju veći broj različitih sučelja da bi mogli iskoristiti više WAN
tehnologija za spajanje. Obično takvi usmjerivači imaju više funkcionalnosti kao
što su vatrozid, VPN koncentrator ili koncentrator za udaljeni pristup putem
modema.
Jezgreni usmjerivači, kao što i ime govori, nalaze se u jezgri velikih mreţa. Oni su
posebno optimizirani da bi imali veliku propusnost, a od funkcionalnosti koje
posjeduju posebno su naglašene tehnologije koje se usko vezane za jezgru mreţe
kao što su, na primjer, MPLS.
Da bi mogli ispuniti svoju zadaću spajanja više različitih mreţa, usmjerivači
posjeduju različite vrste sučelja, ovisno o tehnologiji prijenosa podataka koji se
koriste. Neka od popularnih sučelja su: serijsko sučelje, frame-relay sučelje, ATM
(eng. Asynchronous Transfer Mode) sučelje, POS (eng. Packet Over Sonet), te
naravno ethernet sučelje.
3. Mreţni ureĎaji
22
Trendovi razvoja idu u korist ethernet sučelja i njegovoj WAN verziji, metro
ethernetu. Ostale tehnologije polako izumiru zbog odreĎenih ograničenja,
prvenstveno vezanih uz propusnost i cijenu.
Ovaj će se rad baviti sigurnošću na samoj mreţnoj opremi, prvenstveno na
usmjerivačima i preklopnicima. U sklopu rada biti će obraĎeni svi sigurnosni
problemi na podatkovnom ethernet sloju i na mreţnom IP sloju. Za testiranje
koristit ćemo dvije vrste usmjerivača, tvrtke Cisco Systems. Usmjerivač 1812
predstavljat će seriju ureĎaja za manje tvrtke, dok će usmjerivač 6500 SUP-720
predstavljat seriju usmjerivača namijenjenih pruţateljima usluga. Ovi usmjerivači
se razlikuju po arhitekturi i performansama i prikazat ćemo kako pojedini napadi
djeluju na njih. Oba usmjerivača imaju module koji im ujedno omogućuju da budu i
preklopnici i na njima ćemo moći testirati i napade koji su namijenjeni samo za
preklopnike.
Napadi na usmjerivač bit će fokusirani uglavnom na ethernet i IP tehnologiju, te će
pokriti većinu funkcionalnosti koji se danas očekuju od modernih usmjerivača i
preklopnika. U samom radu bit će opisane metode napada i obrane s
pripadajućom konfiguracijom.
Usmjerivač 1812 6500
Memorija 128 MB 512 MB
35,84 Procesor MPC8500 SR71000 CPU,600Mhz
Sučelja Fastethernet
Fast ethernet,
Gigabit ethernet,
10 Gigabit ethernet
Procesno usmjeravanje (PPS)
2 000 20 000
Procesno usmjeravanje (Mb/s)*
1,024 10,240
CEF usmjeravanje (PPS)
70 000 30 000 000
CEF usmjeravanje (Mb/s)*
35,840 15 360
* Za pakete veličine 64 bajta
Tablica 1. Testirani usmjerivači
3. Mreţni ureĎaji
23
3.2.3. Arhitektura usmjeravanja
Osnovna zadaća usmjerivača je usmjeravanje paketa iz jednog mreţnog
segmenta u drugi. Način na koji usmjerivač obavlja tu funkciju uvelike će se
odraziti na njegove performanse. Budući da u ovom radu koristimo usmjerivače
tvrtke Cisco Systems, fokusirat ćemo se na metode usmjeravanja koje su
implementirane na njihovim usmjerivačima. Te metode slične su metodama ostalih
proizvoĎača mreţne opreme i moţda se nazivaju različitim imenom, dok im je
funkcionalnost slična ili ista.
Samo usmjeravanje paketa čini se kao jednostavna operacija. Kada paket doĎe
na ulazno sučelje, njegova odredišna adresa se usporedi s listom poznatih
odredišta. Ako se pronaĎe odredište, paket se usmjeri na odgovarajuće izlazno
sučelje. Ako odredište nije poznato, paket se odbaci. Da bi se ova jednostavna
operacija ubrzala, razvijene su različite metode usmjeravanja koje postiţu i
različite performanse.
Poznavanje metoda usmjeravanja vrlo je bitna stvar kod definiranja sigurnosti na
usmjerivačima. Ako znamo na koji način usmjerivač usmjerava odreĎene vrste
paketa, moći ćemo predvidjeti moguće napada, a time i kreirati kvalitetnu obranu
od njih. Najčešći napadi koji iskorištavaju specifičnosti metoda usmjeravanja su
naravno napadi s uskraćivanjem usluge, a oni obično izazivaju i najviše štete.
Neke od poznatih metoda usmjeravanja kod Cisco usmjerivača su:
Procesno usmjeravanje (eng. process switching)
Brzo usmjeravanje (eng. fast switching)
SSE usmjeravanje (eng. silicon switching engine switching)
Optimalno usmjeravanje (eng. optimum switching)
Distribuirano brzo usmjeravanje (eng. distributed fast switching)
CEF (eng. cisco express forwarding)
Distribuirani CEF (dCEF eng. distributed cisco express forwarding)
U ovom radu obradit ćemo tri najčešće korištene metode: procesno usmjeravanje,
brzo usmjeravanje i CEF.
3.2.3.1. Procesno usmjeravanje
Procesno usmjeravanje prva je metoda implementirana na Cisco usmjerivačima.
Ona u biti koristi grubu silu (eng. brute-force) prilikom usmjeravanja. Iako je ta
metoda najsporija, ne dopušta puno mjesta optimizaciji i troši velike količine
procesorskog vremena, njena prednost je to što je neovisna o platformi i arhitekturi
usmjerivača.
3. Mreţni ureĎaji
24
`ip_ulaz
Procesor
I/O memorija
Procesor sučelja Procesor sučelja
Mreţni medij Mreţni medij
52
43
1 6
7
Slika 4. Procesno usmjeravanje
U ovom primjeru ulazno sučelje primi paket i prosljeĎuje ga ulazno/izlaznoj (I/O)
memoriji. Ulazno sučelje prekidom signalizira glavnom procesoru da ga u I/O
memoriji čeka paket za daljnju obradu (korak 1). Proces zaduţen za prekide
pregledava zaglavlje paketa (enkapsulaciju, zaglavlje mreţnog sloja itd.), te kada
utvrdi da se radi o IP paketu, prosljeĎuje ga u ulazni red odgovarajućeg
usmjerivačkog procesa (korak 2). Za IP pakete taj se usmjerivački proces naziva
ip_ulaz.
Kada se u ulaznom redu ip_ulaz proces nalazi barem jedan paket, ip_ulaz proces
će se početi izvršavati (korak 3). Izvršavanjem ip_ulaz proces počinje pravo
usmjeravanje paketa. Ip_ulaz proces pogledat će u usmjerivačku tablicu postoji li
odredište kamo treba usmjeriti paket. Ako pronaĎe odredište, iz tablice će dohvatiti
adresu kamo mora usmjeriti paket. Nakon toga će u ARP tablici, ako se radi o
ethernet protokolu, dohvatiti MAC adresu koja odgovara IP adresi odredišta i
kreirati novo MAC zaglavlje na IP paketu i proslijediti ga u red izlaznom sučelju
(korak 5).
Kada izlazno sučelje detektira paket u izlaznom redu čekanja, preuzet će ga iz I/O
memorije i poslati na mreţu (korak 6). Kada izlazno sučelje pošalje paket, prekinut
će glavni procesor i obavijestiti ga o uspješnom slanju paketa, a procesor će
osvjeţiti brojače o broju paketa i slobodnoj I/O memoriji. Ovo je zadnji, 7. korak.
Kao što se iz ovoga vidi, jedan od glavnih nedostataka procesnog usmjeravanja je
brzina. Procesno usmjeravanje zahtijeva pogled u usmjerivačku tablicu za svaki
paket i kako rastu usmjerivačke tablice, tako raste i vrijeme potrebno za
odreĎivanje odredišta. Kod rekurzivnih ruta to je vrijeme još i veće jer zahtijeva
dodatni pregled usmjerivačke tablice.
3. Mreţni ureĎaji
25
3.2.3.2. Brzo usmjeravanje
Kao što smo vidjeli u primjeru procesnog usmjeravanja, proces ip_ulaz mora za
svaki dolazni paket dohvatiti ključne informacije o njegovom usmjeravanju. Kako
svaki IP paket moţe biti drugačiji, proces ip_ulaz morat će pretraţivati potencijalno
veliku usmjerivačku tablicu da bi saznao adresu sljedećeg ureĎaja, te će nakon
toga morati pretraţivati takoĎer potencijalno veliku MAC tablicu da bi saznao
adresu drugi sloja kamo mora poslati paket.
Budući da je pretraţivanje usmjerivačke tablice procesorski najzahtjevniji dio
usmjerivačkog procesa, poţeljno bi bilo rezultate tog pretraţivanja predpohraniti
(eng. caching) i koristiti manje tablice čije bi pretraţivanje trajalo puno kraće da bi
se ono moglo obaviti za vrijeme prekida prilikom primanja paketa na ulaznom
sučelju. Ove prednosti pokušava iskoristiti metoda brzog usmjeravanja (eng. fast
switching).
Razmotrimo ponovo proces usmjeravanja prikazan na donjoj slici koji sada
posjeduje i priručnu memoriju za brzo usmjeravanje. Ponovo usmjerivački proces
detektira paket na ulaznom sučelju i prenosi ga u I/O memoriju (korak 1). U
sljedećem koraku sklopovlje ulaznog sučelja generira prekid glavnog procesora i
obavještava ga o paketu privremeno pohranjenom u I/O memoriji.
U 2. koraku proces zaduţen za prekide pregledava zaglavlje paketa
(enkapsulaciju, zaglavlje mreţnog sloja itd.) i kada utvrdi da se radi o IP paketu,
umjesto da ga kao prije proslijedi u ulazni red odgovarajućeg usmjerivačkog
procesa, konzultira priručnu memoriju za brzo usmjeravanje i pretraţuje postoji li
odgovarajuće izlazno sučelje te odredišna MAC adresa. Ako postoji, proces
zaduţen za prekide promijenit će MAC adresu izlaznom paketu i poslati ga
izlaznom sučelju (korak 3).
Glavni će procesor (unutar istog prekida) obavijestiti izlazno sučelje da je paket u
I/O memoriji spreman za slanje i zaustavit će prekid, tako da ostali procesi mogu
nastaviti (korak 4). Sklopovlje na izlaznom sučelju preuzet će paket, poslati ga u
mreţu i ponovo generirati prekid glavnom procesoru da bi mogao osvjeţiti brojače
i osloboditi I/O memoriju (korak 6).
Ovdje je vaţno primijetiti da proces ip_ulaz ne sudjeluje u usmjeravanju paketa
sve dok u priručnoj memoriji za brzo usmjeravanje postoji ţeljeno odredište. Tako
sada usmjerivač moţe izvršiti usmjeravanje paketa u kratkom periodu prekida
glavnog procesora.
Predpohranjivanje je omogućilo usmjerivaču da odvoji zadaće koje troše veliko
procesorsko vrijeme kod odluke o usmjeravanju i relativno jednostavno
usmjeravanje paketa kada poznajemo sve zahtjeve.
3. Mreţni ureĎaji
26
`ip_ulaz
Procesor
I/O memorija
Procesor sučelja Procesor sučelja
Mreţni medij Mreţni medij
3
2
1 5
6
Prekid
4
Priručna memorija za
usmjeravanje
Slika 5. Brzo usmjeravanje
Ovdje je vaţno napomenuti da se priručna memorija za brzo usmjeravanje
popunjava na temelju paketa koji su usmjeravani na temelju procesnog
usmjeravanja, tako da će prvi paket uvijek biti usmjeravan procesno, dok će svi
sljedeći paketi koji idu na isto odredište, koristiti brzo usmjeravanje.
3.2.3.3. CEF
CEF (Cisco Express Forwarding) najnovija je i najbrţa metoda usmjeravanja
implementirana na usmjerivačima tvrtke Cisco Systems. CEF je dizajniran da bi
riješio neka od glavnih ograničenja koje posjeduje metoda brzog usmjeravanja:
Nepodrţavanje preklapanja podataka u priručnoj memoriji.
Svaka promjena u usmjerivačkoj ili ARP tablici uvjetuje netočnost podataka
u priručnoj memoriji, a time i njihovo osvjeţavanje.
Prvi paket koji ide prema odreĎenoj destinaciji mora biti procesno usmjeren
da bi se popunila priručna memorija.
Neefikasno balansiranje višestrukih veza kada se komunikacija odvija
izmeĎu samo dva mreţna ureĎaja.
Većina tih nedostataka ne predstavlja problem u manjim i srednjim mreţama, dok
bi kod usmjerivača na okosnici interneta mogli predstavljati ozbiljne probleme. Ti
usmjerivači danas imaju preko 280 000 ruta u svojim usmjerivačkim tablicama, a
3. Mreţni ureĎaji
27
neke se od njih konstantno mijenjaju što kod brzog usmjeravanja uvjetuje da će se
značajniji dio prometa morati usmjeravati procesnom metodom. CEF je dizajniran
s namjerom poboljšanja performansi upravo kod takvih slučajeva.
korijen1.0.0.0
2.0.0.0
3.0.0.0
... 256.0.0.0
10.0.0.010.1.0.0
10.2.0.0
10.3.0.0
... 10.256.0.0
10.10.0.010.10.1.0
... 10.10.256.0
10.10.10.010.10.1.0
...
10.256.0.0
10.10.2.0
10.10.3.0
10.10.2.0
10.10.3.0
...
0000.0CAA.1122
00E0.CE01.2233
...
Tablica okoline
10.10.10.8
Slika 6. CEF m-stablo i tablica okoline
Za razliku od brzog usmjeravanja CEF će u priručnoj memoriji kreirati svoje
strukture koje su bazirane na temelju upravljačke i ARP tablice. Te strukture
moţemo ugrubo podijeliti na dva dijela:
FIB tablica (eng. Forward Information Base)
Tablica okoline (eng. adjacency table)
3. Mreţni ureĎaji
28
CEF FIB tablica je okljaštrena verzija usmjerivačke tablice implementirana kao m-
stablo (eng. m-tree) od 256 grana. Svaki čvor ili pozicija u stablu moţe imati
najviše 256 djece. U CEF FIB tablici, svako dijete ili grana, predstavlja jedan od
okteta koji čine IP adresu. Zadnji čvor u stablu sadrţi pokazivač na vrijednost u
drugoj tablici, tablici okoline koja sadrţi adresu drugi sloja koja je potrebna za
daljnje usmjeravanje paketa.
Tablica okoline sadrţi adrese drugog sloja za direktno spojene adrese sljedećeg
koraka (eng. next-hop) koje se koriste kod usmjeravanja. U slučaju ethernet
protokola to su MAC adrese.
Tablica okoline moţe posjedovati nekoliko tipova podataka o susjedstvu (eng.
adjacency):
Null (eng. null adjacency) susjedstvo će obraĎivati pakete kojima je
odredište NULL sučelje. Paketi kojima FIB tablica pokazuje na NULL
susjeda biti će odbačeni.
Udari susjedstvo (eng. punt adjacency) će obraĎivati pakete koji zahtijevaju
posebnu obradu ili koji ne mogu biti usmjereni CEF metodom. Takvi se
paketi prosljeĎuju sljedećem nivou usmjeravanja obično brzom
usmjeravanju koji će ih usmjeriti na ţeljeno odredište.
Sakupi susjedstvo (eng. glean adjacency) će obraĎivati pakete koji su
namijenjeni direktno povezanom mreţnom ureĎaju za koji trenutno ne
postoji adresa drugi sloja, a u slučaju etherneta morat će se poslati ARP
zahtjev da bi se saznala odredišna MAC adresa.
Odbaci susjedstvo (eng. discard adjacency) će pakete koji pokazuju na
njega odbaciti.
Ispusti susjedstvo (eng. drop) će pakete koji pokazuju na ovaj tip
susjedstva ispustiti, ali će se prije toga provjeriti njegov prefiks.
Kao i brzo usmjeravanje, CEF koristi priručnu memoriju da bi obavio kompletno
usmjeravanje paketa za vrijeme prekida glavnog procesora. Jedina razlika izmeĎu
brzog usmjeravanja i CEF je popunjavanje priručne memorije. Dok se kod brzog
usmjeravanja zahtijeva da se prvi paket usmjeri procesnim usmjeravanjem da bi
se popunili podaci u priručnoj memoriji, CEF će generirati potrebne podatke u
priručnoj memoriji direktno iz usmjerivačke tablice i tablice okoline prije nego će
bilo koji paket biti usmjeren tom metodom.
Unaprijed generirani podaci u priručnoj memoriji značajno unaprjeĎuju
performanse kod usmjeravanja CEF metodom. Kod brzog usmjeravanja lako je
moguće preopteretiti procesor s procesnim usmjeravanjem prije nego su uopće
generirani podaci u priručnoj memoriji koji onda pakete usmjeravaju brzom
metodom. Sa CEF-om je ovaj problem riješen.
3. Mreţni ureĎaji
29
Razdvajanjem podataka o dostupnosti/sučelju i adresi drugi sloja postiţu se
dodatna poboljšanja. Kako podaci u priručnoj memoriji koji se koriste za
usmjeravanje direktno ovise o svom izvoru (usmjerivačka tablica, ARP tablica),
više nije potrebno te podatke proglašavati nevaţećim u slučaju promjene u
usmjerivačkoj tablici. Podaci u CEF priručnoj memoriji nikad ne zastarijevaju, a
bilo kakva promjena u usmjerivačkoj ili ARP tablici automatski se preslikava u CEF
priručnu memoriju.
3.2.3.4. Utjecaj metode usmjeravanja na mrežnu sigurnost
Poznavanje metoda usmjeravanja vrlo je bitna stvar kod razmatranja sigurnosti na
mreţnim ureĎajima. Razlike u performansama usmjeravanja pojedinih metoda su
vrlo velike i ako je napadač u mogućnosti s nekim od napada promijeniti metodu
usmjeravanja onda vrlo lako moţe zauzeti procesorske resurse, te dovesti do
neke vrste DoS napada.
U tabeli 2. prikazani su podaci o performansama pojedine metode usmjeravanja
koje navodi proizvoĎač za pakete veličine 64 bajta.
Usmjerivač Procesno usmjeravanje CEF
PPS Mb/s PPS Mb/s
1812 2 000 1,024 70 000 35,84
6500 20 000 10,240 30 000 000 15 360
Tablica 2. Usporedba različitih metoda usmjeravanja
Kao što je vidljivo iz tablice, performanse CEF metode usmjeravanja kod 1812
usmjerivača su veće 35 puta, dok je kod 6500 usmjerivača to još izraţenije, 1500
puta. Iz ovoga je lagano vidjeti što se dogaĎa kada se uslijed odreĎenog napada
paketi moraju usmjeravati procesnom metodom. Naravno, na nama je da znamo
kada dolazi do procesnog usmjeravanja umjesto CEF-a, te prema tome formiramo
obranu koja će onemogućit takve vrste napada.
3. Mreţni ureĎaji
30
3.3. Vatrozidi
Tehnologija vatrozida uvelike se mijenjala tokom godina, od kada se prvi puta
pojavila na trţištu početkom 90-ih godina. Prvi vatrozidi bili su jednostavni ureĎaji
za filtriranje paketa. Od tada su vatrozidi postali sve sofisticiraniji što se tiče
mogućnosti filtriranja, ali i dodajući neke nove funkcionalnosti kao što su:
praćenje stanja veze (eng. stateful firewall),
virtualne privatne mreţe (VPN)
sustavi za detekciju upada
provjera autentičnosti konekcije
virtualni vatrozidi
Jedan od poticaja za razvoj dodatnih usluga na vatrozidima je bilo veliko širenje
internetskih usluga koje je sa sobom dovelo i ogromnu količinu problema vezanih
za mreţnu sigurnost.
3.3.1. Definicija vatrozida
Samo ime vatrozid nije poteklo iz mreţne sigurnosti. Ime vatrozid je zapravo
poteklo kao metoda izgradnje zidova na način da u slučaju stvarnog poţara, vatra
bude zadrţana u jednom dijelu zgrade bez njenog daljnjeg širenja.
Kada pričamo o mreţnoj sigurnosti, termin vatrozid ima drugačije značenje, ali
sama bit ostaje ista, vatrozid štiti mreţu od potencijalnih napadača s ciljem da ih
zaustavi na točno definiranim granicama.
U samoj osnovi vatrozid je ureĎaj koji kontrolira tok podataka izmeĎu raznih
dijelova mreţe. Vaţno je primijetiti da sama definicija vatrozida moţe uključivati i
više ureĎaja. Kod male kućne mreţe sastojat će se od jednog ureĎaja, a kod neke
veće implementacije moţe se sastojati od više komponenti, kao što su pristupni
vatrozid, vatrozid s praćenjem stanja veze, VPN, IDS rješenja itd.
Mnogi ljudi pretpostavljaju da je osnovna namjena vatrozida zaštita mreţe od
vanjskih prijetnji, prvenstveno s interneta gdje se koristi TCP/IP protokol. Suprotno
tom mišljenju, većina mreţnih prijetnji i napada u mnogim slučajevima dolazi iz
unutrašnjeg dijela mreţe od samih zaposlenika tvrtke. Mnoge studije potvrĎuju da
čak 60% mreţnih napada dolazi iz unutrašnjosti, a ne s interneta. Povrh toga,
unutar nekih mreţa koristi se više protokola, kao što su TCP/IP, IPX, AppleTalk,
3. Mreţni ureĎaji
31
SNA, NetBIOS i drugi. Sagledavši sve to, jasno je da sveobuhvatno vatrozidno
rješenje mora podrţavati više protokola i biti u mogućnosti suprotstaviti se
prijetnjama koje dolaze sa svih strana
Samo vatrozidno rješenje bolje je promatrati kao neku cjelinu, kao neki vatrozidni
sustav jer će se tipično koristiti više tehnologija i ureĎaja da bi se ono
implementiralo. Vatrozidni sustav moţe biti sadrţan u jednoj šasiji ili rješenje moţe
sadrţavati više samostalnih ureĎaja rasporeĎenih po mreţi. Odabir pravog
vatrozidnog sustava kritično je za razvoj sigurnih mreţa.
3.3.2. Vrste vatrozida
Vatrozidni sustavi mogu izvršavati različite funkcije i nuditi različita rješenja, ali
primarna funkcija vatrozida je kontrola pristupa odreĎenim resursima. Vatrozidni
sustav sastoji se od više različitih komponenti. Jedna od tih komponenti je i
filtriranje mreţnog prometa koje većina ljudi i zove vatrozid.
Vatrozidna komponenata za filtriranje prometa pojavljuju se u više različitih verzija:
vatrozid za filtriranje paketa
vatrozid s praćenjem stanja veze (eng. stateful firewall)
aplikacijski vatrozid (eng. application gateway firewall)
vatrozid za translaciju adresa (eng. address-translation firewall)
računalno orijentirani vatrozidi (eng. host-based firewall)
hibridni vatrozidi
Ovisno o načinu rada vatrozidne komponente za filtriranje, imat ćemo različite
razine zaštite. Naravno, način rada vatrozidne komponente uvelike uvjetuje i
performanse samog vatrozida.
3.3.2.1. Vatrozidi s filtriranjem paketa
Najjednostavniji oblik vatrozida je vatrozid s filtriranjem paketa. On je obično
izveden kao usmjerivač koji ima mogućnost filtriranja paketa ovisno o njegovom
sadrţaju. Informacije koje vatrozid s filtriranjem paketa moţe koristiti kod filtriranja
su informacije treći sloja, a ponekad i četvrtog sloja ISO/OSI referentnog modela.
Na primjer, kod Cisco usmjerivača standardna pristupna lista (ACL) moţe filtrirati
informacije na treći sloju OSI modela, dok proširena pristupna lista moţe filtrirati
informacije na trećem i četvrtom sloju OSI modela.
3. Mreţni ureĎaji
32
Aplikacijski sloj
Prezentacijski sloj
Sjednički sloj
Prijenosni sloj
Mreţni sloj
Podatkovni sloj
Fizički sloj1
2
3
5
4
6
7
vatrozid sa filtriranjem
paketa
Slika 7. Vatrozid s filtriranjem paketa
Budući da je danas TCP/IP standard u komunikacijskim protokolima. svi vatrozidi
podrţavaju minimalno taj protokol. Neki vatrozidi podrţavaju i druge protokole kao
što su IPX, AppleTalk, DECnet, ali su potrebe za njima u današnje vrijeme sve
manje.
Kod implementacije filtriranja paketa pravila filtriranja se definiraju na samom
vatrozidu. Ta se pravila koriste za definiranje sadrţaja paketa i na taj se način
odlučuje koji paket je dopušten, a koji će se odbaciti. Kod odbacivanja paketa
moguće su dvije akcije. Jedna je da se obavijesti pošiljaoca da je paket odbačen,
te druga koja odbacuje paket bez ikakve dojave. Ova funkcionalnost jako je bitna
kod implementacije vatrozidnog rješenja.
Kod prve opcije, korisnik zna da njegov promet filtrira vatrozid. Ako je riječ o
lokalnom korisniku koji pokušava dohvatiti neke lokalne resurse, korisnik na
osnovu toga moţe kontaktirati administratora u svrhu rješavanja problema.
Administrator na osnovu toga moţe promijeniti pravila i dopustiti korisniku pristup
do odreĎenih resursa. Ako vatrozid ne bi poslao nazad poruku da je promet
filtriran, postupak otkrivanja kvara sa strane korisnika trajao bi puno dulje.
Ako je pak riječ o zlonamjernom korisniku koji pristupa s interneta i ţeli dohvatiti
resurse koji su predviĎeni samo za zaposlenike, informacija o filtriranom prometu
razotkrila bi neke detalje o zaštiti mreţe, te bi napadač imao više informacija kako
otkriti potencijalnu rupu u zaštiti. U ovom slučaju poţeljno je da vatrozid odbaci
paket bez ikakve obavijesti pošiljaocu.
3. Mreţni ureĎaji
33
Vatrozidi s filtriranjem paketa mogu raditi filtriranje po sljedećim informacijama:
Izvorišna i odredišna adresa treći sloja
Informacije o protokolu treće razine (npr. specifična ICMP poruka)
Informacije o protokolu četvrte razine (npr. odreĎeni TCP ili UDP port)
Sučelje na koje je paket primljen ili poslan
Tablica 3. prikazuje neke od informacija koje TCP/IP vatrozid moţe koristiti za
filtriranje prometa. Informacije su podijeljene po slojevima OSI modela i ovdje se
jasno vidi kojem sloju pripada pojedina informacija.
Sloj Informacija za filtriranje
3. IP adresa
3. TCP/IP protokol, kao što su IP, ICMP, OSPF, TCP, UDP i
drugi 3. IP precedence (tip servisa TOS)
4. broj TCP i UDP porta
4. TCP kontrolne zastavice: SYN, ACK, FIN, PSH, RST i druge
Tablica 3. Informacije za filtriranje mrežnog prometa
Kod filtriranja paketa jedna od bitnih činjenica je i smjer prolaska samih paketa jer
pravila koja se definiraju pridruţuju se odreĎenom sučelju u odreĎenom smjeru,
tako da moţemo imati različita pravila za odlazni i dolazni promet na istom sučelju.
Osnovne prednosti vatrozida s filtriranjem paketa su svakako velika brzina
procesiranja samih paketa, te fleksibilnost izrade pravila koja uključuju filtriranje po
dijelovima zaglavlja paketa na trećoj i četvrtoj razini OSI modela. Kako je ta
funkcionalnost prisutna kod većine usmjerivača, sami usmjerivači mogu biti u ulozi
rubnih vatrozida, te jednostavnim filtriranjem na trećem i četvrtom sloju pruţiti
zaštitu od mnogih vrsta napada što uključuje neke DoS napada i vršiti filtriranje
ostalog neţeljenog prometa.
Vatrozidi s filtriranjem paketa imaju naravno i nekih nedostataka. Osnovni
nedostatak je nemogućnost filtriranja na aplikacijskom sloju jer oni sami ne
razlikuju mreţni promet odreĎenih aplikacija. Uz to, takvi vatrozidi podloţni su
odreĎenim napadima na TCP/IP protokol i ne podrţavaju nikakvu provjeru
autentičnosti uspostave veze. Logiranje koje mogu proizvesti takoĎer je
3. Mreţni ureĎaji
34
ograničeno s obzirom na informacije koje se mogu koristiti za filtriranje, znači
informacije na trećem i četvrtom slojuOSI modela.
Uz sve navedeno, jasno je da vatrozid s filtriranjem paketa ne moţe spriječiti sve
vrste napada. Administratori moraju dobro poznavati sve TCP/IP protokole kako
nehotice krivom konfiguracijom ne bi blokirali krivi promet što dodaje jednu dozu
kompleksnosti samom rješenju, kako kod planiranja tako i kod odrţavanja.
Uvidjevši sve prednosti i nedostatke takvog vatrozida, lako je uočiti gdje bi bila
njegova najbolja primjena. Takav vatrozid se moţe koristiti kao prva linija obrane i
njime moţemo spriječiti veliku većinu DoS napada. Još jedna od njegovih primjena
je postavljanje vatrozida na dio mreţe gdje se sigurnosna politika moţe
implementirati samo filtriranjem paketa ili gdje je bitna sama cijena vatrozida kao
recimo kod usmjerivača za kućnu upotrebu gdje je omjer cijene i performanse
značajniji od samih funkcionalnosti.
3.3.2.2. Vatrozidi s praćenjem stanja veze
Za razliku od vatrozida s filtriranjem paketa, vatrozid s praćenjem stanja veze
detaljno prati svaku konekciju. Takav vatrozid točno zna je li konekcija tek u
nastajanju, teče li kroz nju neki mreţni promet ili je pak u postupku isključivanja.
Ovo je posebno korisno ako ţelimo zabraniti iniciranje konekcije s ureĎaja koji su s
vanjske strane vatrozida, dok pak lokalnim korisnicima ţelimo omogućiti konekcije
prema vanjskim ureĎajima, te u isto vrijeme dopustiti povratni mreţni promet
nazad kroz vatrozid.
Ovakva fleksibilnost vatrozida s praćenjem stanja veze uvelike olakšava
konfiguraciju vatrozida, a funkcija praćenja stanja veze doprinosi boljoj mreţnoj
sigurnosti, ali i povećava kompleksnost samo vatrozida.
Mnogo je neslaganja oko točne definicije na kojoj razini OSI sloja djeluje vatrozid s
praćenjem stanja veze. Dilema je je li to samo treći i četvrti sloj ili su to slojevi od
tri do pet. S perspektive prijenosnog sloja OSI modela, vatrozid s praćenjem stanja
veze koristi informacije u zaglavljima paketa s trećeg sloja i segmentima s četvrtog
sloja. Na primjer, vatrozid traţi u TCP zaglavlju SYN, RST, ACK, FIN te ostale
kontrolne zastavice da bi utvrdio stanje konekcije.
Kako zapravo sjednički sloj uspostavlja i prekida konekcije, a prijenosni sloj
osigurava same mehanizme konekcije, mnogi tvrde da vatrozid s praćenjem stanja
konekcije radi na petom sloju OSI modela.
3. Mreţni ureĎaji
35
Aplikacijski sloj
Prezentacijski sloj
Sjednički sloj
Prijenosni sloj
Mreţni sloj
Podatkovni sloj
Fizički sloj1
2
3
5
4
6
7
vatrozid sa praćenjem
stanja veze
Slika 8. ISO/OSI model vatrozida s praćenjem stanja veze
U sljedećem dijelu teksta pokazat ćemo koje sve probleme ima vatrozid s
filtriranjem paketa i kako se s time problemima nosi vatrozid s praćenjem stanja
veze.
Internet
Preklopnik
Vatrozid sa
filtriranjem
paketa
200.1.1.10
200.1.1.11
Web posluţitelj
200.1.1.2Vanjski korisnik
170.1.1.1
Izvor
bilo koji
Odredište
200.1.1.10
Akcija
onemogući
Pravila primjenjena na
vatrozidu
IP
IP
IP
Slika 9. Način rada vatrozida s filtriranjem paketa
Na slici 9. prikazana je jednostavna mreţa s vatrozidom s filtriranjem paketa koji je
štiti od vanjskih korisnika. Kao jedno od pravila, definirano je da bilo koja konekcija
s vanjske strane vatrozida prema računalu s IP adresom 200.1.1.10 nije
dozvoljena. Da vidimo što će se desiti ako računalo s adresom 200.1.1.10 pokuša
pristupiti web servisu na adresi 170.1.1.1.
3. Mreţni ureĎaji
36
Kako HTTP protokol koristi TCP, nuţno je ostvarivanje konekcije početi s tzv.
mehanizmom trostrukog rukovanja (eng. three-way handshake) . Tako će računalo
20.1.1.10 poslati SYN poruku s izvorišnog porta koji je veći od 1023 (portovi do
1023 su rezervirani za poznate servise i operacijski ih sustav obično ne dodjeljuje
korisniku), na odredišni port 80 računala 170.1.1.1 gdje se nalazi web servis. Da bi
trostruko rukovanje uspješno završilo, potrebno je da računalo 170.1.1.1 odgovori
sa SYN/ACK porukom i da na tu potvrdu računalo 20.1.1.1 pošalje još i ACK
odgovor.
Internet
Preklopnik
Vatrozid sa
filtriranjem
paketa
200.1.1.10
200.1.1.11
Web posluţitelj
200.1.1.2Vanjski korisnik
170.1.1.1
Izvor
bilo koji
Odredište
200.1.1.10
Akcija
onemogući
Pravila primjenjena na
vatrozidu
IP
IP
IP
IP
IP
IP
IP
IP
IP
Slika 10. Način rada vatrozida s filtriranjem paketa
Kako je u pravilima definirano da će paket s odredišnom adresom 200.1.1.10 koji
dolazi s vanjske strane vatrozida biti odbačen, konekcija koja je inicirana s
unutrašnje strane vatrozida neće moći biti uspostavljena.
Postoje dva rješenja kako se moţe riješiti ovaj problem na vatrozidima s
filtriranjem paketa. Jedan je naravno da se u pravila doda iznimka i da se svi
portovi iznad 1023 propuste s vanjske strane vatrozida do računala 200.1.1.10.
Ovo se naravno ne preporuča, jer se time stvara ogromna sigurnosna rupa i
narušava se sigurnost cijele mreţe.
Drugi je način provjerom odreĎenih informacija na transportnoj razini da bi se
odredilo je li paket dio već ostvarene konekcije ili je to pokušaj otvaranja nove
konekcije. Podaci koji se provjeravaju su kontrolne zastavice u TCP zaglavlju.
3. Mreţni ureĎaji
37
TCP
zastav
ica
Opis
SYN Koristi se kod pokretanja konekcije i sinkronizacije rednog broja paketa
ACK PotvrĎuje primljene pakete
FIN Označava kraj konekcije
PSH Obavještava primatelja da uskladišteni podatak isporuči aplikaciji
RST Prekida TCP konekciju
URG Pokazuje na hitne podatke u korisnom sadrţaju
Tablica 4. TCP kontrolne zastavice
3.3.2.3. Aplikacijski vatrozidi
Aplikacijski vatrozidi ili kako se još nazivaju, vatrozidi s proksiranjem (eng. proxy
firewalls), filtriraju pakete na slojevima 3 do 7. Kako su oni sposobni obraĎivati
informacije s aplikacijskog sloja, većina funkcija upravljanja i filtriranja obavlja se
programskom podrškom. Taj način filtriranja omogućuje bolju kontrolu prometa
koja prolazi kroz vatrozid nego kod ostalih vrsta vatrozida.
Aplikacijski vatrozidi često podrţavaju samo ograničen skup aplikacija, često su to
samo e-mail, WWW, FTP, telnet, usnet, LDAP i finger.
Jedna od osnovnih funkcionalnosti aplikacijskih vatrozida je provjera autentičnosti
kod zahtjeva za konekcijom, bilo da je riječ o konekciji iniciranoj izvana prema
zaštićenim resursima ili obrnuto. Aplikacijski vatrozidi mogu koristiti više metoda
provjere autentičnosti prilikom otvaranja konekcije: korisničko ime i lozinku, token
kartice, adresu treći sloja, biometrijske informacije. Adrese treći sloja rijetko se
koriste za provjeru autentičnosti ako se ne kombiniraju s još nekom metodom.
Aplikacijski sloj
Prezentacijski sloj
Sjednički sloj
Prijenosni sloj
Mreţni sloj
Podatkovni sloj
Fizički sloj1
2
3
5
4
6
7
aplikacijski vatrozid
Slika 11. Aplikacijski vatrozid
3. Mreţni ureĎaji
38
Aplikacijski vatrozidi ugrubo se mogu podijeliti u dvije kategorije:
konekcijski poveznik (eng. connection gateway firewalls)
prereţi-kroz posrednik (eng. cut-through proxy)
Ove dvije vrste razlikuju se po nivou zaštite i resursa koje troše. Tako je prereţi-
kroz posrednik jednostavnija metoda koja će kod konekcije traţiti provjeru
autentičnosti od korisnika. Ako provjera autentičnosti uspije, ova vrsta vatrozida
više neće raditi analizu prometa od tog korisnika već će propustiti sav definirani
promet. Za razliku od prereţi-kroz vatrozid, konekcijski poveznik će analizirati sav
promet i nakon uspješne provjere autentičnosti omogućiti dodatne nivoe zaštite na
aplikacijskom sloju.
Tako, na primjer, korisniku moţemo ograničiti koje Java applet-e ili ActiveX skripte
smije izvršavati, a kod telnet i ftp konekcije koje komande moţe izvršavati, u koji
se od direktorija smije pozicionirati itd. Iz ovoga je vidljivo da konekcijski poveznik
zahtijeva puno više resursa jer prati sve konekcije na aplikacijskom nivou.
Aplikacijski vatrozidi tako imaju odreĎene prednosti nad vatrozidima s filtriranjem
paketa i praćenjem stanja veze:
Oni provjeravaju autentičnost osobe, a ne ureĎaje.
Potencijalni napadači teţe će implementirati neki od napada
prisluškivanjem ili uskraćivanjem resursa.
Aplikacijski vatrozidi mogu nadzirati i filtrirati odreĎene podatke unutar
same aplikacije.
U mogućnosti su generirati detaljne logove .
Aplikacijski vatrozidi imaju i odreĎene nedostatke:
Cijelo procesiranje paketa napravljeno je u programskoj podršci, i nije ga
moguće ubrzati korištenjem dediciranog sklopovlja.
Ne podrţavaju veliki broj aplikacija.
Nekada zahtijevaju da korisnik koristi poseban program za pristup i
provjeru autentičnosti.
3.3.2.4. Vatrozidi za translaciju adresa
Vatrozidi za translaciju adresa dizajnirani su zbog dva razloga:
Proširenje broja adresa koje korisnik moţe koristiti.
Skrivanje mreţne topologije i adresa koje se koriste od vanjskog svijeta
3. Mreţni ureĎaji
39
Osnovni razlog njihove implementacije bilo je definiranje standarda RFC1631
(NAT) i RFC1918 (privatne IP adrese) koji su definirali pojam privatne IP adrese i
metode translacije tih privatnih ip adresa u javne, da bi se mogle koristiti na
internetu. Ta translacija uključuje translaciju izvorišne i/ili odredišne adrese, te
izvorišnog i/ili odredišnog porta ako se radi o TCP/UDP paketima.
Sigurnost temeljena na translaciji adresa, oslanja se na to, da ako ţelimo izvana
pristupiti ureĎaju koji se nalazi iza vatrozida, moramo na vatrozidu definirati
translaciju IP adresa. Kad translacija ne bi bila definirana, paketi se ne bi mogli
usmjeriti do ţeljenog vatrozida, a time niti do ţeljenog servisa. Naravno, koristeći
translacije adresa, servise koji se izvršavaju na različitim fizičkim serverima
moguće je prikazati da se nalaze na istom serveru i obrnuto. To nam omogućuje
da sakrijemo fizičku i logičku topologiju mreţe koja se nalazi iza vatrozida.
Aplikacijski sloj
Prezentacijski sloj
Sjednički sloj
Prijenosni sloj
Mreţni sloj
Podatkovni sloj
Fizički sloj1
2
3
5
4
6
7
vatrozid za translaciju
adresa
Slika 12. Vatrozid za translaciju adresa
Vatrozidi za translaciju adresa imaju i odreĎene nedostatke. Neki protokoli poput
IPSeca, odreĎeni VoIP protokoli, te protokoli koji koriste dinamičke portove ne
podrţavaju translaciju adresa i da bi oni ispravno funkcionirali, potrebno je koristiti
kombinaciju aplikacijskog i vatrozida za translaciju ip adresa.
3.3.2.5. Računalno orijentirani vatrozidi
Računalno orijentirani vatrozidi su u biti računala ili posluţitelji na kojima se
izvršava vatrozidni program. Kada je riječ o osobnim računalima tada ga nazivamo
osobnim vatrozidom.
Računalno orijentirani vatrozidi obično nemaju iste mogućnosti kao prethodno
navedeni vatrozidi. Oni su obično pojednostavnjeni vatrozidi za filtriranje paketa, te
su kao takvi sposobni filtrirati samo IP promet, bilo po izvorišnim ili odredišnim IP
3. Mreţni ureĎaji
40
adresama ili po izvorišnim ili odredišnim portovima ako je riječ o TCP/UDP
mreţnom prometu.
Računalno orijentirani vatrozidi napravljeni su kao jeftina alternativa ostalim
verzijama vatrozida, ali s pristojnim mogućnostima zaštite. Iz ovoga je vrlo lako
uočiti sve njihove prednosti i nedostatke. Računalno orijentirane vatrozide ne treba
uzimati kao jedini nivo zaštite u mreţama, nego samo kao dodatak na opću
sigurnost.
3.3.2.6. Hibridni vatrozidi
Zbog velikog i brzog razvoja novih tehnologija, raširenosti interneta i različitog
poslovanja koje svakodnevno koristi internet kao metodu komuniciranja, potreba
za mreţnom sigurnosti uvelike se povećala. Tako se i klasifikacija potrebnog
vatrozida za odreĎenu vrstu zaštite pokazala kao teţak posao. Da bi omogućili
robusnu mreţnu sigurnost, odreĎeni proizvoĎači mreţne opreme kombiniraju više
vrsta prethodno navedenih vatrozida u jednom ureĎaju.
Takvi se vatrozidi nazivaju hibridni vatrozidi i uz posjedovanje više vrsta prethodno
navedenih vatrozida, mogu obavljati i ostale funkcije kao što su koncentriranje
VPN prometa, filtriranje sadrţaja, IDS zaštite i usmjeravanje IP prometa.
Hibridni vatrozidi danas predstavljaju standard i vrlo ćemo rijetko naći vatrozide
koji su specificirani samo za jednu vrstu zaštite.
3. Mreţni ureĎaji
41
3.4. UreĎaji za detekciju i prevenciju napada
Razvojem vatrozida i njihovih mogućnosti zaštita računalnih mreţa pojavila se
potreba za sustavom koji bi bio posvećen detaljnoj analizi mreţnog prometa i bio
bi u mogućnosti predvidjeti odreĎene vrste mreţnih napada neovisno o protokolu,
aplikaciji i operacijskom sustavu koji koristi klijent ili server.
U tu svrhu razvijeni su ureĎaji za detekciju napada (IDS, eng. Intrusion Detection
System) i njihove poboljšane verzije, ureĎaji za prevenciju napada (IPS, eng.
Intrusion Prevention system). IDS je ureĎaj ili skup programa, dizajniran da bi
mogao detektirati neţeljene pokušaje pristupa, pokušaj onesposobljavanja ili
manipulaciju računalnim sustavima, korištenjem odreĎenih mreţnih resursa,
posebno pristupa internetu. Ti pokušaji udaljenog pristupa mogu imati oblik nekih
od napada, te ih IDS sustav mora razlikovati od uobičajenog mreţnog prometa.
Princip rada ureĎaja za prevenciju napada (IPS) isti je kao i kod IDS ureĎaja, s
tom razlikom što IPS ureĎaji imaju mogućnost i blokiranja potencijalnih napada.
Blokiranje napada IPS moţe vršiti slanjem RST paketa kod TCP komunikacije ili
udaljenom konfiguracijom odreĎene mreţne opreme da bi blokirala mreţni promet
s odreĎenog izvora.
Nekoliko je vrsta IDS ureĎaja, slijedi podjela ovisno o njihovoj namjeni i poloţaju
unutar mreţe:
Mreţni ureĎaji za detekciju napada (NDIS, eng. Network Intrusion
Detection System). NDIS je nezavisni ureĎaj koji detektira napade
analizom mreţnog prometa. Da bi mogao analizirati sav mreţni promet,
NDIS mora biti spojen na čvorište ili preklopnik koji podrţava zrcaljenje
mreţnog prometa (SPAN sučelje) s jednog sučelja na drugo.
UreĎaji za detekciju napada bazirani na protokolima (PIDS, eng. Protocol-
based Network Intrusion Detection System) obično se sastoje od agenata
koji su postavljeni ispred posluţitelja, nadzirući i analizirajući komunikaciju
izmeĎu posluţitelja i klijenta.
Aplikacijski ureĎaji za detekciju napada temeljeni na protokolima (APIDS,
eng. Application Protocol-based Network Intrusion Detection System)
sastoje se od sustava ili agenata koji su obično smješteni unutar neke
grupe posluţitelja, nadzirući i analizirajući komunikaciju na aplikacijskom
nivou.
3. Mreţni ureĎaji
42
Računalno temeljeni ureĎaji za detekciju napada (HIDS, eng. Host-based
Network Intrusion Detection System) sastoje se od agenata na računalu
koji detektiraju napade, analizirajući sistemske pozive, logove aplikacija,
modifikacije na datotečnom sustavu i ostale aktivnosti samog računala.
Hibridni ureĎaji za detekciju napada koriste kombinaciju dvije ili više gore
nabrojanih metoda.
Kod analize mreţnog prometa, u svrhu detektiranja napada, IDS sustav moţe
koristiti više metoda detekcije. Detekcija napada temeljena na profilima, poznata
još kao i detekcija nepravilnosti, generirat će alarm kada aktivnost na mreţi prijeĎe
neku zadanu vrijednost, definiranu profilom. Profili se generiraju tako da se neko
vrijeme promatra normalni korisnički promet i zatim se na osnovu toga dobiju neke
zadane vrijednosti. Problem s ovom metodom je što se neki korisnički promet
teško moţe opisati profilom jer ono što je danas normalan promet, sutra moţe biti
izvan definiranog okvira. Metoda detekcije napada bazirana na profilima koristi se
kao dodatak drugim metodama i korisna je onda kada ostale metode nisu u
mogućnosti detektirati napade.
Detekcija napada koja se temelji na potpisu ili obrascu, manje je podloţna
generiranju krivih alarma. Potpis čini skup pravila koji opisuje tipične mreţne
napade. Kada IDS ureĎaj detektira mreţni promet koji odgovara pojedinom
potpisu, generirat će alarm. Neki potpisi mogu generirati alarm na osnovu jednog
paketa, ti potpisi se nazivaju atomski potpisi, dok ostali potpisi traţe napade na
osnovu više paketa u mreţnoj komunikaciji.
Zlonamjerni korisnici su itekako svjesni postojanja IDS ureĎaja, te poznavajući
način na koji rade razvili su odreĎene tehnike kako zaobići njihovu funkcionalnost.
Ovo su neke od najčešće korištenih tehnika:
Poplavljivanje (eng. flooding)
Fragmentacija
Enkripcija
Omama (eng. obfuscation)
IDS i IPS ureĎaji oslanjaju se na mogućnost hvatanja paketa na mreţi i njihovo što
brţe analiziranje. To zahtijeva da IDS senzor ima odgovarajuću količinu slobodne
memorije i brzi procesor. Kod izbjegavanja poplavljivanjem, napadač pokušava
velikom količinom generiranog prometa zagušiti IDS senzor, tako da pravi napad
proĎe nezapaţeno. Ako napad i bude otkriven zbog zauzeća resursa, IDS moţda
neće na vrijeme generirati alarm.
3. Mreţni ureĎaji
43
Kod tehnike izbjegavanja fragmentacijom, napadač zlonamjerne pakete dijeli u
više manjih dijelova. Ovo zahtijeva od IDS-a njihovo ponovo sastavljanje što je
procesorski vrlo zahtjevan posao. Ako je broj fragmentiranih paketa velik, IDS
neće na vrijeme moći analizirati sav mreţni promet i mogući će napadi proći
nezamijećeni.
Kod izbjegavanja enkripcijom napadač će pokušati koristiti sigurne sjednice, te
pomoću njih izvesti napad koji je gotovo uvijek nevidljiv za IDS. Od sigurnih
sjednica napadač moţe koristiti SSL, TLS, SSH, VPN itd.
Kod tehnike omame, napadač pokušava sakriti napad korištenjem specijalnih
znakova. Ti znakovi mogu biti; kontrolni znakovi, heksadecimalni prikaz, unicode
prikaz. Posebni znakovi se dodaju u pojedine napade da bi zavarali IDS temeljen
na obrascima jer on traţi točno odreĎene vrijednosti u mreţnim paketima.
IDS sustavi prvenstveno su namijenjeni zaštiti odreĎenih web servisa, kao što su
web, mail i ftp. Rijetko se koriste za zaštitu samih mreţnih ureĎaja, ali su u
mogućnosti detektirati svaki pokušaj neovlaštenog pristupa i neke vrste DoS
napada. Pri tome moraju biti smješteni na točno odreĎene dijelove mreţe koji se
pokušavaju zaštiti.
4. Sigurnost drugog mreţnog sloja
44
4. Sigurnost drugog mrežnog sloja
Kako se ethernet kao tehnologija počela naglo širiti s LAN mreţa na WAN mreţe,
problemi sa sigurnošću koje nosi ethernet, s lokalnih mreţa počeli su se
pojavljivati i u WAN mreţama. ProizvoĎači mreţne opreme brzo su uvidjeli da
potencijalni sigurnosni problemi na ethernetu mogu dovesti do velikih problema na
WAN mreţama, te su sukladno tome počeli više paţnje posvećivati sigurnosti.
Ovdje ćemo prikazati najčešće napade na ethernet sloju, posljedice koje uzrokuju,
te metode zaštite. Budući da će se testiranja raditi na ureĎajima proizvoĎača Cisco
Systems, zaštita od napada biti će prikazana kao primjer konfiguracije ureĎaja koji
uključuje odreĎenu zaštitu.
4.1. Poplavljivanje MAC adresama
Poplavljivanje MAC adresama (eng. MAC address flooding) nije u pravom smislu
napad na preklopnik, nego više iskorištavanje ograničenja koje posjeduju
preklopnici i mostovi. Preklopnici posjeduju odreĎenu količinu memorije za tablicu
gdje su pohranjene MAC adrese (standardne veličine su 4, 8, 16, 32 pa sve do 96
tisuća MAC adresa) koje preklopnik koristi za usmjeravanje paketa. Kada se ta
tablica popuni, paketi koji su namijenjeni odredištima koja se više ne mogu naučiti
i pohraniti u MAC tablicu, bit će poslani na sva sučelja. Zlonamjerni korisnik moţe
iskoristiti ovaj nedostatak te generiranjem velikog broja paketa s različitim
izvorišnim paketima zapuniti MAC tablicu i na taj način osigurati da vidi sav promet
unutar odreĎenog VLAN-a. Nakon što se domogao cijelog prometa u mreţi
zlonamjerni korisnik to moţe iskoristiti za daljnje napade.
Kao zaštita od ovog napada postoji funkcionalnost koja se naziva port security.
Ona omogućuje definiranje broja MAC adresa koje pojedino sučelje moţe naučiti.
Ona je na svim preklopnicima standardno isključena i bez dodatne konfiguracije
svi su preklopnici podloţni ovome napadu.
Oba testirana ureĎaja podloţna su napadu. 1812 ima tablicu od 8000 MAC adresa
i vrijeme potrebno da se njegova tablica zapuni je oko 120 sekundi. 6500
posjeduje tablicu od 64000 MAC adresa i njemu je trebalo oko 1000 sekundi da bi
se tablica popunila nakon čega je preklopnik počeo slati pakete na sva sučelja.
Primjer zaštitne konfiguracije na korisničkom portu gdje je dopušteno maksimalno
10 MAC adresa, a kada se prijeĎe taj broj, preklopnik će ugasiti sučelje:
interface Fastethernet 0/1
switchport mode access
switchport port-security
switchport port-security maximum 10
switchport port-security violation shutdown
4. Sigurnost drugog mreţnog sloja
45
4.2. ARP zavaravanje
ARP zavaravanje (eng. ARP spoofing) ili još poznato kao ARP trovanje (eng. ARP
poisoning) je tehnika napada na ethernet sloju. ARP zavaravanje moţe omogućiti
napadaču da prisluškuje podatke, mijenja njihov sadrţaj ili da prekine
komunikaciju izmeĎu mreţnih ureĎaja. Princip rada ovog napada je slanje laţne
ARP poruke u ethernet mreţu s ciljem da se MAC adresa zlonamjernog korisnika
poveţe s IP adresom nekog drugog mreţnog ureĎaja, tipično usmjerivača
zaduţenog za daljnje usmjeravanje prometa. Tako bi sav promet namijenjen toj IP
adresi zapravo završio kod zlonamjernog korisnika. Napadač nakon toga moţe
proslijediti taj promet ureĎaju kojemu je bio namijenjen (napad prisluškivanjem),
moţe ga modificirati pa tek onda proslijediti dalje ili ţrtvinu MAC adresu pridruţiti
odreĎenoj poznatoj adresi i tako izazvati napad uskraćivanjem usluge.
Za obranu od ovog napada koristi se dinamički ARP nadzor (DAI, eng. Dynamic
ARP Inspection). On nije standardno uključen na preklopnicima jer njegova
implementacija zahtijeva odreĎeno poznavanje mreţne infrastrukture. DAI
sigurnosna funkcionalnost presreće sve ARP pakete u mreţi koji dolaze na sučelje
kojemu se ne vjeruje, te ih usporeĎuje s tablicom valjanih IP-MAC veza. Ako ARP
odgovor sadrţi valjanu IP-MAC vezu, ARP priručna memorija se osvjeţava s
novim podacima. U suprotnom se ARP paket odbacuje. Sučelja prema poznatim
mreţnim ureĎajima mogu se staviti u stanje vjerovanja, te se za ARP pakete koji
dolaze od njih neće raditi provjera. DAI se moţe uključiti po pojedinom VLAN-u na
preklopniku, ako je to potrebno.
Izgradnja tablice veza IP-MAC adresa moguća je ručnim unošenjem vrijednosti,
ali se za to obično koristi DHCP njuškanje (eng. DHCP snooping) koje ćemo
kasnije detaljno obraditi.
Primjer zaštitne konfiguracije sa statičkim MAC adresama:
ip arp inspection vlan 1
#statičko definiranje IP-MAC tablice
arp access-list ARP_POISON
permit ip host 192.168.0.1 mac host 000c.aabb.ccdd
ip arp inspection filter ARP_POISON vlan 1
4.3. DHCP njuškanje
DHCP njuškanje (eng. DHCP snooping) je sigurnosna funkcionalnost koja se
moţe uključiti na preklopnicima da bi se u kombinaciji s DHCP posluţiteljima
poboljšala sigurnost u mreţi. Ona omogućuje filtriranje DHCP poruka ovisno s
kojeg su sučelja došle, tj. moţe li se tom sučelju vjerovati ili ne. DHCP njuškanje
će izgraditi tablicu u memoriji u kojoj će se nalaziti svi podaci vezani za DHCP: IP
adresa, MAC adresa, duljina zakupa IP adrese, sučelje, stanje vjerovanja. Na
4. Sigurnost drugog mreţnog sloja
46
osnovu toga preklopnik moţe osigurati da pristup mreţi imaju samo računala s
valjanom IP adresom koju su dobila od DHCP posluţitelja, te da se DHCP
posluţitelji nalaze na točno odreĎenim mjestima u mreţi. Na sučelja koja nisu u
stanju vjerovanja, ne mogu biti spojeni DHCP posluţitelji.
Ova funkcionalnost onemogućuje zlonamjernog korisnika da si sam dodijeli IP
adresu da bi imao pristup mreţi, ili još gore, da aktivira svoj DHCP posluţitelj te
ostalima u mreţi dijeli IP adrese. TakoĎer, onemogućuje DoS napad na DHCP
posluţitelj limitirajući broj DHCP paketa po sekundi koji smiju doći na sučelje.
DHCP njuškanje se često koristi u kombinaciji s DAI da bi se ostvarila zaštita od
ARP trovanja.
Primjer zaštitne konfiguracije:
ip dhcp snooping
ip dhcp snooping vlan 1
interface Fastethernet 0/1
description DHCP poslužitelj
ip dhcp snooping trust
interface Fastethernet 0/2
description Korisnik
no ip dhcp snooping trust
ip dhcp snooping limit rate 100
4.4. VLAN bazirani napadi
4.4.1. Napadi na 802.1Q i ISL označavanje
Napadi na označavanje VLAN-ova su zlonamjerne akcije s ciljem neovlaštenog
pristupa u drugi VLAN. Cisco preklopnici mogu za označavanje VLAN-ova koristiti
dvije metode. 802.1Q predstavlja IEEE standard, gdje se unutar okvira umeće 4-
bajtni podatak koji sadrţi 12-bitnu oznaku VLAN-a, na osnovu koje preklopnik zna
koji okvir pripada kojem VLAN-u. Drugu metodu čini ISL koji je zaštićeni protokol
tvrtke Cisco. On za razliku od 802.1Q, enkapsulira cijeli okvir dodajući mu 26-
bajtno zaglavlje koje sadrţi 15-bitnu oznaku VLAN-a, te četiri bajta na kraj okvira
koji sadrţe zbroj za provjeru.
Cilj napadača je da odreĎenom tehnikom pokuša zavarati preklopnik da prihvaća
okvire označene VLAN oznakom i na taj bi način mogao komunicirati s ureĎajima
koji su u drugom VLAN-u. Neki Cisco preklopnici podrţavaju DTP (eng. Dynamic
Trunking Protocol) koji sluţi da bi dva preklopnika mogla pregovarati o tipu veze
izmeĎu sebe koja moţe biti pristupna (eng. access) ili zbirna veza (eng. trunk).
Ako je ta funkcionalnost uključena na korisničkom sučelju, zlonamjeran korisnik
4. Sigurnost drugog mreţnog sloja
47
moţe to iskoristiti za uspostavu zbirne veze, te nakon toga modifikacijom okvira
komunicirati s bilo kojim ureĎajima, neovisno jesu li u njegovom VLAN-u ili ne.
CRC/FCS
4
Tip
Eterhenta
2
802.1q zaglavlje
Izvorišna MAC
6
Odredišna MAC
6
Uvodni niz
8
Podaci
46-1500
TPID
2
PCP/CFI/VID
2
CRC/FCS
4
Tip
Eterhenta
2
Izvorišna MAC
6
Odredišna MAC
6
Uvodni niz
8
Podaci
46-1500
Slika 13. Izgled 802.1q okvira
Obrana od ovog napada uključuje strogo definiranje tipa korisničkog sučelja i
isključivanje DTP protokola. Ako je sučelje u pristupnom modu i ako zlonamjeran
korisnik pošalje okvir koji sadrţi VLAN oznaku, on će biti odbačen. Preklopnik će
prihvaćati neoznačene okvire kojima će on, ovisno o konfiguraciji sučelja, dodijeliti
VLAN oznaku.
Primjer konfiguracije koja onemogućuje napad na VLAN označavanje.
interface Fastethernet 0/1
switchport
switchport mode access
switchport access vlan 1
switchport nonegotiate
4.4.2. 802.1q dvostruko označavanje
Unutar preklopnika oznake i broj VLAN-ova prenose se u specijalnom proširenom
formatu da bi preklopnik bio u mogućnosti izolirati promet iz različitih VLAN-ova
bez gubitka informacija. Kada okvir napusti preklopnik, on moţe biti označen na
jedan od dva gore spomenuta načina, 802.1q ili ISL. Kao što smo već spomenuli
ISL je Ciscov zaštićeni protokol koji koristi dodatnu enkapsulaciju cijelog okvira.
Kako kod njega svaki okvir dobije VLAN oznaku, nema opasnosti od gubitka
identiteta, a time i sigurnosnog problema vezanog uz preskakanje iz jednog VLAN-
a u drugi. Sa druge strane, 802.1q standard definiran od strane IEEE vijeća, da bi
bio kompatibilan unazad, podrţava tzv. izvorni VLAN (eng. native VLAN). To znači
da promet na 802.1q zbirnom portu koji nema nikakvu VLAN oznaku pripada
definiranom izvornom VLAN-u.
Iako je ovo poţeljan način rada da bi ureĎaji koji podrţavaju 802.1q standard bili
kompatibilni sa starim 802.3 standardom, ovo dovodi do gubitka pojedinih
informacija kod okvira koji su povezani s izvornim VLAN-om. Tako ti okviri gube
VLAN oznaku i 802.1p oznaku klase. Upravo zbog toga korištenje izvornog VLAN-
a treba izbjegavati.
4. Sigurnost drugog mreţnog sloja
48
Glavni problem javlja se kod dvostruko enkapsuliranih 802.1q okvira. Kada mreţni
ureĎaja čiji je VLAN jednak izvornom VLAN-u zbirnog porta preklopnika, pošalje
okvir, VLAN oznaka tog okvira neće biti sačuvana tijekom cijelog puta jer će
802.1q zbirni port promijeniti taj okvir skinuvši mu vanjsku VLAN oznaku. Nakon
što mu je skinuta vanjska VLAN oznaka, okviru ostaje jedino unutarnja VLAN
oznaka koja će ga svrstati u drugačiji VLAN nego što je to bilo na početku
zamišljeno.
802.1q, okvir
Korisnik
Napadač
VLAN 1 VLAN 2 Podaci
802.1q, 802.1q
Zbirni port
izvorni
VLAN 1 VLAN 2 Podaci
okvir
Korisnik
Korisnik
Ukloni prvu VLAN oznaku,
pošalji dalje
Slika 14. 802.1q dvostruko označavanje
Iz ovoga je vidljivo da je poţeljno izbjegavanje korištenja izvornog VLAN-a gdje
god je to moguće ili promijeniti konfiguraciju zbirnog porta tako da označava svaki
VLAN, uključujući i izvorni.
Primjer konfiguracije koji kaţe preklopniku da označava sve VLAN-ove uključujući
i izvorni:
vlan dot1q tag native
4.4.3. Napad na privatne VLAN-ove
Napad na privatne VLAN-ove nije zapravo napad prave vrste. To je više
iskorištavanje poznatog ponašanja te funkcionalnosti. Privatni VLAN-ovi (PVLAN)
omogućuju izolaciju prometa na drugom mreţnom sloju izmeĎu ureĎaja koji se
nalaze u istom VLAN-u. Bez korištenja PVLAN-ova svi ureĎaji na drugoj razini
mogu nesmetano meĎusobno komunicirati unutar jednog VLAN-a. Ako nam
sigurnosna politika nalaţe da odreĎeni ureĎaji ne smiju meĎusobno komunicirati,
koristiti ćemo PVLAN-ove. Postoje tri tipa privatnih VLAN-ova:
izolirani (eng. isolated)
zajednički (eng. community)
primarni (eng. primary)
Definicija primarnog VLAN-a sadrţi sva raznorodna sučelja (eng. promiscuous) i
jedan ili više sekundarnih VLAN-ova koji mogu biti izolirani ili zajednički. Kada je
4. Sigurnost drugog mreţnog sloja
49
sekundarni VLAN konfiguriran kao izolirani, svi mreţni ureĎaji koji su u izoliranom
VLAN-u ne mogu meĎusobno komunicirati. Mogu komunicirati jedino s ureĎajima
spojenim na raznorodna sučelja, tj. s ureĎajima koja su u primarnom VLAN-u.
Kod zajedničkih VLAN-ova svi ureĎaji koji se nalaze unutar njih mogu meĎusobno
komunicirati i komunicirati s ureĎajima iz primarnog VLAN-a s tzv. raznorodnim
sučeljima. UreĎaji iz zajedničkog VLAN-a ne mogu komunicirati s ureĎajima iz
izoliranog VLAN-a ni s ureĎajima iz drugog zajedničkog VLAN-a.
Jedini ureĎaji koji mogu komunicirati sa svima su oni spojeni u primarni VLAN.
Sigurnosni problem koji se ovdje pojavljuje je pretpostavka da dva ureĎaja koja se
nalaze u izoliranom VLAN-u ne mogu meĎusobno komunicirati. To je naravno i
točno ako se radi o komunikaciji na drugom sloju. Naravno, ako postoji neki ureĎaj
koji radi usmjeravanje paketa na trećem sloju, on će se nalaziti u primarnom
VLAN-u da bi mogao komunicirati sa svim izoliranim klijentima.
Usmjerivač
Mac:C IP:3
Napadač
MAC:A IP:1
Ţrtva
MAC:B IP:2
Izv: A Odr: C
Izv: C Odr: B
Izv: A Odr: C
Izv: C
Odr:
B
Izv: A
Od
r: B
PVLAN zaštita na 2. sloju
radi kako je zamišljena
Usmjerivač usmjeruje
pakete
Raznorodno sučelje
Izolirano sučelje
Slika 15. Napad na privatne VLAN-ove
Zlonamjeran korisnik moţe pomoću usmjerivača koji će pravilno usmjeriti pakete
do odredišnog ureĎaja modificirati pakete tako da se komunikacija izmeĎu dva
mreţna ureĎaja umjesto na drugom sloju, odvija na trećem sloju. Kako se
usmjerivač nalazi u primarnom VLAN-u, tj. priključen je na raznorodno sučelje, on
moţe komunicirati s oba korisnika koja se nalaze na izoliranim sučeljima.
Zaštita od ovakve vrste napada uključivat će kreiranje pristupnih listi (ACL, eng.
Access Control List) na usmjerivaču kojima će se zabraniti komunikacija na treći
sloju izmeĎu ureĎaja koji se nalaze u izoliranom VLAN-u.
4. Sigurnost drugog mreţnog sloja
50
4.5. Napadi na spanning-tree protokol
Jedan od opasnijih napada je napad na spanning-tree protokol. Spanning-tree
protokol (STP) je protokol na drugom sloju ISO/OSI modela koji osigurava
topologiju bez petlji u mreţi konstruiranoj od preklopnika i mostova. STP algoritam
je izumila Radia Perlman, a kasnije je definiran kao IEEE standard 802.1D. Kao
što mu i ime kaţe, STP algoritam će generirati razgranato stablo u kojemu će biti
povezani svi mreţni ureĎaji drugog sloja, obično preklopnici i mostovi,
onesposobit će sve veze koje nisu dio stabla i ostaviti samo jedan aktivni put
izmeĎu bilo koja dva mreţna čvorišta.
STP mreţnom dizajnu omogućuje zadrţavanje redundantnih veza da bi omogućio
rezervni put ako doĎe do ispada glavne veze, te pritom osigurava da ne postoji
opasnost od stvaranja petlji na drugom sloju.
Kako bi se riješila odreĎena ograničenja i nedostaci spanning-tree protokola,
tokom godina definirana su odreĎena proširenja. Nakon što je 1990. definiran
osnovni 802.1D, 1998. godine definiran je brzi STP (RSTP, eng. Rapid Spanning-
tree Protocol) te višestruki STP (MST, eng. Multiple Spanning-tree Protocol) koji
podrţava više istovremenih VLAN-ova. Kompanije poput Cisco System razvile su
neke svoje standarde da bi riješile odreĎene probleme tog vremena. Tako su
nastali PVST (eng. Per-VLAN Spanning-tree), PVST+ i R-PVST (eng. Rapid Per-
VLAN Spanning-tree).
Iako se razlikuju po mogućnostima i brzini konvergencije, osnovna funkcionalnost
svih spanning-tree protokola je ista - izbjegavanje petlji na drugom sloju.
Zbog toga su i napadi slični, pa se nećemo posebno baviti napadima na svaku
pojedinu vrstu spanning-tree protokola. Da bismo razumjeli djelovanje napada
moramo znati kako sam STP funkcionira.
Da bi se kreirala topologija bez petlji, STP za početak se mora odrediti korijenski
most (eng. root bridge). Korijenski most će činiti početak stabla, a na osnovu
troška potrebnog da se dosegne korijen koji ovisi o brzini pojedinih veza, računat
će se ostala topologija mreţe. Izbor korijenskog mosta vrši se na osnovu oznake
mosta (eng. bridge ID) koja se šalje svim ostalim mostovima unutar STP paketa.
Oznaku mosta čini kombinacija MAC adrese i zadanog prioriteta. Što je oznaka
niţa, ureĎaj ima veću šansu postati korijenski most. MAC adresa u oznaci mosta
garantira da se neće pojaviti dva preklopnika s istom oznakom, te da neće doći do
sukoba prilikom odabira korijenskog mosta.
Sam odabir korijenskog mosta vrlo je bitna stvar jer o njegovom poloţaju ovisi
izgled cijele topologije mreţe na drugom sloju.
Nakon odabira korijenskog mosta ostali mostovi na osnovu njega računaju trošak
koji je potreban da se po pojedinoj vezi dosegne korijenski most. Veza s
najmanjim troškom postat će primarna veza, dok će se ostale veze isključiti i staviti
u stanje pripravnosti. Ako je trošak na više veza isti, most će primijeniti ostale
4. Sigurnost drugog mreţnog sloja
51
kriterije za definiranje STP topologije (prioritet sučelja, oznaka sučelja). Sama
komunikacija izmeĎu mostova odvija se putem BPDU-ova (eng. Bridge Protocol
Data Units) koji sadrţe sve podatke za kreiranje STP topologije kao što su:
identifikacija korijenskog mosta, trošak puta do korijenskog mosta, oznaka mosta,
oznaka sučelja i vremena brojača (hello, max-age, forward-delay).
A
000c.1111.0011
B
000c.2678.1010
C
000c.321a.bcde
E
000c.2579.2222
D
000c.8181.1122
10
Mb/s
100
Mb/s
10
Mb/s
100
Mb/s
1000
Mb/s
100
Mb/s
100
Mb/s
0/1 0/2
A
B C
E
D
0/1 0/2
Slika 16. Način rada spanning-tree protokola
Kako svi moderni preklopnici prilikom inicijalne konfiguracije imaju aktiviran
spanning-tree protokol na svim sučeljima kao metodu izbjegavanja petlji na
drugom sloju, vrlo je vaţno obratiti pozornost na njegovu sigurnost. Sam protokol
ne dolazi s bilo kojim ugraĎenim metodama zaštite od zlonamjernih korisnika, tako
da bilo koji korisnik na sučelju gdje je aktiviran STP, a to su uglavnom sva sučelja,
moţe sudjelovati u STP topologiji.
Napadi na STP uglavnom uključuju promjenu STP topologije, bilo s ciljem
prisluškivanja prometa, bilo s ciljem uskraćivanja usluge. Najčešći napad je
naravno napad u kojemu zlonamjeran korisnik ţeli postati korijen STP topologije
da bi skrenuo protok paketa kroz svoj ureĎaj, te si prisluškivanjem omogućio izvor
informacija za dodatne napade.
OdreĎenom manipulacijom STP-om moţemo izazvati poteškoće u radu mreţe.
Njegovom se paţljivom manipulacijom moţe dovesti do blokiranja pojedinih veza u
mreţi, a time i do odbacivanja paketa, čak i izazivanja petlji koje mogu izazvati
slom cijele ethernet mreţe.
4. Sigurnost drugog mreţnog sloja
52
4.5.1. BPDU obrana
Kako sam STP ne posjeduje nikakve metode zaštite, proizvoĎači mreţne opreme
morali su sami dodati neke sigurnosne mehanizme za obranu od napada na STP.
BPDU obrana (eng. BPDU guard) je sigurnosna funkcionalnost koja će, ako je
aktivirana, kada dobije BPDU paket, ugasiti sučelje te poslati alarm. Ova se
funkcionalnost uključuje na sučeljima na koja su spojeni mreţni ureĎaji koji ne bi
trebali sudjelovati u spanning-tree protokolu. Ova se funkcionalnost moţe aktivirati
globalno na cijelom preklopniku ili po pojedinom sučelju. Inicijalno nije uključena
niti na jednom ureĎaju. Primjer uključivanja BPDU obrane:
spanning-tree portfast bpduguard default # globalno
interface Fastethernet 0/1 # po pojedinom sučelju
spanning-tree bpduguard enable
4.5.2. BPDU filtriranje
Ako ne ţelimo ugasiti sučelje, prilikom detekcije BPDU paketa moţemo koristi
BGPDU filtriranje (eng. BPDU filtering). Ova će funkcionalnost filtrirati sve odlazne
i dolazne BPDU pakete, te tako spriječiti mogućeg napadača da bilo kako utječe
na STP topologiju. Ovu funkcionalnost treba uključiti na sučeljima odakle mogu
doći potencijalni napadi, a da na njima nije potrebno korištenje STP protokola. Ova
funkcionalnost je inicijalno isključena na svim preklopnicima.
Primjer uključivanja BPDU filtriranja:
interface Fastethernet 0/1
spanning-tree bpdufilter enable
4.5.3. Obrana korijena spanning tree protokola
Obrana korijena (eng. root guard) vrlo je vaţna funkcionalnost u obrani od napada
na spanning-tree protokol. Ova funkcionalnost onemogućuje da preklopnici ili
mostovi priključeni na odreĎene portove, mogu postati korijen spanning-tree
topologije. Ako preklopnik primi BPDU paket koji sadrţi informaciju da je
preklopnik koji je poslao BPDU bolji kandidat za korijen spanning-tree topologije, a
na sučelju je uključena obrana, preklopnik će to sučelje staviti u mirovanje i neću
ga koristiti za slanje mreţnog prometa, sve dok takvi BPDU-ovi ne prestanu
dolaziti. Ova se zaštita obično aktivira na sučeljima prema agregacijskim i
pristupnim preklopnicima, te mogućim zlonamjernim korisnicima. Ona inicijalno
nije uključena. Primjer uključivanja obrane korijena STP –a:
interface Fastethernet 0/1
spanning-tree guard root
4. Sigurnost drugog mreţnog sloja
53
4.5.4. UDLD
UDLD (eng. Unidirectional Link Detection) je funkcionalnost koja provjerava je li
moguća komunikacija u oba smjera na pojedinom sučelju izmeĎu dva preklopnika.
Ona posebno dolazi do izraţaja kod optičkih veza gdje je moguć prekid jedne od
niti, te se kao posljedica toga dobije jednosmjerna veza. Kako kod jednosmjernih
veza moţe doći do nuspojava kod STP-a, prvenstveno stvaranja petlji na drugom
sloju, a time i do mogućeg uskraćivanja usluge, vrlo je vaţno da imamo
dvosmjernu komunikaciju izmeĎu svakog preklopnika. UDLD će ugasiti sučelje
ako na njemu detektira jednosmjernu komunikaciju.
Primjer uključivanja UDLD funkcionalnosti:
interface Fastethernet 0/1
udld enable
4.5.5. Obrana od petlji
Obrana od petlji (eng. loop guard) još je jedan dodatak spanning-tree protokolu
kao obrana od nastajanja petlji, a time i mogućeg uskraćivanja usluge. Ona
sprječava prelazak sučelja iz stanja blokiranja u normalno stanje. To se moţe
dogoditi ako sučelje prestane primati BPDU pakete na redundantnom sučelju, bilo
zbog jednosmjerne veze, bilo zbog krive konfiguracije preklopnika. U tom slučaju
preklopnik bi deblokirao sučelje misleći kako petlja u mreţi ne postoji što bi dovelo
do gore navedenih problema. Obrana od petlji, globalno se uključuje na cijelom
preklopniku.
Primjer uključivanja obrane od petlji:
spanning-tree loopguard default
4.6. Oluja razašiljanja
Oluja razašiljanja (eng. broadcast storm) je pojava u mreţi, kada poruka koja je
poslana svima u mreţi, izazove još više odgovora koji poput lavine zaguše mreţu.
Oluje razašiljanja mogu nastati bilo kao posljedica krive konfiguracije, bilo kao
posljedica nekog od napada, na primjer, napada na spanning-tree protokol. Kao
zaštita od ovakvih pojava, odreĎeni preklopnici posjeduju funkcionalnost limitiranja
razašiljanog prometa, te se to moţe primijeniti kao metoda ublaţavanja posljedice,
dok bi se rješavanje samog problema trebalo potraţiti na njegovom izvoru.
Primjer konfiguriranja zaštite od oluje razašiljanja:
interface FastEthernet 0/1
storm-control broadcast level 20
5. Sigurnost trećeg mreţnog sloja
54
5. Sigurnost trećeg mrežnog sloja
S vrlo brzim razvojem usmjerivača koji je morao pratiti zahtjeve za mreţnom
propusnošću, rasle su i njihove mogućnosti. Na početku, usmjerivači su, kako im
ime i govori, bili fokusirani samo na usmjeravanje paketa ovisno o njihovoj IP
adresi. Danas su oni uglavnom kombinacija preklopnika i usmjerivača koji u
kombinaciji s različitim modulima mogu obavljati višestruke zadaće.
Kako su rasle brzine, mijenjala se i arhitektura samih usmjerivača da bi mogla
pratiti zahtjeve koji joj se nameću. S novim arhitekturama brzo je postalo jasno da
se neka ograničenja usmjerivača neće moći riješiti sklopovskim putem, te da će ih
i dalje morati obavljati centralni procesor. Kako bi osigurali normalno
funkcioniranje procesora pri različitim situacijama, proizvoĎači mreţne opreme
fokusirali su se na sigurnost kao jedan od glavnih problema kod mreţnih ureĎaja.
Uz standardnu sigurnost koja definira kontrolu pristupa, enkripciju udaljenih
sjednica i nadzor samih ureĎaja, proizvoĎači mreţne opreme počeli su uvoditi
zaštite upravljačke i podatkovne razine da bi osigurali dodatnu sigurnost samih
usluga koje nudi usmjerivač
5.1. Zaštita upravljačke razine
Upravljačka razina vitalna je komponenta funkcioniranja usmjerivača. Ona upravlja
svim ostalim razinama, te je njena sigurnost posebno bitna kod zaštite samog
usmjerivača.
5.1.1. Proxy arp
Proxy ARP je tehnika kojom se jedan mreţni ureĎaj, obično usmjerivač, javlja na
druge ARP zahtjeve koji su namijenjeni drugom ureĎaju. Laţno se predstavljajući,
usmjerivač preuzima na sebe obavezu daljnjeg usmjerivanja tih paketa u mreţu.
Iako postoje situacije kada je ova funkcionalnost poţeljna (spajanje dvije mreţe
preko serijskog sučelja, višestruko adresiranje na LAN-u, funkcije vatrozida) u
većini slučajeva ona nije potrebna. Naţalost, na svim usmjerivačima Cisco
Systems dolazi uključena na svim sučeljima. Kako prilikom javljanja na svaki ARP
zapis usmjerivač rezervira odreĎeni dio memorije, postoji mogućnost da
zlonamjeran korisnik iskoristi ovaj nedostatak šaljući veliki broj ARP zahtjeva, te
tako popuni svu memoriju, onemogućivši normalno funkcioniranje usmjerivača.
Zaštita se svodi na isključivanje ove funkcionalnosti na svim sučeljima, osim s onih
gdje je to apsolutno neophodno.
Primjer zaštitne konfiguracije
interface FastEthernet 0/1
no ip proxy-arp
5. Sigurnost trećeg mreţnog sloja
55
5.1.2. ARP prigušenje
ARP prigušenje (eng. ARP throttling) je funkcionalnost koju posjeduju sklopovski
bazirani CEF usmjerivači, u našem slučaju to je model 6500. Njegova osnovna
zadaća je zaštita glavnog procesora dok god ne završi ARP proces, te se utvrdi
odredišna MAC adresa. U normalnom slučaju, dok nije poznata MAC adresa, te
dok nije izgraĎena CEF tablica, svi paketi kojima odredišna MAC adresa nije
poznata, dolaze do glavnog procesora na daljnju obradu. Procesor će naravno na
osnovu tog zahtjeva odaslati ARP zahtjev, te pokušati saznati odredišnu MAC
adresu.
Iz ovoga je vidljivo da zlonamjeran korisnik, ako poznaje metode usmjeravanja,
moţe iskoristiti ovaj nedostatak i generiranjem velikog broja paketa koji za
odredište imaju nepostojeću adresu dovesti do velikog procesorskog opterećenja.
Funkcionalnost ARP prigušenja će sklopovski odbacivati sve pakete dok ARP
proces uspješno ne završi (poslat će 3 ARP zahtjeva), te tako zaštiti glavni
procesor od preopterećenja. Ova funkcionalnost je automatski uključena i nije ju
poţeljno isključivati.
Primjer zaštitne konfiguracije:
mls ip cef arp-throttling
5.1.3. ICMP paket za preusmjeravanje
ICMP paket za preusmjeravanje (eng. ICMP redirect) generira usmjerivač kada
pošalje paket na sučelje s kojega ga je primio. Usmjerivač će pravilno usmjeriti
paket, ali će ICMP porukom obavijestiti pošiljaoca paketa da on nije najbolje
odredište za usmjeravanje paketa s tom odredišnom adresom. Ova funkcionalnost
omogućuje pošiljaocu da zaobiĎe viška usmjerivač i da direktno isporuči paket do
odredišta ili usmjerivača najbliţeg odredištu. U funkcionalnoj mreţi usmjerivač će
slati pakete za preusmjeravanje samo u svojoj lokalnoj mreţi.
Iz ovoga je odmah vidljivo da paket koji zahtijeva preusmjeravanje mora biti
procesno usmjeravan, što u konačnici znači da će za takvo usmjeravanje biti
potrošeno puno više procesorskog vremena. Napadač moţe iskoristiti ovaj
nedostatak i generiranjem velike količine takvih paketa izvršiti DoS napad.
Zaštita od takve vrste napada uključuje isključivanje slanja ICMP paketa za
preusmjeravanje na ţeljenim sučeljima.
Primjer zaštitne konfiguracije:
interface Fastethernet 0/1
no ip redirects
5. Sigurnost trećeg mreţnog sloja
56
5.1.4. ICMP odredište nedostupno
Ako se koristi filtriranje paketa pomoću pristupnih listi, usmjerivač će poslati ICMP
paket kojim obavještava pošiljaoca da je paket filtriran (eng. ICMP unreachable).
Kako svako procesiranje paketa koje iziskuje slanje ICMP paketa dodatno
opterećuje procesor, zlonamjeran korisnik moţe iskoristiti ovu funkcionalnost za
generiranje napada uskraćivanjem usluge.
Obrana od ove vrste potencijalnog napada je isključivanje slanja tog tipa ICMP
poruka.
Primjer zaštitne konfiguracije:
interface Fastethernet 0/1
no ip unreachables
5.1.5. Napad istekom TTL-a
TTL vrijednost u IP paketu, umanjit će se za jedan na svakom mreţnom ureĎaju
prilikom prolaska paketa kroz mreţu. Početna TTL vrijednost moţe varirati ovisno
od operacijskog sustava, ali kada ona postane nula, paket će biti odbačen.
Mreţni ureĎaj koji će umanjiti TTL vrijednost na nulu, te potom odbaciti paket,
mora poslati ICMP time exceeded poruku izvoru paketa. Zbog zahtjeva za
generiranjem ove ICMP poruke, paket će biti usmjeren najsporijom metodom,
procesnim usmjeravanjem. Kako bi velika količina paketa mogla značajno
opteretiti glavni procesor, te izravno posluţiti zlonamjernom korisniku kao DoS
napad, potrebno je upravljačku razinu zaštiti od ove vrste paketa.
Osnovna zaštita se sastoji od pristupnih listi koje trebaju filtrirati sve IP pakete čiji
TTL nema dovoljnu vrijednost, takvu da paket moţe stići do svih ureĎaja unutar
mreţe. Sklopovski usmjerivači, u našem slučaju 6500, posjeduju posebnu
sklopovsku funkcionalnost za ograničavanje takve vrste prometa, no naţalost niti
jedna od ove dvije zaštite inicijalno nije uključena.
Primjer zaštitne konfiguracije za mreţu od maksimalno pet skokova:
ip access-list extended TTL-PROTECT
deny ip any any ttl lt 6
permit ip any any
5.1.6. Upravljanje prometom prema upravljačkoj razini
Upravljanje prometom prema upravljačkoj razini (CoPP, eng. Control Plane
Policing) je funkcionalnost Cisco usmjerivača koja omogućuje oblikovanje prometa
koji dolazi prema upravljačkoj razini. Sav promet koji dolazi do upravljačke razine,
5. Sigurnost trećeg mreţnog sloja
57
mora se obraditi korištenjem centralnog procesora. Pomoću CoPP-a mogu je
klasificirati razne vrste prometa i ograničiti ih po propusnosti da bismo zaštitili
glavni procesor od preopterećenja. Tako je na primjer moguće ograničiti
propusnosti za odreĎene vrste usmjerivačkih protokola, moguće je recimo BGP-u
dodijeliti 256 kb/s ili recimo ograničiti količinu ICMP echo paketa koji dolaze do
usmjerivača. CoPP igra veliku ulogu kod definiranja sigurnosti mreţnih ureĎaja jer
se s njime direktno moţe ograničiti količina prometa koja dolazi do glavnog
procesora.
Primjer obrane od ICMP echo napada:
access-list 100 permit icmp any any
class-map match-all ICMP
match access-group 100
policy-map PROTECT_ICMP
class ICMP
police 100000 12500 12500
conform-action transmit
exceed-action drop
5.2. Zaštita podatkovne razine
Velika većina mreţnog prometa na podatkovnoj razini odvija se na način kako je
odreĎeno usmjerivačkom tablicom. Ipak, postoje i odreĎene iznimke na osnovu
kojih usmjerivač moţe usmjeravati pakete mimo usmjerivačke tablice. Kako su te
funkcionalnosti obično slabo poznate, često znaju biti iskorištene kao neka vrsta
napada na mreţni ureĎaj.
5.2.1. IP options
Ako paket posjeduje IP options u svom zaglavlju, taj će se paket morati usmjeriti
procesnom metodom. Kako usmjeravanje procesnom metodom uzrokuje veliko
zauzeće glavnog procesora, zlonamjeran korisnik moţe iskoristiti ovaj nedostatak
da bi izazvao napad s uskraćivanjem usluge.
Osim što paket mora biti procesno usmjeren, dodatak IP options u zaglavlju moţe
izmijeniti put kojime će paket putovati kroz mreţu, te tako omogućiti zlonamjernom
korisniku da zaobiĎe sigurnosne kontrole unutar mreţe. Postoje dva načina kako
se obraniti od tog napada.
Prvi je da ignoriramo IP options podatke u zaglavlju paketa što će lokalni
usmjerivač zaštititi od napada, ali će ostatak mreţe i dalje biti potencijalno
ugroţen. Drugi način je da u potpunosti odbacimo takve pakete čime ćemo zaštiti
sami usmjerivač, ali i ostatak mreţe. Inicijalno niti jedna vrsta zaštite nije uključena
na usmjerivačima. Primjer konfiguracije obrane od napada IP options paketa:
5. Sigurnost trećeg mreţnog sloja
58
ip options ignore
ip options drop
5.2.2. Usmjeravanje paketa na temelju zahtjeva izvora
Usmjeravanje paketa na temelju zahtjeva izvora (eng. ip source routing)
omogućava korisniku da odredi kojim putem će paket putovati kroz mreţu. Kada
se koristi usmjeravanje na temelju zahtjeva izvora, cijeli put do odredišta mora biti
poznat pošiljaocu paketa, te uključen u sam paket. Usmjeravanje paketa na
temelju zahtjeva izvora zamišljeno je kao pomoć kod dijagnostike, posebice kod
traţenja puta (eng. traceroute) jer omogućuje nalaţenje svih mogućih ruta do
pojedinog mreţnog ureĎaja, te čak omogućuje i traţenje povratnog puta od
odredišta prema izvoru.
Kako postoji velika opasnost da bi zlonamjeran korisnik mogao iskoristiti ovu
funkcionalnost za usmjeravanje paketa po mreţi kako on ţeli, ona postaje veliki
sigurnosni problem, te se općenito smatra kao sigurnosna rupa. Kao rješenje ovog
potencijalnog problema Cisco usmjerivači nude opciju isključivanja usmjeravanje
paketa na temelju zahtjeva izvora. Ona je inicijalno uključena. Primjer konfiguracije
za isključivanje usmjeravanje paketa na temelju zahtjeva izvor:
no ip source-route
5.2.3. IP usmjereno razašiljanje (SMURF napad)
IP usmjereno razašiljanje (eng. IP directed broadcast) je opcija koja omogućuje
slanje IP paketa razašiljanja na udaljenu mreţu. Kada paket stigne na odredište,
usmjerivač će poslati paket kao okvir drugi sloja s adresom razašiljanja svim
ureĎajima u mreţi. Ova funkcionalnost usmjerivača osnova je smurf napada.
Smurf napad uključuje slanje velikog broja ICMP echo paketa na adresu
razašiljanja odreĎene mreţe, koristeći laţnu izvorišnu IP adresu. Ako je na
usmjerivaču uključena opcija IP usmjerenog razašiljanja, usmjerivač će taj ICMP
echo paket poslati svim ureĎajima koji se nalaze u toj mreţi. Većina će ureĎaja
naravno odgovoriti na taj zahtjev i poslati ICMP echo replay poruku nazad na
laţnu izvorišnu adresu koja će u tom trenutku postati ţrtva smurf napada. Mreţni
ureĎaji koji omogućuju ovakvu vrstu napada nazivaju se smurf pojačala.
Kao metoda obrane usmjerivač se moţe konfigurirati da ne usmjerava pakete
kojima je odredište adresa razašiljanja odreĎene mreţe.
Primjer zaštite od SMURF napada:
interface Fastethernet 0/0
no ip directed-broadcast
5. Sigurnost trećeg mreţnog sloja
59
5.3. Anti-spoofing zaštita
Mnogi napadi koriste zavaravanje da bi sakrili pravu IP adresu izvora s kojega
dolaze. Kao rješenje tog problema Cisco je implementirao dvije metode zaštite.
Svaka od metoda ima svoju primjenu.
5.3.1. Čuvar izvorišne IP adrese
Čuvar izvorišne IP adrese (eng. IP source guard) je funkcionalnost koja smanjuje
mogućnost IP zavaravanja kod mreţa koje su pod našom direktnom kontrolom,
radeći provjeru sučelja, MAC adrese i izvorišne IP adrese. Čuvar izvorišne adrese
primarno je namijenjen kao dodatak sigurnosti na preklopnicima.
On koristi DHCP njuškanje da bi dinamički primijenio PACL (eng. Port Access
Control List) koja blokira sav promet s adresa koje nisu pridruţene DHCP
njuškanjem. Čuvar izvorišne IP adrese uključuje se na pojedinom sučelju
preklopnika u kombinaciji s uključenim DHCP njuškanjem na pojedinom VLAN-u.
U inicijalnoj konfiguraciji ova funkcionalnost nije uključena.
Primjer konfiguracije koja uključuje zaštitu od zavaravanja:
interface Fastethernet 0/1
ip verify source
5.3.2. Unicast RPF
Unicast RPF (eng. Unicst Reverse Path Forwarding) funkcionalnost osigurava
provjeru izvorišne adrese i zaštitu od IP zavaravanja kod mreţa koje nisu pod
našom kontrolom. Unicast RPF provjerava da se do izvorišne IP adrese primljenog
paketa moţe doći kroz sučelje na koje je paket stigao.
Preduvjet da bi Unicast RPF mogao funkcionirati je korištenje CEF metode
usmjeravanja. Mora se napomenuti da ova funkcionalnost ne nudi potpunu zaštitu.
Ako se u usmjerivačkoj tablici nalazi povratna ruta za izvorišnu adresu paketa,
paket će biti prihvaćen.
Primjer konfiguracije koja uključuje inicast RPF funkcionalnost:
interface Fastethernet 0/1
ip verify unicast reverse-path
5. Sigurnost trećeg mreţnog sloja
60
5.4. Zaštita usmjerivačkih protokola
Sposobnost mreţe da pravilno usmjeruje pakete i da se oporavi od promjene
topologije uvjetovane ispadom neke od veza ovisi o mogućnosti usmjerivača da
sagleda cijelu topologiju koja ga okruţuje. Unutar jednog autonomnog sustava u tu
svrhu koriste se unutarnji usmjerivački protokoli (IGP eng. Interior Gateway
Protocol). Njihova osnovna namjena je otkrivanje drugih susjednih usmjerivača i
razmjena informacija za usmjeravanje paketa. Unutarnji usmjerivački protokoli
namijenjeni su razmjenjivanju ruta unutar jednog autonomnog sustava koji čini
računalna mreţa pod zajedničkom kontrolom. Sigurnost unutrašnjih usmjerivačkih
protokola prilagoĎena je upravo toj namjeni. Ako je potrebno rute razmjenjivati s
drugim autonomnim sustavom, za to postoje drugi protokoli. Oni se nazivaju EGP
(eng. Exterior Gateway Protocol).
5.4.1. IGP
Razmjena ruta unutar jednog autonomnog sustava ključna je za pouzdano
funkcioniranje cijele mreţe. Ako bi zlonamjeran korisnik imao mogućnost
manipulacije podacima koji se koriste za usmjeravanje, to bi uvelike narušilo
sigurnost cijele mreţe. Da bi poboljšali sigurnost unutrašnjih usmjerivačkih
protokola ključno je zaštiti kanale komunikacije koji se koriste za razmjenu ruta. To
se moţe učiniti na dva načina. Korištenjem neke vrste provjere vjerodostojnosti, u
našem slučaju MD5, koji ipak daje bolju zaštitu od podrţanih nekriptiranih šifri, te
ograničavanjem generiranja usmjerivačkih paketa na sučeljima gdje to nije
potrebno, a gdje bi to potencijalni zlonamjeran korisnik mogao iskoristiti. Kako svi
usmjerivački protokoli (RIPv2, OSPF, EIGRP) posjeduju te mogućnosti, nuţno ih
je uključiti da bi unaprijedili sigurnost na mreţnim ureĎajima koja često zbog
neznanja administratora ostaje na najniţem stupnju.
5.4.2. BGP
EGP kao skupina protokola i BGPv4 kao njen najzastupljeniji predstavnik čine
temelj današnjeg usmjeravanja na internetu. Tako svaki pruţatelj usluga i ozbiljnija
organizacija koristi BGP protokol za razmjenu ruta s ostalim organizacijama u
svijetu. Upravo zbog toga, BGP protokol je česta meta zlonamjernih korisnika.
BGP se obično izvršava na rubnim usmjerivačima (eng. border routers) koji su
obično prva linija obrane od mreţnih napada svih vrsta. Kako je funkcioniranje
BGP protokola vrlo bitno za meĎusobnu povezanost na internetu, on sadrţi više
metoda zaštite koje su inicijalno isključene.
5.4.2.1. TTL sigurnosna zaštita
Kako BGP koristi TCP kao transportni protokol, da bi spriječili većinu TCP
baziranih napada, on koristi TTL kao sigurnosni mehanizam da bi osigurao da su
BGP paketi primljeni od susjednog usmjerivača. TTL vrijednost postavlja se na
5. Sigurnost trećeg mreţnog sloja
61
broj ureĎaja koji se nalaze izmeĎu dva usmjerivača koji koriste BGP protokol.
Prilikom usmjeravanja paketa usmjerivač dekrementira TTL vrijednost i ako je ona
jednaka nuli, paket se odbacuje. Kod TTL sigurnosne zaštite TTL vrijednost
primljenog paketa mora biti jednaka 255 – definirana vrijednost.
Primjer konfiguracije:
router bgp 65100
neighbour 10.10.10.10 remote-as 65200
neighbour 10.10.10.10 ttl-security hops 5
5.4.2.2. MD5 provjera vjerodostojnosti
MD5 provjera vjerodostojnosti kreira MD5 saţetak svakog paketa koji je dio BGP
komunikacije. Kreirani saţetak posprema se u TCP opciju 19 koja je posebno
kreirana za tu srhu i definirana je u RFC2385. Drugi sudionik BGP komunikacije
koristi isti algoritam i šifru da bi kreirao isti saţetak svakog paketa. Ako se saţetak
poslanog i primljenog paketa razlikuju, paket se odbacuje.
Primjer konfiguracije provjere MD5 vjerodostojnosti:
router bgp 65100
neighbour 10.10.10.10 remote-as 65200
neighbour 10.10.10.10 password t4jn4sh1fr4
5.4.2.3. Maksimalni broj prefiksa
Kako BGP pohranjuje sve rute u memoriju usmjerivača, vrlo je bitno znati o kojoj
količini je riječ. Današnja usmjerivačka tablica interneta sadrţi oko 280 000 ruta,
što je veliki porast unutar zadnjih 5 godina. Osim zauzimanja memorije
usmjerivača, odreĎene arhitekture usmjerivača imaju i sklopovsko ograničenje
broja ruta i kada se ono prijeĎe, dolazi do velikog usporavanja ili odbacivanja
paketa. Kako bismo spriječili prekomjerno zauzimanje resursa, bilo kao posljedicu
napada ili nenamjerne pogreške, konfiguracija BGP protokola posjeduje
mogućnost ograničavanja broja ruta koje moţe primiti od pojedinog susjeda. To
ograničenje je inicijalno isključeno i preporučljivo ga je uključiti.
Primjer konfiguracije za maksimalno 300 000 ruta:
router bgp 65100
neighbour 10.10.10.10 remote-as 65200
neighbour 10.10.10.10 maximum-prefix 300000 290000
5. Sigurnost trećeg mreţnog sloja
62
5.4.2.4. Filtriranje prefiksa
Filtriranje primljenih i poslanih prefiksa još je jedan dodatak sigurnosti BGP
protokola. Kao zaštitu od petlji i računanje troška odreĎene rute BGP kao jedan
od parametara koristi AS put (eng. Autonomous System path). AS put čini niz AS
brojeva koji predstavljaju autonomne sisteme koji se nalaze na putu izmeĎu izvora
i odredišta paketa. Kako svaki autonomni sustav posjeduje svoj broj, on se moţe
koristiti kao filtar kod razmjene ruta, te tako poboljšati sigurnost. Tipična
konfiguracija uključuje filtriranje ruta koje dolaze iz pojedinog autonomnog
sustava, u svrhu sprječavanje prijema ruta koje dolaze iz ostalih autonomnih
sustava. Za filtriranje po AS broju koriste se regularni izrazi kojima je moguće vrlo
fleksibilno definirati ciljni AS put.
Ova funkcionalnost se koristi u kombinaciji s filtriranjem ruta po samim prefiksima
da bi se dobila potpuna zaštita od manipulacijom ruta koja moţe izazvati mnoge
vrste napada, uključujući DoS, čovjek-u-sredini, IP zavaravanje itd.
Primjer filtriranja ruta po AS broju i samom prefiksu:
ip prefix-list BGP-PL-IN seq 5 permit 192.168.10.0/24
ip as-path access-list 1 permit ^65200$
router bgp 65100
neighbour 10.10.10.10 prefix-list BPG-PL-IN in
neighbour 10.10.10.10 filter-list 1 in
6. Praktična implementacija sigurnosnih napada
63
6. Praktična implementacija sigurnosnih napada
Kako se svaki od napada razlikuje po svojoj implementaciji i djelovanju, nije bilo
moguće napraviti neki generički model koji bi bio lako proširiv na ostale vrste
napada. Napadi su zbog toga izvedeni kao skupina zasebnih programa koji
obavljaju točno odreĎenu funkciju. Iako bi se odreĎeni dijelovi koda moţda mogli
izdvojiti kao zajedničke funkcije, to ipak nije napravljeno, jer bi to samo povećalo
kompleksnost implementacije bez ikakve direktne koristi.
6.1. Način i tehnologija implementacije
6.1.1. Programski jezik
Za ostvarenje svakog od napada koristili smo programski jezik C. Programi su
primarno napisani da bi se mogli izvršavati pod Linux operacijskim sustavom, te se
uz minimalne izmjene mogu izvršavati i pod raznim verzijama Unixa. Moguće je
takoĎer i izvršavanje pod operacijskim sustavom Windows. U tom slučaju
potrebno je korištenje WinPcap biblioteke.
Kao prevodilac se koristi GCC (GNU Compiler Collection) verzije 4.1.2, te GNU
make verzija 3.8.1. GCC je odabran zbog činjenice da je besplatan i dostupan na
gotovo svim platformama, a programiranje ovakvih vrsta programa, uz korištenje
odreĎenih biblioteka, jednostavnije je nego pod Windows platformom. Programi
napisani u programskom jeziku C pokazali su zavidnu brzinu izvoĎenja, potrebnu
za generiranje DoS napada.
6.1.2. Pcap biblioteka
Kako bi hvatali pakete potrebne za odreĎene vrste napada, koristili smo biblioteku
Pcap. Biblioteka Pcap posjeduje API (eng. Application Programming Interface)
potreban za hvatanje paketa na podatkovnom sloju ISO/OSI referentnog modela.
API takoĎer omogućuje filtriranje paketa po odreĎenim pravilima, i tako je
olakšano hvatanje paketa, bez potrebe da se svaki paket otvara i provjerava
vrijednost odreĎenog polja. Instalacija Pcap biblioteke različita je za razne
distribucije Linux operacijskog sustava, ali gotovo sve distribucije posjeduju gotov
instalacijski paket. U našem slučaju koristili smo verziju 0.8 na Debian distribuciji.
6.1.3. Libnet biblioteka
Za kreiranje mreţnih paketa korištenih u pojedinim vrstama napada, koristili smo
Libnet biblioteku. Ona posjeduje API koji omogućava kreiranje paketa na najniţim
slojevima ISO/OSI modela. Pomoću njega smo u mogućnosti kreirati pakete na
podatkovnom ethernet sloju, ali i na višim slojevima, kao što su IP, UDP i TCP.
Korištenjem Libnet biblioteke u mogućnosti smo komunicirati s protokolima koji ne
koriste IP za komunikaciju, kao što su STP, a neki usmjerivački protokoli poput
6. Praktična implementacija sigurnosnih napada
64
OSPF-a već koriste svoje protokole zasnovane na podatkovnom sloju. Za izradu
programa koristili smo libnet verziju 1.1.2 na Debian distribuciji linuxa.
6.1.4. Pokretanje programa
Da bi pokrenuli neki od napada, prvo je potrebno izvorni kod prevesti u izvršni
oblik. Svaki od napada posjeduje Makefile datoteku, na osnovu koje će se
pokretanjem make programa izvorni kod prevesti u izvršni. Pokretanjem svakog
od napada bez ulaznih argumenata prikazat će sve podrţane opcije svakog od
napada. Kod pokretanja treba biti posebno paţljiv jer svako pokretanje nekog od
napada moţe destruktivno djelovati na mreţu ili mreţne ureĎaje.
6.2. ARP trovanje
Prethodno opisani napad ARP trovanjem omogućuje zlonamjernom korisniku
prisluškivanje, mijenjanje sadrţaja i prekid komunikacije izmeĎu dva korisnika ili
mreţna ureĎaja. Cilj napada je zavarati sudionike u komunikaciji na način da
promet šalju na pogrešnu adresu drugog sloja, u našem slučaju MAC adresu. Ovaj
program je namijenjen samo za skretanje prometa. Daljnja analiza ili
prosljeĎivanje mora se obaviti korištenjem dodatnih programa.
Program poison_arp moţe se pokrenuti na dva načina. Prvi način uključuje
definiranje svih parametara napada što uključuje sučelje, izvorišnu IP i MAC
adresu, te odredišnu IP i MAC adresu.
#./poison_arp -s <sucelje> -o <odrIP> -i <izvIP> -m <izvMAC> -n <odrMAC>
#./poison_arp -s eth0 -o 172.22.22.22 -i 172.22.23.23
-c aa:bb:cc:dd:ee:ff -p aa:aa:bb:bb:cc:cc
aa:aa:bb:bb:cc:cc -> aa:bb:cc:dd:ee:ff ETHER_TYPE ARP 0x0806 arp replay
172.22.23.23 je kod aa:aa:bb:bb:cc:cc
Ovakvo pokretanje rezultirat će da svi paketi koje šalje mreţni ureĎaj 172.22.22.22
prema IP adresi 172.22.23.23, imaju odredišnu MAC adresu aa:aa:bb:bb:cc:cc.
Naravno, MAC adresa aa:aa:bb:bb:cc:cc je adresa zlonamjernog korisnika, a ne
mreţnog ureĎaja koji trenutno ima IP adresu 172.22.23.23.
Drugi, mnogo češći način pokretanja je taj da je naše računalo izvor napada, te
ono prikuplja sav presretnuti promet.
#./poison_arp -i <sucelje> -o <odr IP> -c <ciljana IP>
#./poison_arp -s eth0 -o 192.168.1.10 -c 172.22.23.23
aa:aa:bb:bb:cc:cc -> aa:bb:cc:dd:ee:ff ETHER_TYPE ARP 0x0806 arp replay
172.22.23.23 je kod 00:0e:7f:fe:60:a4
6. Praktična implementacija sigurnosnih napada
65
Ciljana IP adresa u ovom slučaju predstavlja odredište kamo ţrtva šalje promet,
obično zadani usmjerivač, dok je odredišna IP adresa ţrtve napada. Kao
odredišnu MAC adresu program će poslati adresu sučelja s kojega se izvodi
napad.
Uspješnost napada moţemo provjeriti korištenjem arp naredbe na računalu ţrtve.
Tu će se jasno vidjeti da su odredišne MAC adrese prije i poslije napada različite.
Prije napada:
172.22.23.23 ether 00:12:79:D6:86:E1 C eth0
Poslije napada:
172.22.23.23 ether 00:0E:7F:FE:60:A4 C eth0
Jezgru napada čini funkcija posalji_arp koja će kreirati točno definirani ARP paket,
te ga poslati ţrtvi.
int posalji_arp (int vrsta, char *sucelje, u_char *izvMAC, u_char
*odrMAC, u_long izvIP, u_long odrIP)
Funkcija kao ulazne argumente uzima sučelje, izvorišnu MAC i IP adresu, te
odredišnu MAC i IP adresu. Ako uspješno pošalje paket, funkcija vraća vrijednost
jedan, u suprotnom vraća vrijednost manju od nule.
Slika 17. Prikaz generiranog paketa uhvaćenog programom wireshark
Oba testirana usmjerivača s inicijalnom konfiguracijom podloţna su ovom napadu.
Bez uključenja dodatnih funkcionalnosti potencijalni zlonamjeran korisnik moţe
iskoristiti napad ARP trovanjem kao osnovu za ostale vrste napada.
6. Praktična implementacija sigurnosnih napada
66
6.3. Poplavljivanje MAC adresama
Napad poplavljivanjem MAC adresama ima za cilj popunjavanje memorije koju
preklopnik posjeduje za pohranu MAC adresa. Na osnovu te memorije preklopnik
zna na koje će sučelje usmjeriti paket. Cilj programa arp_flood je generiranje
velikog broja paketa s različitom izvorišnom MAC adresom da bi što brţe zapunili
memoriju za pohranu MAC adresa. Program moţemo pokrenuti u automatskom
modu, gdje će on sam odrediti potrebne adrese i poslati 10000 UDP paketa. Ako
je potrebno, moţemo detaljno specificirati sve parametre, pa tako i tip paketa, koji
osim UDP moţe biti TCP i ARP_REQ. Odabir vrste paketa potrebno nam je jedino
ako postoji neka zaštita i filtriranje odreĎenih protokola.
#./arp_flood –a
#./arp_flood -s <sucelje> -t <tip paketa UDP|ARP_REQ> -i <izvorni IP> -o
<odredisni IP> -n <broj paketa>
Sam napad čine tri funkcije, koje se ovisno odabranoj vrsti paketa ponavljaju
odreĎeni broj puta. Funkcije primaju iste ulazne parametre koji su potrebni kod
kreiranja paketa. Jedina razlika je funkcija posalji_arp kod koje se moţe definirati
hoće li paket biti poslan kao ARP zahtjev ili kao ARP odgovor.
int posalji_udp (char *sucelje, u_char *izvMAC, u_char *odrMAC, u_long
izvIP, u_long odrIP, u_short izvPORT, u_short odrPORT)
int posalji_tcp (char *sucelje, u_char *izvMAC, u_char *odrMAC, u_long
izvIP, u_long odrIP, u_short izvPORT, u_short odrPORT)
int posalji_arp (int vrsta, char *sucelje, u_char *izvMAC, u_char
*odrMAC, u_long izvIP, u_long odrIP)
Ukoliko je slanje paketa uspješno, funkcija vraća vrijednost jedan. U slučaju
greške, funkcija će vratiti vrijednost manju od nule.
Slika 18. Broj slobodnih MAC adresa tijekom napada poplavljivanjem
6. Praktična implementacija sigurnosnih napada
67
Oba testirana usmjerivača s inicijalnom konfiguracijom podloţna su ovom napadu.
Budući da se sklopovski razlikuju, razlikuje se i broj MAC adresa koje podrţavaju,
a tako i vrijeme potrebno da napad postane uspješan. Kada preklopnik popuni svu
memoriju za pohranjivanje MAC adresa, svaki sljedeći paket koji doĎe, a čija MAC
adresa nije u tablici, bit će poslan na sva sučelja umjesto samo na jedno odreĎeno
sučelje. Kao rezultat ovog napada moći ćemo vidjeti sav mreţni promet, jednako
kao da smo spojeni na čvorište (eng. hub).
Kako ovakvo stanje gdje preklopnik šalje pakete na sva sučelja nije normalno, ono
mora imati i utjecaj na performanse preklopnika. Preklopnik u ovom slučaju mora
raditi replikaciju paketa, pa ovaj napad ima i obiljeţje DoS-a. Kako se većina tih
funkcija, uključujući i replikaciju, obavlja u sklopovlju, bez posebne opreme bilo bi
jako teško, gotovo nemoguće izmjeriti utjecaj ovog napada na performanse, pa u
ovom radu to nije ni napravljeno.
6.4. Resetiranje TCP sjednica
Napad resetiranjem TCP sjednica, kako mu ime i govori u mogućnosti je resetirati
TCP sjednicu koja se odvija izmeĎu dva računala ili mreţna ureĎaja. Da bi napad
bio uspješan, potrebno mu je omogućiti uvid u cjelokupnu komunikaciju izmeĎu
dva ureĎaja, čiju sjednicu ţeli prekinuti.
Za pokretanje programa potrebno je navesti broj pokušaja koji će program
tcp_reset pokušavati prekinuti TCP sjednicu, sučelje i definiciju filtra na osnovu
kojih će program prepoznati sjednice koje treba prekinuti. Filtar koristi standardnu
sintaksu Pcap biblioteke. U primjeru je dat pokušaj prekida FTP komunikacije u
kojoj sudjeluje mreţni ureĎaj s adresom 192.168.1.10 koji moţe imati funkciju
klijenta ili posluţitelja.
#./tcp_reset -n <broj_pokusaja> -s <sucelje> <filter>
#./tcp_reset -n 10 host 192.168.1.10 and tcp port 21
Osnovu ovog napad čini funkcija tcp_nadji_unisti:
tcp_nadji_unisti(pcap_t *pd, int socket, int pcap_off, int broj_pokusaja)
Ona za ulazne parametre uzima pokazivač na opisnik datoteke pcap filtra, spojnu
točku (eng. socket) za kreiranje paketa, veličinu odstupanja zaglavlja ovisnu o
protokolu drugi sloja i broj pokušaja. Funkcija tcp_nadji_unisti u petlji ispituje
pakete definirane ulaznim filtrom. Kada naiĎe na dio komunikacije koji treba
prekinuti, pokušava generirati TCP RST paket točno odreĎenih parametara da bi
nagovorio jednu od strana da prekine komunikaciju.
Testiranje ovog napada proveli smo pokušavajući prekinuti BGP sjednicu izmeĎu
1812 i 6500 usmjerivača. Da bi dobili uvid u komunikaciju izmeĎu ta dva
6. Praktična implementacija sigurnosnih napada
68
usmjerivača, prvo smo izvršili napad poplavljivanjem MAC adresa na 1812
usmjerivač. Kada je 1812 popunio svoju tablicu sa MAC adresama, počeo je sav
mreţni promet slati na sva sučelja ugraĎenog preklopničkog modula, a time i na
sučelje na kojemu je spojeno računalo s testiranim programom. Program tcp_reset
pokrenuli smo s filtrom koji obuhvaća TCP promet na portu 179 i uspješno
prekinuli BGP sjednicu izmeĎu ta dva usmjerivača.
6.5. Napad istekom TTL-a
Cilj ove vrste napada je kreiranje UDP paketa s točno odreĎenom TTL
vrijednošću. TTL vrijednost unutar IP paketa označava broj mreţnih ureĎaja, kroz
koje paket moţe proći, prije nego što bude odbačen. Kako prilikom odbacivanja
paketa usmjerivač mora poslati obavijest pošiljatelju paketa, on će za njega morati
koristiti najsporiju metodu usmjeravanja, a time i dodatno opteretiti glavni
procesor.
Napad se pokreće jednostavnim odabirom sučelja, odredišne adrese i TTL
vrijednosti i brojem paketa koje ţelimo poslati.
./ttl_expiration -s <sucelje> -t <TTL> -i <izvorni IP> -o <odredisni IP>
-n <broj paketa>
#./ttl_expiration -s eth0 –t 1 -o 192.168.1.48 -n 1000000
Jezgru ovog napada čini funkcija posalji_udp koja kao ulazne parametre uzima
ime sučelja, izvorišnu MAC i IP adresu, odredišnu IP i MAC adresu, TTL vrijednost
i broj paketa. Na izlazu funkcija kao rezultat vraća broj uspješno poslanih paketa ili
vrijednost manju od nule, ukoliko je došlo do pogreške.
long posalji_udp (char *sucelje, u_c har *izvMAC, u_char *odrMAC,
u_long izvIP, u_long odrIP, u_short izvPORT, u_short odrPORT, long ttl,
long broj)
Ovaj je napad odličan primjer koliku štetu moţe uzrokovati zlonamjeran korisnik
koji poznaje koji paketi koriste koju metodu usmjeravanja. U slučaju 6500
usmjerivača koji posjeduje posebno sklopovlje za usmjeravanje paketa i prema
podacima proizvoĎača u mogućnosti je usmjeriti do 30 000 000 paketa u sekundi
korištenjem posebno oblikovanih paketa, a s količinom od samo 16 000 paketa u
sekundi uspjeli smo izazvati opterećenje glavnog procesora od 100%. Ovo je 1800
puta manje nego što u normalnom reţimu rada ovaj usmjerivač moţe obraditi
paketa. ProizvoĎač i sam navodi brojku od 20 000 paketa u sekundi za
usmjeravanje procesnom metodom, što je u granicama s našim rezultatom ako
zbrojimo odlazni i dolazni promet (16 000 + 9 000).
Ovaj napad nije jedini koji generira pakete koji moraju biti usmjereni procesnom
metodom, u ovom radu spomenuli smo više njih. Svi oni djeluju jednako na 6500
seriju usmjerivača i ukoliko nije primijenjena neka vrsta zaštite, vrlo je jednostavno
6. Praktična implementacija sigurnosnih napada
69
izvesti DoS napad. Na slici 19. usporedno su prikazani grafovi opterećenja
procesora, ovisno o broju zlonamjernih paketa koje usmjerivači primaju.
U testu smo izveli napad na oba usmjerivača. Količinu paketa smo prilagodili tako
da imamo tri razine opterećenja procesora, 20%, 50% i 100%. Na osnovu toga
dobili smo broj paketa i količinu mreţnog prometa potrebnu za postizanje
odreĎene zauzetosti procesora. Svaki od koraka ispitivali smo po tri sata, da bi
dobili vjerodostojne podatke, što je i vidljivo s tri skoka na grafovima.
Slika 19. Ponašanje usmjerivača tijekom napada istekom TTL-a
Iz grafova je vidljivo da usmjerivači linearno reagiraju povećanjem zauzetosti
procesora, ovisno o broju paketa koje primaju. Razlika izmeĎu maksimalnog i
ostvarenog broja paketa u sekundi kod 1812 usmjerivača mnogo je manja nego
kod 6500. To je i za očekivati zbog razlike u njihovoj arhitekturi jer je 1812 čisto
softverski usmjerivač i ne posjeduje nikakvo sklopovlje koje bi mu ubrzalo
usmjeravanje paketa. Posljedice ovog napad slične su ili iste za sve ostale vrste
napada koji za posljedicu imaju procesno usmjeravanje paketa, a time i povećano
opterećenje glavnog procesora.
6. Praktična implementacija sigurnosnih napada
70
6.6. Napad na spanning-tree protokol
Implementacija napada na spanning-tree protokol sadrţi tri vrste napada: napad
na korijen spanning-tree protokola, napad promjenom topologije i DoS napad
slanjem velikog broja STP paketa. Jezgru sva tri napada čini funkcija posalji_STP.
long posalji_STP(char *sucelje, u_char *izvMAC, u_char *odrMAC, int vlan,
long prioritet, int tip, long broj, long pauza)
Ova funkcija kao ulazne parametre uzima ime sučelja, izvorišnu MAC adresu,
odredišnu MAC adresu, VLAN za koji se generira BPDU, prioritet za odabir
korijena STP topologije, broj paketa i pauzu izmeĎu njihova slanja. Funkcija kao
rezultat vraća broj uspješno poslanih paketa.
Prvi napad je napad na korijen spanning-tree protokola. Njegov je cilj da naše
računalo postane korijen spanning-tree topologije i na taj način izmijeni tok
podataka kroz mreţu preklopnika. Program za ulazne vrijednosti prima sljedeće
argumente:
./stp_attack -i <izvMAC> -o <odrMAC> -t <CONF|TCN> -n <root|dos|tcn> -s
<interface> -p <prioritet> -v <vlan> -b <broj_paketa> -z <pauza> -d
Napad na korijen topologije pokrećemo ovako:
./stp_attack -o 00:0E:7F:FE:60:A5 -n root -p 4 -d -v 1 -b 60
Da bi provjerili učinkovitost ovog napada, na preklopniku ćemo prikazati STP
topologiju naredbom show spanning-tree vlan 1:
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 28673
Address 001c.570c.a480
Cost 38
Port 1 (FastEthernet0/1)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 0011.5c02.af40
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- ----------------------------
Fa0/1 Root FWD 19 128.1 P2p
Fa0/3 Desg FWD 19 128.3 P2p
Prije pokretanja napada, jasno je vidljivo da je korijen topologije preklopnik s MAC
adresom 00:1C:57:0c:A4:80 i podešenim prioritetom 28673. Nakon što pokrenemo
6. Praktična implementacija sigurnosnih napada
71
napad, STP topologija će se promijeniti, te će naše računalo koje je spojeno na
FastEthernet 0/3 postati korijen.
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 4097
Address 000e.7ffe.60a4
Cost 19
Port 3 (FastEthernet0/3)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address 0011.5c02.af40
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 300
Interface Role Sts Cost Prio.Nbr Type
---------------- ---- --- --------- -------- ----------------------------
Fa0/1 Desg FWD 19 128.1 P2p
Fa0/3 Root FWD 19 128.3 P2p
Ukoliko kod pokretanja programa koristimo opciju DoS napada, program će u
kratkom vremenu poslati na mreţu veliki broj STP paketa i tako pokušati
preopteretiti procesor preklopnika. STP DoS napad pokrećemo ovako:
./stp_attack -o 00:0E:7F:FE:60:A5 -n dos -p 8000 -d -v 1 -b 50000
Iako je napad bio uspješan kod obje vrste testiranih usmjerivača, što smo primijetili
gubitkom paketa prema ostalim dijelovima mreţe i nemogućnošću spajanja na
preklopnik za vrijeme trajanja napada, rezultat nismo mogli pretvoriti u konkretne
brojke. Izgleda da glavni procesor nije zaduţen za obradu BPDU paketa, te se
njegovo opterećenje tijekom napada nije mijenjalo. Naţalost, do statistika
procesora zaduţenog za obradu BPDU paketa nismo mogli doći da bismo
rezultate prikazali u nekom grafičkom obliku.
Ono što ovaj napad čini posebno opasnim, je činjenica da ne postoji niti jedna
trenutno dostupna obrana. BGPDU filtriranje, će omogućiti preklopniku da ne
sudjeluje u STP topologiji, ali naţalost preklopnik će obraditi sve STP pakete koje
dobije na sučelje, što će u gore spomenutom slučaju dovesti do DoS napada.
Zadnju vrstu napada na spanning-tree čini napad signaliziranjem promjene
topologije. U ovom napadu šaljemo TCN (eng. Topology Change Notofication)
pakete korijenu STP topologije. Korijen STP topologije će nakon toga poslati
potvrdu, te će krenuti sa slanjem BPDU paketa s TC (eng. Topology Change)
bitom postavljenim na jedan svim preklopnicima u mreţi, obavještavajući ih da je
došlo do promjene topologije i da moraju ponovo osvjeţiti tablice sa MAC
adresama.
6. Praktična implementacija sigurnosnih napada
72
Prikaz tijeka napada korištenjem programa tcpdump:
802.1d config 8001.00:11:5c:02:af:40.8003 root 7001.00:1c:57:0c:a4:80 pathcost 38 age 2
802.1d config 8001.00:11:5c:02:af:40.8003 root 7001.00:1c:57:0c:a4:80 pathcost 38 age 2
802.1d config 8001.00:11:5c:02:af:40.8003 root 7001.00:1c:57:0c:a4:80 pathcost 38 age 2
802.1d tcn
802.1d config TOP_CHANGE_ACK 8001.00:11:5c:02:af:40.8003 root 7001.00:1c:57:0c:a4:80 pat...
802.1d config TOP_CHANGE 8001.00:11:5c:02:af:40.8003 root 7001.00:1c:57:0c:a4:80 pathcos...
802.1d config TOP_CHANGE 8001.00:11:5c:02:af:40.8003 root 7001.00:1c:57:0c:a4:80 pathcos...
802.1d config TOP_CHANGE 8001.00:11:5c:02:af:40.8003 root 7001.00:1c:57:0c:a4:80 pathcos...
Iako je napad u našoj testnoj mreţi bio uspješan, da bi vidjeli prave učinke ovog
napada potrebna je puno veća mreţa preklopnika od ove koju smo koristili.
Konstantna promjena topologije u maloj mreţi ne stvara velike probleme, dok bi u
velikoj mreţi ponovno računanje STP topologije moglo pridonijeti nestabilnosti
STP protokola, a time i cijele mreţe.
7. Zaključak
73
7. Zaključak
Ovaj diplomski rad prikazao je većinu danas poznatih napada na mreţne ureĎaje,
s naglaskom na usmjerivače i preklopnike. Obradili smo napade od drugog do
četvrtog sloja ISO/OSI modela i prikazali na koji način utječu na stabilan rad
mreţnog ureĎaja.
Kao što se vidi u radu, gotovo sve funkcionalnosti za sprječavanje mreţnih napada
su inicijalno isključene, a svi su usmjerivači i preklopnici bez dodatne konfiguracije
podloţni gotovo svim vrstama napada. Ovaj rad moţe posluţiti kao osnova za
procjenu sigurnosti mreţnih ureĎaja, bez obzira što su u radu obraĎeni mreţni
ureĎaji tvrtke Cisco Systems. Tipovi napada su isti, samo posljedice mogu biti
drugačije, ovisno o arhitekturi samih mreţnih ureĎaja.
U praktičnom dijelu rada implementirali smo neke od napada na najčešće
korištene funkcionalnosti usmjerivača i preklopnika. Programi su napisani u svrhu
edukacije i ne bi se trebali koristiti u zlonamjerne svrhe. Svaki od programa
iskorištava neki od nedostataka mreţni ureĎaja i ne preporučuje ih se pokretati u
stvarnoj mreţi, bez konzultacije s mreţnim administratorima.
Uz odreĎene integracija s mreţnim nadzornim sustavima, ovi programi mogli bi se
koristiti kao sustav za procjenu sigurnosti mreţnih ureĎaja. Za to su potrebna
odreĎena specifična znanja o samom nadzoru mreţnih ureĎaja koja autoru u
ovom trenutku nedostaju.
8. Literatura
74
8. Literatura
1. CARNet ,CERT.HR, LSS: Sigurnosni model mreže računala, CERT-PUBDOC-2009-01-253
2. V. Bollapragada, C Murphy, R. White: Inside Cisco IOS software architectures, Ciscopress, 2005
3. Cisco: Securing Cisco Network Devices, Ciscopress, 2006
4. Cisco: Routing TCP/IP, Volume I (CCIE Professional Development), Ciscopress, 2003
5. Cisco: Routing TCP/IP, Volume II (CCIE Professional Development), Ciscopress, 2003
6. OSI model, dostupno na Internet adresi: http://en.wikipedia.org/wiki/OSI_model, (15.3.2009.).
7. DoS, dostupno na Internet adresi: http://en.wikipedia.org/wiki/Denial-of-service, (17.3.2009.).
8. CEF, dostupno na Internet adresi: http://en.wikipedia.org/wiki/Cisco_Express_Forwarding,
(20.3.2009.).
9. How to Choose the Best Router Switching Path for Your Network, dostupno na Internet adresi:
http://www.cisco.com/en/US/tech/tk827/tk831/technologies_white_paper09186a00800a62d9.sht
ml, (25.3.2009.).
10. ARP poisoning, dostupno na Internet adresi: http://en.wikipedia.org/wiki/ARP_poisoning,
(15.4.2009.).
11. DHCP snooping, dostupno na Internet adresi:http://en.wikipedia.org/wiki/DHCP_snooping,
(17.4.2009.).
12. STP, dostupno na Internet adresi:http://en.wikipedia.org/wiki/Spanning_tree_protocol,
(20.4.2009.).
13. Libnet biblioteka, dostupno na Internet adresi:http://libnet.sourceforge.net/, (25.2.2009.).
14. Pcap biblioteka, dostupno na Internet adresi:http://en.wikipedia.org/wiki/Libpcap, (25.2.2009.).
DODATAK A
75
Popis oznaka i kratica
ACL access control list
AD administrative distance
API application programming interface
APIDS application protocol-based network intrusion detection system
ARP address resolution protocol
AS autonomous system
ASIC application specific integrated circuits
ATM asynchronous transfer mode
BPDU bridge protocol data unit
CA certificate authority
CAM content-addressable memory
CEF cisco express forwarding
CoPP control plane policing
DAI dynamic ARP inspection
DCEF distributed CEF
DDoS distributed denial of service
DHCP dynamic host configuration protocol
DNS domain name service
DoS denial of service
DTP dynamic trunking protocol
EGP exterior gateway protocol
FIB forward information base
FR frame relay
FTP file transfer protocol
HIDS host intrusion detection system
HTTP hypertext transfer protocol
ICMP internet control message protocol
IDS intrusion detection system
IGP interior gateway protocol
IPS intrusion prevention system
DODATAK A
76
ISO international organization for standards
LAN local area network
MST multiple spanning tree
NIDS network intrusion detection system
PACL port ACL
PIDS protocol intrusion detection system
POS packet over SONET
PVSTP per-vlan spanning tree protocol
REP resilient ethernet protocol
RIB routing information base
RPF reverse path forwarding
RSTP rapid spanning tree
SCP secure copy
SMTP simple mail transfer protocol
SNMP simple network management protocol
SONET synchronous optical network
SSH secure shell
STP spanning tree protocol
TCAM ternary content-addressable memory
TCN topology change notification
TFTP trivial file transfer protocol
TOS type of service
UDLD unidirectional link detection
RADIUS remote authentication dial in user service
NTP network time protocol
VPN virtual private network
VoIP voice over IP
WAN wide area network
Saţetak
77
Sažetak
Ovaj diplomski rad bavi se mreţnom sigurnošću, s naglaskom na sigurnost samih
mreţnih ureĎaja, prvenstveno preklopnika i usmjerivača. U diplomskom će radu
biti obraĎena sigurnost mreţnih ureĎaja na više razina OSI referentnog modela.
Bit će opisni razni napadi na same mreţne ureĎaje i mjere obrane. Praktični će dio
rada sadrţavati implementacije nekih napada implementirane u programskom
jeziku C, namijenjene izvršavanju na Linux operacijskom sustavu. Ti će se
praktični dijelovi koristiti u mjerenjima utjecaja odreĎenih vrsta napada na razne
hardverske implementacije usmjerivača.
Abstract
78
Abstract
This thesis describes security of network devices, with focus on security of routers
and switches. In this thesis we will see different types of attacks on different OSI
levels. We will also see defense mechanisms implemented in different network
devices which are used to defend against these attacks. As a practical part of this
thesis, several network attacks were implemented in programming language C on
Linux operating system. These applications will be used for measuring impact of
implemented network attacks on different router architectures.
Recommended