................... ...::: phearless zine #2 :::... .....>---[ Security from iso/osi reference model perspective ]---<...... .........................>---[ by root9 ]---<........................... root9[at]net[dot]hr Sadrzaj Uvod ISO/OSI model i Internet 1. sloj - Sigurnost signala na vodu -Fizicki sloj u ISO/OSI referentnom modelu -Sigurnosne prijetnje na fizickoj razini -Prisluskivanje --Presretanje elektromagnetskog zracenja ---Intruzivno prisiuskivanje signala u vodu ---Prisluskivanje radio signala i mikrovalova --Ometanje i onemogucavanje komunikacije --Neovlasteno mijenjanje signala -Zastita podataka na fizickoj razini --Zastita visih razina --Eliminacija elektromagnetske radijacije --Zastita signala u vodovima --Zastita bezicnih veza 2. sloj - Sigurnost okvira izmedu dva susjedna racunala na vezi -Sloj podatkovne veze u ISO/OSI referentnom modelu -Sigurnosne prijetnje na razini podatkovne veze --Neovlasteni prijem okvira --Krivotvorenje okvira (hardware address spoofing). --Sigurnosni problemi Point to point protokola -Zastita podataka na razini podatkovne veze --Segmentacija mreze --Koristenje nestandardnih mreznih komponenti --Koristenje filtrirajuce mrezne opreme --Pracenje sigurnosnih izvjesca 3. sloj - Sigurnost paketa u mrezi -Sloj mreze u ISO/OSI referentnom modelu -Sigurnosne prijetnje na mreznoj razini --Krivotvorenje ARP poruka --Krivotvorenje usmjerivackih poruka --Krivotvorenje poruka usmjerivackog protokola --Onemogucavanje izvrsavanja servisa -Zastita podataka na mreznoj razini --Otkrivanje krivotvorenih ARP poruka --Onemogucavanje krivotvorenja ARP poruka --Zastita od utjecaja krivotvorenih ICMP redirekcijskih poruka --Zastita od utjecaja krivotvorenih poruka usmjerivackih protokota --Koristenje IPsec nadogradnje Internet protokola --Koristenje vatrozida 4. sloj - Sigurnost prijenosa izmedju dva krajnja racunala -Transportni sloj u ISO/OSI referentnom modelu -Sigurnosne prijetnje na razini transporta --Zaobilazenje filtriranja iskoristavanjem fragmentacije na mreznoj razini --Napad fragmentacijom TCP zaglavlja --Napad iskoristavanjem preklapanja fragmenata --Ometanje i onemogucavanje rada racunala ---"Syn flood" napad ---"Land" metoda napada ---"Rose Attack" metoda ---Preplavljivanje UDP paketima ---Napad desinkronizacijom TCP veze ---Uspostavljanje i odrzavanje veze TCP-om ---Desinkronizirano stanje veze ----Izvodenje napada desinkronizacijom veze -Zastita podataka na razini transporta --Koristenje vatrozida --Zastita od napada iskoristavanjem fragmentacije --Samozastita racunala na razini transporta 5. sloj - Sigurnost veze izmedu procesa Sloj -sesije u ISO/OSI referentnom modelu -Sigurnosne prijetnje na razini sesije --RPC prijetnje -Zastita podataka na razini sesije --Koristenje SSL i TLS protokola ---Secure Sockets Layer protokol ---Transport Layer Security protokol --Koristenje protokola sigurne identifikacije ---TAG Access Control Server protokol ---Kerberos 6. sloj - Sigurnost podataka u prijenosnoj sintaksi -Sloj prikaza u ISO/OSI referentnom modelu -Sigurnosne prijetnje na razini prikaza --Napadi slanjem poruka u prijenosnoj sintaksi --Kriptoanaliza ---Nasilno desifriranje podataka (brute force attack) ---Lazno predstavljanje (Social engineering) -Zastita podataka na razini prikaza --Koristenje PGP kriptosustava --Temelji PGP sifriranja ---Sigurna identifikacija, integritet podataka i neporecivost ---Kljucevi, distribucija i certifikati 7. sloj - Sigurnost izvornog podatkovnog sadrzaja -Aplikacijski sloj u ISO/OSI referentnom modelu -Sigurnosne prijetnje na aplikacijskoj razini --Krivotvorenje DNS odgovora --Krivotvorenje tekstualnih poruka --Napad FTP posluzitelja (The bounce attack) --Napadi povezani uz World Wide Web --Presretanje i krivotvorenje SNMP paketa --Dostupnost zaporki --Preotimanje uspostavljene veze --Trojanski konji -Zastita podataka na aplikacijskoj razini --Vanjska kontrola pristupa --Vatrozidi --Mrezni posrednici (proxy) --Sigurnost na krajnjim tockama komunikacije --Koristenje sigurne identifikacije Uvod U ovom tekstu mozete procitati o svi sigurnosnim aspektima vezanih uz mrezu. Prvo sam odlucio da cu opisati sigurnosne propuste za svaki sloj ISO/OSI, a nakon njih zastitu s kojom se smanjuje ili u potpunosti uklanja sigurnosni rizik. Ovaj tekst napisao sam za svoj buduci seminar tako da je tekst napisan koristeci pravilnik o pisanju seminara (prevodjenje svih eng. izraza i sl.). Globalizacijom Interneta, te stalnim snizenjem cijena racunala, danas racunala dostupnija su nego ikad. Potencijal takve globalne mreze ubrzo je shvacen i u poslovnom svijetu pa je uslijedila nagla komercijalizacija. U takvim okolnostima, sigurnost podataka na Internetu postaje, u bilo kojem kontekstu koristenja te mreze, najvaznijim aspektom uopce. Stete koje mogu nastati kao rezultat bilo kakvog ugrozavanja podataka dostupnih na Internetu danas se mjere u milijardama dolara. S velikom se sigurnoscu moze tvrditi da ne postoji racunalo s pristupom na Internet koje ne moze biti metom napada i zato omogucavanje zadovoljavajuce razine vlastite sigurnosti mora biti imperativ svakog umrezenog objekta, bio to pojedinac ili organizacija. Najopcenitija definicija racunalske sigurnosti jest ona od Howard te glasi: "Racunalska sigurnost jest sprecavanje napadaca da postigne svoje ciljeve koristeci nedopusteni pristup ili nedopustenom upotrebom racunala i racunalskih mreza." Iz perspektive Interneta, zadovoljavajuca je definicija sigurnosti sadrzana u slijedecoj recenici: "Sigurnost na Internetu je onemogucavanje napadaca da uzrokuje stetu bilo koje vrste nad podacima dostupnim koristenjem Internet infrastrukture." Da bi definicija bila potpuno odredena, jos je samo potrebno defmirati i sam pojam Interneta. U tu svrhu, Internet se moze defmirati kao: "Globalna racunalska mreza sastavljena od medusobno povezanih elemenata (privatnih, javnih i ostalih mreza i racunala) koji komuniciraju TCP/IP skupom protokola". U ovom tekstu nemoguce je prikazati sve moguce aspekte racunalske sigurnosti tako da cu objasniti ona najpoznatija. Neki sigurnosni propusti vise nisu aktualni, ali bitno je uhvatiti "bit" racunalne sigurnosti u mrezi. ISO/OSI model i Internet Internet arhitektura kakvu danas poznajemo, od samih svojih pocetaka bazira se na TCP/IP modelu protokola, koji predstavlja de facto standard na podrucju globalnog i lokalnog umrezavanja. Glavna odlika TCP/IP modela i najveci razlog njegove dominantnosti jest orijentiranost implementaciji pa su napori u razvoju modela usmjereni prema sto boljem sudjelovanju sa sto vecim brojem razlicitih fizickih mreznih arhitektura. Ako bi se za TCP/IP model moglo reci da je nedovoljno promisljen ali potvrden u praksi, za ISO/OSI model vrijedi upravo suprotna tvrdnja. Radi se, naime, o medunarodnom de jure standardu u podrucju umrezavanja koji je, nakon nekoliko godina razvoja, donesen 1978. godine. Odlika je tog sedmeroslojnog modela definiranje standarda za sve komponente mreznih arhitektura, a ne prilagodavanje postojecim sve raznolikijim rjesenjima. Na zalost, unatoc svim prednostima ovakvog pristupa, taj model jos nije u vecoj mjeri zazivio u implementaciji. Sagledavanjem cinjenica iznesenih u prethodnom odjeljku, postavlja se opravdano pitanje koji je razlog istrazivanja sigurnosti na Internetu oslanjajuci se na, u praksi slabo koristen, ISO/OSI model umjesto na Internetu imanentni TCP/IP model. Vec je receno da bi se potonjem mogla prigovoriti nedovoljna promisljenost. Kompenzaciju tog nedostatka pruza upravo dobro definirani ISO/OSI model. Naime, strogost modularnog dizajna ovog modela pruza mogucnost povlacenja funkcionalne paralele izmedu TCP/IP i ISO/OSI baziranih mreznih arhitektura. Ta je usporedba prikazana na sljedecoj slici. Korist od ovakvog pristupa istrazivanju Internet sigurnosti ocituje se u laksoj i potpunijoj sistematizaciji sigurnosnih aspekata. Dok se vecina literature koja obraduje ovo podrucje oslanja na manjkav TCP/IP model i time najcesce ne pruza kompletan pregled svih sigurnosnih elemenata, ovaj ce se tekst osloniti na funkcionalnu analogiju dvaju modela, te pruziti pregled sigurnosnih prijetnji i njihovog onemogucavanja u svakom od sedam ISO/OSI slojeva. Sigurnosni aspekti svakog od slojeva takoder su prikazani na sljedecoj slici. ------------------------------------------------------------------------------- | |ISO/OSI sloj | TCP/IP sloj | Sigurnosni aspekt | |-------------------------------------------------------------------------------| | 7 | Aplikacije | Aplikacijski | Sigurnost izvornog podatkovnog sadrzaja | |-----------------| protokoli |---------------------------------------------| | 6 | Prikaza | (FTP, TELNET, | Sigurnost podataka u prenosnoj sintaksi | |-----------------| SMTP,..) |---------------------------------------------| | 5 | Sesije | | Sigurnost veze izmedu procesa | |-------------------------------------------------------------------------------| | 4 | Transporta | TCP, UDP | Sig. prijenosa izmedu dva krajnja racunala | |-------------------------------------------------------------------------------| | 3 | Mreze | IP | Sigurnost paketa u mrezi | |-------------------------------------------------------------------------------| | 2 | Veze | Protokoli | Sig. okvira izmedu dva susjedna rac. na vezi| |-----------------| fizickog |---------------------------------------------| | 1 | Fizicki | prijenosa | Sig. signala na vodu | ------------------------------------------------------------------------------- Sigurnosni aspekt jest element mreznog protokola date razine koji je sigurnosnim prijetnjama ugrozen ili ga se zloupotrebljava te zbog toga treba biti zasticen. Na primjer, na najnizoj,fizickoj razini, napadac prisluskuje ili ometa prijenosni signal, pa je prema tome sigurnost signala onaj aspekt na kojeg se treba koncentrirati pri osiguravanju ove razine. U nastavku teksta, upravo ce sigurnosni aspekt biti glavni kriterij svrstavanja grade u koristeni model sistematizacije. ------------------------------------------------------------------------------------ 1. sloj - Sigurnost signala na vodu Fizicki sloj u ISO/OSI referentnom modelu Na najnizem, fizickom, sloju ISO/OSI modela nalazi se strojna oprema -spojista, vodici i signali koji njima putuju da bi direktno povezali dvije tocke mreze. Prijenos podataka Internetom danas se najcesce vrsi elektricnim ili svjetlosnim signalima kroz zicane ili opticke vodove te radio ili mikrovalovima prostorom. Svaki od ovih nacina prijenosa podlozan je opasnim sigurnosnim prijetnjama. U razvoju TCP/IP modela ovaj je sloj bio nepromjenjiva konstanta - model se oslanjao na fizicki sloj za obavljanje prijenosa ali nije imao ambicije baviti se njegovom implementacijom ili razvojem. Iz tog razloga sigurnosne prijetnje na ovoj razini nisu osobitost Interneta samog, vec svake mreze koja koristi neku od nabrojanih tehnologija prijenosa. Iz istog razloga, radovi koji se bave sigurnoscu na Internetu slabo ili nikako ne obraduju ovo podrucje cime uskracuju vazan dio znanja o nacinima zastite od napada na ovoj razini. Ipak, nedavnim saznanjima o projektu Echelon (americki spijunski projekt globalnog prisluskivanja elektronickih komunikacija putem mreze presretackih stanica i satelita, koristio se upravo presretanjem na fizickoj razini, odnosno prisluskivanjem prijenosnih signala), jace se razvila svijest o ozbiljnosti prijetnji koje dolaze s ove razine. Globalna podjela sigurnosnih prijetnji koja ce biti koristena u ovom tekstu, na bilo kojoj razini razlikuje dvije vrste napada: - pasivni napadi su napadi koji se bave neovlastenim citanjem podataka - aktivni napadi su napadi koji uzrokuju promjenu ili unistenje podataka Na fizickoj razini, u pasivne napade se moze uvrstiti bilo koja vrsta prisluskivanja prijenosnih signala dok se aktivnim napadima smatraju onemogucavanje komunikacije te neovlasteno mijenjanje signala. Svaki ce od ovih napada, kao i nacini njihovog sprecavanja, biti obradeni u nastavku. Prisluskivanje Prisluskivanje na fizickoj razini jest neovlasteno primanje prijenosnog signala. U mnogim je drzavama, pa tako i u nasoj, prisluskivanje stavljeno van zakona. Prema clanku 131. Kaznenog zakona Republike Hrvatske kaznjivo je bilo kakvo neovlasteno prisluskivanje ili snimanje razgovora ili izjave koji su namijenjeni nekom drugom, sto se odnosi i na racunalske podatke, odnosno poruke. U podatkovnoj komunikaciji, napadacu nije dovoljno presresti i snimiti signal iako je vec time pocinio kazneno djelo. Da bi uzrokovao stetu nad podacima, on mora iz signala izdvojiti korisne informacije, dakle sadrzaj koji signal prenosi. Iz tog se razloga tehnike prisluskivanja nikad ne koriste samostalno, vec se kombiniraju s tehnikama koje analiziraju signal i dobivene podatke interpretiraju kroz vise razine, a bit ce objasnjene u slijedecim poglavljima, u sklopu razina kojima pripadaju. Ovisno o nacinu prijenosa, postoji nekoliko tehnika prisluskivanja od kojih su neke svojom slozenoscu vrlo sofisticirane, dok su druge vrlo jednostavne. Presretanje elektromagnetskog zracenja Opce je poznata cinjenica da racunalska oprema samim svojim radom emitira odredenu kolicinu elektromagnetskog zracenja. Manje je poznata cinjenica da to zracenje, uz odgovarajucu opremu, bilo kome moze omoguciti najneprimjetniji i time najudobniji nacin prisluskivanja. Od mreznih komponenti koje se koriste u infrastrukturi Interneta, najranjiviji na takav nacin napada su "inteligentni" elementi, poput usmjerivaca, kod kojih najvecu razinu zracenja ispustaju njihovi procesni element, te vodovi kojima prolazi elektricni signal. Nerazvijena svijest o ovoj vrsti prijetnje uzrok je cinjenici da je danas gotovo kompletna infrastruktura Interneta podlozna prisluskivanju presretanjem elektromagnetskog zracenja. Elektricni signali koji putuju unutar usmjerivackih sklopova ili kroz vodove posjeduju dvije bitne karakteristike koje uzrokuju pojacano elektromagnetsko zracenje i olaksavaju detekciju takvog zracenja u odnosu na detekciju zracenja ostalih izvora. Te su karakteristike: - oblik signalnog vala - cetverokutni "square" valovi oslobadaju vece kolicine konstantnog zracenja od nekih drugih oblika valova - frekvencije signalnog vala suvremena oprema koristi visoke frekvencije signalnih valova koje rezultiraju jacim zracenjem. Vjeruje se da se uspjesno presretanje elektro magnetskog zracenja nezasticene opreme te izdvajanje korisnih podataka moze vrsiti do udaljenosti unutar jednog kilometra od izvora. Sljececa slika prikazuje nacin funkcioniranja ove vrste prisluskivanja ________ / \ | Internet | \________/ / \ \ / ____________ / \ ____________ Mreza A -------|Usmjerivac A| |Usmjerivac B|--------------- Mreza B |____________| |____________| \__ /\____ /\_____ / /\ ____________ / \_______|Prijemnik i | |i analizator|-->Podaci |____________| Sustav prisluskivanja sastoji se od tri kljucne komponente: - antena (eksperimentalno je dokazano da se vec i obicnim antenama za prijem zemaljskog radijskog ili televizijskog programa mogu dobiti zadovoljavajuci rezultati. Bolji rezultati dobivaju se konstruiranjem antena koje ciljano primaju elektromagnetske valove u podrucju nizih valnih duljina) - radio prijemnik (iz iskustva je poznato da zracenje racunalske opreme moze izazivati smetnje i na obicnim radio prijemnicima. Prijemnici koji se koriste u nadzoru opremljeni sa posebnim filtrima i pojacalima koji pospjesuju prijem valnog podrucja od interesa) - analizator signala (najcesce je racunalo koje iz primljenih signala izdvaja podatke) Intruzivno prisiuskivanje signala u vodu Intruzivno prisiuskivanje signala u vodu ostvaruje se fizickom kompromitacijom voda. Ovisno o vrsti voda, postoje i razliciti nacini kompromitacije voda. Vodovi koji danas cine infrastrukturu Interneta provode ili elektricne ili svjetlosne signale. Vodove kojima putuju elektricni signali najlakse je intruzivno prisluskivati, pogotovo ako nisu zasticeni. Sljedeca slika prikazuje intruzivni spoj na vod kojim putuju elektricni signali. _ spoj na vod | ----------|---------- ---------------------\ \vodic Glavna odlika ovakvog nacina spajanja jest pasivnost, sto otezava ili onemogucava njegovo otkrivanje jer spoj ne izaziva nikakve smetnje u radu mreze. Elektricni signal se jednostavno grana i putuje do odredista neometan, dok napadac isti taj signal takoder neometano prima. Nakon toga, pretvaranjem signala u podatke i raznim protokol analizama vise razine, napadac ga lako moze koristiti da neovlasteno pribavi bilo kakvu informaciju koja putuje vodom. Opticke je vodove takoder moguce intruzivno prisluskivati. U tu svrhu, postoje dva razlicita pristupa prisluskivanju. Oba su nacina prikazana na sljedecoj slici. _ spoj na opticki vodic | ----------°---------- ---------------------\ \ opticki vodic Prvi nacin kradja signala ulaz izlaz _|___|_ --------|_| |_|---------- --------|_______|----------\ \ opticki vodic Drugi nacin umetanje aktivnog elementa Prisluskivanje umetanjem aktivnog elementa je destruktivniji od dvaju nacina. Ostvaruje se potpunim fizickim prekidanjem voda. Oba se prekinuta kraja tada spajaju na aktivni element. Aktivni je element zapravo prijemnik i predajnik u jednom, pri cemu je zadatak predajnika ponavljati primljeni signal bez promjene. Signal iz prijemnika, uz prosljedbu predajniku, takoder putuje i do napadaca i njegove opreme omogucujuci mu neovlasteni pristup podacima. Drugi bi se nacin prisluskivanja optickog voda mogao nazvati i "kradjom" signala. Moguce je, naime, zarezivanjem ovojnice voda doprijeti do samih optickih vlakana, bez njihova ostecivanja. Stavljanjem detektora na mjesto te vrste intruzije, omogucava se nesmetan promet vodom (odnosno, normalan lom svjetla u vodu) uz istovremeno osiguran neovlasten pristup signalu. Teskoca je ovog pristupa velika kompleksnost detektora koji mora biti i dovoljno osjetljiv i dovoljno tocan da bez gresaka rekonstruira signal u vodu. Prisluskivanje radio signala i mikrovalova Najlaksi je nacin prisluskivanja presretanje signala koji putuju prostorom. Metama takvih napada mogu biti sve vrste bezicnih veza, od bezicnih lokalnih mreza do satelitskih veza. Postupci i oprema koja se koristi za takvu vrstu prisluskivanja jednostavni su i gotovo jednaki bez obzira o kakvim se signalima radi. Kljucni dio opreme cini antena. Usmjerene antene, u zargonu nazvane "ribljom kosti" koriste se u prisluskivanju usmjerenih ili geografski ogranicenih signala koje generiraju mikrovalne veze ili bezicne lokalne mreze. Sirokopojasne antene se koriste za prijem signala koji se slobodno sire prostorom, kao sto su radio signali. Jednom primljen signal dalje se, uz znanje o njegovim karakteristikama (frekvencija, nacini modulacije i slicno), lako pretvara u podatke koji se mogu dalje analizirati. Ometanje i onemogucavanje komunikacije Najjednostavniji nacin ugrozavanja podataka na Internetu je onemogucavanje komunikacije. To je vrsta aktivnog napada koju bi se moglo nazvati "mreznim vandalizmom" jer se cesto koristi destruktivnim metodama u postizanju svojih ciljeva. Ovisno o vrsti mrezne infrastrukture koja se napada, te se metode razlikuju, ali im je zajednicka karakteristika da su vrlo jednostavne. Pri tome se najcesce napada medij, odnosno vod kojim putuje signal. Onemoguciti komunikaciju vodom najlakse je nasilnim prekidom ili unistenjem voda. Drugi je nacin onemogucavanja intenzivnim ometanjem, na sto su ranjivi vodovi koji prenose elektricne signale. Ispostavljanje takvog voda jakom magnetskom zracenju destruktivno utjece na signal koji njime putuje cime se otezava i na kraju onemogucava komunikacija. Onemoguciti komunikaciju bezicnom vezom, radio ili mikrovalovima, takoder nije tesko. Emitiranjem slucajnog signala u frekvencijskom podrucju signala veze, veza ce postati neucinkovita zbog smetnji ili ce biti potpuno prekinuta. Pri tome se najveci efekt postize usmjerenim odasiljanjem prema prijemniku ili predajniku. Posebne vrste potpuno usmjerenih bezicnih veza, kao sto je laserska veza, zahtijevaju opticku vidljivost izmedu predajnika i prijemnika. Trivijalan je nacin onemogucavanja takve veze postavljanjem prepreke na put signala. Utjecajem na medij (zrak), najcesce zagrijavanjem, u blizini predajnika ili prijemnika, moze se postici skretanje usmjerene zrake i prekid veze. Neovlasteno mijenjanje signala Na fizickoj razini ISO/OSI referentnog modela teoretski je moguce neovlasteno mijenjati prijenosni signal. Medutim, puko mijenjanje signala, bez mijenjanja podataka i na visim razinama, pripadalo bi u kategoriju ometanja i onemogucavanja komunikacije. Stoga je neovlasteno mijenjanje signala u smislu krivotvorenja podataka na fizickoj razini samo posljedica neovlastenog mijenjanja podataka na visim razinama. Drugim rijecima, krivotvorenje podataka inherentno uzrokuje i promjenu signala koji te podatke prenosi. Gledajuci fizicki spoj na mrezu, mijenjanje signala obavlja se slicnim, ranije opisanim, nacinima kojima se vrsi i njegovo prisluskivanje. Jedina je razlika ta sto se, u ovom slucaju, u mrezu neovlasteno ubacuje signal koji predstavlja neke podatke, dakle napad je aktivnog tipa, za razliku od prisluskivanja koje pripada pasivnim napadima. Zbog toga je mijenjati signal teze. Prakticna izvedivost neovlastenog mijenjanja signaia ovisna je o nacinima prijenosa i vrsti protokola visih razina. Posto nas na ovoj razini zanimaju samo nacini fizickog prijenosa, u slijedecim odjeljcima ukratko ce biti obradene mogucnosti neovlastenog mijenjanja signala s obzirom na taj aspekt. Najlaksi nacin uvodenja izmijenjenog signala u mrezu je putem vodova, bilo da je rijec o koaksijalnim vodovima, paricama ili optickim vlaknima. Nakon fizickog prekidanja voda, spajanje strojne komponente koja je u mogucnosti tim vodom prenositi identican signal kakav po njemu vec putuje je trivijalno i opisano prije, u dijelu teksta koji se bavi intruzivnim prisluskivanjem. Kada se radi o bezicnom prijenosu, jednostavnost ovisi o prirodi prijenosnog vala. U slucaju usmjerenog vala, koji se najcesce koristi u prijenosima putem lasera ili infracrvenog svjetla, zadatak napadaca takoder nije tezak. U takvim je slucajevima najcesci zahtjev opticka vidljivost na relaciji predajnik-prijemnik sto ostavlja mogucnost da se direktno na put signala postavi prepreka koja istodobno sprecava prolaz originalnom signalu i generira lazni signal. U slucaju djelomicno usmjerenih ili neusmjerenih valova, primjerice radio i mikrovalova, napad neovlastenim mijenjanjem signala je teoretski moguc, ali u praksi tesko izvediv. Zastita podataka na fizickoj razini Zastita visih razina Prije iznosenja glavnih nacina zastite podataka od napada na fizickoj razini, potrebno je naglasiti da niti jedan od njih nije potpuno siguran i ne garantira podacima sigurnost u prijenosu. Namjera ovog kratkog odjeljka je upozoriti da se samo kombiniranjem mjera zastite po sto vecem broju mreznih razina moze osigurati zadovoljavajuca zastita. Sve ce najcesce koristene i najucinkovitije tehnike zastite biti obradene u nastavku teksta, prema mreznoj razini na kojoj djeluju. Eliminacija elektromagnetske radijacije Americka je Vlada rano uvidjela opasnosti od ugrozavanja sigurnosti presretanjem elektromagnetskog zracenja. Rezultat je toga tajni projekt, kodnog imena "TEMPEST", koji se koncentrirao na pronalazenje ucinkovitih nacina osiguranja od spomenute prijetnje. Tehnologija dobivena istrazivanjem ovog podrucja danas se vecinom koristi u zastiti vojnih i ostalih podataka vaznih za americku nacionalnu sigurnost, a ponekad i za hvatanje hakera, (kad koriste "neprobojne" algoritme poput PGP). Iako civilnim korisnicima tehnologija "TEMPEST" projekta nije dostupna, pridrzavanje nekih smjernica pri nabavci i instaliranju mrezne opreme moze znacajno smanjiti rizik od prisluskivanja presretanjem elektromagnetskog zracenja. Zastita prikupljena iz razlicitih izvora, naveden je u nastavku: - pridrzavanje standarda o dopustenom zracenju -- vecina opreme nosi deklaraciju o zadovoljavanju nekog americkog standarda o dopustenom zracenju, pri cemu oprema koja zadovoljava najstrozi (FCC Class "B") standard posjeduje, za civilne svrhe, dovoljnu sigurnost od prisluskivanja - upotreba oklopljenih vodica - vodici koji su dodatno zasticeni, najcesce metalnom folijom, oslobadaju manju kolicinu zracenja koju je teze detektirati - ugradnja filtera - filteri razlicitih vrsta mogu se ugraditi na spojeve s vodovima kako bi eliminirali prenosenje elektromagnetskog zracenja kroz vodove napajanja ili mrezne veze, kao i telefonske vodove - koristenje feritnih jezgri - omotavanjem duzih vodica oko feritnih jezgri njihovo se zracenje trosi zagrijavanjem u samom materijalu i tako velikim dijelom eliminira -uzemljenje - uzemljenje za elektromagnetska zracenja ucinkovit je nacin njihove eliminacije, ali i vrlo tezak za implementaciju jer mora djelovati na sto vecu kolicinu zracenja koje pokriva vrlo sirok spektar Zastita signala u vodovima Zastita prijenosnih vodova nije uvijek lagan zadatak i, na zalost, ne ovisi o krajnjem korisniku osobi direktno zainteresiranoj da podaci budu sigurni. Komercijalnim tvrtkama, vlasnicima vodova, u interesu jest njihova zastita od unistenja, ali nedovoljna se paznja posvecuje zastiti signala koji njima putuju, posebno od prisluskivanja. Odreden splet okolnosti ipak, na srecu, diktira rastucu razinu zastite signala u vodovima. Tehnoloski je razvoj u posljednjem desetljecu za glavni prijenosni medij odredio opticka vlakna. Ucinak na povecanu razinu zastite signala koja se dobiva koristenjem optickih vlakana je dvojak: - prijenos svjetlosnim zracenjem znaci eliminaciju elektromagnetskog zracenja koje se moze presresti u svrhu prisluskivanja. Uz to, na minimum je smanjena i mogucnost intruzivnog prisluskivanja - osjetljivost vlakana uvjetuje, za sigurnost, bolje uvjete njihova postavljanja. Vodovi se najcesce postavljaju podzemno gdje su tesko dostupni napadacima i zasticeni su posebnim zastitnim cijevima. Uz koristenje optickih vlakana i otezavanje dostupa vodovima, u okolinama gdje se zahtijeva sigurnost najvise razine, moguce je vodove postaviti unutar posebnih cijevi pod pritiskom. U kombinaciji sa senzorima za otkrivanje promjena u pritisku unutar takvih cijevi, ovaj pristup cini najsigurniji nacin zastite vodova koji je, medutim, vrlo skup za implementaciju, i tako nedostupan za siroku upotrebu. Zastita bezicnih veza Raznolikost nacina bezicnog povezivanja pruza velik izbor pri ostvarenju bezicnih veza. Bezicne veze nisu samo 802.11x (x prestavlja sve trenutne i buduce standarde) vec sve sto putuje ne zizanim vodovima. Detalje o bezicnim mrezama 802.11x mozete procitati u prvom broju phearless zine "Wireless: Under the hood by argv". Samo da napomenem da malo prije spomenuti tekst objasnjava sniffanje bezicnih mreza i to ne spada u prvi sloj vec cetvrti sloj ISO/OSI referetnog modela. Ovdje cu objasniti bezicnu infracvenu i radio komunikaciju (koristi vojska). Sa sigurnosnog aspekta, povoljni nacini povezivanja dani su u obliku smjernica u slijedecim odjeljcima. Za povezivanje geografski razdvojenih lokacija najbolje je koristiti usmjerene veze. Pri tome su najpogodnije pravocrtne usmjerene veze koje zahtijevaju opticku vidljivost, kao sto je laserska veza. Takve je veze nemoguce neopazeno prisluskivati ili ometati jer je svaka prepreka na putu signala, postavljena u tu svrhu, vidljiva golim okom i lako uklonjiva. Ukoliko konfiguracija terena ili udaljenost ne dopustaju upotrebu ovakve veze, neizbjezno je koristiti radio ili mikrovalove. Povecanu razinu sigurnosti takve komunikacije pruza koristenje sirokog spektra frekvencija i preskakanje frekvencijskih podrucja. Princip na kojem radi ova tehnologija jednostavan je. Ukupan frekvencijski opseg koji je dostupan za upotrebu, dijeli se na nekoliko frekvencijskih pojaseva. Predajnik, prema nekom odredenom kljucu, svaki od tih pojaseva koristi u nekom kratkom vemenskom intervalu za odasiljanje. Po isteku intervala, predajnik "preskace" na drugi frekvencijski pojas. Pozitivni sigurnosni pomaci dobiveni koristenjem ovih tehnologija ocituju se u dva aspekta: - otezano ometanje - tehnologija dopusta da se frekvencijski pojasevi u kojima su prisutne smetnje iskljuce iz upotrebe, ili, u slucaju nestanka smetnji, ponovo ukljuce - otezano prisluskivanje - nacin i raspored upotrebe frekvencijskih pojaseva u komunikaciji poznat je samo predajniku i prijemniku, a bez tih podataka rekonstrukcija originalnog signala nije moguca vec on primatelju izgleda poput uobicajenog suma u datom opsegu, odnosno smetnje. U lokalnom je umrezavanju, postoji li mogucnost prisluskivanja izvana, preporucljivo koristiti bezicnu, infracrvenu komunikaciju. Infracrveni valovi imaju mali domet i ne prolaze kroz cvrste objekte kao sto su zidovi, pa ih se, za razliku od elektromagnetskih valova, ne moze presresti u svrhu prisluskivanja. Ukoliko komunikacija bazirana na infracrvenim valovima nije moguca, druga mogucnost sastoji se u koristenju bezicne radio komunikacije koja koristi preskakanje frekvencija i opisana je maloprije. Svakim danom pojavljuju se nove bezicne tehnologije koje pruzaju neke nove mogucnosti jedna od njih je Bluetooth, a sigurno ce ih biti jos. ------------------------------------------------------------------------------------ 2. Sloj - Sigurnost okvira izmedu dva susjedna racunala na vezi Sloj podatkovne veze u ISO/OSI referentnom modelu Sloj podatkovne veze, zajedno sa fizickim slojem ISO/OSI modela, u TCP/IP okolini cini najnizu razinu. Za razliku od fizickog sloja, specifikacijama nekih Internet protokola obuhvacen je i sloj veze. Prema ISO/OSI referentnom modelu, sloj veze pruza visim razinama pouzdan prijenos podataka obavljajuci formatiranje podataka u okvire, detekciju gresaka i retransmisiju podataka u slucaju greske. Prijenos podataka moze teci ili putem uspostavljene veze pri cemu su podaci preneseni vezom logicki povezani, ili bez uspostavljanja veze, pri cemu se svaki okvir smatra samostalnim. Protokoli ovog sloja podatke prenose izmedju izvora i odredista koji su elementi iste fizicke mreze. U skupu protokola razvijenih za koristenje na Internetu, jedan se vazan protokol nalazi bas na drugoj razini ISO/OSI referentnog modela. Taj je protokol nazvan "Point to point protocol", ili skraceno PPP, a danas se koristi kako u povezivanju krajnjih korisnika putem javnih telefonskih mreza na Internet. Ostali protokoli koji nisu razvijeni za Internet upotrebu, ali se koriste u tu svrhu ukljucuju protokole lokalnih mreza. Protokoli lokalnih mreza koriste se na rubnim mrezama Interneta, srodni su i razlikuju se u ovisnosti o standardu za umrezavanje koji se koristi. Sigurnosne prijetnje na razini podatkovne veze Neovlasteni prijem okvira Masovno koristeni pasivni napad na sigurnost podataka na Internetu jest neovlasteni prijem okvira. Taj je napad moguc na rubnim mrezama Interneta, odnosno lokalnim mrezama i uvjetovan je trenutno vazecim specifikacijama i zahtjevima koje mora ispuniti oprema za lokalno umrezavanje. Osjetljivost na ovaj napad iskazuju kako mreze ostvarene vodovima, tako i one bezicne. Put signala kroz lokalnu mrezu odreden je njenom topologijom. Osnovni topoloski oblici koji dopustaju ovu vrstu napada u lokalnim mrezama su mreze spojene u prsten, te mreze povezane preko zajednicke sabrisnice. Kako za prstenasti, tako i za sabirni oblik topologije, karakteristicna je osobina da sve mrezne stanice povezuje samo jedan logicki komunikacijski kanal. Direktna je posljedica te cinjenice, kao i prirode sirenja elektricnog signala, da signal koji prenosi podatke dopire u sve dijelove mreznog voda. Iz tog razloga, podatkovni okviri prolaze cijelom duljinom lokalne mreze, cime postaju dostupni bilo kojoj mreznoj stanici spojenoj na istu mrezu ili mrezni segment. Strojna komponenta koja vrsi ulogu sucelja prema lokalnoj mrezi u normalnom rezimu rada sve okvire koji u sebi nose njenu adresu zaprima i prosljeduje na dodatnu obradu visim mreznim razinama, dok okvire koji sadrze druge adrese jednostavno ignorira. Ta metoda jos je poznata kao "Ethernet sniffing" ili skraceno Sniffing". Dodatni rezim rada koji sve standardne komponente tog tipa podrzavaju je i tzv. "promiskuitetni rezim". Detalje kako napisati sniffer pogledajte u prvom phearless zine "The Art of Sniffing by BaCkSpAcE" __________ __________ |Racunalo B| |Racunalo D| |__________| |__________| \ / \ / \ / __________ \ / __________ |Racunalo c|/___________\____________________/_______|Racunalo A| |__________|\ |__________| Racunalo C radi Rac. A salje podatke Rac. B u promiskuitnom Rac. A salje podatke Rac. D rezimu rada prima pakete namjenjene Rac. B i D Mrezna komponenta koja radi u promiskuitetnom rezimu prosljeduje visim razinama sve okvire ne obaziruci se na odredisnu adresu prisutnu u primljenim okvirima. Takav je rezim rada uveden kako bi mrezni administrator s jednog mjesta mogao nadzirati cjelokupan mrezni promet i tako ucinkovitije uklanjati probleme. Na zalost, losa je posljedica istog ta da svaki korisnik mreze moze, koristeci promiskuitetni rezim rada na mreznoj komponenti svojeg racunala, prisluskivati sav promet bio on za to ovlasten ili ne. Pri tome on iz dobivenih okvira moze izdvajati podatke najvise razine kao sto su zaporke ili moze informacijski sadrzaj okvira dalje analizirati kako bi dobio podatke o protokolima visih razina i informacije o mreznim transakcijama. Krivotvorenje okvira (hardware address spoofing) Aktivna varijanta neovlastenog prijema okvira jest njihovo krivotvorenje. Pri tome se krivotvorenje sastoji od dvije komponente: - krivotvorenje izvorisne strojne (MAC) adrese - krivotvorenje informacijskog sadrzaja __________ ________________|Racunalo B|_____________ | |__________| | | | | | ________|_ krivotvoreni okvir __|_______ |Racunalo A|/===================================|Napadac | |__________|\ |Cilj A|Izvor B|Podaci| |__________| |______|_______|______| Vecina komponenti mreznog sucelja dozvoljava programsko mijenjanje izvorisnih adresa u okvirima koje salju. Tu mogucnost koriste neka programska rjesenja koja, izvrsavajuci se na osobnom racunalu s dvije komponente mreznog sucelja, obavljaju ulogu mreznog mosta. Na zalost, zloubotrebom iste mogucnosti nastaju ozbiljni sigurnosni problemi, koji se ocituju prvenstveno na visim razinama kao posljedica krivotvorenja informacijskog sadrzaja okvira. Najlaksi nacin opisivanja ove vrste napada je nabrajanjem koraka koje treba obaviti da bi napad bio uspjesan. U ovom slucaju, ti su koraci kako slijedi: 1. Napadac isprva neovlasteno prima okvire i iz njih dobiva informacije o strojnim (MAC) adresama izvorisnog i odredisnog racunala koja medusobno komuniciraju izvrsavajuci neku operaciju, kao i informacije o protokolima vise razine kojima se ta komunikacija odvija. 2. U pogodnom trenutku, napadacevo racunalo salje okvir odredisnom racunalu. Izvorisna adresa tog okvira je krivotvorena i nosi adresu pravog izvorisnog racunala. Informacijski dio okvira sadrzi podatke u nekom visem protokolu. 3. Odredisno racunalo prima okvir, prema izvorisnoj adresi pretpostavlja da je okvir dosao od izvorisnog racunala i izvrsava trazenu, najcesce po sigurnost stetnu, akciju. Manifestacije napada koje ovom tehnikom mogu biti izazvane na visim razinama mreznog modela su brojne, i bit ce opisane u slijedecim poglavljima. Sigurnosni problemi Point to point protokola PPP jest jedan od protokola koji je razvijen kako bi se koristio bas na Internetu. Specifikacije ovog protokola javno su dostupne i detaljno izradene. Problem koji se negativno odrazava na sigurnost koristenja ovog protokola jest kompleksnost njegove implementacije. Za razliku od protokola podatkovne veze koji se distribuiraju uprogramirani u mreznu opremu, PPP se najcesce izvodi od strane glavnog procesora neke mrezne stanice ili servera. Implementacija tog protokola obavlja se u velikom broju slucajeva od strane proizvodaca operacijskog sustava koji se na doticnom racunalu izvodi. Izvorni kod protokola pri tome postaje dio ukupne mase izvornih kodova kompletnog operacijskog sustava i kao takav objekt kontinuirane dorade. Nije neobicno da se takvim doradivanjem u kodu pojave greske koje, zbog prirode svojeg zadatka, ugrozavaju sigurnost racunala na kojima se kod izvrsava. Takve greske cesce se pojavljuju u razvoju programske opreme, ali niti proizvodaci strojne opreme koji kod ugraduju direktno u svoje komponente nisu na njih imuni. U proslosti zbog razlicitih implementacija ovog protokola bila su poznata dva ozbiljna sigurnosna problema: - problem prepunjavanja privremenih memorijskih spremista ("buffera") mogao je uzrokovati rusenje izvrsne verzije implementacije protokola ili cijelog racunala. Jedan od, na Internetu cesce koristenih, operacijskih sustava, FreeBSD, patio je od ove greske, - problem nekorektne implementacije autentikacije na razini PPP-a omogucavao je spajanje dva razlicita korisnika na istu (izvorisnu) stranu visedijelne logicke veze. PPP, naime, omogucuje uspostavljanje jedne logicke veze koristenjem vise fizickih veza (primjerice, koristenjem dva para modema). Problem koji se javljao u spomenutoj implementaciji omogucavao je bilo kojem od te dvojice korisnika prekidanje veze preostalog korisnika. Tu su gresku posjedovale implementacije protokola u pristupnim modemskim posluziteljima tvrtke Ascend koji su takoder cesto koristeni od strane pruzatelja usluga Internet pristupa. Zastita podataka na razini podatkovne veze Segmentacija mreze Jedan od jednostavnijih nacina smanjivanja rizika od nastajanja steta uzrokovanih neovlastenim prijemom okvira jest segmentacija mreze. Mrezni segment cini odreden broj racunala koja dijele isti kanal i mogu vidjeti isti sadrzaj mreznog prometa. Razbijanje jedinstvene fizicke mreze na vise segmenata postize se postavljanjem odredenih mreznih komponenti na mjesta u mrezi koja su odredena da budu spojisne tocke izmedu segmenata. Komponente koje se koriste u segmentaciji lokalnih mreza su mrezni mostovi i prespojnici (switch ili bridge). Zajednicka je karakteristika ovih komponenata da izmedu segmenata propustaju samo okvire koji su namijenjeni komunikaciji racunala smjestenih na dva raziicita segmenta. Okviri koje za komunikaciju koriste racunala smjestena na istom segmentu, ne prenose se u drugim segmentima i za tamosnja su racunala nevidljivi. Takvim nacinom rada ne narusavaju fizicku cjelovitost mreze jer je svakom racunalu dopusteno komunicirati s bilo kojim drugim racunalom, bez obzira kojem segmentu pripada, ali povecavaju sigurnost jer je broj okvira koje svako pojedino racunalo moze neovlasteno primiti smanjen. Idealan je slucaj kada je taj broj jednak nuli, i postize se koristenjem prespojnika i zvjezdaste topologije. Takav je slucaj prikazan na sljedecoj slici. __________ __________ |Racunalo C| |Racunalo B| |__________| |__________| \ / \ / \ / __________ \ / __________ |Racunalo D|____________\__/____________|Racunalo A| |__________| |__|prespojnik |__________| / \ / \ / \ / \ ____/_____ _\________ |Racunalo E| |Racunalo F| |__________| |__________| Zvjezdasta mrezna topologija uz koristenje prespojnika Ovakvo rjesenje prakticno znaci da svaki segment mreze sadrzi samo jedno racunalo. Prespojnik pri komunikaciji izmedu dva racunala uspostavlja direktnu vezu izmedu njihovih segmenata kojom putuju okviri. Ostali su segmenti, odnosno racunala, fizicki odvojeni od te veze. U praksi, gore opisano idealno rjesenje nije u velikom broju slucajeva moguce postici, sto zbog prakticnih razloga - kao sto je prevelik broj racunala u mrezi, sto zbog ekonomskih razloga - kao sto je potreba da se drugacijom implementacijom mreze postigne usteda u novcu. Kompromisno rjesenje koje se u takvim prilikama mora prihvatiti jest kreiranje mreznih segmenata s vise racunala. Kljucno pitanje na koje se pri tome mora odgovoriti jest pitanje povjerenja. Korisnici racunala na istom segmentu moraju moci imati povjerenja u druge korisnike na istom segmentu te moraju biti sigurni da njihovi podaci nece biti ugrozeni neovlastenim prijemom okvira, ili svi podaci koji putuju tim segmentom moraju biti takvog karaktera da nisu tajni za bilo kojeg korisnika na istom segmentu. Uz to, potrebno je i fizicki onemoguciti pristup takvim segmentima, uklanjanjem suvisnih mreznih uticnica i slicnim mjerama. Koristenje filtrirajuce mrezne opreme Cak na izgleda ovaj idealni zvijezdasti model moguce je kompromitirati, ako se nedovoljno konfigurira preklopnik. Preklopnik sadrzi tablicu okvira i IP adresa svih racunala. Filtrirajuci preklopnik naime, ima mogucnost programiranja strojnih (MAC) adresa ciji promet smiju propustati na svojim odredenim spojnim mjestima. Na taj nacin propustao bi samo okvire cija izvorisna strojna (MAC) adresa odgovara adresama mreznih komponenti koje se nalaze na toj razini. Namjernim prepunjavanjem te tablice moguce je preklopnik natjerati da se ponasa kao hub. Vecina danasnih preklopnika ima mogucnost zakljucavanja pisanja u tablicu s cim se uklanja propust prepunjavanjem tablice. Ponekad u velikim mreza zakljucavanje tablice onemogucuje spajanje novih racunala na mrezu, bez intervencije administratora. Promjenom racunala ili dodavanjem novih uvijek je potrebno upisati njegove vrijednost u tablicu u preklopniku. Sto moze biti veliki problem ako su promjene ceste, ali na mjestima gdje je potrebna maksimalna sigurnost npr. banke, vojne ustanove, tajne sluzbe preporuca se zakljucavanje tablice u preklopniku. Koristenje nestandardnih mreznih komponenti Masovna proizvodnja komponenti mreznog sucelja ne poznaje pojam proizvodnje nestandardnih komponenti. Ipak, greskama u proizvodnji, i nestandardne se komponente mogu naci na trzistu. U smislu zastite i sigurnosti, najzanimljivije su komponente kojima je proizvodnom pogreskom onemogucen promiskuitetni rezim rada. Proizvodaci nece takav nedostatak svojeg proizvoda oglasavati kao prednost, ili ga nece uopce oglasavati. Najlaksi nacin dobivanja popisa modela mreznih komponenti koji su proizvedeni s takvom greskom jest proucavanjem dokumentacije koja dolazi uz programe analizatore mreznog prometa. Naime, da bi administratorima olaksali odrzavanje mreza, mnoge su tvrtke napisale programe koji koristeci upravo promiskuitetni rezim rada analiziraju ukupan mrezni promet po svim mreznim razinama od razine podatkovne veze navise. U dokumentaciju takvih programa obavezno je ukljucen i popis mreznih komponenti s kojima programi ne mogu raditi. U vecini slucajeva, razlog toj nemogucnosti je upravo spomenuta pogreska u proizvodnji. Skuplje rjesenje jest nabaviti komponente konstruirane za povecanu sigurnost. Osobine koje takve komponente nude ukljucuju i zaporkama zasticen promiskuitetni rezim rada. Odredene komponente, i to vrlo cesto one koje se koriste u bezicnom umrezavanju, vrse sifriranje informacijskog sadrzaja okvira. Ostale sigurnosne osobine ovise o proizvodacima i modelima komponenata, te opcenito pruzaju dovoljnu razinu sigurnosti bez da stete ukupnoj funkcionalnosti komponente. Pracenje sigurnosnih izvjesca Kao sto je u ranijem tekstu bilo obrazlozeno, kompleksnost i razlicitost implementacija Point to point protokola moze uzrokovati greske koje izazivaju razne sigurnosne probleme. Ta opaska vrijedi ne samo za PPP, vec za bilo koji Internet protokol vise razine. Nacin na koji se mogu smanjiti rizici jest redovito pracenje raznih sigurnosnih izvjesca. Savjesni korisnici koji otkriju gresku u implementaciji protokola cesto salju izvjesca na neki od specijaliziranih web servera posvecenih sigurnosti. Sami proizvodaci takoder objavljuju izvjesca i programske ispravke. Podaci o programskim komponentama, verzijama, proizvodacima te lokacijama na kojima se moze doci do informacija o sigurnosnim problemima i njihovom rjesavanju nezaobilazan su faktor sigurnog administriranja mreze. Jedna od najsadrzajnijih lokacija na Internetu koja nudi ove informacije je "Security Focus" ciji je URL http://www.securityfocus.com. ------------------------------------------------------------------------------------ 3. sloj - Sigurnost paketa u mrezi Sloj mreze u ISO/OSI referentnom modelu Zadatak trece razine ISO/OSI referentnog modela, odnosno sloja mreze, jest komunicirati podatke izmedu dva entiteta vise mrezne razine, razine transporta. Pri tome protokoli ove razine od vaznijih zadataka obavljaju mrezno usmjeravanje i brinu se o adresiranju. Zbog razlicitih osobina krajnjih sustava koje takvi protokoli povezuju oni moraju voditi racuna i o kontroli toka, te o zakrcenosti mreznih veza. Protokolima vise razine, a zbog duzih vremena prijenosa podataka i nize brzine, oni mogu ponuditi komunikaciju uspostavljanjem logicke veze izmedu krajnjih tocaka. Protokol mrezne razine koji se koristi u komunikaciji na Internetu nazvan je jednostavno Internet protokolom, skraceno - IP. On obavlja vecinu gore nabrojanih funkcija uz dodatak mogucnosti fragmentacije i ponovnog sastavljanja podataka uzrokovanog razlicitim dopustenim maksimalnim velicinama podatkovnih jedinica prolaznih i krajnjih mreza. Sastavni dio implementacije Internet protokola je i Internet Control Message Protocol (ICMP). Prema Halsallu, zadaci koje ICMP obavlja su slijedeci: - prijavljivanje gresaka - testiranje dostupnosti - kontrola zakrcenja veza - obavjestavanje o promjenama u usmjeravanju - mjerenje performansi - adresiranje podmreza Address Resolution protokol (ARP) obavlja jednostavniji zadatak i sluzi kao neka vrsta poveznice izmedu razine mreze i razine podatkovne veze. Njegov je zadatak pronaci strojnu (MAC) adresu komponenti mreznog sucelja na osnovu poznate mrezne (IP) adrese istih komponenti. Prema Atkins, ovaj protokol nije dio IP-a vec je dio protokola sloja podatkovne veze, medutim u literaturi se opisuje u sklopu protokola mrezne razine, pa ce tako biti i u ovom radu. Protokol koji obavlja obrnutu operaciju, odnosno pronalazi IP adresu na osnovu strojne (MAC) adrese nazvan je Reverse Address Resolution Protocol (RARP). Ostali protokoli koji djeluju na ovoj razini koriste se iskljucivo pri usmjeravanju. Interior Gateway protokoli (IGP) koriste se za usmjeravanje unutar mreza za ciju je administraciju odgovoran isti autoritet. Najpoznatiji i najkoristeniji protokol te vrste je Routing Information Protocol (RIP). Exterior Gateway protokoli (EGP) koriste se za usmjeravanje izmedu mreza koje administriraju razliciti autoriteti. Sigurnosne prijetnje na mreznoj razini Krivotvorenje ARP poruka Krivotvorenje ARP poruka direktna je posljedica krivotvorenja mrezne, IP adrese te nacina rada ARP protokola. Taj se rad najbolje moze ilustrirati kroz opceniti primjer. Pretpostavimo da izvorisno racunalo (Rac A) zeli odredisnom racunalu (Rac B) na istoj mrezi poslati neke podatke. Rac A posjeduje IP adresu od Rac B, a da bi saznalo strojnu (MAC) adresu od Rac B, Rac A ce, koristeci ARP poruke, te provesti ovakav postupak: 1. Svim racunalima u mrezi poslat ce ARP poruku koja sadrzi IP adresu i zahtjev za strojnom (MAC) adresom Rac B, ciju ce IP adresu ukljuciti u upit 2. Rac B ce, vidjevsi da se trazi njegova strojna (MAC) adresa, vratiti poruku koja tu adresu sadrzi natrag do Rac A. Nakon sto tu poruku primi, Rac A ce dodati par kojeg cine strojna (MAC) i IP adresa od Rac B u svoje privremeno spremiste. 3. Po isteku odredenog vremena, neupotrebljavani parovi strojne (MAC) i IP adrese se brisu iz privremenog spremista na Rac A i postupak se, prema potrebi, ponavlja. Ranjivost ovakvog izvrsavanja protokola lezi u drugom koraku. U slucaju da racunalo primi dva odgovora koja za istu IP adresu daju dvije razlicite strojne (MAC) adrese, a u implementaciji ARP-a nije prisutna dodatna procedura koja ce provjeravati duplikate, ono ce konflikt rijesiti na jedan od dva nacina: 1. u privremeno spremiste spremit ce posljednji dobiveni par adresa, prepisujuci ga preko vec postojeceg para s istom IP adresom; 2. ukoliko u spremistu vec postoji par s trazenom IP adresom, poruku s novim podacima ce ignorirati. Informacija o nacinu na koji racunalo rjesava ovaj konflikt omogucuje napadacu da odgovor sa zeljenim parom adresa, koje ce sav promet namijenjem tudoj IP adresi preusmjeriti na njegovo racunalo, posalje ili prije odgovora autenticnog racunala, ili neposredno poslije. Jos je jednostavnije odgovor poslati umjesto autenticnog racunala, njegovim gasenjem ili iskljucivanjem iz mreze, ako je to moguce. Ova vrsta napada naziva "ARP spoofing". Krivotvorenje usmjerivackih poruka Usmjeravanje prometa na mreznoj razini vrse svi elementi koji su na toj razini aktivni. Usmjeravanje se obavlja oslanjanjem na IP adrese prisutne u paketima. Racunalo promet koji je namijenjen odredistima na istoj mrezi salje direktno koristeci njihove strojne (MAC) adrese. Promet namijenjen odredistima u drugim mrezama prosljeduje se usmjerivacu koji je zaduzen za direktan prijenos do doticne odredisne mreze, ili pak podrazumijevanom usmjerivacu, ako nije poznat usmjerivac koji bi direktno mogao obaviti prijenos. Krivotvorenjem usmjerivackih poruka (route spoofing), koje se moze izvrsiti na nekoliko nacina, mrezni se elementi navode da promet usmjeravaju putevima koji nisu za to namijenjeni. Krivotvorenje ICMP redirekcijskih poruka U kratkom opisu zadataka koje izvrsava ICMP bilo je spomenuto i obavjestavanje o promjenama u usmjeravanju. ICMP poruke te vrste zovu se poruke redirekcije i nose informaciju o adresi usmjerivaca koji pruza primjereniji (brzi, jeftiniji) put do zahtijevanog odredista, od usmjerivaca koji je poruku poslao. Po primitku takve poruke, racunalo azurira svoje lokalne podatke o usmjeravanju i promet nastavlja slati u skladu s azuriranim podacima, preko drugog usmjerivaca. Neprovjeravanjem autenticnosti poruke redirekcije racunalo postaje ranjivo na napade. Napadac vrlo lako moze konstruirati laznu ICMP poruku redirekcije koja ce sav promet izvorisnog racunala preusmjeriti na mrezni put koji mu omogucuje laksi dostup do podataka ili se ne moze koristiti za slanje prometa na zeljena odredista. Krivotvorenje poruka usmjerivackog protokola Poruke obje vrste usmjerivackih protokoia (IGP i EGP) takoder mogu biti krivotvorene i tako navesti i racunala i usmjerivace da svoj promet pocnu slati pogresnim mreznim putem. Sudjelovanje umrezenih objekata u radu usmjerivackog protokola moze biti pasivno ili aktivno. Tako racunala najcesce u radu protokola sudjeluju pasivno, slusajuci i prikupljajuci usmjerivacke informacije od aktivnih elemenata. Aktivni elementi najcesce su usmjerivaci koji odasilju svoje usmjerivacke informacije za medusobnu razmjenu, a isto ih tako salju i pasivnim eiementima. Primanje informacija od drugih usmjerivaca oni takoder obavljaju na nacin na koji to rade i pasivni elementi. Upravo opisanim nacinom rada sluzi se i RIP, jedan od Interior Gateway protokola. Aktivni elementi koji se sluze tim protokolom svoje usmjerivacke informacije odasilju svakih 30 sekundi. Te se informacije sastoje od parova vrijednosti koje sacinjavaju mrezna adresa udaljene mreze i udaljenost od usmjerivaca do te mreze, izrazena brojem usmjerivaca na putu kojim promet prolazi od izvorisnog usmjerivaca do odredisne mreze. Aktivno odasiljanje krivotvorenih RIP poruka pasivnim eiementima vrlo je jednostavno s bilo kojeg umrezenog racunala, i ukoliko pasivni element ne provjeri autenticnost poruke njegove ce usmjerivacke informacije biti kompromitirane. Jos je veci problem ako, kao pasivni elementi, u protokolu sudjeluju sami usmjerivaci, jer postoji opasnost od potpunog raspada usmjeravanja, a samim time i mrezne komunikacije. Onemogucavanje izvrsavanja servisa Poznatiji pod imenom "Denial of Service", skraceno DoS, napadi ove klase imaju zajednicku karakteristiku da elementima na odredenoj mreznoj razini onemogucuju normalno funkcioniranje. Manifestacije ovog napada na razini mreze opisane su u nastavku. Onemogucavanje ispravnog usmjeravanja Koristeci tehniku krivotvorenja ICMP paketa redirekcije opisanu prije, umrezenom je racunalu moguce poslati potpuno pogresne podatke o usmjeravanju. Racunalo ce, na osnovu dobivenih poruka, azurirati svoje lokalne podatke o usmjeravanju pogresnim podacima. Napadnuto ce racunalo promet slati mreznim putevima koji ne mogu dovesti do zeljenog odredista, cime mu je, prakticno, potpuno uskracena mrezna komunikacija. Druga je opasnost vec opisana u poglavlju o krivotvorenju poruka usmjerivackih protokola i odnosi se na potpun zastoj usmjeravanja i prekid ukupnog mreznog prometa. Onemogucavanje rada racunala Ova se vrsta napada takoder sluzi ICMP paketima i direktna je posljedica gresaka u implementaciji IP protokola na napadnutim racunalima. Posljedica napada je rusenje operacijskog sustava racunala ili usmjerivaca. Da bi izvrsio napad, napadac salje ICMP pakete za testiranje dostupnosti na ciljano racunalo. Znacajka je poslanih paketa da u informacijskom dijelu sadrze vise od IP-om dozvoljenog broja okteta, tako da ukupna velicina paketa prelazi maksimalnih protokolom propisanih 65536 okteta. Implementacija protokola koja nije predvidjela takvu velicinu primljenih paketa moze srusiti ili zamrznuti napadnuto racunalo ili usmjerivac. Ova vrsta napada dobijala je ime "Ping of Death" i vise nije izvediva u praksi. Zastita podataka na mreznoj razini Otkrivanje krivotvorenih ARP poruka Ukoliko iz bilo kojeg razloga nije moguce poduzeti zastitne mjere onemogucavanja ove vrste napada, opisane u slijedecem poglavlju, potrebno je poduzeti mjere kako bi se napad otkrio na najbrzi moguci nacin. Atkins opisuje nekoliko nacina koji omogucuju otkrivanje. Ukratko ih se moze klasificirati, nabrojati i opisati kako slijedi u nastavku. Otkrivanje na razini umrezenih racunala moze se vrsiti: - pasivno - racunalo vrsi provjeru pristiglih ARP poruka i ispituje sadrze li one izvorisnu adresu jednaku vlastitoj IP adresi sto predstavlja adresni duplikat - aktivno - racunalo vrsi ARP upit za vlastitu IP adresu, primi li odgovor, rijec je o adresnom duplikatu Druga je vrsta otkrivanja ona koja se vrsi na razini posluzitelja. Naime, racunalo u tom slucaju vrsi dva upita - ARP upitom dobiva strojnu (MAC) adresu koju provjerava dodatnim RARP upitom. Na RARP upit odgovara RARP posluzitelj koji poznaje IP adrese pojedinih racunala u mrezi i njihove odgovarajuce strojne (MAC) adrese. Ne podudaraju li se tako dobiveni parovi strojnih (MAC) i IP adresa, moze se zakljuciti da je u tijeku napad. Na kraju, otkrivanje na razini mreze moze se vrsiti: - automatiziranom periodickom inspekcijom privremenih spremista adresnih parova na svim racunalima mreze - kontinuiranim nadzorom cjelokupnog mreznog prometa koristenjem promiskuitetnog rezima rada komponente mreznog sucelja na racunalu mreznog administratora. Onemogucavanje krivotvorenja ARP poruka Najjednostavniji nacin zastite od ovog napada je prestanak koristenja ARP poruka. Umjesto trazenja strojne (MAC) adrese odasiljanjem poruka, svakom je racunalu na mrezi moguce te adrese upisati u konfiguracijske datoteke i dopustati samo njihovo rucno mijenjanje. Dodatan napor u administraciji koji takav nacin rada zahtijeva nadoknaden je eliminacijom problema. Slicno rjesenje prethodnom ostvaruje se koristenjem ARP posluzitelja, ARP posluzitelj odgovara na ARP upite umjesto pojedinacnih racunala, konzultirajuci zapise o strojnim (MAC) adresama koje su upisane u njegove konfiguracijske datoteke i takoder se samo rucno mogu mijenjati. Racunalo koje postavlja upite moze se konfigurirati da postavlja upite odasiljanjem, a koristi samo odgovore koji dolaze s poznate strojne (MAC) adrese ARP posluzitelja. Prednost ovog pristupa jest u laksoj, centraliziranoj administraciji, a nedostatak je ranjivost na napade s nize mrezne razine, krivotvorenjem okvira. Zastitu je moguce provesti i koristeci preklopnik u kojem je tablica parova IP-MAC zakljucena od neovlastenog mijenjanja o tome vise bilo je u predhodnom sloju. Zastita od utjecaja krivotvorenih ICMP redirekcijskih poruka Mogucnost fizickog, odnosno strojnog, rjesenja problema takoder je preporucljiva. Mreza se, postavljanjem usmjerivaca, moze segmentirati koristeci ista nacela koja su opisana u poglavlju o segmentaciji mreze na razini podatkovne veze. Jedina je razlika sto se na mreznoj razini mrezni segmenti razlikuju svojim IP adresama, odnosno njihovim mreznim dijelom. Najslozeniji i najnesigurniji nacin zastite od napada krivotvorenjem ARP poruka jest povremena rucna provjera privremenog spremista adresnih parova te rucno brisanje sumnjivih podataka, Na racunalima koja izvrsavaju neku inacicu Unix ili Windows operativnih sustava, za manipulaciju privremenim spremistem ovih adresa sluzi naredba "arp". Najlaksi je nacin zastite od napada krivotvorenim ICMP redirekcijskim porukama njihovo jednostavno ignoriranje. Time ce se potpuno eliminirati utjecaj krivotvorenih poruka, ali ce se isto tako izgubiti i mogucnost dinamickog usmjeravanja i koristenja ucinkovitijih mreznih puteva na koje ukazuju autenticne poruke ove vrste. Drugi nacin zastite temelji se na provjeri autenticnosti poruke. Da bi racunalo provjerilo dolazi li poruka uistinu od usmjerivaca, potrebna je provjera izvorisne strojne (MAC) adrese koju poruka sadrzi, koristenjem ARP upita. Na zalost, zbog vec iznesenih ranjivosti tog protokola, kao i mogucnosti krivotvorenja okvira na nizoj mreznoj razini, razini podatkovne veze, ovaj nacin zastite nije potpuno siguran. Zastita od utjecaja krivotvorenih poruka usmjerivackih protokota Dva su nacina zastite od napada krivotvorenim porukama ove vrste. Prvi je ne dopustiti usmjerivacima da rade kao pasivni elementi u usmjerivackom protokolu jer tako i oni mogu postati zrtvom krivotvorenih poruka. Za razmjenu poruka izmedu usmjerivaca moguce je koristiti drugaciji protokol od onog kojim se informacije predaju pasivnim elementima. Na strani racunala, odnosno pasivnih elemenata, potrebno je koristiti takvu pasivnu implementaciju protokola koja ce provjeravati autenticnost primljenih poruka. Takva ce implementacija podatke o usmjerivacima procitati iz vlastite konfiguracijske datoteke i koristit ce samo njihove poruke u azuriranju svojih usmjerivackih informacija. Koristenje IPsec nadogradnje Internet protokola Uvidjevsi velik broj ozbiljnih prijetnji koje se javljaju na razini mreze, tijela za donosenje Internet standarada pokrenula su razvoj nadogradnje IP protokola sa odredenim sigurnosnim elementima. Taj je razvoj rezultirao pojavom IPsec nadogradnje, koja na mreznoj razini povecava sigurnost komunikacije IP paketima. Na zalost, IPsec jos nije u cestoj prakticnoj upotrebi, a njegov informativni opis slijedi u nastavku. IPSec omogucuje dvije osnovne sigurnosne osobine na mreznoj razini: - tajnost podataka - zajamcen identitet izvora S tim u vezi, IPsec se sastoji od dva osnovna protokola, i to Authentication header (AH) protokola te Encapsulation Security Payioad (ESP) protokola. Da bi mogla zapoceti sigurnu komunikaciju, oba protokola izmedu izvorista i odredista stvaraju jednosmjerni logicki kanal s dogovorenim sigurnosnim osobinama. Za dvosmjernu komunikaciju, uspostavljaju se dva kanala, svaki iniciran od jedne strane. Ti se kanali imenuju Security Agreement (SA) i odredeni su trojkom vrijednosti koju cine: - identifikator protokola (AH ili ESP), - izvorisna IP adresa kanala, - identifikator veze, 32-bitna vrijednost koja je nazvana Security Parameter Index (SPI). Jednostavniji od dvaju protokola, AH protokol, omogucuje sigurnu identifikaciju izvorista te integritet podataka, ali ne i tajnost. Zaglavlje AH protokola smjesteno je neposredno nakon IP zaglavlja, u podatkovni dio IP paketa, kako to pokazuje sljedeca slika. __________________________________________ | IP | AH | Podaci | |zaglavlje |zaglavlje | (TCP, UDP segmenti)| |__________|__________|____________________| IP paket s AH zaglavljem Najvaznije polje u zaglavlju AH protokola jest Authentication Data (AD) polje koje sadrzi digitalni potpis paketa. Pomocu tog polja odrediste vrsi sigurnu identifikaciju izvorista te moze provjeriti integritet podataka u paketu. ESP protokol omogucuje i tajnost podataka i sigurnu identifikaciju izvorista. Elementi koje ovaj protokol dodaje standardnom IP paketu kao i sifrirani i dijelovi zajamcene vjerodostojnosti posiljatelja paketa prikazani su na sljedecoj slici. sifrirano |<---------------------------->| | | Zajamcena vjerodostojnost |<--------------------------------------->| | | __________________________________________________________ | IP | ESP | Podaci | ESP | ESP | |zaglavlje |zaglavlje | (TCP, UDP segmenti)|zavrsetak| AD | |__________|__________|____________________|_________|_____| IP paket s elementima ESP protokola Sifriranje podataka se vrsi DES-CBC algoritmom. Kao i kod AH protokola, najvaznije polje jest Authentication Data(AD) polje koje se nalazi na samom kraju paketa. Oba protokoia se za siguran rad oslanjaju na efikasnu i sigurnu distribuciju kljuceva za sifriranje. U tu su svrhu razvijeni i Internet Key Exchange (IKE) algoritam, koji je podrazumijevani algoritam za rad s kljucevima AH i ESP protokola, te Internet Security Association i Key Management protokol (ISKMP) koji se koristi u radu s kljucevima kao i uspostavljanju logickih kanala. Koristenje vatrozida U kontekstu racunalskog umrezavanja, pojam vatrozid, prema definiciji koja je citirana u Atkins, oznacuje skup komponenti koji je smjesten izmedu dviju mreza i koji posjeduje slijedece tri osobine: - sav promet u bilo kojem smjeru mora proci kroz vatrozid - promet kojem je dopusten prolazak mora biti u skladu s lokalnom sigurnosnom politikom - sam vatrozid je imun na napade i pokusaje probijanja Djelovanje vatrozida tipicno pocinje na razini mreze ISO/OSI referentnog modela i nastavlja se kroz vise razine. Vatrozide koji djeluju samo na razini mreze zovemo i filtrirajucim usmjerivacima. Ti usmjerivaci, vodeni definiranim pravilima filtriranja, pregledavaju svaki IP paket koji njima prolazi i, u ovisnosti o rezultatu usporedivanja u njemu sadrzane IP adrese (izvorisne ili odredisne) te protokoia sa pravilima zabranjenim vrijednostima, paket propustaju odnosno ne propustaju. Nedostatak je ovakvih vatrozida tesko konfiguriranje i nemogucnost potpune sigurnosne kontrole opasnosti na visim razinama mreznog modela, pa se stoga u praksi ipak koriste kao pocetni nivo zastite ili je njihovo funkcioniranje uklopljeno u vatrozide koji djeluju po vise mreznih razina. ------------------------------------------------------------------------------------ 4. sloj - Sigurnost prijenosa izmedju dva krajnja racunala Transportni sloj u ISO/OSI referentnom modelu Sredisnje mjesto u ISO/OSI referentnom modelu pripada sloju transporta. Kao takav, sloj transporta ima ulogu sucelja izmedu slojeva visih razina modela, i mrezno ovisnih slojeva na prve tri razine modela, cime ih izolira od detalja konkretne mrezne implementacije i omogucuje njihovu prenosivost. Od protokola u upotrebi na Internetu, sloj transporta cine Transmission Control protokol (TCP) te User Datagram protokol (UDP). TCP je slozeniji protokol koji prijenos podataka obavlja uspostavljanjem veze izmedu krajnjih tocaka komunikacije. Uslugu koju taj protokol pruza protokolima vise razine u literaturi obraduju pod imenom usluge pouzdanog prijenosa toka. Pri tome pouzdanost oznacuje prijenos podataka bez gresaka i gubitaka, te sacuvan redoslijed prijema poslanih podataka. Vazna je osobina ovog protokola i to da sve podatke tretira na jednak nacin - kao skup okteta, bez obzira na njihovu vrstu. Podatke TCP prenosi u podatkovnim jedinicama segmentima koje na odredistu cuva u privremenim spremistima. Nakon sto se privremeno spremiste napuni, podaci se predaju visim slojevima na obradu. UDP je jednostavniji protokol koji se oslanja na protokol nize razine, IP, za obavljanje najveceg dijela posla. Kao takav, UDP podatke prenosi bez uspostavljanja veze, i bez provjere gresaka u prijenosu. Za razliku od TCP-a, ovaj bi se protokol mogao nazvati nepouzdanim, ali to nikako ne znaci i da je neupotrebljiv pa na Internetu nalazi mnoge nacine upotrebe. Sigurnosne prijetnje na razini transporta Zaobilazenje filtriranja iskoristavanjem fragmentacije na mreznoj razini Napadi koji iskoristavaju fragmentaciju na mreznoj razini zapravo su napadi segmentima transportne razine koji iskoristavaju neke osobine protokola mrezne razine. Radi se, dakle, o kombiniranoj tehnici napada gdje je segment transportne razine sredstvo ugrozavanja sigurnosti a paket mrezne razine pruza potrebnu infrastrukturu da bi se napad uspjesno obavio. Pri tome su meta napada postupci filtriranja koji takoder djeluju na osnovu informacija prikupljenih iz segmenata transportne razine. Dvije vrste ovakvih napada opisane su u nastavku. Napad fragmentacijom TCP zaglavlja Cesto se, kao dio mreznog osiguranja, koristi filtriranje paketa. Da bi uspjesno otkrili paket koji sadrzi segment transportne razine koji krsi pravila i shodno tome ne smije biti propusten, nuzno je da mrezni element koji obavlja filtriranje moze prikupiti sve bitne informacije o namjeni segmenta. Te su informacije sadrzane u zaglavlju TCP segmenta. Uspjesno zaobilazenje ovakvog nacina zastite napadacu omogucuje fragmentacija na mreznoj razini. Internet standard kojim je defniran IP protokot [RFC 791] propisuje najmanju velicinu IP paketa koji ne smije biti fragmentiran na 68 okteta, od cega 60 okteta otpada na IP zaglavlje, a 8 okteta na podatke. Fiksni dio zaglavlja TCP segmenta, s druge strane, zauzima cijelih 20 okteta, pri cemu se iza granice od 8 okteta nalaze i za filtriranje vazni podaci kao sto su zastavice opcija. Zeli li ilegalno uspostaviti vezu sa zasticenim racunalom na transportnoj razini, napadacu je dovoljno da sa svojeg racunala posalje TCP segment razbijen u dva dijela, kako to prikazuje sljedeca slika. Polja TCP zaglavlja ______________________________________ | | | | ___________________________________________________ Fragment 1 |IP zaglavlje|Izvor.port |Odred. port|Broj sekvence| |____________|____________|___________|_____________| ___________________________________________________ Fragment 2 |IP zaglavlje|Broj potvrde|Pomak | Rezervirano | |____________|____________|___________|_____________| | | |______________________________________| Fragmentacija TCP zaglavlja Pri tome ce, zbog mogucnosti slanja IP paketa minimalne velicine, zaglavlje TCP segmenta biti razdvojeno. Naidje li element koji vrsi filtriranje na takav paket, nece moci ispitati sva polja zaglavlja i u najvecem ce broju slucajeva paket biti propusten i stici do svojeg odredista. Na odredistu ce segment biti ponovno sastavljen i veza na transportnoj razini na taj nacin moze biti uspostavljena. Napad iskoristavanjem preklapanja fragmenata Druga vrsta napada bazirana na fragmentiranju paketa iskoristava ranjivost uzrokovanu nacinom sastavljanja fragmenata na odredistu od strane Internet protokola. Standardom je propisano, a toga se drzi i najveci broj implementacija, da se u slucaju prijema dva fragmenta, gdje drugi fragment sadrzi oktete koji vec postoje u prvom fragmentu, pri sastavljanju uzimaju u obzir samo oni okteti prisutni u drugom fragmentu. Da bi iskoristio ovu ranjivost, napadac ce u prvom fragmentu poslati kompletno zaglavlje TCP segmenta za koje zna da ce uspjesno proci kroz postupak flltriranja Zatim ce u drugom fragmentu poslati samo promijenjeni dio zaglavlja i ostatak segmenta. Promijenjeni dio zaglavlja, koji sadrzi informacije o uspostavijanju veze kakve postupak flltriranja inace ne bi propustio, na odredistu ce zamijeniti one informacije koje su stigle prvim fragmentom, segment ce biti sastavljen i veza moze biti uspostavljena. Razlog zbog kojeg drugi fragment prolazi provjeru pri filtriranju jest taj sto vecina filtrirajucih elemenata provjerava samo one IP pakete koji prenose pocetak TCP segmenata. IP paketi koji prenose neki unutrasnji dio TCP segmenta se ne provjeravaju i propustaju se. Na taj nacin, napadac moze preklapanjem poslati gotovo cijelo zaglavlje (osim prvog okteta) sa bitno izmijenjenim poljima i tako ostvariti nelegalnu vezu na razini transporta. Ometanje i onemogucavanje rada racunala Niti transportna razina nije imuna na napade iz "Denial of Service" klase. U nastavku ce biti obradjena nekoliko primjera takvih napada. Napada ove vrste su aktivni i destruktivne prirode, i uzrokuju nemogucnost komunikacije Internetom. Oba se napada baziraju na preplavljivanju ciljanog racunala velikim brojem paketa transportne razine. "Syn flood" napad "Syn flood" napad koristi postupak "trostranog rukovanja" koji TCP-u omogucuje otvaranje veze posluzitelj-klijent tipa izmedu dvaju mreznih elemenata, najcesce racunala. Svaki mrezni element koji pruza neku na TCP-u baziranu uslugu potencijalna je meta uspjesnog izvodenja ovog napada, pa tako napadnuti mogu biti i usmjerivaci ili neka druga mrezna oprema. Da bi uspostavila TCP vezu, dva mrezna elementa razmjenjuju tocno odredenu sekvencu TCP segmenata, prikazanu na sljedecoj slici. Izvor/klijent Odrediste/posluzitelj __________________________ ___________________________ Uspostavi vezu |\SYN | | \ | | \ | | \ | SYN-ACK\| | /| Prijem i potvrda zahtjeva | / | | / | | / | veza uspostavljena,potvrdi|/ | |\ACK | | | | \ | | | | \|veza uspostavljena __________________________| |___________________________ Uspostavljanje TCP veze Crtkanom strelicom je na slici oznacen segment koji se pri napadu ne salje. Vecina standardnih implementacija TCP-a na posluziteijskoj strani vec nakon primanja prvog segmenta i slanja odgovora (->SYN; SYN-ACK->) rezervira i inicijalizira odredeni memorijski prostor koji ce, nakon uspostavljanja, sadrzavati sve parametre veze. Iskoristavanje ovakvog nacina rada implementactje u svrhu napada je trivijalno. Napadacu je dovoljno da ciljano racunalo preplavi zahtjevima za uspostavljanje veze, a postupak uspostavljanja sa svoje strane niti za jedan zahtjev ne dovrsi. Nakon odredenog broja pokusaja, napadnuto racunalo iscrpi sav memorijski prostor predviden za informacije o zapocetim postupcima uspostavljanja veze sto rezultira smetnjama u radu u obliku nemogucnosti uspostavljanja normalnih veza. Najcesci nacin izvodenja ovakvog napada jest u kombinaciji s krivotvorenjem paketa mrezne razine. Krivotvorenje adrese u IP paketu omogucuje napadacu da ostane neotkriven i istodobno ne ugrozi svoje racunalo primanjem velikog broja odgovora na zahtjev za uspostavljanje veze. Napadnuto racunalo, naime, odgovore na pokusaje uspostavljanja veze salje na krivotvorenu IP adresu. "Land metoda" napada Rijec je o napadu slanjem zlonamjerno oblikovanih TCP (Transfer Control Protocol) paketa, koji sadrze postavljenu SYN zastavicu te izvorisnu i odredisnu IP (Internet Protocol) adresu te izvorisni i odredisni port postavljen na vrijednosti odredisnog racunala. U takovom scenariju dolazi do privremenog (10-15 sekundi) DoS stanja na odredisnom sustavu zbog potrosnje cjelokupnih procesorskih resursa. "Rose Attack" metoda U ovoj metodi napada radi se o fragmetaciji paketa koji zahvaca gotove sve uredjaje spojene na Interentu (telefone, satelite, mrezne uredjaje, ...). Napad je jednostavan. Dva dijela fragmentiranih paketa salju se racunalu koje se napada. Prvi fragmentirani paket 32 oktera je incializira nulti fragment SYN paketa. Drugi fragmentirani paket takodjer je 32 okteta, samo sto je 64800 okteta upisano u datagram. Ova metoda mogucaje na ICMP, TCP, UDP protokolima. Buduci da napad ne zahtjeva uspostavu veze s napadnutim sistemom izvorisna IP adresa moze biti lazna s cim se skriva prava lokacija napadaca. Takodjer izvorisni i odredisni port nije bitan posto se paket ne provjerava na cetvrtom sloju, tj. racunalo prima paket bez obzira koji se port koristi. Preplavljivanje UDP paketima Napad izveden preplavljivanjem UDP paketima uzrokuje zakrcenje mreze, cesto do granica neupotrebljivosti. Najcesce se takoder izvodi u kombinaciji s krivotvorenjem IP paketa kako bi napadac bio teze otkriven. Preplavljivanje UDP paketima moze biti ciljano na jedno racunalo, ili moze biti izvedeno izmedu dva racunala. Velik broj servisa vise, aplikacijske razine, koji koriste UDP, svojim radom moze kreirati velik broj UDP paketa. Medusobnim spajanjem takvih servisa koje je trivijalno izvesti, napadac moze zakrciti rad jednog racunala ili cijele mreze. U prvom slucaju, on ce servise spojiti na istom racunalu, u drugom ce spojiti servise izmedu dva razlicita racunala. Primjer dva takva UDP servisa na Unix racunalima su echo i chargen. Echo servis jednostavno odgovara na primljeni upit, odnosno zahtjev za potvrdom upita. Chargen, s druge strane, je servis koji kreiranjem znakova (CHARacter GRNerator), u legalnoj upotrebi pomaze administratorima pri otklanjanju problema u radu mreze. Napadac ga u ilegalne svrhe moze iskoristiti tako da rezultate izvrsavanja velikog broja zahtjeva chargen servisu poveze s echo servisom pri cemu nastaje velik broj paketa koji uzrokuju zakrcenje. Napad desinkronizacijom TCP veze Napad desinkronizacijom TCP veze je napad aktivnog tipa koji se odvija na transportnoj razini, koristeci standardni nacin uspostavljanja i odrzavanja veze TCP-om. Djeluje uz pomoc napada na nizoj razini gdje napadac svoje racunalo lazno predstavlja napadnutim racunalima, a vrijedi i pretpostavka da moze prisluskivati i mijenjati sav promet izmedu njih. Desinkronizacijom veze napadac postize ili neovlasteno uspostavljanje veze ili preuzimanje vec uspostavljene TCP veze izmedu neka dva mrezna entiteta. U nastavku ce taj napad biti opisan kroz nekoliko odijeljenih cjelina, radi lakseg razumijevanja. Uspostavljanje i odrzavanje veze TCP-om Predhodna slika prikazuje koje segmente razmjenjuju dva racunala da bi uspostavila TCP vezu. Pri uspostavljanju veze, svakom od SYN segmenata pridruzuje se slucajan broj sekvence (X). Segmenti potvrde (ACK) nose broj (Y) kojim potvrduju primljeni broj sekvence. Oba se broja upisuju u odgovarajuce polje zaglavlja segmenta. Za vrijeme uspostavljanja, svaka strana komunikacije kreira svoju lokalnu kopiju varijabli koje sadrze spomenute brojeve. Nazovimo te varijable XI i YI za izvoriste, te XO i YO za odrediste. Brojevi koje one sadrze omogucuju identificiranje veze u uspostavljanju i od strane izvorista i od strane odredista. Uzimajuci u obzir vrijednosti u varijablama, veza se uspostavlja izvodenjem slijedecih koraka: 1. Izvoriste -> SYN(XI) -> Odrediste 2. Odrediste -> SYN(XO)-ACK(YO) -> Izvoriste 3. Izvoriste -> ACK(YI) -> Odrediste Azuriranje varijabli s obje se strane izvodi u ovisnosti o prometu na vezi. U stabilnim stanjima veze koja su na snazi neposredno nakon uspostavljanja veze, te nakon kompletiranih razmjena segmenata (sekvenci slanja i primanja segmenata te slanja i primanja potvrda) za te varijable moraju vrijediti jednakosti: - XO - YI i - XI - YO. Desinkronizirano stanje veze Desinkronizirano stanje veze nastupa kada u stabilnim stanjima veze za varijable sekvence i potvrde ne vrijede gore spomenute jednakosti. Takvo stanje moze nastupiti greskama u prijenosu, ili namjernom desinkronizacijom u svrhu zloupotrebe te onemogucava bilo kakvu razmjenu podataka izmedu dvije strane, Izvodenje napada desinkronizacijom veze Da bi uspjesno izveo napad, napadac ce nasilno desinkronizirati vezu te sa svojeg racunala poceti slati segmente na obje napadnute strane, oponasajuci suprotnu stranu na svakoj od njih. Desinkronizacija veze moze se izazvati na vise nacina, od kojih su najjednostavniji: - rana desinkronizacija vrsi se pri uspostavljanju veze, Napadac uzrokuje takvo uspostavljanje veze da su napadnuta racunala medusobno desinkronizirana, ali je svako od njih sinkronizirano s napadacevim racunalom. Taj je nacin prikazan sljedecom slikom, gdje XN iYN predstavijaju napadaceve kopije varijabli sekvence i potvrde - desinkronizacija slanjem nul-podataka vrsi se u trenucima kada je veza vec uspostavljena. Napadac na obje strane veze salje velik broj podataka koji nemaju drugu namjenu nego da iz sinkronizacije izbace varijable sekvence i potvrde. Izvor, klijent Napadac posluzitelj ______________ ______________ ________________ Uspostavi vezu|\1SYN(XI)| | | | | | | | |Prijem i potvrda | 1\| zahtjeva | | | SYN(XO)| YO=XI | ACK(YO)| | | | 2/| | | | | | | | \3 | Veza |/2 | Resetiranje | RST(XI)| Uspostavljena | Uspostavi vezu 3\|Veza zatvorena | | |\4 SYN(NX)| | | | | | 4\|Prijem i potvrda | | zahtjeva | | | | YO=NX | SYN(XO) | | | | ACK(YO)5/| | | | | | | | | Paket odbacen |/5 | | | pogresan broj | Potvrda | potvrde (YO) | |uspostavljanja| ACK(YN) | | YN=XO \6 | | | | | | 6\|Veza uspostavljena ______________| |______________| |__________________ Nakon sto je veza desinkronizirana, napadac prati svaki pokusaj komunikacije s bilo koje strane. Originalni segmenti koje strane salju jedna drugoj bivaju od druge strane odbaceni. Napadac ce te odbacene segmente prepraviti, umecuci brojeve sinkronizacije i potvrde koji su drugoj strani prihvatljivi, a usput i dodajuci stetan sadrzaj u podatkovni dio segmenta, kad mu to odgovara. Na taj nacin, niti jedna korisnicka strana nece primijetiti nista sumnjivo jer se razmjena podataka naizgled nesmetano obavlja. U slucaju da segmentima putuju naredbe, kao dio komunikacije nekim aplikacijskim protokolom, primjerice Telnetom, dodavati stetan sadrzaj u njih je trivijalno, a vrlo opasno. Takvim je naredbama moguce brisati ili mijenjati datoteke, srusiti racunalo ili slicno. Zastita podataka na razini transporta Koristenje vatrozida Funkcionalnost vatrozida na razini transporta i na razini mreze medusobno je ovisna i povezana. Vatrozidi, naime, filtriraju pakete mrezne razine na osnovu informacija koje dobivaju iz njihovog podatkovnog dijela, koji pak sadrzi zaglavlje i podatkovni dio TCP segmenta. Kao sto je ranije receno, TCP zaglavlje je od posebne vaznosti za ucinkovito filtriranje paketa. Pri tome se najcesce koriste slijedeca polja zaglavlja: - izvorisni i odredisni port - prisutni su i u zaglavlju UDP paketa, a oznacuju namjenu prijenosa koji se uspostavlja, pri cemu vatrozid moze blokirati prijenose namijenjene odredenim servisima visih razina, kao sto su FTP ili slicni - broj sekvence i potvrde - sadrze pomake (u oktetima) dijela segmenta koji se salje odnosno prima od pocetka tog istog segmenta. Vece segmente TCP razbija u dijelove pri cemu je najvazniji prvi dio (kojem je pomak od pocetka jednak nuli) koji sadrzi zaglavlje - zastavice - definiraju znacajke koje za dani segment vrijede. Vatrozid segmente s odredenim znacajkama ne mora propustati. Zastita od napada iskoristavanjem fragmentacije Filtrirajuci element najlakse ce sprijeciti napad fragmentacijom zaglavlja nepropustanjem svih paketa manjih od nekog minimalnog broja okteta za koji se sigurno moze znati da sadrzi sve potrebne informacije za filtriranje. Kao sto je vec receno, fiksni dio zaglavlja TCP segmenta velik je 20 okteta. Defmiranjem ukupne minimalne velicine paketa mrezne razine na 80 okteta (60 od kojih otpada na zaglavlje koje upotrebljava IP, a 20 na zaglavlje TCP-a), napad je sprijecen. Zastita od napada preklapanjem fragmenata takoder je jednostavna. Dovoljno je filtrirajuci element konfigurirati tako da ne propusta pakete koji ne sadrze pocetni fragment, a unutrasnji dio TCP segmenta kojeg prenose je preblizu pocetku tog istog TCP segmenta. Prema vec iznesenim podacima, to bi znacilo da filtrirajuci element ne smije propustiti paket koji sadrzi unutrasnji fragment ako je pocetak podataka u tom fragmentu na manje od 20 okteta od pocetka ukupnog TCP segmenta. Samozastita racunala na razini transporta TCP segmenti koji uspiju proci kroz nize razine zastite jos uvijek ne moraju biti sigurni, kako su to i gornji primjeri pokazali. Dospiju li napadacevi segmenti do ciljanog racunala, ono mora imati mogucnost samo se zastititi od njih. Takva zastita danas postoji na vecini racunala koja imaju sposobnost komuniciranja Internetom, bilo da se nalazi u paketu s implementacijama protokola i operacijskim sustavom, bilo da se, u obliku aplikacije, moze nabaviti od alternativnih proizvoctaca programske opreme. Na vecini posluziteljskih Internet sustava koji rade pod nekom inacicom Unix operativnog sustava, ta zastita dolazi u obliku "TCP Wrappera". Rijec je o filteru TCP segmenata koji, na osnovu svojih konfiguracijskih postavki, a u skladu sa sigurnosnom politikom, podatke iz TCP segmenata prosljeduje ili ne prosljeduje visim razinama na daljnju obradu. I na ostalim operativnim sustavima postoji alati koji obavljaju isti zadatak. Posebno to vrijedi za Windows platformu koja u posljednje vrijeme trpi velik broj sigurnosnih napada najrazlicitije vrste. Zadnja verzija windowsa dolazi s ugradjenim firewallom u sam operativni sustav. Najkoristeniji programi koji pruzaju zastitu su sotwerski firewall najcese koristen je besplatni "Zonealarm". ------------------------------------------------------------------------------------ 5. sloj - Sigurnost veze izmedu procesa Sloj sesije u ISO/OSI referentnom modelu Prema ISO/OSI referentnom modelu, sloj sesije je zaduzen za uspostavljanje i prekidanje komunikacijskog kanala kojim dva entiteta vise razine obavljaju svoj dijalog. Pri tome sloj obavlja i pomocne zadatke poput povremene sinkronizacije vremenski dugih prijenosa ili prijavljivanja gresaka visim slojevima. Iz prve slike u ovom tekstu moze se zakljuciti da u Internet svijetu sloj sesije ne postoji. Naime, sve funkcije ovog sloja obavljali su protokoli aplikacijske razine. Komunikacija protokola aplikacijske i transportne razine bila je direktna, bez posrednih razina. Jedina iznimka tog pravila bila je Remote Procedure Call (RPC) protokol razvijen od tvrtke Sun koji se koristi u distribuiranim programskim sustavima i visim slojevima pruza uslugu slicnu onoj protokola sloja sesije u ISO/OSI referentnom modelu. Prirodno je i da su najvece sigurnosne prijetnje na ovoj razini dolazile zbog upotrebe upravo tog protokola, sto je slucaj i danas, Kako ovaj sloj ne bi ostao od minorne vaznosti, na srecu ili na zalost, pobrinuo se povecani broj sigurnosnih prijetnji, odnosno inventivnost napadaca da svaku mogucu priliku iskoriste za kradu ili ugrozavanje korisnikovih podataka, Uvidjevsi sve vecu prijetnju, tvrtka Netscape je odlucila razviti protokol koji bi korisnicima pruzio siguran komunikacijski kanal izmedu krajnjih tocaka komunikacije. Vec i iz same prethodne recenice jasno je da je mjesto pozicioniranja takvog protokola upravo na razini sesije ISO/OSI referentnog modela. Razvojem u Netscapeu nastao je "Secure Sockets Layer" (SSL) protokol, kojeg je standardizacijom i manjim izmjenama IETF (Internet Engineering Task Force) pretvorio u sluzbeni "Transport Layer Security" (TLS) protokol. Kako TCP/IP cetveroslojni model ne poznaje slojeve izmedu transportnog i aplikacijskog, a TLS pruza usluge aplikacijskom sloju, to je on nazvan transportnim. Medutim, gledajuci kroz prizmu ISO/OSI referentnog modela, njegovo je mjesto u sloju sesije, pri cemu, zbog sifriranja podataka kojeg vrsi, dio njegove funkcionalnosti zadire i u visi sloj, sloj prikaza. Slican je slucaj upravo opisanom i sa protokolima sigurne identifikacije. Dva su takva Siroko koristena protokola TAG Access Control Server protokol (TACACS) i Kerberos, a funkcionalnost potonjeg takoder se dijelom obavlja u sloju prikaza. Svi ce oni ipak biti opisani u sklopu nizeg sloja na kojem se pojavljuju, dakle sloja sesije, kojem pripada veci dio njihove funkcionalnosti, ili na kojem obavljaju sav posao u slucaju kada ne komuniciraju sifriranim podacima. Sigurnosne prijetnje na razini sesije RPC prijetnje Napadi koji koriste RPC protokol baziraju se prije svega na slabim ili nikakvim mogucnostima autentikacije ugradenim u sam RPC protokol. Kao sto mu i ime kaze, RPC omogucuje pozivanje procedura na udaljenim racunalima sto se prvenstveno koristi u razvoju distribuiranih aplikacija. Mrezni servisi aplikacijske razine koji upotrebljavaju RPC su, izmedu ostalih, "Network File System " (NFS) te "Network Information System" (NIS). Mogucnosti sigurne identifikacije posiljatelja definirane u temeljnoj RPC speciflkaciji su vise nego slabe. Naime, RPC u svojoj osnovnoj verziji moze raditi bez identifikacije, sto je potpuno neprihvatljivo, uzimajuci u obzir vaznost aplikacijskih servisa koje opsluzuje. Drugi nacin rada je koristenjem identifikacijskog servisa na klijentskom racunalu, sto je daleko od potrebne sigurnosti jer odgovori identifikacijskog servisa vrlo lako mogu biti krivotvoreni. NFS omogucava dijeljenje datoteka izmedu racunala pri cemu se datoteke udaljenog, posluziteljskog racunala prividno pojavljuju kao dio datotecnog sustava na klijentskom racunalu. Opasnost potencijalnog napada omogucenog ovako slabom identifikacijom ocigledna je - napadat RPC protokolom moze dobiti pristup, ovisno o konfiguraciji, za citanje, pisanje ili brisanje NFS-om izlozenih datoteka. Upravo je nekoliko ovakvih napada iz prakse i poznato. Pri tome je ova vrsta napada klasificirana u prijetnje s razine sesije, jer se radi bas o sigurnosti, odnosno nesigurnosti veze koju RPC pruza visim razinama koje ga koriste. Zastita podataka na razini sesije Koristenje SSL i TLS protokola Tvrtka Netscape odlucila je korisnicima omoguciti dodatnu sigurnost komunikacije te je razvila SSL. Postavsi de facto standard za sigurnu komunikaciju na ovoj razini, SSL je evoluirao u TLS. lako baziran na SSL-u, TLS je procesom de jure standardizacije izmijenjen te je s njime nekompatibilan. U nastavku ce biti opisana oba protokola. Secure Sockets Layer protokol SSL protokol visim razinama omogucuje Uspostavljanje i komunikaciju sigurnim kanalom. Uspostavljanje kanala provodi se dijalogom, prikazanim na sljedecoj slici. Izvor/klijent Odrediste/posluzitelj ____________________ _______________________ Uspostavljanje veze | Zahtjev za | |identifikacijom, lista | | podrzanih protokola | |---------------------->| | | |identifikacija servera,| |predlozeni protokoli i | Potvrda uspostavljanja | javni kljuc | |<----------------------| | | | Tajni kljuc sifriran | Dogovor o sifriranju| javnim kljucem | | posluzitelja | |---------------------->| | | | Dogovorene opcije | | sifrirane tajnim | Dovrsetak uspostavljanja | kljucem | ____________________|<----------------------|______________________ Uspostavljanje veze SSL protokolom Slika prikazuje najjednostavniju verziju ovakvog dijaloga. Slozenije verzije omogucuju sigurnu identiflkaciju klijenta te dodjeljivanje jedinstvenog broja sesiji. Algoritmi za sifriranje koje protokol podrzava, a dogovaraju se uspostavljanjem, mogu biti RC4-128, RC2-128, DES, Triple DES ili IDEA. Kako proces uspostavljanja veze, tako i prijenos podataka, obavljaju se putem suvisno imenovanog SSL Record Protocol sloja. Taj sloj definira format paketa prijenosa, koji je prikazan sljedecom slikom. __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ | SSL paket | ______________________________ | __|Zaglavlje | Podaci |______________________ | | |__________|___________________| | ||_ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |_| | | | Paket s 2 okteta u zaglavlju | | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |_ | | _________________________________________ | | |-->| Zaglavlje i tip paketa | Duljina paketa | | | | |________________________|________________| | | | | | | ______________________________________ | | | | Kod indetiteka | Podaci |<--| | | |________________|_____________________| | | | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |_ | | | Paket s 3 oktera u zaglavlju | | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ |_ | | ____________________________________________ | | |-->|Zaglavlje i | Escape bit | Duljina |Duljina | | | | tip paketa | | paketa | dopune | | | |____________|____________|_________|________| | | | | ____________________________________________ | | | Kod | | | | | | identiteta| Podaci | Dopuna |<-----| | |___________|_______________________|________| | __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ Format SSL paketa Paket se sastoji od zaglavlja i podatkovnog dijela u kojem se nalazi kod za i dentiflkaciju posiljatelja zajedno sa samim podacima. Prilikom komunikacije, samo je podatkovni dio u cjelini sifriran. Sigurnost komunikacije maksimalizira se koristenjem sifriranja s vecom duljinom kljuceva (128-bitni ili veci), dodjeljivanjem slucajnog identifikacijskog broja svakoj sesiji te sigurnom identifikacijom obje strane komunikacije, na razini protokola. Transport Layer Security protokol Promjene koje je SSL dozivio standardizacijom osigurale su da TLS bude sveobuhvatniji i relativno ucinkovitiji. Struktura protokola je bolje definirana, a omogucena mu je i nadogradivost novim nacinima sifriranja. Najvaznija je promjena segmentiranje sloja na cetiri medusobno povezana (linearno ili hijerarhijski) protokola: 1.- Record protokol vrsi fragmentaciju, kompresiju, sifriranje i slanje poruka s izvorisne strane, te obrnute operacije prijema, desifriranja, dekompresije i sastavljanja na strani primatelja. To je osnovni protokol na koji svoju funkcionalnost nadograduju ostali protokoli nabrojani u nastavku 2.- Handshake protokol, ili protokol uspostavljanja veze, usuglasava osobine veze izmedu krajnjih tocaka komunikacije, pri njenom uspostavljanju 3.- Alert protokol sluzi prijavljivanju nastalih gresaka ili neocekivanih dogadaja 4.- Change cipher spec protokol koristi se kada se jedna ili obje strane odluce promijeniti algoritam za sifriranje u nastavku komunikacije 5.-Application data protokol pruza direktno sucelje visim razinama za prijenos podataka. Promjena koja daje velik doprinos ukupnoj sigurnosti odnosi se na dodatke u protokolu uspostavljanja veze. Tim se promjenama maksimalizira sigurnost uspostavljanja veze, pa time i veze same. Uspostavljanje zapocinje razmjenom pozdravnih poruka, iniciranom od strane klijenta, pri cemu se strane dogovaraju o sigurnosnim parametrima poput verzije protokola, identifikacije sesije, nacina sifriranja i metode sazimanja. Nakon sto su parametri dogovoreni, pocinje razmjena kljuceva. Posluzitelj salje svoju certifikaciju klijentu neposredno nakon pozdravnih poruka, ili se pocinje s razmjenom posluziteljskih kljuceva, ukoliko posluzitelj nema potrebnu certifikaciju. Nakon toga, klijent posluzitelju takoder salje svoj certifikat i kljuc. Obavljanjem ovih koraka obje strane su autorizirane za komunikaciju i razmjena podataka moze poceti prema prije dogovorenim parametrima. Koristenje protokola sigurne identifikacije Dva razlicita protokola sigurne identifikacije koja se cesto koriste, a djeluju na razini sesije, poznata su pod imenima TACACS i Kerberos. Nacini njihova funkcioniranja znatno se razlikuju, i u nastavku ce ukratko biti opisani. TAG Access Control Server protokol Jednostavniji i nesigurniji od dvaju protokola je TACACS. Taj se protokol koristi u sigurnoj identifikaciji korisnika koji svoj pristup mrezi ostvaruju preko terminalskog posluzitelja. Terminalski posluzitelj, prije omogucavanja pristupa, od korisnika zahtijeva unos korisnickog imena i zaporke. Te podatke on prosljeduje posluzitelju za identifikaciju koji ih usporeduje s podacima koje i sam posjeduje. U ovisnosti o rezultatu usporedbe, posluzitelj identifikacije vraca terminalskom serveru paket u kojem je instrukcija o omogucavanju ili odbijanju pristupa. U slucaju omogucavanja pristupa, uspostavlja se ovlasteni dijalog izmedu korisnika i terminalskog posluzitelja koji korisnik koristi za nastavak rada. Kerberos Kerberos je slozeniji sustav koji omogucuje ne samo sigurnu identifikaciju vec i sigurnu komunikaciju s posluziteljima u sustavu. Temelji se na dijalogu s dva centralizirana posluzitelja - posluziteljem ulaznica (PU) te identifikacijskim posluziteljem, odnosno autentikacijskim posluziteljem (AP). Funkcija je identifikacijskog posluzitelja cuvati i azurirati podatke o korisnicima i ostalim posluziteljima sustava u identifikacijskoj bazi, te pruziti mogucnost sigurne identifikacije korisniku kako bi se ovaj mogao sluziti sustavom. Posluzitelj ulaznica, s druge strane, izdaje dozvole za korisnikovu interakciju s ostalim posluziteljima u sustavu, kao sto su aplikacijski ili datotecni posluzitelji. Da bi korisnik uspjesno koristio sustav, prvi mu je zadatak obaviti sigurnu identifikaciju na AP pomocu vlastitog korisnicnikog imena i zaporke. Nakon sto je uspjesno obavio taj zadatak, pomocu specijalnog kljuca sesije dodijeljenog od AP, omoguceno mu je da od PU zatrazi dozvolu za koristenje nekog od posluzitelja u sustavu. PU ce mu takoder vratiti kljuc sesije koji na kraju korisnik koristi da bi pristupio zeljenom posluzitelju. Na taj nacin korisnik ostvaruje ovastene dijaloge i s PU i s posluziteljem na kojem obavlja posao. ------------------------------------------------------------------------------------ 6. sloj - Sigurnost podataka u prijenosnoj sintaksi Sloj prikaza u ISO/OSI referentnom modelu Definiranje standardnog, apstraktnog tipa podataka kao univerzalnog sredstva sporazumijevanja, glavni je zadatak ovog sloja. Isto tako on definira i odreden broj prijenosnih sintaksi. Sloj prikaza dogovara prijenosnu sintaksu izmedu krajnjih tocaka komunikacije, te vrsi konverziju iz i u lokalnu apstraktnu sintaksu ukoliko se ista razlikuje od prijenosne sintakse. Pri tome osigurava ocuvanje strukture poruka koje se razmjenjuju. Sloj prikaza ima i dodatnu, opcionalnu ulogu, koja nije obuhvacena standardom. U slucaju potrebe sigurne komunikacije, na ovoj se razini izvorista vrsi sifriranje podataka, dok sloj prikaza odredista vrsi desifriranje. Pri tome se postupak sifriranja podataka moze shvatiti i kao postupak njihova prevodenja u prijenosnu sintaksu. Iako na prvoj slici ne prikazuje se postojanje sloja prikaza u cetveroslojnom TCP/IP modelu, on je na Internetu funkcionalno prisutan. Razlicitost sustava koji Internetom komuniciraju uvjetovala je pojavu nekih nacina prevodenja podataka u standardne oblike, kako bi podaci mogli lako biti prevodeni iz lokalnog nacina prikaza jednog sustava u lokalni nacin prikaza nekog drugog, razlicitog sustava. Standard koji danas definira takve nacine prevodenja nazvan je "Multimedia Internet Mail Extensions" (MIME) i moze se koristiti u vecem broju aplikacija, a ne samo u elektronickoj posti, kako bi se iz imena moglo zakljuciti. Uz opisane, univerzalne nacine primjene ovog sloja, on je prisutan i kao dio implementacije nekih protokola. Telnet protokol, primjerice, sloj prikaza koristi za prevodenje formata prikaza podataka izmedu razlicitih terminalskih tipova, a vec spomenuti RPC komunicira podacima prevedenim u posebnu prijenosnu sintaksu imenovanu "External data representation" (XDR). Prisutnost sloja prikaza na Internetu se ocituje i u raznini paketima za sifriranje, odnosno kriptosustavima, koji, kako je vec receno, svoje djelovanje obavljaju bas u sklopu ovog sloja. Na Internetu najkoristeniji takav kriptosustav jest "Pretty Good Privacy" (PGP) koji je u praksi postao standardom za sifriranje na Internetu, a pogotovo nakon sto je MIME standard predvidio sintaksu za integriranje PGP sifriranog sadrzaja u poruke. Sigurnosne prijetnje na razini prikaza Napadi slanjem poruka u prijenosnoj sintaksi Kako je vec receno, odreden broj protokola koristi sloj prikaza kako bi uspjesno razmjenjivao podatke medu razlicitim sustavima. Otvorenost specifikacija takvih protokola cini ih ranjivim na napade koji se izvode slanjem poruka u prijenosnoj sintaksi. Spomenuti napadi najcesce se izvode na dva nacina, ciji kratki opisi slijede. Slanje, po podatke stetnih, poruka u prijenosnoj sintaksi moze biti manifestacija napada nize razine, najcesce desinkronizacije TCP veze. Na takve su prijetnje osjetljivi svi protokoli koji kao prijenosni protokol upotrebljavaju TCP, a najcesce su to protokoli koji su dio aplikacijskog sloja i koriste usluge sloja prikaza. Srz problema lezi u cinjenici da poznavanje apstraktne, ali i prijenosne sintakse napadacu otkriva konkretne posljedice izvrsavanja svake od poslanih poruka te predstavlja osnovu za formatiranje i slanje zlonamjernih poruka, sto bi, da se komunikacija vrsi "sirovim" podacima, bilo puno teze. Tako, primjerice, napadac koji odluci napasti Telnet vezu, moze slanjem raznih poruka preuzeti kontrolu nad parametrima korisnikovog terminala i onemoguciti mu njegovu upotrebu, sto je samo jedna od bezazlenijih mogucnosti. Druga vrsta ovih napada iskoristava greske u implementaciji protokola i moze prouzrociti stetu slanjem poruka preko potpuno legalno ostvarene veze. Konkretno, jedan takav napad je ugrozio velik broj posluzitelja koji su izvrsavali ToolTalk RPC servis. Naime, napadac je slanjem predugih XDR poruka mogao iskoristiti gresku u implementaciji koja mu je omogucavala da preuzme potpunu kontrolu nad servisom i time ugrozi sigurnost cjelokupnog posluziteljskog racunala. Kriptoanaliza Kriptoanaliza jest skup postupaka (neki je cak zovu i znanoscu) za analiziranje i dekriptiranje. U nastavku ce biti opisano nekoliko njavaznijih, na Internetu najcescih, postupaka kriptoanalize koju provode napadaci. Nasilno desifriranje podataka (brute force attack) Koristenjem nekih od ranije opisanih nacina prisluskivanja, svaki napadac moze doci do sifrirane verzije podataka koji se prenose mrezom. Iako sifriranje treba pruziti zastitu od interpretacije takvih podataka, ono u nekim slucajevima nije dovoljno ucinkovito. Algoritmi za sifriranje koji se danas koriste imaju epitet nereverzibilnosti, sto znaci da se sifrirani podaci ne mogu nikako desifrirati izvodenjem koraka sifriranja u obrnutom redoslijedu. Da bi se izvrsilo desifriranje, potrebno je imati dodatne podatke koje posjeduje samo primatelj i sadrzani su u tajnim kljucevima, ili je potrebno poznavati glavni kljuc ukoliko se sifriranje provodi na klasican nacin, pomocu jednog kljuca. Problem se javlja u cinjenici da su algoritmi i alati te format kljuceva za desifriranje poznati i javno dostupni. Ukoliko su podaci potrebni za desifriranje, odnosno kljucevi, premale duljine, napadac moze, isprobavanjem svih kombinacija elemenata (znakova) koje bi mogle ciniti takav kljuc, nakon nekog vremena uspjesno rekonstruirati kljuc i desifrirati podatke. Takav nacin napada nazvan je nasilnim desifriranjem (brute force attack). Vrijeme potrebno za uspjesnu rekonstrukciju kljuca i na modernom je racunalu veliko i u eksponencijalnom je odnosu s duljinom kljuca. Medutim, podjelom posla izmedu velikog broja racunala to se vrijeme moze bitno smanjiti, pa danas postoje brojni eksperimenti i natjecanja u sto brzem obavljanju ovakvog zadatka u kojima sudjeluje velik broj Internet posluzitelja i korisnickih racunala. Dodatni problem korisnicima u osiguranju njihovih podataka izazivaju vlasti nekih drzava. Naime, drzave poput Francuske zakonom zabranjuju upotrebu sigurnijih nacina sifriranja u strahu da bi se njima mogli sluziti kriminalci. Slicno razmisljaju i SAD koje izvoz tehnologija sifriranja strogo kontroliraju i tretiraju ga jednako izvozu oruzja. Lazno predstavljanje (Social engineering) Koristenje javnog i tajnog kljuca u kriptografiji ostavlja napadacu jednostavnu mogucnost krivotvorenja identiteta kojom moze doci do povjerljivih podataka. Koristeci bilo koju od tehnika krivotvorenja elemenata nizih mreznih razina, napadac se moze predstaviti kao netko drugi, primjerice krivotvorenjem svoje mrezne adrese i uspostavljanjeni komunikacije sa zrtvom. Ukoliko je zrtva napada uvjerena kako komunicira s autenticnim sugovornikom, nije je tesko navesti da sugovorniku posalje i povjerljive podatke. Koristi li zrtva sifriranje, napadac ce joj poslati svoj javni kljuc, Podaci sifrirani javnim kljucem napadaca citljivi su samo njemu i on tako na vrlo jednostavan nacin moze doci do povjerljivih podataka koji su namijenjeni nekom drugom U cijelom ovom napadu vrlo je bitan i psiholoski aspekt. Zrtva ce vrlo rado prihvatiti napadacev javni kljuc jer joj on garantira sigurnost podataka u prijenosu, no zbog te ce sigurnosti najcesce zanemariti prijetnju laznog predstavljanja. Ukoliko zrtva vec posjeduje javni kljuc strane koju napadac lazno predstavlja, opet je nije tesko nagovoriti na koristenje novog kljuca naglasavanjem, inace potpuno opravdane, zabrinutosti o mogucoj kradi tajnog kljuca ili iznosenjem nekog slidnog razloga. Zastita podataka na razini prikaza Koristenje PGP kriptosustava PGP je cjelovit sustav za sigurnu komunikaciju Internetom. Djeluje na razini prikaza, prevodeci aplikacijske podatke u sifrirani tekst i obrnuto, a cine ga kako algoritmi za sifriranje, tako i razliciti protokoli razmjene. U protokole razmjene ukljucena je i razmjena elemenata sifriranja, kao sto su kljucevi. Najvazniji aspekti ovog kriptosustava bit ce opisani u nastavku. Temelji PGP sifriranja PGP se jednim dijelom temelji na asimetricnoj sifarnoj shemi, shemi koja je imenovana kriptografijom javnog kljuca. Sifriranje pomocu javnog kljuca koristi dvije vrste kljuceva kako bi zastitila podatke. Primateljevim javnim kljucem podaci se prvo sifriraju, a nakon toga salju na odrediste. Primatelj koristi svoj tajni kljuc, da bi podatke desifrirao. Primateljev javni kljuc je javno dostupan svakoj strani koja s njim zeli uspostaviti sigurnu komunikaciju. Tajni kljuc posjeduje samo primatelj i njegov je zadatak zajamciti da poruku sifriranu odgovarajucim javnim kljucem moze procitati samo primatelj kojemu je namijenjena. Za razliku od asimetricne sheme, konvencionalan nacin sifriranja temeljio se na jednom kljucu koji je bio koristen i u kritriranju i u desifiriranju. PGP nije cisti asimetricni sustav, vec je hibridni sustav koji posjeduje elemente i konvencionalnih i asimetricnih shema. Postupak sigurne komunikacije pomocu PGP-a provodi se izvodenjem slijedecih koraka: 1. Izvorni tekst se prvo komprimira cime se postize dvostruka korist. Komprimiranjem se stedi na vremenu prijenosa cijele poruke s jedne strane, dok se s druge strane otezava posao napadacima da, analizirajuci poznate pojave u pisanom tekstu (kao sto je ucestalost pojavljivanja odredenih samoglasnika ili slicno), lakse desifriraju poruku. 2. Element konvencionalnih shema sifriranja je kreiranje slucajnog kljuca sesije koji se koristi i u sifriranju i u desifriranju. Slucajni se kljuc kreira za svaku sesiju, odnosno poruku, posebno, sto znaci da je samo jednokratno upotrebljiv. Izvorni se tekst sifrira pomocu kljuca sesije, konvencionalnim algoritmom za sifriranje, dok se sam kljuc sesije sifrira asimetricnim algoritmom, pomocu javnog kljuca primatelja. 3. Konvencionalno sifrirani tekst se zajedno s asimetricno sifriranim kljucem sesije salje primatelju. 4. Na primateljevoj strani, postupak desifriranja krece se obrnutim redoslijedom. Pomocu svog tajnog kljuca primatelj prvo asimetricnim algoritmom desifrira kljuc sesije. Dobivsi kljuc sesije, primatelj moze desifrirati i izvorni komprimirani tekst, koristeci konvencionalni algoritam za desifriranje. Na kraju, dekomprimiranje dobivenih podataka rezultira originalnim, izvornim tekstom. Prednosti dobivene ovakvom hibridnom arhitekturom kriptosustava ocituju se prije svega u brzini sifriranja i desifriranja. Kako su konvencionalni sustavi za nekoliko redova velicine brzi u obavljanju ovih operacija, ustede na vremenu su znatne, a da pritom nije ugrozena sigurnost jer ukupan postupak kombinira najbolje iz svijeta konvencionalne i asimetricne kriptografije. Sigurna identifikacija, integritet podataka i neporecivost Osim sifriranja, PGP omogucava koristenje jos tri vrlo vazna elementa sigurne komunikacije. Sigurna identifikacija omogucuje primatelju da sa sigurnoscu moze utvrditi da je identitet posiljatelja uistinu onaj kojim se posiljatelj predstavio. Integritet podataka jamci primatelju da ce svako neovlasteno mijenjanje podataka moci nedvojbeno otkriti. Neporecivost onemogucava posiljatelju da zanijece slanje poruke. Sva se tri dodatna elementa sigurnosti komunikacije postizu koristenjem digitalnih potpisa. Nacin na koji PGP kreira i upotrebljava digitalne potpise moze se rasclaniti na slijedece korake: 1. U prvom koraku, PGP izvorni tekst pomocu zbirne funkcije prevodi u sazetak. Zbirna funkcija od ukupnog izvornog teksta, bilo koje velicine, kreira sazetak fiksne velicine i to s osobinom da je sazetak za danu poruku jedinstven. Time ce bilo kakav pokusaj promjene poruke izazvati neslaganje izmedu poruke i njenog sazetka, cime je integritet poruke osiguran. 2. Sazetak se nakon toga sifrira tajnim kljucem posiljatelja cime nastaje digitalni potpis. 3. Poruka se zajedno s digitalnim potpisom salje primatelju. 4. Primatelj samo pomocu posiljateljevog javnog kljuca moze desifrirati potpis da bi dobio sazetak, cime je osigurana sigurna identifikacija i neporecivost poruke. Nezavisnim kalkuliranjem sazetka, primatelj moze usporediti izracunati i sa porukom dobiveni sazetak i tako se uvjeriti u integritet poruke. Kljucevi, distribucija i certifikati Kljuc u sifriranju konkretno nije nista drugo nego vrlo velik broj. Takav se broj predstavlja odredenom kolicinom potrebnih bitova pri cemu vrijedi da su veci brojevi, odnosno kljucevi s vecim brojem bitova, imuniji na pokusaje napada nasilnim desifriranjem od onih s manjim brojem bitova. Ovisno o algoritmu sifriranja, sigurnost kljuceva funkcija je njihovih duljina. U konvencionalnoj kriptografiji, danas se potpuno sigurnim smatra kljuc duljine 512 bita. U asimetricnoj kriptografiji duljina potpuno sigurnog kljuca mora biti veca od 1024 bita. Najsigurniji nacin razmjene javnih kljuceva jest medusobna osobna razmjena medu poznanicima, koristenjem nekog prenosivog medija, kao sto su diskete/CD/HDD/USB stick. Kako takav nacin razmjene nije u najvecem broju slucajeva praktican, kljucevi se najcesce razmjenjuju putem mrezne komunikacije, koji je ranjiv na napade laznim predstavljanjem, opisane prije. Putem mreze, kljucevi se mogu razmjenjivati ili neposredno izmedu zainteresiranih strana, ili centralizirano, putem posebnih posluzitelja na koje korisnici samostalno salju svoje kljuceve. Posiljatelji tako dobivaju javne kljuceve primatelja posredno, uzimajuci ih s posluzitelja. Kako bi onemogucio napade laznim predstavljanjem, PGP koristi koncept digitalnih certifikata. Digitalni certifikat je skup informacija koje ukljucenom javnom kljucu jamce njegovu izvornost. Takav se certifikat sastoji od tri dijela: 1. korisnikovog javnog kljuca, 2. informacija o korisniku koje se certificiraju, kao sto su njegovo ime i korisnicka oznaka, 3. jednog ili vise digitalnih potpisa Digitalni su potpisi kljucni dio certifikata. Njima jedna ili vise trecih, povjerljivih osoba, jamce da su informacije u certifikatu tocne i da odgovaraju javnom kljucu. Osiguranje povjerenja u certifikate organizacije rjesavaju uspostavljanjem certificirajuceg autoriteta. To je tijelo koje ima mogucnost provjeriti istinitost podataka za koje korisnik trazi certifikaciju. U slucaju pozitivnog rezultata provjere, tijelo izdaje trazeni certifikat. Da bi sigurnost bila dodatno pojacana, certifikati se izdaju na odredeno vrijeme. Nakon isteka tog vremena, korisnik mora obnoviti certifikaciju svojeg kljuca. ------------------------------------------------------------------------------------ 7. sloj - Sigurnost izvornog podatkovnog sadrzaja Aplikacijski sloj u ISO/OSI referentnom modelu Sadrizajem najbogatiji sloj ISO/OSI modela je najvisi, aplikacijski sloj. Taj sloj korisnicke aplikacije koriste kako bi mogle medusobno komunicirati koristenjem dostupnih mreznih resursa. Protokoli aplikacijskog sloja obavljaju najrazliditije zadatke, od kojih su najkoristeniji prijenos datoteka ili razmjena poruka -npr. elektronicke poste. Uz navedeno, oni obavljaju i niz pomocnih, usluznih zadataka poput identifikacije komunikacijskih strana simbolickim imenima, ili slicnih. Sve prije receno, osim za ISO/OSI, vrijedi i za cetveroslojni TCP/IP model. Na Internetu koristeni protokoli aplikacijske razine mnogobrojni su, a lista najkoristenijih po meni su: - Domain Name System (DNS) prevodi simbolicke mrezne adrese u brojcane, kakve koristi sloj mreze - Telnet protokol omogucuje terminalski rad (zamjenjen je SSH-om), - File Transfer protokol (FTP) koristi se za prijenos datoteka mrezom(zamjenjen je SSH-om), - Hypertext Transfer protokol (HTTP) koristi se za pristup najkoristenijem servisu, World Wide Webu, - Simple Mail Transfer protokol (SMTP) sluzi prijenosu elektronickih poruka, odnosno omogucuje rad elektroniclce poste, - Network News Transfer protokol (NNTP) prenosi clanke u javnim diskusijskim grupama. - Simple Network Management protokol (SNMP) omogucuje udaljeno administriranje mreznih uredaja, kao sto su, primjerice, usmjerivaci. Sigurnosne prijetnje na aplikacijskoj razini Na aplikativnoj razini nemoguce je nabrojiti sve metode pa cu objasniti samo one najpoznatije. Problemi najcesci su i najopasniji problemi koji se pojavljuju na aplikacijskog razini, a u najvecoj su mjeri uzrokovani neprovodenjem sigurnije identiflkacije od strane aplikacijskih protokola, ili nedovoljnom provjerom korisnickih podataka. Krivotvorenje DNS odgovora DNS protokol prvenstveno sluzi pretvaranju simbolickih imena racunala kakva upotrebljavaju korisnici, u numericke adrese kakve upotrebljava sloj mreze, no ima mogucnost obavljanja i obrnute operacije, ukoliko to korisnicima zatreba. U slucaju da, iz bilo kojeg razloga, korisnicka aplikacija DNS-om dobije pogresnu adresu, nastaje velik sigurnosni problem koji napadacu omogucava oponasanje bilo kojeg racunala na Internetu i time dostup do eventualno povjerljivih podataka koje korisnici salju. To znaci da je DNS zapravo kicma Interneta i njegovim rusenjem onemogucen bi bio njegov rad. Direktna je to posljedica cinjenice koja je u Garfinkel opisana ovako: "DNS je dizajniran kao nesigurni protokol jer IP i simbolicke adrese cine sustav koji omogucuje prijenos podataka, a ne identifikaciju posiljatelja". DNS protokol adrese dobiva od DNS posluzitelja, koji za proces pretvaranja adresa koristi slozenu distribuiranu podatkovnu bazu adresa. Adresni prostor na Internetu je podijeljen na domene. Svaka domena ima svoj DNS posluzitelj koji cuva podatke o njenim adresama, a odnos izmedu razlicitih DNS posluzitelja, kao i izmedu razlicitih domena, je hijerarhijski. DNS posluzitelj neke domene je autoritativni izvor informacija o adresama u toj domeni, sto znaci da njegovim podacima vjeruju i koriste ih svi posredni DNS posluzitelji koji te podatke trebaju. Svaki DNS posluzitelj spojen na Internet ima dostup do adresnih podataka na bilo kojem drugom DNS posluzitelju, koristeci spomenutu hijerarhiju. U slucaju da na bilo koji nacin napadaci uspije klijentu poslati odgovore za koje potonji vjeruje da dolaze od DNS posluzitelja, on njima moze vracati krivotvorene autoritativne podatke o adresama posluziteljeve domene i tako korisnika navesti da komunicira s potpuno drugim racunalom od zeljenog. Napad je to opasniji sto je posluzitelj kojeg napadac oponasa na visoj hijerarhijskoj razini domena, jer na taj nacin moze krivotvorhi podatke o vecem broju racunala. Tri su nacina na koja se ovakav napad moze uspjesno izvesti: 1. Preplavljivanjem klijenta, koji od DNS posluzitelja trazi adresu, krivotvorenim odgovorima, klijent ce vrlo vjerojatno prihvatiti laznu adresu prije nego sto do njega dode pravi odgovor DNS posluzitelja. 2. Punjenjem privremenog spremista DNS posluzitelja laznim podacima. Neki DNS posluzitelji u privremenom spremistu cuvaju sve dobivene adrese, bez obzira da li su ih je zahtijevali ili nisu. Slanjem krivotvorenih adresa nakon sto posluzitelj posalje neki DNS zahtjev, on ce, uz trazeni odgovor, spremiti i lazne adrese. 3. Slanjem laznih odgovora s legalnih posluzitelja. Napadac moze biti i stvarni administrator nekog DNS posluzitelja, ili moze provalom u posluziteljsko racunalo steci administratorske ovlasti koje mu omogucuju slanje zeljenih, laznih odgovora Krivotvorenje tekstualnih poruka Protokoli kojima se razmjenjuju tekstualne poruke su SMTP, u direktnoj komunikaciji dvaju korisnika i NNTP, u medusobnoj komunikaciji veceg broja korisnika putem diskusijskih grupa. Oba protokola definiraju potrebu da se izvor poruke identificira ali ne i nacin na koji to sigurno uciniti. U najcescem broju slucajeva, napadac moze kompletan tekst poruke, ukljucujuci i zaglavlje kojim se sluzi sam protokol, iskonstruirati na nacin koji mu se cini prikladan za uspjesno izvrsenje napada. Takvu ce krivotvorenu poruku bez ikakvih dodatnih pitanja protokol prenijeti do ciljanog odredista. Ovaj napad jos se i danas koristi u bezazlene svrhe, najcesce kao dio necije neslane sale. Krivotvorenjem polja posiljatelja u zaglavlju poruke moguce je primatelja uvjeriti da poruka uistinu dolazi od navedenog posiljatelja i tako stvoriti razne nesporazume. Granica bezazlenosti, medutim, lako moze biti prijedjena, a slucajeve ovakvog krivotvorenja s ozbiljnijim posljedicama nije tesko zamisliti. Vecina korisnika koristi lazna zaglavlje radi sprecavanje spamera da uhvate njihovu email adresu. Napad FTP posluzitelja (The bounce attack) Tipican primjer zloupotrebe mogucnosti protokola koja je u protokol ukljucena u najboljoj namjeri olaksavanja rada korisnicima i u legalnoj je upotrebi vrlo korisna, jest napad FTP posluzitelja odskakanjem. Osnovna je namjena FTP-a omoguciti prijenos datoteka izmedu posluziteljskog i korisnickog racunala, u bilo kojem smjeru. U slucaju kada korisniku nije neposredno potrebna neka datoteka, vec je on samo zeli s jednog posluzitelja iskopirati na drugi, ostavljena mu je mogucnost koristenja posrednickog nacina rada FTP protokoia. Pri tome korisnikovo racunalo preuzima samo ulogu posrednika, koji uspostavlja i upravlja direktnom vezom izmedu dva FTP posluzitelja izmedu kojih tece prijenos datoteka. Zloupotreba ove mogucnosti nije teska. Servis kojem korisnik zeli pristupiti na racunalima je identificiran brojem koji se naziva port i koji je za svaki servis drugaciji. Portovi nekih osnovnih servisa na svim racunalima nose jednak broj i javno su poznati. Spajanjem na odredeni port posluzitelja, korisnicka aplikacija daje protokolom specificirane naredbe servisu koji koristi doticni port. Odlika je vecine Internet protokola da su sve podrzane naredbe tekstualnog oblika i ljudima razumljive. Iskoristavajuci tu cinjenicu, te cinjenicu da posrednicka mogucnost FTP-a omogucuje spajanje na bilo koji port, napadac moze prvo na izvorisni posluzitelj poslati tekstualnu datoteku s naredbama ciljanom protokolu. Nakon toga, napadac jednostavno instruira izvorisni posluzitelj da se spoji na port ciljanog protokola na napadnutom racunalu te da tom vezom prenese tekstualnu datoteku s naredbama. Protokol na napadnutom racunalu izvrsit ce u datoteci prisutne naredbe, a napadacev identitet ce za napadnuto racunalo ostati potpuno nepoznat jer je napad izvrsen bez bilo kakvog povezivanja na napadnuto racunalo s njegove strane. Navedeni napad nije jedini na koji je FTP ranjiv, ali je najzanimljiviji te ga se moze sprijeciti metodama koje svojom implementacijom sprecavaju i ostale napade, a bit ce opisane u drugom dijelu ovog poglavlja. Napadi povezani uz World Wide Web Daleko najveca kolicina podataka Internetom danas putuje prenosena HTTP-om, temeljnim protokolom WWW servisa. Mnogi od tih podataka su povjerljive prirode i kao takvi mogu postati metom napada. HTTP u svojoj osnovnoj specifikaciji ne pruza nikakvu mogucnost zastite podataka koje prenosi. Prisluskivanjem napadac tako moze doci do bilo kojeg dokumenta u prijenosu. Poseban je problem interaktivnost mnogih WWW posluzitelja koji od korisnika traze sve osobne podatke kako bi ih registrirao za nastavak koristenja doticnog servisa. Osobni podaci, poput imena i prezimena, adrese stanovanja, datuma rodenja, a u velikom broju slucajeva i ukupne godisnje zarade kucanstva zanimljivi su ne samo elektronickim, vec i pravim, staromodnim kriminalcima koji ih mogu iskoristiti za fizicko ugrozavanje korisnika i njegove imovine. Uz problem privatnosti krajnjeg korisnika, velik problem predstavlja i potencijalna mogucnost pristupa bilo kojem sadrzaju kako na posluziteljskim, tako i na klijentskim racunalima. Protokol se oslanja na posluziteljske i klijentske programe da kontroliraju pristup sadrzajima na svojim stranama komunikacije. Ukoliko zbog gresaka u implementaciji ili konfiguraciji oni to ne cine na zeljen nacin, protokol ce bez dodatnih pitanja napadacu prenijeti sadrzaj s bilo koje lokacije na ciljanom racunalu ukljucujuci i korisnicke privatne podatke i sistemske podatke racunala. Navedene prijetnje nikako nisu i jedine koje se, kako za korisnika, tako i za pruzatelja, javljaju pri upotrebi WWW servisa. Kao najkoristeniji i jedan od najslozenijih servisa, WWW i njegovi protokoli pruzaju napadacima najveci broj mogucnosti da svoje napade bilo koje vrste uspjesno izvedu. Presretanje i krivotvorenje SNMP paketa SNMP mreznim administratorima omogucuje centralizirano nadgledanje mreze i mijenjanje postavki mreznih uredaja. Za razliku od vecine protokola aplikacijske razine, SNMP svoje podatke prenosi koristeci UDP protokol transportne razine, bez uspostavljanja transportne veze medu krajnjim tockama komunikacije. Prisluskivanjem prometa koji generira SNMP, napadac moze saznati velik broj informacija o konfiguraciji mreze i strojnim i programskim resursima koje mrezni elementi koriste. Na taj mu je nacin olaksano trazenje i iskoristavanje eventualno prisutnih sigurnosnih slabosti u tim elementima. Veca je opasnost krivotvorenje SNMP paketa. Funkcionalnost instrukcija koje se SNMP-om prenose proteze se od jednostavnih zahtjeva za informacijama o mreznom elementu do naredbi o pokretanju ili zaustavljanju odredene fizicke komunikacijske veze. Steta koju je moguce napraviti zloupotrebom ovakvih naredbi moze biti vrlo ozbiljna, poput potpunog onemogucavanja rada mreze. Uz to, mijenjanjem mrezne konfiguracije moguce je sigurnosno oslabiti mrezu i time otvoriti put novim i opasnijim napadima. Dostupnost zaporki Odreden broj protokola zahtijeva da se korisnik, pri uspostavljanju veze, identificira korisnifikim imenom i zaporkom. Primjer takvog protokola je FTP. Velik problem koji takvim nacinom identifikacije nastaje je dostupnost zaporki. Zaporke se upisuju na klijentskom racunalu, a zatim se prenose do posluzitelja koji, nakon provjere, dopusta nastavak rada. Put kojim zaporke prolaze moze se protezati kroz velik broj tranzitnih mreza u ciju sigurnost krajnji korisnik ne moze i ne treba imati povjerenja. Ukoliko se na nekoj od nizih razina podatkovne jedinice protokola (primjerice okviri) ne zasticuju sifriranjem, napadacima su i zaporke i korisnicka imena dostupni u svojem izvornom, nepromijenjenom obliku. Upravo je krada zaporki i korisnickih imena primarni cilj vecine manje ambicioznih napadaca koji do njih dolaze prisluskivanjem na razini podatkovne veze. Samim time i meta takvih napadada su krajnji korisnici, cije mrezne resurse napadac zloupotrebljava kako bi, u najvecem broju slucajeva, dobio pistup do, inace mu nedostupnih, servisa ili kako bi sakrio svoj identitet u nastavku napada na druge cilj eve. Preotimanje uspostavljene veze O napadu preotimanjem uspostavljene veze vec je bilo rijeci u cetvrtom poglavlju, u sklopu opisa napada desinkronizacijom TCP veze. Taj se napad manifestira najcesce na aplikacijskoj razini i djeluje na aplikacijske protokole koji svoju vezu uspostavljaju preko TCP-a. Gotovo svi osnovni protokoli aplikacijske razine svoju vezu uspostavljaju koristenjem TCP-a, ukljucujuci tu i Telnet i FTP. U slucaju Telneta, koji se koristi za direktnu komunikaciju s operacijskim sustavom udaljenog racunala, opasnosti od posljedica napada preotimanjem veze vrlo su velike. Napadac moze vezu iskoristiti za izdavanje bilo kakvih naredbi operacijskom sustavu udaljenog racunala, sto, ovisno o korisnikovim ovlastenjima na tom racunalu, moze izazvati pravu katastrofu u obliku potpunog gubitka svih korisnickih podataka ili kompromitacije eventualno povjerljivih podataka. U slucaju FTP-a, prijenos povjerljivih datoteka moguce je presresti i uciniti kopiju podataka, ili u podatke umetnuti lazni sadrzaj. Potencijalne opasnosti od preotimanja veze i ostalim protokolima aplikacijske razine nisu manje. Format podatkovnih jedinica (paketa) svakog od tih protokola javno je poznat, a paketi mrezom putuju u izvornom obliku te ih nije tesko mijenjati ili krivotvoriti. Trojanski konji Noseci ime kojeg je inspirirala grcka mitologija, ovi programi zapravo su servisi kojima napadaci neovlasteno dobivaju pristup najcesce korisnikovom racunalu. Rijec je o programu kojeg korisnik, pod pogresnim dojmom da se radi o korisnoj ili zanimljivoj programskoj komponenti, dobrovoljno pokrece na svojem racunalu. Nakon pokretanja, program postaje servis koji se kasnije pokrece automatski, najcesce sa svakim ucitavanjem operacijskog sustava racunala. Servisi koje takvi programi instaliraju sluze se vlastitim protokolom aplikacijske razine. Ti su protokoli u pravilu bazirani na TCP ili UDP, dakle rade bez uspostavljanj a veze na transportnoj razini(UDP). Ovisno o mogucnostima protokola, napadacu je omogucen prijenos datoteka sa i na korisnikovo racunalo, ili cak potpuna kontrola nad racunalom sa mogucnoscu pokretanja raznih programa ili zadavanja naredbi ljusci operacijskog sustava, sto je posebno opasno. Zastita podataka na aplikacijskoj razini Strategije zasite podataka na najvisoj razini mreznog modela su brojne. U nastavku ce biti pokusano izvrsiti njihovu primjerenu klasifikaciju te ih kratko opisati. Vanjska kontrola pristupa Vanjskom kontrolom pristupa problematicnim se pokusajima mrezne komunikacije staje na put prije nego dopre do ciljanih racunala. Nacini postizanja ovakve kontrole opisani su u nastavku. Vatrozidi Vatrozidi koji kontrolu pristupa vrse na razini aplikacije najcesce su kompletni sustavi kontrole koji pruzaju najvecu sigurnost mrezi i umrezenim racunalima po svim mreznim razinama, a ne samo aplikacijskoj. Na aplikacijskoj razini takvi vatrozidi imaju mogucnost filtriranja svih podatkovnih jedinica protokola, prema definiranim pravilima. Za primjer, neka od tih pravila su: - omogucavanje izlaznog, ali ne i ulaznog uspostavljanja veze bilo kojim protokolom vise razine, - onemogucavanje uspostavljanja samo odredenih nacina povezivanja protokolom aplikacijske razine, primjerice aktivnog modaliteta rada FTP podatkovne veze gdje klijent uspostavlja vezu za prijenos podataka, a dopustanje ostali modaliteta, kao sto je pasivni modalitet veze FTP-om, zapravo koristite SFTP - onemogucavanje uspostavljanja veze od klijenta koji nije na zadovoljavajuci nacin identificiran. Takvim pravilima vatrozidi bitno smanjuju mogucnost napada na aplikacijskoj razini jer prema zasticenoj unutrasnjosti mreze propustaju samo manji, sigurniji podskup ukupnog moguceg prometa. Istovremeno, zasticenim je racunalima omogucen zadovoljavajuci pristup servisima koji se nalaze na ostalom dijelu Interneta. Zastitu treba obavezno povecati i pravilnim konfiguriranjem servera tj. servisa koji se nalaze na njima. Potrebno je i redovito vrsiti update. Mrezni posrednici (proxy) Iako se u jednom dijelu literature, primjerice u Sams, mrezni posrednici obraduju u sklopu vatrozida, ovdje su izdvojeni radi njihova specificnog nacina rada. Mrezni posrednici koji djeluju iskljucivo na aplikacijskoj razini, a takvih je vecina, u strucnoj se literaturi nazivaju jos i "application gateways", Razliku izmedu ova dva koncepta. Osnovna je odlika vatrozida da dopustaju direktnu vezu izmedu krajnjih tocaka komunikacije, ako je to u skladu s kriterijima filtriranja. Mrezni posrednici, za razliku od vatrozida, nikada ne omogucavaju uspostavljanje takve direktne veze. Svaki pokusaj uspostavljanja veze izmedu vanjskog i unutarnjeg dijela mreze ili obratno mrezni ce posrednik presresti. Ukoliko pokusaj zadovoljava definirana sigurnosna pravila mrezni ce posrednik samostalno uspostaviti vlastitu vezu s zeljenim odredistem. Time nastaju dvije odvojene veze u kojima je mrezni posrednik centralni element. Ovakvim nacinom rada, mrezni posrednik postaje mostom izmedu dvije veze. Njegov je zadatak obaviti potrebne konverzije podatkovnih jedinica protokola koje dobiva s jedne strane komunikacije i takve ih proslijediti na odrediste. Cesto to ne ukljucuje samo kopiranje podataka i mijenjanje zaglavlja izmedu paketa istog protokola, vec i sve operacije koje su potrebne da bi se povezala dva razlicita protokola prema kojima veze funkcioniraju. Mrezni posrednik pruza veci stupanj zastite mreze od vanjskih upada, ali uzrokuje i dodatno kasnjenje u isporuci paketa zbog konverzija koje mora vrsiti. Isto tako zahtijeva i posebnu funkcionalnost u klijentskim aplikacijama koje moraju podrzavati rad preko posrednika. Upravo zbog navedenih razloga takav nacin rjesavanja sigurnosnih problema nije preporucljiv za primjenu u bas svim situacijama. Koristenje sigurne identifikacije U praksi najpozeljnija sigurnosna konfiguracija svakako je ona koja se ne bazira na paranoicnosti vec na povjerenju. Problem je prve sto u najvecem broju slucajeva uvodi restrikcije koje ozbiljno ugrozavaju ukupnu upotrebljivost mreze. Problem je druge sto se povjerenje mora bazirati na savrsenom sustavu identifikacije kakav u praksi ne postoji. Ipak, kako bi se ukupnost mrezne sigurnosne konfiguracije barem malo pomakla u smjeru povjerenja, potrebno je uvesti najbolji dostupni sustav identifikacije. Odreden broj aplikacijskih protokola omogucuje identifikaciju pomocu korisnickog imena i zaporke sto nije osobito sigurno, imajuci na umu cinjenicu da ti podaci mrezom putuju u izvornom obliku. Stoga je koristenje sigurnih identifikacijskih servisa posebno preporucljivo. Mogucnost za suradnju protokola aplikacijske razine i razine sesije u ovom je podrucju velika, i u velikom se broju slucajeva uspjesno koristi na Internetu. Dobar je primjer koristenje ranije opisanog sustava Kerberos za identifikaciju i sigurnu komunikaciju sa servisima aplikacijske razine. Sigurnost na krajnjim tockama komunikacije Dosadasnja razmatranja zastite na aplikacijskoj razini temeljila su se na upotrebi posrednickih sustava. To ipak ne znaci da se i na krajnjim tockama komunikacije ne moze pozitivno utjecati na sigurnost, cak stovise, takvi su napori visoko preporucljivi. Naime, vanjska kontrola pristupa bori se da bi osigurala sto vecu sigurnost, uz sto neznatnije smanjenje funkcionalnosti. Kako su ova dva cilja u suprotnosti, cesto se na racun funkcionalnosti gubi na sigurnosti, pa u takvu vrstu kontrole nije dobro imati potpuno povjerenje. Najlaksi nacin zastite jest koristenje aplikacijskih protokola koji imaju mogucnost sigurne komunikacije. Autori SNMP-a uvidjeli su velike sigurnosne prijetnje koje su direktna posljedica velikih mogucnosti i nepostojanja sigurnog nacina razmjene podataka tim protokolom. Iz tog se razloga u sve novije specifikacije ukljucuju i sigurnosni elementi cije koristenje je imperativ za svakog ozbiljnog mreznog administratora. Novije verzije ostalih protokola takoder se nadograduju sigurnosnim elementima, a posebno je tu zanimljiv HTTP koji ima mogucnost koristenja SSL-a. U takvim okolnostima, slanje bilo kakvih osobnih podataka nikako ne bi trebalo biti obavljano putem nesigurne HTTP veze. SSL i ostalim protokolima aplikacijske razine omogucuje uspostavljanje sigurne veze, a kada se klijentski programi s takvom mogucnoscu pojave, svakako ih treba poceti koristiti. Sigurnosni nedostaci ostalih protokola mogu se nadoknaditi upotrebom tehnika sifriranja koje su opisane u sklopu sloja prikaza. Aplikacijskom protokolu poput SMTP-a ili NNTP-a, kojemu su sigurnosne mogucnosti slabe ili nikakve, svejedno je hoce li korisnik njime poslati sifriranu, digitalno potpisanu ili potpuno nezasticenu poruku. Kada mu je vec omogucen takav izbor, korisnik bi svakako trebao izabrati sigurniji nacin komunikacije doticnim protokolom. Bolja je mogucnost koristenje potpuno drugacijeg protokola koji obavlja isti zadatak, ako takav postoji i ako je siguran. U primjeru terminalskog pristupa, preporuca se koristenje Secure Shell protokola (SSH) koji svoje podatke prenosi sifrirane i za koji postoji mnostvo klijentskih aplikacija na najrazlicitijim operacijskim sustavima, upotreba Telneta ili slicnih protokola postaje nepreporucljiva i zapravo suvisna. Veliki pozdrav svima onima koju su cijeli ovaj tekst procitali ;) Pozdravljam takodjer sve ljude s HackGen, II-LABS, ... i naravno sve ljude s #ugs (krstarica) Nadam se da nisam zaboravio koga :P root9