Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... ·...

22
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni aspekti IPv6 Robert Perica Voditelj: Doc. dr. sc. Marin Golub Zagreb, 4., 2009.

Transcript of Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... ·...

Page 1: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

SEMINAR

Sigurnosni aspekti IPv6

Robert Perica

Voditelj: Doc. dr. sc. Marin Golub

Zagreb, 4., 2009.

Page 2: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

Sadržaj

1. Uvod ..................................................................................................................... 1

2. Usporedba strukture IPv4 i IPv6 ........................................................................ 3

3. Sigurnost u IPv6 .................................................................................................. 5

4. Zaključak ............................................................................................................. 18

5. Literatura ............................................................................................................. 19

6. Sažetak ................................................................................................................ 20

Page 3: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

1. Uvod

Nastankom prvog računala, razvoj tehnike i računarskih znanosti se sve više ubrzavao, štoviše eksponencijalno je rastao. Računala su postajala sve manja, brža i jednostavnija za upotrebu. Nakon određenog vremena razvoja, pojavila se i potreba komunikacije među računalima. Prva mreža, nazvana ARPANET, nastala je 1969. godine i to je bila prva potpuno funckionalna mreža koja je radila na principu izmjenjivanja paketa – to je tada bio posve nov koncept komunikacije, i omogućio je da postoji dva ili više sudionika u komunikaciji, a podaci koji su se izmjenjivali bili su slani u obliku malih paketa s informacijama (odatle i ime izmjenjivanje paketa).

Tehnologija je sve brže napredovala, pod stalnim nadzorom američke vojske, mogućnosti povezivanja računala su sve više rasle pa se tako sedamdesetih godina i Europa uključila u umrežavanje. Kako su mreže rasle, rasla je i njihova korisnost, a također je i posjedovanje računala bilo u porastu zbog sve jeftinijih tehnologija, pa se odlučilo da se princip umrežavanja računala komercijalizira – tako je nastalo ono što mi danas zovemo Internet, a što je počelo od male mreže koju bi danas skoro pa bilo tko malo upućen mogao rekonstruirati.

Skup mrežnih protokola, odnosno pravila za komunikaciju računala preko mreže, koji su direktno evoluirali iz ARPANET­a, su sažeti u tzv. TCP/IP modelu, a u svojim principima djeluju i dan danas, što pokazuje koliko je taj model stabilan. Danas postoji i malo drugačija podjela protokola, opisana OSI modelom, no ona je rijetko u upotrebi, ali se koristi za lakše predočavanje funckionalnosti mreže. Npr., TCP/IP model sačinjava četiri sloja (application, transport, network i link layer), dok OSI model sačinjava sedam slojeva (application, presentation, session, transport,  network, data link i physical layer) – jedina realna razlika imeđu gore dva navedena modela je što je više slojeva OSI modela sadržano u jednom sloju TCP/IP modela, i zato se OSI model više koristi u obrazovne svrhe da se lakše objasni proces nastajanja paketa. 

Promotrimo proces nastajanja pojedinog paketa (enkapsulacija) na mreži u TCP/IP modelu od najvišeg sloja do najnižeg :

1)APPLICATION: u ovom sloju korisnik komunicira s računalom, odabire

podatke koje želi poslati preko mreže, računalo pretvara podatke

razumljive čovjeku u svoj interni zapis, te se računalo brine u kojem je

statusu konekcija s drugim računalom (ako se koristi TCP, slanje paketa za rukovanje SYN, ACK, RST itd. kako bi se veza mogla uspostaviti ili održati za daljnje slanje podataka). Ispred svih podataka se stavlja tzv. application header tako da kada drugo računalo dobije paket zna kojoj ga aplikaciji treba proslijediti.

2)TRANSPORT: sada se treba, na temelju odluke tipa veze (TCP, koji je pouzdaniji, zbog gorenavedenog rukovanja; UDP, nepouzdaniji jer se 

paketi šalju bez provjere čeka li netko na te pakete s "druge strane žice") ispred application headera stavlja ili TCP ili UDP zaglavlje. Tako 

1

Page 4: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

nastaju TCP segmenti, odnosno UDP datagrami (to su imena za trenutni "stupanj" enkapsuliranosti paketa koji prolazi kroz prokolnistog).

3)NETWORK: sada se na temelju podataka iz aplikacije (npr, koja je bila

odredišna IP adresa, koliko podataka ima i sl.) u IP zaglavlju, koji se

stavlja na vrh dosad formiranog paketa, postavljaju zastavice i postavlja

odredišna IP adresa, te se proslijeđuje u idući sloj "paket" koji sad

zovemo IP datagram.

4)LINK: zadnji sloj protokolnog stoga, na IP datagram se stavlja zadnji header, 

tzv. frame header, u koji se zapisuje MAC adresa susjednog routera koja se može dobiti ARP zahtjevom, i ona se mijenja kako paket prolazi mrežom (uvijek se mijenja u iduću adresu, tj. adresu susjednog odnosno next­hop routera). Ovakav, sada gotov paket se naziva frame, odnosno "okvir", i zadnja akcija ovog sloja jest pretvoriti paket u bitove podataka koji se šalju i spajaju na odredištu.

Slika 1. Enkapsulacija

Kao što se može primjetiti, proces enkapsulacije podataka je prilično izravan i jednostavan, no svaki od ovih slojeva je podložan greškama, koje mogu biti slučajne, ali ipak najčešće namjerno izazvane u svrhu iskorištenja nekog sigurnosnog propusta. Aplikacijski sloj je daleko najviše podložan sigurnosnim propustima, jer se komercijalne aplikacije razvijaju svakodnevno, a mogućnost ljudske greške je vrlo velika. Ostali slojevi se vrlo malo ili skoro uopće ne mijenjaju, ali greške naravno postoje i tu. 

2

Page 5: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

2. Usporedba strukture IPv4 i IPv6

Svako računalo koje se nalazi na mreži mora imati svoju jedinstvenu IP adresu koju mu dodjeljuje njegov ISP, i ona se mijenja svaki put kada se računalo poveže na mrežu (bilo spajanjem s modemom ili resetiranjem routera). Danas se i dalje koristi IPv4 adresa kao oznaka jedinstvenosti računala na mreži, i pomoću nje mi znamo s kojim računalom točno komuniciramo. IP, gledano kao broj, je formata xxx.xxx.xxx.xxx gdje je xxx iz intervala [0, 255]. Stručnije rečeno, IP je 32­bitni broj koji je podijeljen na četiri okteta koje zasebno promatramo. Zbog te „ograničenosti”, maksimalan broj jedinistvenih adresa je 2³², odnosno 4294967296 mogućih IP adresa. U početku se to uistinu činilo mnogo, i bilo je i više nego dostatno da enumerira sva tadašnja računala, ali kako je tehnologija napredovala, a broj računala rastao, ubrzo se primjetio problem nedostatka IP adresa. Budući da je to Američki „izum”, oni su zadržali pravo na više od 70% adresa, a onih 30% su dali svijetu da raspodijele kako mogu. Tako, npr. na Afriku otpada otprilike 1% mogućih IP adresa. Javlja se i problem da nisu sve IP adrese dodjeljive (npr. 0.x.x.x. Ili 255.255.255.x i sl) što opet umanjuje broj mogućih adresa. Također, danas treba uračunati i mogućnost da se mobilni uređaji spoje na mrežu, što praktički udvostručuje broj uređaja koje trebaju IP adresu. Zasad još postoji mogućnost da se više uređaja u nekoj internoj mreži predstavi preko jedne IP adrese, pomoću translacije mrežnih adresa (Network Adress Translation), tako da se računala unutar interne mreže prikazuju adresama 192.168.0.1 do 192.168.0.254, a onda se ona povežu na jedan ili više routera koji su prikazani jednom adresom koju im je dodijelio ISP (svaki router ima svoju adresu). Tu se pojavljuje onda i problem da onaj zadnji router mora pratiti koji zahtjev je koje računalo poslalo kako bi im mogao proslijediti odgovor na zahtjev. Zaglavlje IP­a, koje se stavlja na TCP segment ili UDP datagram, također ima niz redundantnih zastavica koje se ne koriste već dulje vrijeme, a taj prostor bi se mogao efektivno upotrijebiti za nešto drugo. Kao što se može vidjeti, IPv4 je bio prikladan za upotrebu, i praktično i dalje jest, ali ima niz mana koje nisu samo tako lako otklonjive, od kojih je najgora da je količina adresa vrlo ograničena za današnje potrebe. Postoje još određeni sigurnosni problemi koji su se jednim dijelom otklonili u IPv6, no to će biti objašnjeno kasnije.

Slika 2. IPv4 zaglavlje

S druge strane, pojavljuje se konkurent trenutnom standardu, tzv. IPv6, koji donosi niz poboljšanja u odnosu na postojeći IPv4, prvenstveno ispravljajući problem 

3

Page 6: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

količine adresa, a potom i određene sigurnosne probleme. Za razliku od IPv4, IPv6 koristi adrese duljine 2^128 bitova, što omogućuje širinu adresnog prostora od otprilike 3.4 * 10^38 adresa, i kao što se može zaključiti praktički je trenutno (a i vjerojatno u idućih par stoljeća) nemoguće zauzeti svaku adresu (zanimljiva je usporedba da bi svaka zvijezda u vidljivom dijelu svemira dobila 2^52 adresa). Format IPv6 adrese je x:x:x:x:x:x:x:x, gdje je x četveroznamenkasti heksadecimalni broj iz intervala [0000, FFFF]. U prikazu postoji i mogućnost pokrate ako se pojavljuje više nula za redom, npr. 2001:0db8:0000:0000:0000:0000:1428:57ab se može zapisati u obliku 2001:db8::1428:57ab. Pokrata s dvostrukom dvotočkom se može upotrijebiti samo jednom u zapisu pojedine IP adrese jer se inače mogu javiti određene dvoznačnosti. Što se zaglavlja tiče, izbacile su se pojedina polja, kao što je npr. kontrolna suma zaglavlja (header checksum) jer se IPv6 oslanja na kontrolne sume drugih slojeva (poput suma za TCP i UDP zaglavlja), dok su se druga polja preimenovala, poput IPv4 TTL polja (time­to­live) je u IPv6 postalo Hop Limit polje – imaju istu funkcionalnost ali različito nazivlje. Kontrolna suma se izbacila kako bi se minimiziralo vrijeme obrade pojedinog zaglavlja paketa, a to je također i jedan od važnijih argumenata prelaska na IPv6. No, sa sigurnosnog aspekta, IPv6 unutar sebe ima integriran sigurnosni protokol IPSec, koji u IPv4 nije obavezan. Više o IPSec­u će biti govora u idućem poglavlju. Ukratko, IPv6 je napredniji od IPv4, ali je koncept zapravo ostao isti.

Slika 3. IPv6 zaglavlje

4

Page 7: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

3. Sigurnost u IPv6

Sigurnost danas nipošto nije trivijalna stvar. Skoro pa svaki veći komercijalni program ima nekakav sigurnosni propust koji bi potencijalnom napadaču omogućio (barem djelomičnu) kontrolu nad računalom. Štoviše, najveći broj propusta se upravo i događa u aplikacijskom sloju TCP/IP modela, ali to nikako ne znači da se druge slojeve ne može iskoristiti u istu svrhu, samo na drugačiji način. Najčešći problemi u sigurnosti kod IPv4 se mogu kategorizirati : izviđanje, nedopušteni pristup, korištenje fragmentacije u svrhu napada, ARP i DHCP napadi, smurf napadi, te virusi i crvi. Kod IPv6 zapravo napadi ostaju i dalje prisutni, samo što će neke biti možda malo teže ostvariti, neki će se ostvarivati na isti ili lakši način, a kod nekih će se možda samo trebati promijeniti pristup.

Prva radnja koju skoro pa svaki potencijalni napadač izvodi jest izviđanje, odnosno enumeriranje svih sustava koje određena mreža posjeduje, kako bi utvrdio koje bi najlakše mogao provaliti u svrhu olakšavanja daljnjih napada. Tu se javlja već i prva zapreka. Naime, tipična IPv4 podmreža (subnet) broji 256 računala (zadnji oktet) i na takvoj podmreži je moguće napraviti ping sweep (slanje zahtjeva za odgovor većem broju računala, najčešće svima koji su na podmreži) pomoću alata kao što je npr. Nmap, koji će svoj posao uredno obaviti u jako malo vremena. Tipična IPv6 podmreža bi (teoretski) mogla sadržavati 2^64 računala, što bi produljilo vrijeme skeniranja s ispod minute na 28 stoljeća, a zasigurno sve IP adrese neće biti zauzete. Čak i da pretpostavimo da neka velika tvrtka ima 10000 računala na svojoj mreži, to bi značilo da u 1.8 kvadrilijuna (10^15) adresa je samo jedna zauzeta. Dalje, ako pretpostavimo da se zauzete adrese nalaze na sredini intervala (u prosjeku) znači da trebamo proći 50% adresa da nađemo prvu zauzetu,tada bi nam trebalo 28 godina da ju nađemo. Skeniranje otvorenih portova i ranjivosti nakon što se određena IP adresa pronađe ostaje isto. No, s druge strane, IPv6 podržava takozvane multicast adrese –  mogućnost da se na jednoj adresi nalazi više računala. To omogućuje napadaču da otkrićem jedne adrese pronađe sve sustave koji su ključni u nekoj mreži. 

IPv4 smanjuje mogućnost neovlaštenog pristupa pojedinom računalu/mreži koristeći kontrolne liste (Access Control Lists) u kojima se obično nalazi niz adresa kojima određeno računalo "vjeruje" (trusted hosts). Te liste su najčešće implementirane u firewallima, i princip rada je jednostavan. Ako pristigne paket s IP adrese koja nije na popisu, upozorava se korisnik želi li prihvatiti paket ili ne; ako prihvati, IP adresa se može zabilježiti u ACL, ali i ne mora (npr. može prihvatiti samo taj put), a ako ne prihvati onda se ta IP adresa stavlja na "crnu listu" i svi daljni paketi s te IP adrese se odbacuju. IPv6 je implementirao tzv. IPSec skup protokola. IPSec se može koristiti i s IPv4, ali nije obavezan. Pri implementaciji IPv6 mora se implementirati i IPSec. 

IPSec je skup protokola koji služi da bismo mogli sigurnije komunicirati koristeći IP, u smislu da pruža mogućnost autentikacije dvaju (ili više) računala koja sudjeluju u komunikaciji, a pruža i mogućnost enkripcije podataka koji se šalju paketima preko mreže i koje samo autenticirano računalo može primiti. 

5

Page 8: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

IPSec se bazira na primjeni tri protokola :

1. Internet Key Exchange (IKE/IKEv2)

2. Authentication Header (AH)

3. Encapsulating Security Payload (ESP)

Slika 4. Pregled IPSec protokola

3.1 IKE/IKEv2

Prvi od tih protokola, Internet Key Exchange, služi za samu uspostavu veze između dva računala u takozvanoj "sigurnosnoj poveznici" (security association), što je skup pravila i ključeva koji se koriste da se zaštite informacije o toj trenutnoj vezi, da netko tko nema pristup tim ključevima ne može stupiti u istu vezu s tim računalima. IKE je zapravo hibridni protokol, koji se najvećim dijelom bazira na primjeni OAKLEY protokola, jednim dijelom SKEME protokola, a sve to se ostvaruje putem ISAKMP protokola. OAKLEY protokol služi za razmjenu ključeva između dvije stranke da bi se omogućila uspostava sigurnosne poveznice. Protokol djeluje u nizu modova koji omogućavaju zaštitu identiteta i autentikaciju. OAKLEY protokol dijeli određene sličnosti sa STS (station­to­station) protokolom, koji je kriptografska shema razmjene ključeva. Da bi se napravila "dijeljena razgovorna tajna" (shared session secret), koristi se Diffie­Hellmanova razmjena ključeva, koja je srž STS protokola, a time postaje i sastavni dio OAKLEY protokola. To je kriptografski protokol koji omogućuje sudionicima da bez prijašnjeg međusobnog znanja stvore tajni ključ koji mogu poslati preko nesigurnog kanala. Protokol se ostvaruje na temelju prijašnjeg znanja o:

1. baznom broju g – njega pojedini sudionici potenciraju

2. prim broju p – njime se dijeli potencirana baza sa strane svakog sudionika

Objasnimo na kratkom primjeru :

Pretpostavimo da Marko i Darko žele razmijeniti tajni sigurnosni ključ. Oboje se dogovore da će za bazu koristiti broj g = 5, a za prim broj da će koristiti p = 23. Marko odabere svoj tajni broj, npr. a = 6, i pošalje Darku broj A = (g^a mod p) = (5^6 mod 23) = 8. Sada Darko odabere tajni broj, b = 15, te pošalje Marku broj B = (g^b mod p) = (5^15 mod 23) = 19. Marko na temelju primljenog broja 19 može izračunati s = (B^a) mod p = (19^6) mod 23 = 2, a Darko također računa s = (A^b) mod p = (8^15) mod 23 = 2.

6

Page 9: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

U ovom primjeru se koriste mali brojevi čisto da se demonstrira kako algoritam funkcionira; u praksi se obično koriste mnogo veći brojevi. Zanimljiva je činjenica da kada bi se koristio prim broj p duljine preko 300 znamenki, a a i b duljine barem 100 znamenki, tada niti najbolji algoritmi današnjice, uza svu računalnu moć na svijetu ne bi mogli izračunati a ako znaju g, p i g^a mod p. Za vrijednost g se obično uzima malen broj, najčešće 2 ili 5.

OAKLEY protokol, uz Diffie­Hellmanovu razmjenu ključeva, implementira još i slab mehanizam validacije adresa (tzv. cookies), koji služe kako bi se izbjegli potencijalni DoS (Denial of Service) napadi, omogućuje odabir obaju stranki koju će metodu enkripcije, autentikacije i dolaska do (derivacije) ključa koristiti; nadalje, autentikacija ne ovisi o enkripciji koja se postiže ključevima nakon Diffie­Hellmanove razmjene, nego se upravo ti ključevi onda vežu za pojedinu stranku i time ju identificiraju. Zanimljiva stvar kod ovog protokola jest i da se Diffie­Hellmanova razmjena ključeva ne mora nužno koristiti nakon uspostave veze, nego jedna od stranki može sama razviti idući ključ te ga enkriptirano poslati preko mreže. Da bi se protokol u potpunosti ostvario, pogodno bi bilo da računalo koje ga implementira ima jako dobar generator slučajnih brojeva, što omogućuje veću kompleksnost ključeva, a time i veću zaštitu.

SKEME (Secure Key Exchange MEchanism) je protokol koji omogućuje raznovrsnu razmjenu ključeva, anonimnost te brzu obnovu ključeva. Ovaj protokol je bio prethodnik ISAKMP­u i Oakley protokolu.

ISAKMP (Internet Security Association and Key Managment Protocol) definira procedure i oblike paketa za se uspostavu, održavanje i zatvaranje sigurnosnih poveznica. Taj protokol je drugačiji od protokola razmjene ključeva jer odvaja detalje stvaranja sigurnosnih poveznica od detalja razmjene ključeva. Prilikom uspostave sigurnosne poveznice potrebno je dogovoriti koja će se metoda autentikacije koristiti, koja će se kriptografska zaštita koristiti, te koja će se metoda uspostave ključeva koristiti. ISAKMP nije striktno vezan za jednu kriptografsku zaštitu, metodu autentikacije ili uspostave ključa. Time stvara jedno dinamičko okružje komunikacije u kojem se pojedini parametri mogu mijenjati, a ukoliko se razviju neki bolji algoritmi, omogućava njihovu direktnu implementaciju bez potrebe stvaranja novog KMPa ili popravljanja postojećeg. Nadalje, može se implementirati preko bilo kojeg protokola transportnog sloja, no najčešće se koristi UDP protokol na portu 500. 

Prije bilo kakve autentikacije među strankama, prvo je potrebno razmijeniti neke osnovne sigurnosne atribute, koji štite daljnje razmjene preko ISAKMP protokola. Ako obje stranke već imaju sigurnosne atribute postavljene, inicijalna razmjena se može preskočiti. Idući korak u uspostavi sigurnosne poveznice jest autentikacija računala. Mehanizmi autentikacije se mogu svrstati u slabe i jake. Slanje ključeva i podataka u obliku normalnog teksta je očigledno slab mehanizam. Digitalni potpisi, poput RSA (Rivest­Shamir­Adleman) potpisa, su jaki autentikacijski mehanizmi i spadaju u kategoriju public key mehanizama. Uz takav javni ključ, potreban je još i privatni ključ. Pri korištenju digitalnih potpisa, certifikati igraju jako veliku ulogu jer povezuju identitet određenog entiteta na mreži s javnim i privatnim ključevima, te s drugim sigurnosnim podacima kao što su privilegije, dopuštenja, itd. Autentikacija bazirana na razmjeni digitalnih potpisa, tj. putem certifikata zahtijeva uplitanje i treće stranke koja treba stvoriti, 'potpisati' te ispravno distribuirati te certifikate. Ta treća 

7

Page 10: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

stranka se naziva certification authority, te jedne od poznatijih su Comodo, GeoTrust, Entrust, QuoVadis i mnogi drugi. Što se same razmjene ključeva tiče, u ISAKMPu mora biti implementirana valjana razmjena ključeva s mogućnošću autentikacije, čime se utvrđuje da je poslani ključ uistinu od te stranke od koje je primljen. Metode autentikacije se mogu izvršiti nakon ramjene ključeva ili tokom razmjene ključeva, a češće se bira tokom razmjene jer se lakše uočava mogućnost lažiranja. IKE predlaže upotrebu OAKLEY protokola za razmjenu ključeva, ali ISAKMP nije striktno vezan samo za tu razmjenu ključeva. Nakon odabira metode razmjene, slijedeći korak jest sprovesti tu razmjenu i svi daljnji koraci su unutar te razmjene. ISAKMP kao takav omogućuje efikasnu zaštitu protiv DoS napada korištenjem cookie­ja za pojedinu uspostavu veze (poveznica s OAKLEY prokotolom), MITM (Man in the middle) napada povezivanjem kriptografske, autentikacijske te metode razmjene ključeva, što napadaču predstavlja problem da lažira pakete  i otimanje veze (connection hijacking) time što svaku sigurnosnu poveznicu povezuje s metodom autentikacije i razmjene ključeva, pa tako onemogućuje napadaču da "uskoči" i predstavi se kao drugi entitet.

IKE omogućuje primjenu različitih razmjena u obliku modusa, koji rade unutar jedne od dviju faza. U prvoj fazi dva sudionika uspostavljaju sigurni i autenticirani kanal preko kojeg mogu komunicirati, tzv. ISAKMP sigurnosnu poveznicu. U ovoj fazi IKE može raditi ili u glavnom modusu (Main Mode), ili agresivnom modusu (Aggressive Mode). Tu se određuje daljnja primjena enkripcijskog i hash algoritma, metode autentikacije te grupe nad kojom će se obavljati Diffie­Hellman razmjena. Svaki od atributa je obvezatan i mora se pregovarati. IKE, u skladu s tim zahtjevom mora imati podršku za DES enkripcijski algoritam, MD5 i SHA hash algoritme te autentikaciju putem preddjeljenih ključeva. Preporučljivo je da se podržavaju i 3DES za enkripciju, Tiger za hash, te DSS i RSA metode za autentikaciju putem javnih ključeva. U drugoj fazi, sigurnosne poveznice se pregovaraju u ime neke druge usluge, kao što je npr. IPSec. U drugoj fazi se radi u brzom modusu (Quick Mode). Osim ova tri, još postoji i tzv. modus nove grupe (New Group Mode), koji zapravo ne pripada niti prvoj ni drugoj fazi, ali se mora obaviti nakon prve faze. On zapravo služi kako bi se stvorila nova grupa usluga za koje bi se u budućnosti mogli voditi pregovori. ISAKMP sigurnosna poveznica je dvosmjerna, što znači da čim se uspostavi, bilo koja stranka može započeti brzi modus, modus nove grupe ili informacijsku razmjenu. U prvoj fazi se pojavljuju i cookies­i. Oni služe da se odredi tko je započeo uspostavu SA (tj. inicijator), a tko je odgovorio na zahtjev za uspostavu (tzv. odgovarač, responder). Bez obzira na daljnje faze i na smjer uspostave modusa, cookies­i ne smiju zamijeniti mjesta u toj sigurnosnoj poveznici pa se tako može dogoditi da odgovarač zatraži uspostavu brzog modusa prema inicijatoru. Jedno pokretanje prve faze (tj. uspostava sigurnosne poveznice) može služiti za odvijanje druge faze nekoliko puta, npr. Korištenje više usluga prema jednom računalu; s druge strane, može se dogoditi da i jedno pokretanje druge faze može uzrokovati više pokretanja prve faze, odnosno uspostavu više sigurnosnih poveznica npr. Slanje podataka na više računala. Na temelju toga, odabire se želi li se optimizirati izvođenje (koristeći agresivni modus) ili se želi osigurati sigurnost identiteta (koristeći glavni modus). Nakon izvjesnog vremena, a da je sigurnosna poveznica bila uspostavljena, potrebno je, radi povećanja sigurnosti i smanjenja mogućnosti otimanja veze, obaviti rekeying, odnosno ponovnu uspostavu ključeva 

8

Page 11: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

među strankama. Time se opet pokreće inicijacijska faza IKE, te nakon ponovne uspostave sigurnosne poveznice, ciklus se ponavlja. 

Slika 5. Uspostava sigurnosne poveznice

 IKE je unatoč svoje korisnosti bio uvelike kritiziran zbog svoje kompleksnosti, propusta te redundancija koje su se dale izbjeći. Zbog toga je nastao IKEv2.

IKEv2 nije donio promjenu u smislu koncepta razmjene ključeva, nego je ostvario pouzdaniji i brži način primjene istog. Prva prednost IKEv2 pred IKE je smanjenje broja faza i poruka koje su stranke izmjenjivale, čime se omogućila veća preglednost i jasnost same procedure. Sigurnost je također poboljšana; IKE je bio ranjiv na DoS napade, unatoč primjeni cookies­a – napadač je mogao inicirati gomilu zahtjeva za stvaranje tih cookies­a čime bi mogao preopteretiti CPU računala kojeg napada. U IKEv2 je dodan mehanizam da stranka u slučaju velikog broja zahtjeva pretpostavi da oni nisu valjani, te prvo provjeri IP adresu s koje su poslani prije stvaranja cookie­ja. Promijenila se i povezanosta atributa, faza i prijedloga jer u IKE su često bili glavni izvor zabuna. U IKEv2 su hijerarhijski posloženi kako bi bili pregledni.

U [11] je napravljena kvantitativna usporedba na VPN (Virtual Private Network) mrežama u kojoj se svaki sigurnosni prilaz (security gateway) spaja na drugu lokaciju putem IPSec tunela. U idućim slikama je prikazan odnos performansi za IKE i IKEv2.

 Slika 6. Usporedba broja sigurnosnih poveznica stvorenih za prolazak paketa kroz N VPN mreža

9

Page 12: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

Slika 7. Usporedba veličine paketa i vremena potrebnog za uspostavu sigurnosnih poveznica

Slika 8. Usporedba propusnosti mreže i vremena potrebnog za uspostavu sigurnosne poveznice

  3.2 AUTHENTICATION HEADER

Slijedeći protokol koji treba promotriti jest Authentication Header (AH). On je napravljen kako bi mogao garantirati integritet podataka i autentičnost paketa, da je doista poslan otkud je primljen. Može se upotrijebljavati sam, zajedno s ESP­om ili ugniježđeno koristeći tunelirajući mod rada. Prvo polje u tom zaglavlju se zove next  header, što omogućava primjenu dodatnih zaglavlja koja su korisna (npr. za upotrebu s ESP­om) ili za određivanje koje je zaglavlje slijedi (npr. IP zaglavlje). Autentifikacijsko zaglavlje može autentificirati određena polja u IPv4, ali ne može sva jer se mijenjaju – npr. TTL polje (time­to­live), odnosno koliko routera paket može obići se smanjuje dolaskom na svaki router; kontrolna suma također se mijenja kako se mijenja i TTL polje, zastavice su isto promjenjive itd. Autentikacijsko zaglavlje se stavlja na paket samo u slučaju kada IPSec implementacija utvrdi da sigurnosna poveznica kojom se paket šalje, zahtijeva primjenu autentikacijskog zaglavlja.

Slika 9. Autentikacijsko zaglavlje

10

Page 13: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

Daljnja polja su:

1. Payload length – veličina Authentication headera

2. RESERVED – rezervirano za buduću upotrebu, do onda je postavljeno na nulu (doprinosi veličini AH, ali se inače zanemaruje od strane primaoca)

3. Security Parameters Index – proizvoljna 32­bitna vrijednost, koja u kombinaciji s odredišnom IP adresom i autentikacijskim zaglavljem jedinstveno indentificira "sigurnosnu poveznicu"

4. Sequence number – sekvencijski broj, monotono se povećava, služi da bi se spriječili replay napadi (odgađanje slanja ili ponovno slanje paketa, može se iskoristiti za krađu identiteta); postupak generacije opisan kasnije.

5. Authentication Data – sadrži vrijednost provjere integriteta (integrity check value), računa se na temelju nepromjenjivih polja u zaglavljima.

Budući da postoje dva moda rada, transportni i tunelirajući, autentikacijsko zaglavlje se shodno tome postavlja na određeno mjesto. U transportnom modu, autentikacijsko zaglavlje obavezno mora doći prije IP zaglavlja (uključujući i proširena zaglavlja, obrađeno kasnije), ali nakon zaglavlja višeg sloja (kao što su TCP/UDP zaglavlja). Autentikacijsko zaglavlje u ovom načinu rada štiti jedino nepromjenjiva polja IP zaglavlja.

Slika 10. AH u transportnom načinu rada

Tunelirajući mod rada se najčešće koristi na sigurnosnim gateway­ima, ali se može koristiti i na običnim računalima. Kada paket pristigne na određeno računalo, prvo se provjerava je li odredišna adresa paketa adresa tog računala. Ako nije, a postavka u operativnom sustavu (na starijim implementacijama UNIX operativnih sustava, zastavica se zvala no_forward) indicira da se takvi paketi proslijeđuju dalje tada se paket slao na iduću najbližu adresu. Takva računala su zapravo bili usmjerivači (tj. routeri). Na njima uglavnom ima smisla postaviti ovakav mod rada, jer se paketi koji prolaze mrežom onda mogu u potpunosti zaštititi, u smislu da autentikacijsko zaglavlje tada može štititi i unutarnji IP header, budući da vanjski IP header stavlja upravo router kako bi mogao usmjeriti paket na iduće računalo. Tako je vanjsko zaglavlje opet zaštićeno samo jednim dijelom (polja koja nisu mutabilna), a unutarnje zaglavlje sa konačnom IP adresom je u potpunosti zaštićeno.

11

Page 14: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

Slika 11. AH u tunelirajućem načinu rada

Autentikacijski algoritam se određuje na temelju odabira učinjenog prilikom uspostave sigurnosne poveznice. Kada imamo PTP komunikaciju (point­to­point), odgovarajući autentikacijski algoritam bi bio MAC (Message Authentication Code) sa ključevnom zaštitom, gdje je ključ ili kriptiran (obično simetričnim enkripcijskim algoritmom kao što je DES) ili je hash­iran (jednosmjernim hash algoritmima, poput MD5 i SHA­1). U slučaju multicast komunikacije, preporuča se korištenje jednosmjernih hash algoritama s asimetričnim potpisnim algoritmima.

Prilikom formiranja zaglavlja, treba se generirati i sekvencijski broj. To je 32­bitni broj koji služi određivanju broja paketa koji se šalju preko mreže. Kada se sigurnosna poveznica ostvari, sekvencijski broj se postavlja na nulu. Sekvencijski broj se uveća prije nego se zapiše u zaglavlje, pa je time prvi paket doista tako i označen. Prije nego što se uveća, provjerava se koje je trenutno stanje broja i hoće li uvećavanje resetirati broj na inicijalnu vrijednost (nulu; dođe do preljeva u registru). Ako ne, sekvencijski broj se uveća. U suprotnom, generator zahtijeva obnovu sigurnosne poveznice pa će tako na siguran način resetirati broj.

Integrity Check Value je vrijednost koja je pohranjena u autentikacijskom zaglavlju u polju autentichated data. Služi za provjeru integriteta zaglavlja paketa, a računa se nad IP zaglavljem, autentikacijskim zaglavljem i svim podacima višeg sloja za koje se smatra da su nepromjenjivi. Ta vrijednost nije fiksirana, nego se svaki put iznova računa, te se preračunava na odredištu kako bi se utvrdilo je li se koje polje mijenjalo. Ukoliko je određeno polje zaglavlja promjenjivo, vrijednost tog polja se postavlja na nulu. Ako je moguće predvijeti vrijednost primaoca za to polje, tada se ta predviđena vrijednost upisuje, i ICV se računa zajedno s tim poljima. Ukoliko u proširenim zaglavljima postoje oznake da se određene vrijednosti mogu promijeniti, tada se ni ta polja ne uzimaju u obzir; u suprotnom, i njih uračunavamo.

Prilikom fragmentacije paketa u transportnom modu, AH mora biti već postavljen i on se također fragmentira, a provjere integriteta i autentikacija kod primaoca čekaju dok se cijeli paket ne može sastaviti, a onda se šalju sustavu za obradu. Ako sustav za obradu autentikacijskog zaglavlja primi paket za koji se čini da je IP fragment (npr. OFFSET zastavica nije nula ili je postavljena zastavica MORE FRAGMENTS) tada se takav paket odbacuje. U tunelirajućem modu, AH se ionako postavlja na pakete koji su primljeni, a oni već mogu biti fragmentirani, tako da pojedino autentikacijsko zaglavlje određuje pojedini fragment.

 3.3 ENCAPSULATING SECURITY PAYLOAD

Zadnji protokol koji trebamo promotriti jest Encapsulating Security Payload. On u principu služi jednakoj svrsi kao i AH, no još dodatno omogućuje enkripciju 

12

Page 15: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

podataka. Za razliku od AH u transportnom modu, ESP ne štiti IP zaglavlje.  Polja u ESP zaglavlju su redom :

1. Security Parameters Index – isto kao i kod autentikacijskog zaglavlja

2. Sequence number – ista funkcionalnost kao i kod autentikacijskog zaglavlja

3. Payload data – podaci koji se prenose, mogu i ne moraju biti enkriptirani

4. Padding – kod nekih enkripcijskih algoritama koristi se da se popuni prethodno polje (payload data) na punu duljinu bloka, puni se s nulama.

5. Padding length – duljina prošlog polja

6. Next header – ista funkionalnost kao i kod autentikacijskog zaglavlja

7. Authentication data – podaci potrebni da se paket autenticira

Slika 12. ESP zaglavlje

Security Parameters Index i sekvencijski broj imaju istu ulogu kao i kod autentikacijskog zaglavlja, a to je da odrede sigurnosnu poveznicu i enumeriraju pakete koji se kreću po mreži.

Polje Payload data je varijabilne duljine i sadrži podatke na koje pokazuje Next  header polje. Ako algoritam koji enkriptira payload ("punjenje") treba podatke za kriptografsku sinkronizaciju, poput inicijalizacijskog vektora, tada se ti podaci mogu prenijeti neenkriptirani u polju. Padding polje je potrebno iz više razloga. Neki enkripcijski algoritmi obavljaju svoj algoritam nad punim blokovima, te se pomoću ovog polja popuni Payload data na veličinu punog bloka. U drugom slučaju, nevezano uz enkripciju, treba se paziti i na oblik zaglavlja, tj. na poravnanje, pa tako svako polje mora završiti na 4­bajtnoj granici, u smislu da ne može zauzimati npr. 3 bita idućeg reda. Tada se polje popuni do duljine 4 bajtova. Također, može se iskoristiti i da se prikrije stvarna veličina podataka koji su enkriptirani, no to opterećuje mrežu nepotrebnim prometom pa se takva upotreba ne preporuča ili u najgorem slučaju ograničava. Moguće je "popločiti" maksimalno 255 bajtova. Postoje dvije mogućnosti izbora sadržaja paddinga. Prva varijanta je ako korisnik nije definirao – tada svaki bajt sadrži broj koji monotono raste od jedinice (prvi bajt 1, drugi bajt 2,...). Druga varijanta je ako enkripcijski algoritam definira – tada se u padding stavlja vrijednost određena odabirom algoritma. Padding length polje, sukladno imenu, označava duljinu popločenja u bajtovima (max. 255). U polju 

13

Page 16: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

authentication data se nalazi ICV (integrity check value) koji se računa nad ESP zaglavljem ali ne uključujući to samo polje. To polje je izborno, i koristi se samo u slučaju ako je za trenutnu sigurnosnu poveznicu odabrana i autentikacija paketa, a ne samo enkripcija.

Kao i kod autentikacijskog zaglavlja, u transportnom modu, ESP zaglavlje se stavlja nakon IP zaglavlja, ali prije zaglavlja višeg sloja protokolnog stoga, no ESP zaglavlje štiti samo dotadašnji TCP segment/UDP datagram, a ne pruža mogućnost zaštite IP zaglavlju.

Slika 13. ESP u transportnom načinu rada

U tunelirajućem modu, ESP se pozicionira nakon vanjskog IP zaglavlja, ali prije unutarnjeg, čime je tako i unutarnje IP zaglavlje obuhvaćeno zaštitom koju pruža ESP (bilo enkripcija ili autentikacija ili oboje), a primjenjuje se na isti način kao i autentikacijsko zaglavlje.

Slika 14. ESP u tunelirajućem načinu rada

Enkripcijski algoritam određuje sigurnosna poveznica, i najčešće se koriste simetrični enkripcijski algoritmi. Budući da paketi preko mreže stižu u neodređenom rasporedu, svaki paket mora u sebi sadržavati podatke kako dekriptirati paket, što se može prenijeti ili kao inicijalizacijski vektor unutar Payload data polja, ili se podaci mogu izvući iz zaglavlja paketa. Koraci kriptiranja pojedinog paketa su slijedeći :

1. enkapsulacija podataka

2. dodavanje popločenja

3. enkripcija paketa koji se formira na temelju prethodna dva koraka

Enkapsulacija podataka podrazumijeva upisivanje podataka za kriptiranje u Payload data polje (zaglavlje višeg sloja, cijeli IP datagram). Popločenje nadopunjuje payload data do punog bloka. Paket se potom enkriptira koristeći zadani algoritam.

U procesu dekripcije se isti postupak obavlja ali unazad. Prvo se paket dekriptira na temelju algoritma, uklanja se popločenje i rekonstruira se originalni IP datagram.

Ako je odabrana i autentikacija paketa, tada se paket prvo kriptira (authentication data se ne kriptira), a zatim se autenticira. Sekvencijski broj se generira kao i kod 

14

Page 17: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

AH. Ako se paket mora fragmentirati, prilikom dekriptiranja potrebno ga je cijelog sastaviti, a zatim poslati na obradu.

 3.4 NEKOMPATIBILNOSTI S NAT ROUTERIMA

Sukladno s gornja dva poglavlja (AH i ESP), općenito IPSec može raditi u dva načina rada, transportnom i tunelirajućem. U kojem god načinu rada radili, događaju se veliki problemi prilikom nailaska na NAT routere. U današnjim mrežama, upravo preko NAT routera, je moguće jednoj IP adresi dodijeliti više lokalnih IP adresa, prema kojima router usmjerava pakete pristigle s vanjske mreže. To "nije" problem u današnjoj primjeni IPv4, jer je taj sustav i dizajniran kao privremeno rješenje nedostataka IPv4. No, ako promotrimo nove metode sigurnosti, vidimo da se odredišne adrese, kontrolne sume i slična polja prilikom prijenosa podataka ne smiju mijenjati, jer će valjani paket postati nevaljan.

U bilo kojem modu rada, koristeći AH, trenutno je nemoguće zaobići takav router jer on mora promijeniti odredišnu IP adresu u jednu od lokalnih, a time mijenja vrijednost kontrolne sume čime paket postaje nevaljan. Pomoću ESP zaglavlja je moguće zaobići takav problem utoliko što se ne štiti IP zaglavlje, pa je dopušteno mijenjanje adresa. Problem koji se odnosi i na AH i na ESP se događa u transportnom modu. Kontrolna suma TCP ili UDP zaglavlja ovisi o odredišnoj i izvornoj IP adresi, te portu. Budući da NAT router mijenja odredišnu adresu, time se mijenja i kontrolna suma i paket postaje nevaljan. Rješenje ovih problema se nazire u korištenju NAT­T metode. Svaki paket koji treba proći proces translacije dobije još jedno dodatno UDP i IP zaglavlje koje se po volji mogu mijenjati, i onda translacije nemaju utjecaja na autenticirane ili enkriptirane pakete.

  3.5 DODATNA ZAGLAVLJA

Osim gorenavedenih AH i ESP, IPv6 donosi još i takozvane extension header­e, odnosno zaglavlja proširenja:

1. routing header

2. fragmentation header

3. destination options header

4. hop­by­hop options header

Routing Header u IPv6 služi istoj svrsi kao što u IPv4 služi source routing. To je mogućnost protokola da u IP zaglavlju točno definira put paketa od izvora do odredišta preko pojedinih routera. U IPv4 je bilo moguće unijeti maksimalno 8 adresa kroz koje paket može proći, dok je u IPv6 duljina ovog zaglavlja proizvoljna.

Fragmentation header se koristi kako bi naznačio da je pojedini paket samo fragment cijelog paketa. Sadrži vrijednosti fragment offset, identification i more fragments čime se definira koji je to fragment po redu i slijedi li još fragmenata.

Destination options header sadrži niz vrijednosti koje se ispituju samo na odredišnoj lokaciji, npr. Mobile IPv6.

Hop­by­hop options header sadrži niz vrijednosti koje se ispituju prilikom nailaska na svaki router, služi uglavnom za debugging.

15

Page 18: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

TOS (Type of Service) polje u IPv4 zaglavlju je promijenjeno u QOS (Quality of Service), a služi za definiranje prioriteta pojedinih paketa kako bi oni pravovremeno stigli na odredište. Npr. prilikom streamanja videa, ili VoIP sjednice, paketi moraju dolaziti pravovremeno i u pravilnom redoslijedu, jer se inače video ili govor isprekida.

  3.6 OSTALI PROBLEMI

Fragmentacija paketa je proces usitnjavanja jednog velikog (ili više velikih) paketa u niz manjih kako bi svi uspjeli proći kroz sve routere na putu do svojeg odredišta (propusnost pojedinog routera je određena s MTU – maksimalnom jedinicom slanja, maximum transmission unit). Pri tom se svaki paket označava svojim slijednim brojem kako bi se na odredištu mogli složiti natrag u prvotni oblik. Fragmentacija se također smatra potencijalnim propustom. U prvo vrijeme firewalla i IDSa (Intrusion Detection System) fragmentirani paketi se nisu provjeravali, u smislu sve je moglo proći kroz firewall (ili ne biti detektirano od strane IDSa) ako je bilo dovoljno sitno da firewall (ili IDS) ne prepozna o čem je riječ. Tako su se paketi za pojedini napad mogli usitniti i poslati, firewall bi se zaobišao, a paket bi u konačnici obavio svoj posao. S vremenom su se načini zaštite popravili, pa se npr. velika količina fragmentiranih paketa smatrala odmah potencijalnim napadom, firewall bi čekao dok se pojedini paket na odredištu ne sastavi prije nego što bi ga provjerio i sl. U IPv6 je prema osnovnom sigurnosnom principu zabranjeno propuštati preklapajuće pakete jer se oni mogu iskoristiti za napad; također i minimalna veličina paketa je 1280 okteta, što znači da paketi manji od te veličine se slobodno odbacuju (osim ako nije zadnji paket u prijenosu podataka). Ako računalo nije podešeno prema tim pravilima, napadač slobodno može upotrijebiti fragmentaciju kao sredstvo napada i ima mogućnost ostvariti svoj napad.

Slijedeći u nizu su ARP i DHCP napadi, koji funkcioniraju tako da promijene način inicijalizacije određenog uređaja, da konfiguriraju uređaj da koristi krive mrežne informacije, ili jednostavno da uvjere računalo da komunicira s nekim drugim, a zapravo komunicira s napadačem. DHCP pri inicijalizaciji šalje poruku svim računalima na mreži da se inicijalizira, te čeka odgovor drugih DHCP servera da mu pošalju podatke poput DNS servera te default gatewaya. To omogućava napadaču da lažira odgovor i pošalje ga tom DHCP serveru prije nego što odgovori neki valjani server i time omogući man­in­the­middle napade. Kod ARP napada, napadač modificira odnos IP­MAC adresa na način da IP adresa ostane valjana, a MAC adresa postaje adresa napadača pa se tehnički komunikacija ostvaruje s napadačem. Kod IPv6 skoro svaka inicijalizacija uređaja ne koristi neki svoj poseban protokol, nego se sve obavlja preko ICMPv6. Npr., umjesto DHCP servera se planira koristiti autokonfiguracija preko ICMPv6; prilikom autokonfiguracije poruke se također mogu lažirati, pa će se ipak trebati koristiti trusted ports princip zaštite  – određeni uređaji prilikom takvih inicijalizacija smiju koristiti samo određene portove za komunikaciju. Odlučeno je da se ARP zamijeni s novom opcijom u ICMPv6, tzv. neighbour­discovery – svako računalo na mreži ponovno koristeći samo ICMPv6 može saznati koja su računala direktno spojena na to računalo (tj. da su udaljena točno jedan "skok"). No, problem lažiranja zahtjeva je i dalje prisutan.

16

Page 19: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

Smurf napadi spadaju u kategoriju DoS (Denial of Service) napada. Napadač usmjeri zahtjev za odgovorom (echo­request) s odredišnom adresom podmrežne objave (subnet broadcast) i lažiranom IP adresom otkud je potekao zahtjev, što je IP adresa zapravo koju napadamo. Sva računala na mreži šalju odgovore na zahtjev na tu IP adresu te ona biva preplavljena paketima odgovora (echo­reply packets). Kod IPv4 se ovakav tip napada lako mogao izbjeći – bilo je potrebno samo na routeru isključiti mogućnost IPv4­usmjerenih objava, što usmjeri onda takav zahtjev natrag osobi koja ga je zahtjevala, dakle vratit će se na lažiranu IP adresu.  Budući da je to samo jedan paket, napad se izbjegao. U IPv6 je sistem IP­usmjerene objave uklonjen, jer prema pravilima uspostave IPv6 ICMPv6 poruke se ne bi smjele generirati kao odgovor na zahtjev, tj. kao odgovor na paket s IPv6 multicast adresom ili link­layer multicast adresom. Ako se implementacija IPv6 konfigurira na takav način, smurf napadi su efektivno neostvarivi.

Virusi i crvi, glavni problemi današnjih Windows operativnih sustava su se jednostavno raspačavali koristeći IPv4, zbog malih podmreža na kojima su se lako mogli naći daljnja računala koja bi se mogla zaraziti. U IPv6 je taj problem riješen utoliko što su podmreže puno veće, a naravno nisu potpuno iskorištene. No, štetni programi koji se raspačavaju putem E­pošte ili oni koji inficiraju prijenosne medije će se i dalje propagirati na isti način kao i dosad. Najsigurniji način borbe protiv ovakvih programa je stalno krpanje sustava te antivirusni programi.

Ostali tipovi napada i ugrožavanja informacija, kao što su sniffing, napadi na razini aplikacija (tipični vulnerability exploiting), man­in­the­middle napadi, flooding i sl. bitno se ne mijenjaju zasad, a vjerojatno ni prilikom prelaska na IPv6, zbog komplicirane razmjene ključeva. Ukratko pojasnimo svaki :

Sniffing je klasa napada koja se svodi na hvatanje povjerljivih podataka ili općenito bilo kakvog prometa na (tuđoj) mreži – koriste se programi poput Tcpdumpa, Wiresharka, itd. U IPv6 se napadi (zasad) bitno ne mijenjaju zbog i dalje kompliciranog načina razmjene ključeva – kada se to "popravi", smatra se da će se ovakvi napadi moći izbjeći.

Vulnerability exploiting odnosno iskorištavanje propusta u svakavim programima koji imaju pristup mreži, poput FTP ili Telnet servisa, napadi na web aplikacije, CSS bugovi, SQL injection napadi, buffer overflowi itd., čine najveći dio napada današnjice, a skoro pa uopće se neće promijeniti prelaskom na IPv6, jer jednako kako podaci koji uzrokuju iskorištavanje propusta prolaze neenkriptirani s Ipv4, tako će oni i preko sigurne kriptirane veze kod IPv6 moći preći do napadanog računala. Jedina razlika je što će određivanje lokacije otkud je računalo napadnuto biti jednostavnije jer se podaci u IP headeru više neće moći (tako lako) lažirati.

Man­in­the­middle napadi su napadi u kojem dvije stranke komuniciraju, a treća stranka se predstavlja kao jedna od onih dvaju kako bi preusmjerila promet prema sebi. Zabilježeni su programi koji unatoč složenosti IKEa uspiju izvući preddjeljeni ključ i na temelju toga ugroziti sigurnost sigurne veze uspostavljene korištenjem IPSeca.

Flooding, odnosno "poplavni" napadi, su u kategoriji DoS napada, te principi koji se koriste za ostvarivanje takvih napada u IPv4 ostaju poprilično slični i u IPv6, jedina razlika je što će praćenje porijekla takvih napada vjerojatno biti jednostavnije.

17

Page 20: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

4. Zaključak

Od najjednostavnije mreže do danas prošlo je četrdeset godina, da bi se od onih prvih bitova informacije koji su se prenosili preko žice došlo do današnjih gigabajta podataka koji se prenesu u sekundi. Na isti način, krenuvši od protokola IPv4, za koji se smatralo da je neprobojan i nezamjenjiv, ubrzo se ispostavilo da to nije tako, pa su stručnjaci počeli raditi na novom i boljem protokolu koji bi ga trebao zamijeniti. Tako je nastala ideja IPv6, koja se i dan danas razvija, i sve ju je teže implementirati na globalnoj skali. Proći će mnogo vremena u kojem će suživot IPv4 i IPv6 u istom sustavu biti nužan, jer nije moguće postići da se sva računala na svijetu ugase na minutu da se cijela struktura zamijeni. U početku se smatralo da će se IPv6 implementirati najkasnije do 2009. godine. U Azijskim zemljama to jest slučaj, ali za Europu i Ameriku još nije niti će biti, po novim predviđanjima, do 2020. Tehnologija unatoč svojim velikim skokovima i dalje nailazi na probleme i otpore pojedinih korisnika, što usporava cijeli proces implementacije. No, čak i korištenjem IPv6, naša sigurnost u toj divljini interneta nije osigurana jer su na glavnoj meti nesigurne aplikacije, koje se danas mahom razvijaju – što od strane velikih korporacija što od malih korisnika. IPv6 zasad ima glavnu svrhu omogućiti doista svakom računalu zasebnu adresu, kako bi se svako računalo moglo raspoznati, a sigurnosni aspekti će se uvijek moći "još malo popraviti". Pa tako, u iščekivanju te nove promjene, još živimo u svijetu skrivenom iza NAT routera, ali "personalizacija računala" nas u vrlo bliskoj budućnosti čeka.

18

Page 21: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

5. Literatura

1. S.Kent, R. Atkinson, RFC 2401, 11.1998., Security Architecture for the Internet Protocol, http://www.ietf.org/rfc/rfc2401.txt, 4.2009.

2. S. Kent, RFC 4303, 12.2005., IP Encapsulating Security Payload (ESP), 

http://www.ietf.org/rfc/rfc4303.txt, 4.2009.

3. S. Kent, RFC 4302, 12.2005.,  IP Authentication Header,  http://www.ietf.org/rfc/rfc4302.txt, 4.2009

4. D. Harkins, D. Carrel, RFC 2409, 11.1998., The Internet Key Exchange (IKE),  http://www.ietf.org/rfc/rfc2409.txt, 4.2009.

5. IPSec, 12.4.2009., IPSec, http://en.wikipedia.org/wiki/IPsec, 4.2009.

6. IKEv2, 4.4.2009., Internet Key Exchange, http://en.wikipedia.org/wiki/IPsec, 4.2009.

7. S. Convery, D. Miller, v6­v4­threats.pdf, 11.3.2004., IPv6 and IPv4 Threat  Comparison and Best­Practice Evaluation, http://seanconvery.com/v6­v4­threats.pdf, 4.2009.

8. Diffie­Hellman Key Exchange, 14.4.2009., Diffie­Hellman Key Exchange,  http://en.wikipedia.org/wiki/Diffie­Hellman, 4.2009.

9. Ladid, L., IPv6 Security And Privacy Position Paper, 12.2004.

10.  S. Deering, R. Hinden, RFC 2460, 12.1998., Internet Protocol, Version 6  (IPv6) Specification, http://www.ietf.org/rfc/rfc2460.txt, 4.2009.

11.  H. Soussi, M. Hussain, H. Afifi, D. Seret, IKEv1 and IKEv2: A quantitative analyses, www.math­info.univ­paris5.fr/~seret/paperb4F.pdf, 5.2009.

12.  SANS Institute, Security features in IPv6, www.sans.org/reading_room/whitepapers/protocols/security_features_in_ipv6_380, 5.2009.

13.  S. Kent. R. Atkinson, RFC 2401, 12.1998., Security Architecture for the Internet Protocol, http://www.ietf.org/rfc/rfc2401.txt, 5.2009.

14.  D. Piper, RFC 2407, 11.1998., The Internet IP Security Domain of  Interpretation for ISAKMP, http://www.ietf.org/rfc/rfc2407.txt, 5.2009.

15.  D. Maughan, M. Schertler, M. Schneider, J. Turner, RFC 2408, 12.1998., Internet Security Association and Key Management Protocol (ISAKMP), http://www.ietf.org/rfc/rfc2408.txt, 5.2009.

16.  R. Thayer, N. Doraswami, R. Glenn, RFC 2411, 12.1998., IP Security Document Roadmap, http://www.ietf.org/rfc/rfc2411.txt, 5.2009.

17.  A. Kukec, Uvod u IPsec standard i IKEv2 protokol, 2006., http://os2.zemris.fer.hr/ns/2006_kukec/, 5.2009.

18.  M. Mikić, IKEv2 i prevođenje mrežnih adresa, 2007., http://os2.zemris.fer.hr/protokoli/2007_mikic/, 5.2009.

19

Page 22: Sigurnosni aspekti IPv6 - FERsigurnost.zemris.fer.hr/protokoli/2009_perica/seminar_P... · 2009-08-25 · SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR Sigurnosni

6. Sažetak

U ovom seminaru se obradio koncept komuniciranja računala preko mreže, usporedili su se oblici IP adresa, odnosno njihove sličnosti i najznačajnije razlike. Slijedi kratak pregled ostvarivih napada na IP (ARP/DHCP napadi, napadi pomoću fragmentacije, sniffing, flooding, man­in­the­middle, itd.), te temeljni koncepti sigurnosti koji se danas koriste ili će se u bliskoj budućnosti koristiti, poput IPSec­a, autentikacijskog zaglavlja te ESP­a.

20