Professional Documents
Culture Documents
POLICIJSKA AKADEMIJA
VISOKA POLICIJSKA KOLA
Zagreb, 2014.
_____________________
potpis
_____________________
potpis
_____________________
potpis
IZJAVA O AUTORSTVU
Ja, Vlado Kovalik, izjavljujem da sam autor zavrnog rada pod nazivom
Sigurnost raunalne komunikacije.
Potpisom jamim:
Potpis studenta:_____________________________
IZJAVA
o davanju odobrenja za objavljivanje rada u digitalnom repozitoriju
Izjavljujem da dajem odobrenje za objavljivanje moga zavrnog rada u digitalnom
repozitoriju Knjinice Visoke policijske kole bez vremenskog ogranienja i novane
nadoknade.
Potpis studenta:______________________________
SAETAK
U radu se pokualo objediniti kljune imbenike sigurnosti raunalne komunikacije,
poev od elemenata sustava raunalne komunikacije, pojma sigurnosti i rizika te njihove
primjene na referentnom sustavu, prema realnim ugrozama i metodama zatite od istih. Tako
koncipiran, rad tei biti izvorom neto naprednijih informacija o sigurnosti raunalne
komunikacije, pruajui neophodnu teorijsku podlogu ali i konkretne praktine primjere i
smjernice za testiranje i zatitu sustava. Teorijske komponente ovog rada odnose se na WAN
mreno okruenje (LAN i djelomino WLAN), a praktine smjernice podrazumijevaju
implementaciju sigurnosnih mjera unutar privatnog ili manjeg korporativnog sustava raunalne
komunikacije. Alati za testiranje kritinih toaka mogue intruzije u sustav bazirani su na Kali
Linux operativnom sustavu, dok se podrazumijeva da je meta (cilj napada) ukoliko se radi o
raunalu opremljena nekim od MS Windows operativnih sustava, zakljuno sa Windows 7. Rad
e ukazati na brojne slabosti poetnih postavki mrene opreme i operativnih sustava, ali i
preporuena hardverska ili softverska rjeenja za njihovo otklanjanje. Cilj rada je podii razinu
svijesti o moguim ugrozama sustava raunalne komunikacije, obzirom na gotovo nesluen upliv
koji isti ima u svakodnevnom ivotu svakog lana drutva, kako bi se pravovremeno moglo
prevenirati brojne latentne materijalne i nematerijalne gubitke i ostvariti zadovoljavajui stupanj
zatite od neeljenih prodora treih osoba ali i represivno djelovati u odnosu na njihove dosad
moda neuoene radnje koje u naravi predstavljaju kaznena djela.
KLJUNI POJMOVI:
sigurnost raunalne komunikacije, raunalna sigurnost, sustav raunalne komunikacije,
kompjutorski kriminal, ethical hacking, kaznena djela protiv raunalnih sustava.
SADRAJ
1. UVOD ....................................................................................................................................1
2. RAUNALNA KOMUNIKACIJA........................................................................................3
2.1. Pojam raunalne komunikacije........................................................................................3
2.1.1 Raunalne mree prema zemljopisnom podruju koje ukljuuju..................................4
2.1.2 Raunalne mree prema sklopovskoj tehnologiji koja se koristi za spajanje................4
2.1.3 Raunalne mree prema funkcionalnoj vezi (mrenoj arhitekturi)................................5
2.1.4 Raunalne mree prema mrenoj topologiji.................................................................6
4.2.2.1 CA certifikat...........................................................................................................51
4.2.3 Sigurnost na razinama slojeva OSI modela...............................................................52
1. UVOD
U dananje vrijeme svakidanje ivotne aktivnosti sustavno su nam proete znaajnim
udjelom raunalne komponente kao kljune u brojnim procesima koji ih ine. Ponemo li
razmiljati u tom pravcu, ubrzo emo spoznati da raunala u cijelosti upravljaju svim
segmentima naih privatnih, poslovnih i openito drutvenih odnosa. Budimo se se uz zvuk
budilice sa mobilnog ureaja, sjedamo u automobil u cijelosti upravljan posebno razvijenim
raunalnim sustavom, putem podiemo gotovinu sa bankomata, registriramo ulaske u poslovne
prostore RFID1 karticom, sjedamo za raunalo i obavljamo posao ili jednostavno samo komuniciramo. Ako nastavimo o tome dublje promiljati, bez napora emo nabrojati barem jo
desetak procesa kojima upravljaju raunala, meusobno povezana u raunalni sustav putem
kojeg meusobno komuniciraju, a mnogi od njih i na globalnoj razini. Okolnosti su to koje nam
omoguuju postizanje ciljeva koje smo u ne tako davnoj prolosti mogli samo zamiljati, no
postoje i odreeni preduvjeti pod kojima se raunalni sustavi mogu smatrati korisnima. Jedan od
kljunih je njihova sigurnost.
Cilj ovoga rada je podii opu svijest o latentnim i vrlo stvarnim ugrozama koje prijete
sadraju komunikacije koja se putem ovakvih sustava razmjenjuje. Platni podaci sa kreditnih
kartica, osobni podaci korisnika, osobni zapisi svih vrsta, a ponekad i opa privatnost u realnom
vremenu predmet su napada potencijalno interesnih treih osoba i s tim u svezi predstavljaju
ugrozu sustava raunalne komunikacije. Tamna brojka takvih napada ogromna je, jer
oteenici vrlo esto nisu ni svjesni da su isti izvreni. Od posebnog je znaaja sigurnost
raunalne komunikacije unutar sustava putem kojih se razmjenjuju klasificirani podaci.
RFID je tehnologija koja koristi radio frekvenciju kako bi se razmjenjivale informacije izmeu prijenosnih
ureaja/memorija i host raunala, http://hr.wikipedia.org/wiki/RFID, (preuzeto 05.03.2014.).
Ovo je ogranienje nuno moralo biti postavljeno kako bi se rad u odgovarajuem obimu
mogao referirati na navedenu problematiku, a da pritom ne poprimi enciklopedijske razmjere.
Opseg rada takoer ne bi dozvolio razmatranje sigurnosnih aspekata komunikacije mobilnih
ureaja, bankomata, sustava za beskontaktno biljeenje i sline opreme ija hardversko softverska obiljeja zahtijevaju posve razliiti pristup.
2. RAUNALNA KOMUNIKACIJA
2.1. Pojam raunalne komunikacije
sredstvo za transport informacija izmeu dvije toke u mrei, npr. A i B. Informacijski kanal je u
pravilu jednosmjeran (transport informacija mogu samo u smjeru od A do B, ili od B do A, ali
ne i u oba smjera). Nadalje, mogue je definirati i dvosmjerni informacijski kanal, to znai da su
u stvari uspostavljena dva informacijska kanala, jedan omoguava transport informacija od A do
B, a drugi od B do A (pri tome nije nuno da oba informacijska kanala budu izgraena nad istim
fizikim putovima kroz komunikacijsku mreu). Informacijski kanal je mogue promatrati na
razliitim razinama mree (podrobniji opis razina bit e opisan u modelu OSI RM). Sam
prijenosni medij takoer predstavlja informacijski kanal. Takav se informacijski kanal obino
naziva kanal. Dakle, svaki informacijski kanal promatran na vioj razini mree sastoji se na
fizikoj (ili fizikalnoj) razini od lanca kanala. Jedan od osnovnih parametara kanala je njegova
irina prijenosnog pojasa (bandwidth) koja se mjeri jedinicom herc (Hz) (Baant, 2012:7).
2
Prijenosni pojas, kojeg je mogue nazvati i propusni pojas, je onaj dio frekvencijskog
podruja unutar kojeg kanal proputa frekvencijske komponente sa svog ulaza na izlaz s
priguenjem koje je manje od neke definirane vrijednosti. Prijenosni pojas se odreuje u odnosu
na prijenosnu funkciju kanala. Prijenosna funkcija openito opisuje frekvencijsku ovisnost
omjera napona na izlazu linearnog vremenski nepromjenjivog sustava (LTI systemlinear timeinvariant system) i napona na ulazu tog sustava. Kanal i prijenosni kanal mogue je u veini
realnih komunikacijskih sustava tretirati kao LTI sustav (Baant, 2012:7).
2.1.1 Raunalne mree prema zemljopisnom podruju koje ukljuuju
LAN (Local Area Network) - lokalna mrea koja je npr. u jednoj zgradi ili prostoriji;
MAN (Metropolitan Area Network) - mrea koja se prostire preko podruja jednog
grada;
WAN (Wide Area network) - iroko podruna mrea - kao npr. Internet.
Osim ovih glavnih vrsta, tu se ubrajaju i:
Prema sklopovskoj tehnologiji koju koriste, mree moemo podijeliti na (prema ZekiSuac, 2009):
-
optike mree - koriste optiko vlakno za prijenos podataka; podravaju velike brzine
prijenosa na velikim udaljenostima uz malu mogunost pogreaka u prijenosu i manji
utjecaj vanjskih smetnji; optiko vlakno je takoer skuplji i sloeniji medij za instalaciju
od ostalih.
beine (eng. wireless) mree - nastaju povezivanjem raunala bez uporabe fizikih veza
kratica: WLAN (Wireless LAN); prijenos podataka se odvija putem IC zraka ili
radiovalova. Korisnicima je omoguena pokretljivost unutar dometa pristupne toke (eng.
access point). Razvojem tehnologije postaju sve dostupnije i popularnije zbog
jednostavnosti instalacije, pokretljivosti korisnika i velikoj zastupljenosti beinih
mrenih kartica u novim prijenosnim raunalima. Relativno su ograniene brzine
prijenosa, te udaljenosti. Prijenos je podloan radio - frekvencijskim smetnjama, a
nepridravanjem sigurnosnih standarda ugroena je sigurnost podataka. Danas najea
inaica WLAN mree je Wi-Fi.
Bluetooth je otvoreni beini protokol za razmjenu podataka na kratkim udaljenostima
Mrena topologija definira vie razliitih kategorija po kojima se mogu utvrditi sastavni
dijelovi i nain rada raunalne mree. Najea podjela mrene topologije se odnosi na4:
-
Izvor: http://sistemac.carnet.hr/node/342
Ring prsten; Mesh mrea; Star zvijezda; Fully Connected potpuno povezana; Line
linijska; Tree hijerarhijsko stablo; Bus sabirnika.
2.2 Mreni protokoli
CIS FER, (2011). Mesh mree, CIS-DOC-2011-03-008. http://www.cis.hr/files/dokumenti/CIS-DOC2011-03-008(1).pdf. (preuzeto 26.03.2014.), str. 15.
5
dogovaraju oko prijenosa podataka. Da bi se podaci uspjeno prenijeli lanovi moraju pronai
zajedniki ''jezik'' (prema Zeki-Suac, 2009:14).
Najei protokoli koji se danas koriste su: TCP/IP, Ethernet, IPX, FDDI, Token Ring,
X25, Frame relay, ATM, i dr6.
Internet koristi TCP/IP protokol za komunikaciju, dok se lokalna mrea koja radi na
TCP/IP protokolu naziva intranet7.
2.2.1 OSI ( Open System Interconnection) model
referentni model OSI da bi se premostili navedeni problemi, a 1984 godine tiskala je reviziju
6
loc. cit.
loc. cit.
ovog modela koja je postala meunarodni standard i vodi za umreavanje. Naziv otvoreni
sustav, dolazi od toga to ga je mogue stalno modificirati,a pri tome sudjeluju svi. Svaka
izmjena koja bi se ubacila i prihvati postala bi standard. TCP/IP protokol je tek jedan od primjera
otvorenog sustava, naime na oblik protokola moe se utjecati putem RFC-a, tehnikih izvjetaja
koji su objavljeni i koje su analizirala internet drutva10.
10
loc. cit.
optika vlakna.
Slika 3: Vrste oienja, slijeva nadesno: Koaksijalni kabel, UTP kabel i optiki kabel.
Izvor: http://sistemac.carnet.hr/node/356
Radi boljeg razumijevanja Ethernet okruenja, slijedi kratki presjek osnovne mrene
komunikacijske opreme.
Pasivnu - sainjava je ini sustav (bakar i optika) koji slui za povezivanje aktivne
opreme;
11
13
ibid., 18.
U pasivnu opremu pripadaju kablovi, konektori, razvodni paneli (patch panel, switching
panel, punch-down panel), komunikacijski ormari i sustav za napajanje elektrinom energijom
(vodovi, sklopke i naponske letve, sustav za hlaenje), te hub (pojaava primljene signale i
prosljeuje ih dalje)14:
-
hub - slui za pojaavanje primljenog signala (napona) kojeg alje na svoje portove.
Nema mogunosti usmjeravanja prometa, ve ih samo pojaava, tj. ima funkciju
repeater-a (pojaivaa signala).
Slika 4: Komponente pasivne mrene opreme, slijeva nadesno: patch, hub i
komunikacijski ormar.
Izvor: http://sistemac.carnet.hr/node/374
Aktivnu komunikacijsku opremu sainjavaju ureaji koji koriste izvor elektrine energije
i koji omoguuju aktivno upravljanje mrenim prometom. Zajednika im je znaajka da imaju
procesor i memoriju. Na osnovu svojih znaajki, namjene, operativnog sustava i ugraenih
programa donose odluku o putanji mrenog prometa kojeg generiraju ili koji kroz njih prolazi15.
Aktivna oprema se sastoji od16:
-
14
loc. cit.
16
loc. cit.
10
preklopnika (switch-a); slui za povezivanje dvaju raunala unutar iste mree (LAN)
ili za povezivanje raunala i routera za promet koji je namjenjen drugim mreama;
Izvor: http://sistemac.carnet.hr/node/374
2.2.4 Adresiranje
Da bi se raunala u mrei mogla razlikovati, koristi se mreno adresiranje17:
-
u lokalnoj mrei; provodi se na nain da svaka mrena kartica kao i svi aktivni mreni
ureaji u svojoj ROM memoriji sadre jedinstveni identifikator MAC (Media Acess
Control) koji se jo zove i ethernet adresa;
na Internet mrei; za komunikaciju se koristi IP adresa - (Internet Protocol Address) jedinstveni broj za svaki ureaj koji komunicira s drugom mreom na temelju Internet
protokola (TCP/IP).
Izvorno je IP adresa napravljena kao 32-bitni broj (IPv4 nain), meutim zbog poveane
uporabe Interneta danas se koristi i 128-bitni zapis IP adresa (IPv6 nain). IP adresa se moe
unaprijed odrediti, a moe se podesiti i automatska dodjela IP adrese18.
Slika 6: Ilustracija IP adrese u decimalnom i binarnom obliku
17
18
loc. cit.
11
Izvor: http://en.wikipedia.org/wiki/IP_address
Izvor: http://technet.microsoft.com/en-us/library/cc751403.aspx
12
Postoji niz definicija sigurnosti, no mnogi se autori slau da je sigurnost stanje i stupanj
otpornosti i zatienosti od ugroza i opasnosti, ali i odreenu kontrolu neizvjesnosti gdje se
uoena i prepoznata opasnost svodi u granice prihvatljivog rizika.
To je dakle stanje u kojem je mogue normalno odvijanje svih prirodnih i drutvenih,
vitalnih i razvijenih (uobiajenih, dostignutih) funkcija i odravanje stvorenih, steenih
vrijednosti i kvaliteta (Na, 2009).
Sustav raunalne komunikacije, koja u informatikom smislu predstavlja tehnoloki
sustav sainjen od pasivnih i aktivnih mrenih komponenata, samo je jedan segment
informacijskog sustava koji osim tehnolokog imbenika obuhvaa i ljudske potencijale, te
brojne fizike/tehnike i ine imbenike koji uestvuju u obradi, pohrani i prijenosu podataka
kako bi isti bili dostupni i uporabljivi ovlatenim korisnicima.
Informacijska sigurnost JE (Hadjina, 2009:6):
-
Nain razmiljanja;
Beskonaan proces;
Upravljanje rizikom;
13
19
20
14
VRLO TAJNO,
TAJNO,
POVJERLJIVO,
21
22
15
OGRANIENO.
Obzirom na stupanj ugroze zatienih vrijednosti stupnjevima tajnosti iz lanka mogu se
Kaznena djela, dakle ona koja u relevantnom smislu predstavljaju ugrozu nekih od
zakonom zatienih drutvenih i temeljnih vrijednosti i prava a odnose se na zatitu raunalnih
podataka i sustava, u hrvatskom su zakonodavstvu svrstana i obuhvaena glavom dvadeset
petom Kaznenog zakona "Kaznena djela protiv raunalnih sustava, programa i podataka" i
ima ih ukupno osam24:
-
Ometanje rada raunalnog sustava, lanak 267., zatvorska kazna do 3 godine, kanjivo
u pokuaju;
23
24
16
Teka kaznena djela protiv raunalnih sustava, programa i podataka, lanak 273. predstavlja kvalifikaciju ukoliko su navedena kaznena djela poinjena prema tijelima
dravne vlasti, jedinica lokalne ili podrune (regionalne) samouprave, javne ustanove ili
trgovakog drutva od posebnog javnog interesa.
Odmah moemo uoiti da su kanjive radnje opisane glavom 25. Kaznenog zakona
svrstana u tea kaznena djela samom injenicom to su i gotovo sva ona kojih je zaprijeena
najdulja kazna zatvora nia od pet godina kanjiva u pokuaju.
Kratkim pregledom navedene glave KZ-a zakljuujemo da su zakonom zatieno dobro
raunala i njihovi meusobni sustavi, odnosno podaci koji se na njima nalaze. Tako se kanjivim
smatra svako onesposobljavanje ili ometanje rada raunala ili raunalnih sustava, neovlateni
pristup istima, omoguavanje pristupa drugima, oteenje, neovlateno presnimavanje podataka,
ustupanje podataka drugim osobama, pa ak i ustupanje programa ili naprava kojima se gore
navedene radnje mogu poiniti ukoliko postoji namjera poinjenja.
Meutim, izuzetak predstavlja provedba posebnih dokaznih radnji iz lanka 332. Zakona
o kaznenom postupku. Pravni uvjeti za primjenu posebnih dokaznih radnji ustanovljeni su
primjenom naela postupnosti tako da se na prvom mjestu odreuje granica izmeu Ustavom i
meunarodnim dokumentima o ljudskim pravima priznatih i zatienih prava, te drutvenog
interesa (prema Glui, Krapac, Tomaevi, 2012).
Na drugom je mjestu utvrivanje granica u kojima neko temeljno pravo, u sluajevima
kolizije s drugim temeljnim pravima graana i/ili zajednikog interesa, moe prevladati dok se
na kraju odreuju razine jakosti temeljnih prava u sluajevima njihova meusobnog preklapanja
i/ili sukoba sa zajednikim interesom (prema Glui, Krapac, Tomaevi, 2012).
Ovaj posljednji korak prof. dr. sc. Krapac naroito istie u procesu normiranja, jer je on
procesno pravne naravi. Prvenstveno je vaan za zakonodavca, jer je na zakonodavcu
odgovornost za usklaenost zakonskih normi i normativnu zastitu prava graana, dok za
17
Sigurnosni rizik definiran je kao mogunost realizacije nekog neeljenog dogaaja, koji
moe negativno konotirati na povjerljivost (eng. confidentiality), integritet (eng. integrity) i
25
26
18
prema Feringa, A., Goguen. A. i Stoneburner, G. (2001). Risk Management Guide for Information
Technology Systems. National Institute of Standards and Technology. Washington: US Government
printing office, str. 8.
28
CARNet CERT u suradnji s LS&S, (2003). Upravljanje sigurnosnim rizicima. CCERT-PUBDOC-200310-44. Revizija v1.1.http://security.lss.hr/documents/LinkedDocuments/CCERT-PUBDOC-2003-1044.pdf. (preuzeto 24.03.2014.), str. 4.
29
loc. cit.
19
31
prema Feringa, A., Goguen. A., Stoneburner, G. (2001). Risk Management Guide for Information
Technology Systems. National Institute of Standards and Technology, str. 27.
20
33
21
Mareta, M. (2008). Ispitivanje i evaluacija sigurnosti seminarski rad. Sveuilite u Zagrebu, Fakultet
elektrotehnike i raunarstva. http://os2.zemris.fer.hr/ISMS/2008_marceta/Evaluacija%20i%20ispitivanje
%20sigurnosti%20sustava.htm, (preuzeto 24.03.2014.), pogl. 6. Evaluacija sustava.
35
22
specifinu situaciju. Sustav ili dio sustava s viom evaluacijskom razinom skuplji su zbog toga
to se prilikom razvoja i evaluacije mora provesti kompliciranije i skuplje testove36.
Slika 8: Osnovni principi evaluacije
Izvor: http://os2.zemris.fer.hr/ISMS/2008_marceta/Evaluacija%20i%20ispitivanje
%20sigurnosti%20sustava.htm#_Toc209723903
3.3.1 Evaluacijske tehnike i alati
evaluacijske
tehnike
(prema
COMMISSION
OF
THE
EUROPEAN
COMMUNITIES, 1993:83):
Neformalan pregled (eng. Informal Examination)- jednostavna evaluatorska tehnika
bazirana na prouavanju dokumentacije;
Compliancy analysis - metodinija tehnika koja se koristi za provjeru konzistentnosti; za
svaku komponentu vie razine provjerava je li implementirana korektno i na nioj razini,
te za svaku komponentu nie razine provjerava u viim razinama je li njeno postojanje
opravdano;
Analiza sljedljivosti (eng. Traceability analysis) - opisuje korektnost usavravanja
funkcija koje provode sigurnost kroz reprezentacije TOE-a, do krajnje implementacije u
36
23
24
Izvor: http://os2.zemris.fer.hr/ISMS/2008_marceta/Evaluacija%20i%20ispitivanje
%20sigurnosti%20sustava.htm
Aplikacija analizira slabe toke raunala, pritom provjeravajui elemente kao to su
aktualizacije antivirusnih definicija, jesu li sve dostupne zakrpe primijenjene i sl. Koristi CIS
benchmark testove kako bi ocijenio stanje raunala i time prikazao cjelovitu sigurnosnu razinu
raunala. Ovaj alat ne analizira samo softver i komponente operacijskog sustava, njegov detaljan
39
loc. cit.
25
izvjetaj sadrava i popis fizikih komponenti; npr. ne samo koliko je RAM memorije ugraeno
u raunalo, ve i koje je vrste i koje slotove zauzima. Ovaj program ne rjeava pronaene
probleme, ali predlae kako se najbolje pozabaviti njima. Izvjetaj zapoinje osnovnim podacima
kao to su proizvoa raunala, instalirani RAM, veliina hard diska, tip i brzina procesora, ali
isto tako prikazuje proizvoaa matine ploe, i hard diska, serijski broj, tip i brzinu sabirnice,
multimedijske komponente... te jo mnogo toga. U izvjetaju se nalaze i detalji o instalaciji
operativnog sustava, ukljuujui i koje su zakrpe instalirane, a koje nedostaju, kao i listu
korisnikih rauna raunala. Ovim alatom dobivamo pregledan izvjetaj o memorijskim
modulima, lokalnim diskovnim jedinicama, pisaima, instaliranim licencama, instaliranom
softveru, multimadijske informacije, anti virusni status... Izvjetaj se moe sauvati, ili ponovo
generirati po potrebi40.
Belarc Advisor prilagoen je za sljedee operacijske sustave: Windows 8, Windows 7,
Windows Vista, 2003, XP, 2000, NT, ME, 98 i 95. Zahtijeva Internet Explorer ili Netscape
verzije 3 ili vie, Opera, Mozilla, Firefox i Chrome takoer su podrani.
Sve u svemu, ovo je zanimljiv i jednostavan audit alat, jednostavan za uporabu, te
predstavlja brz i jeftin nain skeniranja raunala, koji pritom izgrauje detaljan profil
instaliranog hardvera i softvera. Vrlo je jednostavan za koritenje, po zavretku instalacije i
prihvaanja licence, jednim klikom doe se do rezultata. Alat je u freeware verziji dostupan na41.
Evaluacija je skup i dugotrajan proces, a sponzori evaluacija za uzvrat ne moraju nuno
dobiti sigurniji proizvod. Evaluacijom se najee fokusiraju na evaluiranje dokumentacije, a ne
tehnike korektnosti ili zasluge samog proizvoda. Prilikom pripreme evaluacijskih dokaza i
ostale dokumentacije vezane za evaluaciju vrijeme i trud koji se uloe golemi su, a nekada,
ovisno o veliini TOE-a, proizvod moe zastarit dok se proces zavri. Jo jedan problem
evaluacije je taj kako se sustav evaluira za tono odreenu konfiguraciju, i odreene uvjete rada i
okoline42.
Zajedniki kriterij za sigurnosnu evaluaciju informacijskih tehnologija (eng. Common
Criteria for Information Technology Security Evaluation, skraeno Common Criteria ili CC)43
predstavlja internacionalnu normu (ISO/IEC 15408)44 za raunalnu sigurnost. Certifikacija
40
loc. cit.
41
42
43
44
26
Zajednikim kriterijem donekle je ograniena samo na IT alate. Dok se druge norme kao to je
npr. ISO/IEC 2700245 bave i meudjelovanjem, upravljanjem sustavom, treniranjem korisnika,
sigurnosnim politikama. Ako proizvod dobije certifikat Zajednikog kriterija ili nekog kriterija
slinog njemu, to nuno ne znai kako je on kompletno siguran. Na primjer Microsoft Windows
2000 certificirani je produkt razine EAL4+, ali regularno su izlazile nove sigurnosne zakrpe za
otkrivene ranjivosti (Mareta, 2008).
Ovo je mogue jer proces dobivanja ceritfikata doputa sponzoru evaluacije neke
pretpostavke o operacijskom okruenju proizvda kao i jaini prijetnji s kojima se proizvod
susree u tom okruenju. Na tim se pretpostavkama evaluiraju sigurnosne funkcije proizvoda.
Kako je MS windows 2000 dobio certifikat EAL4+, trebao bi se smatrati sigurnim samo u
pretpostavljenom okruenju i okolnostima koje su se pretpostavljale prilikom evaluacije. Kada bi
bilo koja od ovih sigurnosnih ranjivosti bila iskoristiva u evaluirenoj konfiguraciji proizvoda,
certifikat bi trebalo povui, ili sponzor moe naruiti reevaluaciju proizvoda kako bi se ukljuile
zakrpe koje rjeavaju pronaene ranjivosti unutar evaluirane konfiguracije, a ukoliko to ne uini
ukida se certifikat nad tim prozvodom (Mareta, 2008).
MS Windows 2000 ostaje EAL4+ bez ukljuenja aplikacije bilo kojih sigurnosnih zakrpa
na svoju evaluiranu konfiguraciju, to pokazuje limitacije kao i snagu evaluirane konfiguracije
(Mareta, 2008).
Glavni principi informacijske sigurnosti trebali bi se temeljiti na jednostavnosti.
Kompleksnost sigurnosnih mehanizama, kao i samih sustava je uvijek polazite mnogih
sigurnosnih pitanja i problema. Nadalje, sigurnost sustava ne smije ovisiti o tajnosti njegove
implementacije ili pojedinih komponenti. U sluaju pada sustava, sigurnosne mjere trebale bi
jo uvijek biti u funkciji. U najveoj moguoj mjeri poeljno je razdvojiti pojedine
funkcionalnosti sustava kao i njegovih korisnika i administratora.
Sigurnost sustava ne bi smjela omesti korisnika u obavljanju svakodnevnih zadaa, a u
tom smislu potrebno je pronai pravu mjeru. Ukoliko se korisnici suoe sa previe
ograniavajuim mjerama sigurnosti, nai e nain da ih zaobiu ili kompromitiraju (npr.
zapisivat e dugake i jake lozinke na lako vidljivim i dostupnim mjestima).
Sigurnosni mehanizmi moraju biti slojeviti tako da kompromitiranje jednog sigurnosnog
mehanizma ne dovodi do kompromitiranja cijelog sustava. Kada je sustav kompromitiran, treba
dokumentirati dogaaj jer prikupljene informacije mogu pomoi pri identifikaciji metoda i
exploit-a koje je koristio napada, prilikom poboljanja sigurnosti sustava, kao i za otkrivanje i
45
27
kazneno gonjenje poinitelja. No ak i uz sve ove mjere opreza, nitko ne moe garantirati da e
sustav biti stopostotno siguran, stoga jedino to moemo uiniti jest ispitivati najizloenije toke
sustava, provjeravati jesu li virusne definicije aurirane, a zatitne stijene dobro konfigurirane
(Mareta, 2008).
28
zatititi mrenu komunikaciju. Napada moe prislukivati tuu komunikaciju i time ometati
povjerljivost mrene komunikacije. Prislukivanje obino znai kopiranje podatkovnih i
upravljakih sadraja (paketa) koji se prenose mreom; takvo kopiranje moe se izvoditi
naprimjer na usmjerivaima ruterima kroz koje ti sadraji prolaze (Radovan, 2011:4).
Napada moe iz osobnih razloga preuzimati, mijenjati, blokirati, skretati ili brisati
poruke koje se prenose mreom u odnosu na adresu primatelja kojem su namijenjene. Napada
se moe i lano predstavljati (kao da je netko drugi) te tako pseudonimno nainiti raznovrsne
tete u raunalnoj mrei.
Napada moe ometati ispravan rad raunalne mree na razne naine i iz raznih pobuda.
Moe to initi sa ciljem da stekne neku korist, npr. da preusmjeri neku financijsku transakciju
(na svoj raun), da ometa poslovanje konkurentske tvrtke, ili da ukrade neke podatke.
Napada moe izvoditi razne oblike napada i bez materijalnih pobuda radi npr. samog
"nadmetanja sa sustavom" dok e neki to initi iz istih destruktivnih nakana.
Raunalna sigurnost u uem smislu, openito se sastoji od odravanja tri sigurnosna
svojstva46:
-
sprijei nastanak problema koje smo ukratko opisali iznad, u onoj mjeri u kojoj se to moe
uiniti. One vrste napada koje taj sustav ne moe sprijeiti, taj sustav treba otkrivati. Sustav
sigurnosti i zatite treba upozoravati na pojavu onih stanja koja ukazuju na postojanje napada,
tako da komunikatori mogu onemoguiti daljnje odvijanje tih napada, i sprijeiti irenje tetnih
posljedica koje ti napadi pokuavaju izazvati (Radovan, 2011:4).
4.1 Povjerljivost sadraja: kriptografija
Hadjina, N., (2009). Zatita i sigurnost informacijskih sustava (nastavni materijali sa zbirkom zadataka).
29
cilj uiniti sadraje nedostupnima (neitljivima) za sve one kojima nisu namijenjeni. Takav nain
zapisivanja sadraja naziva se i ifriranjem sadraja47.
Tajnost informacija se osigurava primjenom opeg modela kriptiranja.
Osnovno naelo zatite tajnosti podataka jest pretvorba podataka. Izvorni, itljivi podaci
iju se tajnost eli zatititi zovu se jasni podaci (eng. plaintext). Tajnost jasnih podataka titi se
postupkom kriptiranja (eng. encription). Postupak kriptiranja je pretvorba jasnih podataka u
neitljive i nerazumljive podatke. Rezultat postupka kriptiranja su kriptirani podaci (eng.
ciphertext). Stvaranjem kriptiranih podataka skriva se informacija zapisana u jasnim podacima.
Dekriptiranje (engl. decription) je postupak obrnut kriptiranju, a njegovom primjenom nad
kriptiranim podacima dobiva se izvorni sadraj jasnih podataka (Popovi, 2006:26).
Dakle, razvojem informacijske tehnologije i komunikacije koju je potrebno zatititi, bitno
se poveala potreba za usavravanjem metoda i sredstava zatite povjerljivosti informacijskih
sadraja, Istodobno, informacijska tehnologija je omoguila razvoj vrlo sloenih metoda
ifriranja sadraja, kao i drugih oblika zatite raunalne mree i sadraja koji se prenose u
mrenoj komunikaciji (prema Radovan, 2011:5).
Slika 9: Struktura ifriranog sustava
Izvor: Radovan, M., (2011.) Raunalne mree (2). Digital point tiskara, Rijeka
4.1.1 ifriranje simetrinim kljuem
48
30
Metode ifriranja kod kojih se slovo Si zamjenjuje uvijek istim slovom Sj nazivaju se
monoalfabetskim metodama ifriranja. Metode kod kojih isto slovo moe biti zamijenjeno
razliitim slovima, nazivaju se polialfabetskim metodama ifriranja. Postoje mnoge mogunosti
polialfabetskog ifriranja sadraja, ali nema potrebe da se ovdje bavimo tim mogunostima
(Radovan, 2011:7). Vano je napomenuti i podjelu simetrinih algoritama: na one koje rade s
blokovima ulaznih podataka (block algorithm) i one koji rade s tokovima bit po bit (eng.
stream algorithm)49. Za uspostavljanje simetrinog kriptografskog sustava koji predstavlja
komunikacijski kanal izmeu dviju strana potrebno dogovoriti tajni klju. Tajni klju se
dogovara prije uspostave komunikacijskog kanala i poznat je samo stranama koje uspostavljaju
komunikaciju. Znatan nedostatak simetrine kriptografije je nerjeen problem tajnosti postupka
kojim se dogovara tajni klju. Taj nedostatak rjeava se upotrebom asimetrine kriptografije
(Popovi, 2006:27).
Postupci asimetrine kriptografije zapravo izvode "zamjeavanje" izvornog sadraja na
razini bitova, a ne na razini slova, no spomenut e se jo jedan algoritam koji radi po naelu
zamjenjivanja slova, prije prijelaska na one sloenije.
Umjesto zamjene slova pomakom po abecedi, ovdje se zamjenu slova (brojki i ostalih
znakova) definira eksplicitno za svako slovo. To se ini pomou skupa parova; pritom se prvi
znak iz para jednoznano preslikava na drugi znak. Takav skup parova naziva se tablicom
preslikavanja i prikazuje se u obliku tablice (Radovan, 2011:8); primjer dijela takve tablice dan
je na slici u nastavku:
Slika 10: Tablica preslikavanja znakova
Izvor: Radovan, M., (2011.) Raunalne mree (2). Digital point tiskara, Rijeka
Takva tablica moe ifrirati na slova, ali moe ukljuivati i brojke (od 0 do 9), znakove
interpunkcije (toka, zarez), i druge znakove. Takva tablica ima ulogu kljua. ifrirani tekst
proizvodi se vrlo jednostavnim algoritmom, tako da se svaki znak iz izvornog teksta potrai u
gornjem retku tablice, i zatim u ifrirani tekst uvrsti onaj koji se nalazi ispod tog znaka u tablici.
Dakle, algoritam uzima danu tablicu parova kao klju, i prema tom kljuu izvodi zamjenu
znakova, i tako proizvodi ifrirani zapis izvornog sadraja (prema Radovan, 2011:8).
49
ibid. 137.
31
Dobra strana ove metode je u tome to postoji jako mnogo moguih tablica preslikavanja.
Za abecedu od 26 slova postoji 26! ("26 faktorijel") razliitih (moguih) tablica preslikavanja
takve vrste; to je broj reda veliine 10 26. Sa porastom broja znakova (preko 26), bitno raste broj
moguih tablica preslikavanja, to ini ovakav sustav ifriranja jo sigurnijim50.
Meutim, u svakom jeziku postoje tipine rijei od dva ili tri slova; u engleskom su to
rijei "in", "on", "it", "the", i sl. Ukoliko napada zna o kojoj temi govori neka ifrirana poruka,
to mu u znatnoj mjeri olakava otkrivanje parova iz tablice preslikavanja, odnosno otkrivanje
izvornog sadraja te poruke. Na temelju duljine zapisa rijei i frekvencije njena javljanja u
ifriranom zapisu, napada moe otkriti koja je to rije u izvornom zapisu; time je ujedno otkrio
znatan broj parova iz tablice preslikavanja (prema Radovan, 2011:8).
Zbog svega navedenog, moe se zakljuiti da ova metoda ifriranja (algoritam i klju)
zbog relativno niske sigurnosti koju prua nije pogodna za praktinu primjenu. Ta metoda ima
jo nedostataka kao to je relativno velik klju.
4.1.2 ifriranje po blokovima (Block Algorithm)
32
Moderni alati za ifriranje diska podatke ifriraju u pravom vremenu (eng. on-the-flyencription, real-time encription), tj. podatke ifriraju dok ih spremaju (kopiraju) u ifrirani
spremnik, ili u sluaju itanja, deifriraju dio datoteke koji se ita. Uobiajeni nain ifriranja je
blokovski, tj. podaci se u radnoj memoriji ifriraju u blokovima te se tek onda spremaju na disk
ili itaju51.
Niz duine 64 bita moe poprimiti 264 razliitih vrijednosti (kombinacija bitova), to daje
vei broj parova oblika < Bulaz, Bizlaz > nego to se moe praktiki proizvesti (eksplicitno
definirati) i zapisati u raunalo. Tolike parove blokova ne bi imalo ni smisla raditi, jer bi tako
ogromna koliina parova bila neprikladna za upotrebu (pretraivanje) u procesu ifriranja
(Radovan, 2011:10).
Iz navedenih razloga, umjesto da se eksplicitno definira preslikavanje 64-bitnih blokova u
komadu, algoritam ifriranja definiran je kao proces paralelnog preslikavanje 8 dijelova od
jednog bloka, pri emu je svaki dio dug 8 bitova. Niz od 8 bitova moe poprimiti 2 8 razliitih
kombinacija bitovnih vrijednosti "0" ili "1"; dakle, 256 razliitih vrijednosti niza. To znai da za
definiranje preslikavanja za sve mogue vrijednosti niza od 8 bitova treba 256 parova oblika
< ulazni-8-bitni-niz, izlazni-8-bitni-niz >52
Za svaki od 8 nizova (dijelova jednog bloka) treba definirati jednu takvu tablicu
preslikavanja, to je relativno jednostavno napraviti. Na slici u nastavku dan je grafiki prikaz
strukture algoritma za ifriranje 64-bitnih blokova, kakvog ovdje opisujemo:
51
33
Izvor: Radovan, M., (2011.) Raunalne mree (2). Digital point tiskara, Rijeka
Nakon prolaska kroz proces takvog preslikavanja, osam nizova od po 8 bitova, koji su
proizvedeni u tom procesu, tvore jedan 64-bitni niz u kojem su bitovi ifrirani (permutirani,
preslikani) unutar svake osmorke bitova; pritom su osmorke ostale u istom redoslijedu u kojem
su bile na poetku. Slijedi proces permutacije bitova na razini 64-bitnog bloka; dakle, ovdje
se permutiraju bitovi na razini cijelog bloka. Rezultat te permutacije je ujedno rezultat tekueg
prolaza kroz cikliki proces (algoritam) ifriranja jednog bloka (Radovan, 2011:11).
Taj rezultat alje se na ulaz algoritma, ime se opisani proces ifriranja ("zamjeavanja
bitova") izvodi ponovno. Takav cikliki proces ifriranja jednog bloka moe imati vie desetaka
iteracija. Po zavretku iteriranja, rezultat zadnjeg prolaza kroz opisani proces ifriranja je
ifrirani zapis izvornog zapisa 64-bitnog bloka kojeg se ifriralo (Radovan, 2011:11).
Kod svakog ifriranja, nain na koji algoritam zamjeava bitove odreen je vrijednou
kljua sa kojim se izvodi to ifriranje. Algoritam je precizno definiran i obino je javno poznat,
ali algoritam izvodi svaki proces ifriranja na nain koji je odreen nizom bitova zadane duine,
koji se naziva kljuem, i kojeg se zadaje algoritmu prigodom ifriranja (Radovan, 2011:11).
Za isti polazni zapis sadraja, isti algoritam za ifriranje proizvodi razliite ifrirane
zapise za razliite vrijednosti kljua (Radovan, 2011:11).
U opisanom algoritmu, ulogu kljua mogu imati osam tablica preslikavanja, ili funkcija
permutiranja bitova u 64-bitnom bloku kojeg proizvodi osam preslikavanja 8-bitnih nizova, ili
oboje. Ono to u procesu ifriranja nije fiksno zadano, i to se moe zadati kod pokretanja
procesa ifriranja (pomou nekog ulaznog parametra), to moe imati ulogu kljua algoritma za
ifriranje (Radovan, 2011:11).
34
kljua, a
35
biti siguran da ta poruka dolazi od B, jer nitko drugi ne poznaje klju K AB sa kojim je ta poruka
ifrirana (Radovan, 2011:15).
Ovo izuzetno svojstvo takvog sustava ifriranja sa simetrinim kljuem kojeg u
meusobnoj komunikaciji koriste samo dva komunikatora vrijedi uz uvjet da se tog kljua ne
domognu tree osobe.
Najpoznatiji simetrini kriptografski algoritam toka je RC4, autora Rona Rivesta, koji je
svoju tajnovitost zadrao do 1994. godine te do tada bio slubeno prihvaen od amerike vlade.
RC4 i danas se jo ponegdje koristi uglavnom u obliku 256 bitnih kljueva. Njegovom
neispravnom uporabom, lako dolazi do kompromitacije enkriptiranih podataka, kao to je to bio
sluaj sa WEP protokolom WIFI mrea (prema Antoli, 2010:145).
RC4 (drugim imenom ARC4 ili ARCFOUR) je irokokoriteni program koji se koristi u
raznim protokolima poput SSL (osiguravanje prometa) i WEP (osiguravanje beinih mrea).
Dizajnirao ga je Ron Rivest u RSA Security odjelu 1987. godine. (RC je akronim za "Ron's
Code"). Algoritam generira pseudo-sluajni niz bita koji se kombinira sa tekstom koritenjem
XOR funkcije (dekriptiranje se obavlja na isti nain). Za generiranje niza koriste se: permutacije
256 bitova i dva pokazivaa duljine 8 bita53.
Uglavnom, simetrini algoritmi su po svojoj prirodi bri, tj. implementacija na raunalu
se bre odvija od implementacije asimetrinih algoritama. No, zbog nekih prednosti asimetrinih
algoritama. u praksi se obje vrste algoritama isprepleu u cilju bolje zatite poruka. Obino se
asimetrini algoritmi koriste za enkripciju sluajno generiranog broja koji slui kao klju za
enkripciju originalne poruke metodama simetrinih algoritama. Ovo se naziva hibridna
enkripcija54.
4.1.3 ifriranje asimetrinim kljuem uloga javnog kljua
CARNet CERT u suradnji s LS&S, (2009). TLS protokol. CCERT-PUBDOC-2009-03-257. Revizija 1.04.
http://security.lss.hr/documents/LinkedDocuments/CCERT-PUBDOC-2009-03-257.pdf. (preuzeto
07.04.2014.)., str. 6.
54
36
javno dostupan svima, dok je tajni klju poznat samo njegovu vlasniku. Javni klju se
primjenjuje za kriptiranje podataka, a podaci kriptirani javnim kljuem mogu se dekriptirati
samo uporabom tajnog kljua. Mogu je i obrnuti smjer kriptiranja, gdje se kriptira tajnim
kljuem, a dekriptira javnim kljuem (Popovi, 2006:27).
Zahtjev da dvije strane u komunikaciji trebaju imati zajedniki tajni klju ne mora biti
problem, ali moe biti velik problem iz raznih razloga. Prije svega, dvije strane trebaju
dogovoriti zajedniki tajni klju. Kod globalne mrene komunikacije to openito nije lako uiniti
na siguran nain, jer komunikatori mogu biti meusobno vrlo udaljeni i ne susretati se fiziki. S
druge strane, dogovarati tajni klju pomou obinih poruka raunalne pote je riskantno;
komunikatori ne mogu ifrirati svoje poruke raunalne pote prije nego to dogovore tajni klju
(Radovan, 2011:13).
Budui da klju poznaju dvije osobe, poveava se mogunost da netko trei sazna taj
klju a ukoliko i doe do toga, moe nastati spor oko odgovornosti i utvrivanja strane koja je
dopustila da klju sazna trea osoba ime je izravno ugroena povjerljivost (tajnost)
komunikacije. Iz tog razloga potrebno je tajni klju povremeno preventivno mijenjati, uz obvezni
uvjet da se novi tajni klju ne dogovara porukama koje su ifrirane starim kljuem, jer ukoliko je
isti kompromitiran, moe se takvim komunikacijskim kanalom saznati i novi klju.
Budui je glavni problem u simetrinom ifriranju upravo rukovoenje tajnim
kljuevima, nakon objavljivanja rada koji su napisali Whitfield Diffie i Martin Hellman 1976.
godine pojavilo se ifriranje s javnim kljuevima. Metoda je toliko promijenila rad s kljuevima
da ju David Kahn opisuje kao "najvei, revolucionarni napredak u kriptografiji od renesanse" 55.
ifriranje poruka za primatelja A izvodi se uz upotrebu javnog kljua od A; taj klju
oznaavamo sa KA+. Primatelj A deifrira tako ifrirane poruke uz upotrebu svog privatnog
kljua KA- (Radovan, 2011:14).
U ovakvoj komunikaciji nema potrebe za razmjenom zajednikog tajnog kljua, jer on
ovdje ovdje i ne postoji. Klju svakog subjekta komunikacije je javan (na Internetu) i dostupan
svima, tako da nema potrebe slati bilo kome. Privatni klju svakog subjekta je tajan i koristi ga
samo taj subjekt, tako da nema potrebe da se taj klju alje bilo kome (prema Radovan, 2011:14).
Takav, na prvi pogled idealan sustav ifriranja, ima i jednu kljunu slabost - troi
mnogostruko vie vremena za ifriranje, nego sustav sa simetrinim kljuem. Takoer, primatelj
ifrirane poruke ne moe biti siguran da li ona zaista potjee od subjekta koji je u poruci naveden
55
37
kao poiljatelj. Takav problem identiteta u ovom sustavu i inae, rijeen je razvojem ve
spomenutog sustava digitalnog potpisa.
Godine 1976. Diffie i Hellman 56 razvili su jedan algoritam koji omoguava da se
ifriranje izvede pomou jednog kljua, a deifriranje pomou drugog kljua. To je bio poetak
razvoja sustava za ifriranje uz upotrebu javnih kljueva primatelja, njegova sredinja uloga
prisutna je i u sustavu utvrivanja identiteta komunikatora, te digitalnog potpis. Na slici u
nastavku prikazana je osnovna struktura sustava za ifriranje uz upotrebu javnog i tajnog
(privatnog) kljua primatelja.
Izvor: Radovan, M., (2011.) Raunalne mree (2). Digital point tiskara, Rijeka
Ukoliko subjekt A eli poslati subjektu B poruku m u ifriranom obliku, u sustavu
ifriranja sa javnim kljuem, subjekt B imat e svoj javni klju K B+ (za ifriranje) i svoj privatni
klju KB- (za deifriranje). Poiljatelj A pokree sustav za ifriranje sa javnim kljuem i zadaje
mu javni klju KB+ od primatelja B i sadraj svoje poruke m. Proces ifriranja sadraja m sa
javnim kljuem KB+ proizvodi ifrirani zapis KB+(m) sadraja m. Poiljatelj alje taj ifrirani zapis
primatelju B (prema Radovan, 2011:14).
Po primitku ifriranog zapisa koji je ifriran njegovim javnim kljuem, primatelj B
pokree sustav za ifriranje i deifriranje (sa javnim i tajnim kljuem) i tom sustavu zadaje
primljeni ifrirani zapis KB+(m) i svoj privatni klju KB-. Na temelju toga sustav izraunava K B(KB+(m)). Dakle, uz upotrebu svog privatnog kljua KB-, primatelj B iz ifriranog zapisa KB+(m)
56
38
koji je ifriran sa njegovim javnim kljuem KB+, izraunava izvorni zapis sadraja m. Jer vrijedi
slijedei odnos:
KB-(KB+(m)) = m57
Da bi ovakav sustav ifriranja i deifriranja ispravno funkcionirao, javni i privatni klju
trebaju biti meusobno zavisni u smislu svojstva kojim se postie da ono to se ifrira sa jednim
od ta dva kljua, moe biti deifrirano s drugim kljuem.
Sustav ifriranja sa javnim i privatnim kljuem ima jo neka vrlo korisna svojstva o
kojima govorimo u nastavku. Glavno od tih svojstava je slijedee: kao to se sa privatnim
kljuem deifrira ono to je ifrirano sa pripadnim javnim kljuem, tako se sa javnim kljuem
moe deifrirati ono to je ifrirano sa pripadnim privatnim kljuem. To znai da vrijedi
jednakost:
KB-(KB+(m)) = KB+(KB-(m)) = m58
To svojstvo ini osnovu sustava digitalnog potpisa.
Da bi sustav ifriranja sa javnim i tajnim kljuem bio dovoljno dobar za iroku uporabu,
mora ispuniti nekoliko osnovnih uvjeta, meu koje spadaju (prema Radovan, 2011:15):
- Nain formiranja parova kljueva (javni, tajni) treba biti takav da napada ne moe
utvrditi tajni klju KA- primatelja A na temelju uvida u njegov javni klju KA+.
- Nain ifriranja sadraja treba biti takav da napada nema praktiki nikakvih izgleda da
na temelju uvida u ifrirani zapis koji je napravljen prema javnom kljuu K A+, otkrije pripadni
privatni klju KA-.
- Nain ifriranja sa javnim kljuem treba biti takav da napada nema praktiki nikakvih
izgleda da deifrira ifrirani zapis koji je napravljen prema nekom javnom kljuu - osim sa
pripadnim privatnim kljuem (koji mu nije dostupan).
4.1.4 RSA sustav ifriranja
58
loc. cit.
59
39
CARNet CERT u suradnji s LS&S, (2009). TLS protokol. CCERT-PUBDOC-2009-03-257. Revizija 1.04.
http://security.lss.hr/documents/LinkedDocuments/CCERT-PUBDOC-2009-03-257.pdf. (preuzeto
07.04.2014.)., str. 6.
61
40
koristiti za kodiranje kljueva sesije, koji se onda koriste za kodiranje u sustavima sa simetrinim
kljuem, kao to su DES i AES (Radovan, 2011:16).
Otkrivanje izvornog sadraja iz ifriranog zapisa toga sadraja (bez posjedovanja kljua)
naziva se probijanjem ili razbijanjem kode (breaking the code). Kodom ili kodnim zapisom se
ovdje naziva ifrirani zapis izvornog sadraja. Pokuaj probijanja kode od strane nekog napadaa
moe se izvoditi u razliitim okolnostima. Pogledajmo tri osnovne (i tipine) situacije62:
(1) Napada posjeduje samo ifrirani zapis sadraja - Napada se domogao ifriranog
zapisa sadraja, ali ne zna koje je vrste taj sadraj ni o emu govori. Takva situacija naziva se
napadom samo sa ifriranim sadrajem (eng. ciphertext-only attack). Ta situacije je prilino
nepovoljna za napadaa jer ne posjeduje dodatna znanja ne temelju kojih moe pokuati probiti
ifrirani zapis sadraja.
(2) Napada posjeduje izvorne zapise nekih sadraja i ifrirane zapise istih sadraja,
koji su ifrirani prema nekom algoritmu i kljuu. Takav napad naziva se napadom sa poznatim
izvornim (itljivim) sadrajem (eng. known-plaintext attack). U ovom sluaju radi se o napadu
na algoritam i klju ifriranja. Napada koji posjeduje izvorni zapis sadraja i ifrirani zapis toga
sadraja pokuava na temelju toga otkriti algoritam i klju ifriranja. Ako u tome uspije, onda e
u budue lako deifrirati (i itati) sve druge poruke koje su ifrirane sa tim algoritmom i kljuem,
ije ifrirane zapise uspije kopirati u prijenosu. Dobar sustav ifriranja (algoritam i klju) trebao
bi izdrati takvu vrstu napada; dakle, napada ne bi smio uspjeti otkriti algoritam i klju u
situaciji kakvu smo ovdje opisali.
(3) Napada moe biti u poziciji dobiti ifrirani zapis tono onog sadraja kojeg je on
sam odabrao. To znai da napada ima mogunost navesti poiljatelja da ifrira i poalje tono
onaj sadraj kojeg eli napada; napada pak bira onaj sadraj za kojeg smatra da e mu najbolje
pomoi da otkrije algoritam i klju sa kojim poiljatelj ifrira svoje sadraje. Napada mora
62
ibid., 9.
41
ovdje biti u poziciji da moe kopirati (u prijenosu) ifrirane sadraje onih poruka za koje je on
sam naveo poiljatelja da ih ifrira i poalje na neko odredite. Tada napada posjeduje izvorni
zapis i ifrirani zapis onih sadraja koje je on sam odabrao. Tu vrstu napada naziva se napadom
sa odabranim izvornim (itljivim) sadrajem (eng. chosen-plaintext attack). Na temelju
odabranih izvornih sadraja i njihovih ifriranih zapisa, napada pokuava utvrditi algoritam i
klju sa kojima poiljatelj ifrira svoje sadraje. Ovo je povoljna situacija za napadaa, ali i u
takvoj situaciji vrlo je teko otkriti sustav (algoritam i klju) ifriranja, ako je taj sustav dobro
napravljen.
Pokuaj probijanja (otkrivanja) sadraja ifriranog zapisa metodom grube sile (eng.
brute force) izvodi se na taj nain da se dani ifrirani zapis sistematski pokuava deifrirati svim
moguim vrijednostima kljueva63. Dakle, algoritmu za deifriranje zadaju se (nekim redom) sve
permutacije niza od onoliko bitova koliko je dugaak klju kod tog algoritma za ifriranje.
Vjerojatnost da takav pokuaj deifriranja uspije je vrlo mala, pogotovo kod onih sustava kod
kojih je duina kljua relativno velika. Broj razliitih nizova bitova duine n iznosi 2n, tako da
kod duine kljua od 56 bitova, broj moguih kljueva iznosi 2 56. To je vrlo velik broj kljueva,
tako da raunalo ne stigne pokuati izvesti (u nekom realnom vremenu) proces deifriranja sa
svakim od tih kljueva, "traei pravog" koji e proizvesti itljiv sadraj (Radovan, 2011:12).
Brzina deifriranja zapisa bez poznavanja kljua moe se poveati paralelnim
procesuiranjem tj. primjenom veeg broja procesora to je neophodno u sluaju duljeg kljua
budui da brzina deifriranja u takvom sluaju eksponencijalno opada.
Naprimjer, ukoliko pretpostavimo da neko raunalo moe deifrirati grubom silom neki
sadraj koji je ifriran sa 56-bitnim kljuem (kao kod sustava DES), u vremenu od jedne
sekunde, trebalo bi 150 trilijuna godina da na isti nain deifrira identian sadraj kad je ifriran
uz upotrebu kljua od 128 bitova, kakvog se koristi u sustavu AES (prema Radovan, 2011:12).
4.2 Integritet poruke i autentinost komunikatora
64
42
poiljatelj nekog sadraja onaj entitet za kojeg se u poruci tvrdi da jest, bez obzira radi li se o
fizikoj osobi ili dijelu opreme.
Samo privatni klju poiljatelja moe generirati potpis koji primatelj moe ovjeriti
poiljateljevim javnim kljuem te na taj nain pouzdano ustvrditi da je poruka poslana od dotine
osobe66.
Govori se i o autentinosti poruke67; poruka koju je primatelj primio je autentina ako je
njen sadraj jednak onome kojeg mu je poslao (uputio) poiljatelj, i ako je stvarni poiljatelj te
poruke onaj entitet za kojeg se u poruci tvrdi da jest. Dakle, poruka je autentina ako je sauvan
integritet njenog sadraja i ako dolazi od autentinog poiljatelja.
Primatelj treba openito imati mogunost provjeriti integritet poruke koju prima i
autentinost njenog (navodnog) poiljatelja. Dakle, prijenosni sustav treba omoguiti primatelju
poruke da utvrdi (prema Radovan, 2011:17):
-
Hadjina, N., (2009). Zatita i sigurnost informacijskih sustava (nastavni materijali sa zbirkom zadataka).
FER Zavod za primijenjeno raunarstvo,
http://www.smartgrids.hr/_download/repository/SkriptaZaStudente2009-12%5B1%5D.pdf. (preuzeto
26.03.2014.), str. 69.
66
67
loc. cit.
43
funkcija bilo kojeg algoritma koji iz podataka proizvoljne duine bitova izraunava niz bitova
fiksne duine68. Hash funkcija preslikava digitalni zapis (m) proizvoljne duine na jedan element
iz skupa nizova bitova stalne (zadane) duine. Naprimjer, hash funkcija MD5 preslikava sadraj
poruke od 72885 bitova na jedan niz od 128 bitova; ta funkcija preslikava i poruku od 33098
bitova na jedan niz od 128 bitova (Radovan, 2011:17).
Saimanje podataka postie se dakle primjenom funkcije rasprivanja (eng. hash
function). Funkcija rasprivanja H prima kao ulaz poruku m proizvoljne duljine i kao rezultat
stvara saetak h u obliku niza nula i jedinica:
h= H(m)
Vano svojstvo postupka saimanja je jednosmjernost, tj. nepostojanje obrnutog
postupka. Jednostavno je pomou funkcije rasprivanja iz m izraunati h, ali je raunski
neizvedivo iz h nai m. Drugo vano svojstvo je osjetljivost funkcije na promjenu ulaznog
podatka. Bilo kakva promjena ulaznog podatka znatno se odraava na rezultat, tj. rezultira posve
drukijim podacima na izlazu (prema Popovi, 2006:29).
4.2.1.1 MD5 (Message Digest version 5)
Najpoznatija hash funkcija je MD5 (Message Digest version 5); ta funkcija proizvodi
hash duine 128 bitova. Druga poznata hash funkcija je SHA-1 (Secure Hash Algorithm); ta
funkcija proizvodi hash duine 160 bitova. Slika u nastavku ilustrira uinak hash funkcije.
Izvor: Radovan, M., (2011.) Raunalne mree (2). Digital point tiskara, Rijeka
Hash funkciju MD5 definirao je Ron Rivest, a opisana je u RFC 1321. Proces hashiranja
u sustavu MD5 sastoji se od etiri faze; prve tri faze moemo nazvati pripremnima; u etvrtoj
68
44
fazi cikliki se procesiraju blokovi od 128 bitova ulaznog sadraja m i na taj nain formira se
rezultat H(m) hashiranja poruke m, ija duina iznosi 128 bitova69.
Kao Internet standard koristio se u mnogim aplikacijama, esto kako bi se provjerio
integritet datoteka. Nakon otkria neotpornosti algoritma na koliziju, povuen je iz primjene70.
Hash funkcija preslikava nizove proizvoljne (velike) duine na nizove jednake (male)
duine; zato moraju postojati mnoge razliite poruke m1 i m2 za koje vrijedi da je
H(m1) = H(m2)
Ovdje je bitno da napada koji namjerno mijenja sadraj m1 u m2, ne moe namjestiti
m2 na nain da H(m2) bude jednako H(m1). To je najvanije svojstvo (ili cilj) dobre hash
funkcije (Radovan, 2011:18).
4.2.1.2 SHA porodica algoritama saimanja (Secure Hash Algorithm)
69
70
CARNet CERT u suradnji s LS&S, (2009). TLS protokol. CCERT-PUBDOC-2009-03-257. Revizija 1.04.
http://security.lss.hr/documents/LinkedDocuments/CCERT-PUBDOC-2009-03-257.pdf. (preuzeto
07.04.2014.)., str. 7.
71
loc. cit.
72
RFC 6194. Security Considerations for the SHA-0 and SHA-1 Message-Digest Algorithms.
http://tools.ietf.org/html/rfc6194. (preuzeto 14.03.2014.)., str. 2.
45
SHA-1 je kompromitiran 2002. godine73, nakon ega je razvijena poboljana inaica SHA-2
(razvio Ronald rivest; do danas nema dokazanih sigurnosnih problema) 74. Postoje i SHA - 0 te
SHA 3 ije e sigurnosne performanse biti prikazane nie navedenom tablicom.
Tablica 1: Usporedba HASH algoritama
Algoritam i
njegove
varijante
Maksimalna
Interni hash
Veliina bloka
zbroj (bitovi)
(bitovi)
veliina
poruke
(bitovi)
Veliin
Prolasc
a izraza
i (pass,
(bitovi)
rounds)
Kompromitacija
Performanse
(MiB/s)
MD5
128
512
264 1
32
64
Da
335
SHA-0
160
512
264 1
32
80
Da
SHA-1
160
SHA224
SHA256
SHA384
SHA-
SHA-
512
512
2 1
32
80
192
512
264 1
32
64
Ne
139
1024
2128 1
64
80
Ne
154
64
24
Ne
224
256
384
512
SHA512/22
64
224
4
SHA512/25
256
SHA-3
224/256/384/512
1152/1088/832/576
46
47
sadraj moe biti mijenjan ili poslan od strane napadaa, i vjerojatno je tetan (Radovan,
2011:20).
Zakljuno, klju autentikacije omoguava primatelju poruke da otkrije potencijalni napad
i da se zatiti od posljedica iskrivljenih poruka njihovim odbacivanjem. Takoer, omoguava mu
i da nesporno utvrdi identitet poiljatelja poruke.
4.2.2 Digitalni potpis (Digital signature)
76
77
48
ibid. 22.
49
Izvor: Radovan, M., (2011.) Raunalne mree (2). Digital point tiskara, Rijeka
Potpisnik A potpisuje sadraj (poruku) m na slijedei nain (prema Radovan, 2011.):
(1) Uzima sadraj m kojeg eli potpisati, i izraunava hash H(m) tog sadraja.
(2) ifrira hash sadraja sa svojim privatnim kljuem; dakle, proizvodi KA-(H(m)).
(3) alje primatelju sadraj m i ifrirani hash toga sadraja; dakle, alje par (m, KA(H(m))).
Hash poruke m, ifriran sa privatnim kljuem od A - dakle, zapis K A-(H(m)) - naziva se
digitalnim potpisom (digital signature) poruke m od strane subjekta A.
Dakle, ulogu digitalnog potpisa poiljatelja A moe imati ifrirani zapis cijele poruke m,
pri emu je taj ifrirani zapis proizveden uz upotrebu privatnog kljua od A. Ali digitalnim
potpisom poiljatelja A poruke m naziva se ifrirani zapis hasha poruke m, koji je proizveden
uz upotrebu privatnog kljua poiljatelja A; dakle, zapis oblika KA-(H(m))79.
Primatelj B prima sadraj poruke m zajedno sa ifriranim zapisom hasha te poruke, koji je
ifriran sa privatnim kljuem poiljatelja A; dakle, prima par (m, K A-(H(m))). Primatelj B na to
izvodi slijedei proces (prema Radovan, 2011:23):
(1) Pokree sustav za deifriranje (RSA) i zadaje mu primljeni ifrirani sadraj hasha
poruke (dakle, KA-(H(m))) i javni klju KA+ od poiljatelja A. Sustav iz toga proizvodi hash H(m)
poruke m.
(2) Primatelj B uzima itljivu poruku m koju je primio od poiljatelja A i izraunava njen
hash H(m).
79
ibid. 23.
50
(3) Ako je rezultat koji je dobiven u koraku (1) jednak rezultatu koji je dobiven u koraku
(2), onda primatelj B moe biti siguran u integritet primljene poruke (nije iskrivljena u
prijenosu), kao i da je autentini autor te poruke A. Ako rezultati koji su dobiveni u (1) i u (2)
nisu jednaki, onda je sadraj izvorne poruke mijenjan, ili se poiljatelj poruke lano predstavlja,
ili oboje.
Slika 15: Utvrivanje autentinosti potpisa i integriteta poruke
Izvor: Radovan, M., (2011.) Raunalne mree (2). Digital point tiskara, Rijeka
4.2.2.1 CA certifikat
51
sigurna komunikacija preko nesigurnih kanala. Tu ulogu unutar PKI infrastrukture preuzima
certifikacijski centar CA (eng. Certificate Authority) koji je odgovoran za izdavanje digitalnih
certifikata koji e omoguiti povezivanje digitalnih identiteta korisnika s njihovim stvarnim
identitetom. Upravo je digitalni certifikat koji kreira i potpisuje CA entitet kojem vjeruju svi
korisnici unutar sustava te ja na taj nain omoguena jednoznana identifikacija i autentifikacija
korisnika80.
CA izdaje potvrde (certifikate) sa kojima potvruje da je dani entitet (osoba, tvrtka,
usmjeriva, server) zaista onaj koji taj entitet tvrdi da jest. Ili pokuajmo to rei ovako: ovjerovna
sluba daje potvrde na kojima pie tko je (u stvarnosti) vlasnik te potvrde. Procedura
utvrivanja stvarnog identiteta nekog entiteta nije precizno pretpisana; preostaje nadati se da
certifikacijski centar radi svoj posao savjesno i uspjeno. On moe spadati u sastav dravnih
slubi (dravne administracije), ili bi njegov rad trebao podlijegati nadzoru dravnih slubi81.
Najire primjenjivani oblik iskaznica na Internetu je X.509 - standard koji odreuje nain
izdavanja i sadraj iskaznica (Popovi, 2006:24).
Ako dakle A eli stupiti u komunikaciju sa B, onda A alje B svoj CA certifikat. B uzima
javni klju KCA+ od ovjerovne slube i deifrira CA certifikat kojeg mu je poslao A. Tako B moe
saznati sve relevantne podatke o A, koji su zapisani u njegovom CA certifikatu (Radovan,
2011.).
Dakle, CA certifikati omoguuju komunikatorima meusobno upoznavanje prije
razmjene poruka, i to temeljem sadraja koji su zapisani u njihovim CA certifikatima. Glavnu
ulogu meu tim sadrajima ima javni klju odreenog subjektu, koji ujedno posjeduje i
pripadajui privatni klju.
CA certifikati su toliko dobri i pouzdani koliko je dobra i pouzdana sluba koja ih izdaje.
Kae se da korisnici trebaju imati povjerenja u ovjerovnu slubu (CA); u stvari, korisnici nemaju
drugog izbora nego imati povjerenja u tu slubu i u njene CA certifikate, jer nemaju neke druge
(bolje) mogunosti (Radovan, 2011:25).
4.2.3 Sigurnost na razinama slojeva OSI modela
81
52
82
ibid. 28.
53
Aplikacijski sloj najvia je razina OSI modela koji prua mrene usluge svim
aplikacijama a njegova sigurnost poglavito se odnosi na metode zatite web aplikacija od
neovlatenog pristupanja i napada. Sve sofisticiraniji napadi ipak su jo uvijek usredotoeni na
tri kljune slabosti raunalnih sustava83:
-
Holl, K. (2003). Global Information Assurance Certification Paper. SANS Institute, str. 14-16.
84
86
Sartori, L. (2005). Pregled referentnih modela komunikacijskih protokola. Sveuilini raunski centar
Zagreb. (preuzeto 17.03.2014.).
54
Kao primjer sigurnosnog sustava primjenjivog na aplikacijskoj razini valja navesti PGP
sustav (eng. pretty good privacy - prilino dobra privatnost) koji predstavlja dominantan sustav
sigurnosti i zatite komunikacije u sustavu raunalne pote. Postoji vie verzija sustava PGP i
vie softverskih implementacija toga sustava. U sutini, PGP se sastoji od elemenata kao i
digitalni potpis (potpoglavlje 4.2.2), i funkcionira na slian nain. Zavisno od verzije, PGP
sustav (kao konkretna softverska implementacija) koristi MD5 i SHA funkcije (algoritme) za
izraunavanje hasha (saetaka) H(m) poruke m. Za ifriranje sa simetrinim kljuem koristi
algoritme 3DES, IDEA i CAST. Za ifriranje sa javnim kljuem koristi algoritam RSA
(Radovan, 2011:36).
Dakle, sustav PGP, kreira za korisnika jedan javni klju i pripadajui privatni klju.
Privatni klju korisnika zatien je lozinkom koju korisnik unosi kod njegove uporabe. Dodatni
element zatite je nepoznata lokacija fizikog zapisa privatnog kljua koja moe biti na raunalu
korisnika ili pak na nekom PGP serveru, odnosno na sasvim drugoj lokaciji.
PGP omoguava korisniku ifriranje sadraja poruke, digitalno potpisivanje sadraja
poruke, i oboje da ifrira i digitalno potpie poruku (prema Radovan, 2011:36).
ifrirane i/ili digitalno potpisane poruke raunalne pote prenose se u standardnom
formatu MIME87, u kojem se inae prenose poruke raunalne pote. ifrirani i/ili potpisani
sadraj poruke postaje sadraj u MIME formatu zapisa poruke raunalne pote i smjeta se iza
MIME zaglavlja te poruke. Takva poruka moe sadravati razumljiv ili nerazumljiv sadraj
(zavisno da li je ifrirana), i nerazumljiv niz znakova, koji je digitalni potpis (ako je poruka
digitalno potpisana) (Radovan, 2011:36).
Dakle, onaj zapis poruke raunalne pote kojeg proizvodi PGP sustav smjeta se u MIME
format kao sadraj ili tijelo MIME zapisa poruke raunalne pote, koju sustav raunalne pote
prenosi od poiljatelja do primatelja. Poetak toga tijela oznaen je sa retkom
----- BEGIN PGP MESSAGE ----a zavretak tijela oznaen je sa retkom
----- END PGP MESSAGE -----
87
MIME (Multipurpose Internet Mail Extension) je proirenje SMTP protokola koje omoguava prijenos
non-ASCII sadraja u e-mail poruci. Omoguava e-mail poruci da sadri vie objekata u jednom tijelu,
tekst bez ogranienja u duini linija i ukupnoj duini, skup karaktera razliit od ASCII, razliite fontove,
binarne datoteke i multimedijalne poruke (slike, audio, video). Moemo ga zamisliti kao skup funkcija za
konverziju ne-ASCII podataka u ASCII i obrnuto., http://hr.wikipedia.org/wiki/MIME. 20.03.2013, (preuzeto
15.02.2014.).
55
88
Institute of Electrical and Electronics Engineers ili IEEE je meuarodna neprofitna profesionalna
organizacija za uznapredovanje tehnologije vezane sa elektricitetom. Ima vie lanova od bilo koje druge
profesionalne tehnike organizacije na svijetu, vie od 360 000 u 175 zemalja,
http://hr.wikipedia.org/wiki/Institute_of_Electrical_and_Electronics_Engineers. 11.03.2013, (preuzeto
15.03.2014.).
89
CARNet CERT u suradnji s LS&S, (2009). TLS protokol. CCERT-PUBDOC-2009-03-257. Revizija 1.04.
http://security.lss.hr/documents/LinkedDocuments/CCERT-PUBDOC-2009-03-257.pdf. (preuzeto
07.04.2014.)., str. 10.
56
protokola ali posredno, preko SSL-a. Trgovina, financijske transakcije, kartino poslovanje i
openito svi povjerljivi sadraji koriste SSL.
Kad web sjedite koristi SSL, onda to ini i HTTP protokol koji izvodi operacije
prijenosa sadraja za to sjedite. Kae se da URL adresa takvih sjedita poinje sa oznakom
"https" (umjesto sa "http"); dodatni znak "s" pokazuje da se komunikacija sa tom web (URL)
adresom odvija preko sloja SSL i da je prema tome sigurna i zatiena. Znak "s" moe biti
pokazatelj da neka aplikacija (web sjedite) koristi SSL, ali nepostojanje spomenutog znaka "s" u
URL adresi ne znai da ta aplikacija ne koristi SSL (Radovan, 2011:37).
Sigurnost i zatita su posebno vani za poslovanje preko Interneta. Bez odgovarajueg
sustava sigurnosti i zatite, napadai bi mogli ometati takvo poslovanje i praviti bitne tete
drugima, zato da donesu korist sebi, ili za zabavu.
Ako se u poslovnoj komunikaciji ne bi koristila enkripcija napadai bi mogli presretati
razne narudbe i uzimati iz njih podatke o kreditnim karticama naruitelja te vriti tako kupovinu
na raun drugih. Takoer, ako se ne bi provjeravalo integritet poruka, napada bi mogao
mijenjati koliine i vrste proizvoda zbog stjecanja koristi, ili iste zabave. Ako se u poslovnoj
komunikaciji ne bi provjeravalo autentinost komunikatora, napada bi mogao napraviti web
sjedite koje izgleda i predstavlja se kao neko (poznato) web sjedite preko kojeg se izvodi etrgovina uz plaanje sa kreditnim karticama. Tada bi napada preko takve web stranice primao
narudbe sa podacima o kreditnim karticama naruitelja; narudbe ne bi izvravao, ali bi uzimao
novac sa bankovnog rauna naruitelja (prema Radovan, 2011:38).
Zadatak meusloja SSL je dakle nadopuna osnovnog TCP protokol sa sustavom koji titi
povjerljivost sadraja (ifriranjem), autentinost komunikatora i integritet poruka.
57
Izvor: Radovan, M., (2011.) Raunalne mree (2). Digital point tiskara, Rijeka
4.2.3.3 Sigurnost na mrenoj razini
Sustav sigurnosti i zatite moe se uspostaviti i na mrenoj razini raunalne mree. Tom
temom se ovdje zbog samog opsega nije mogue baviti; valja spomenuti samo neke osnovne
stvari. Protokol koji definira sigurnost i zatitu na mrenoj razini Interneta, naziva se
sigurnosnim protokolom IP razine (eng. IP security protocol), ili krae IPsec. IPsec je
protokol mrene razine koji omoguava uspostavu sigurnosti i zatite na razini prijenosa IP
paketa90. To moe biti prijenos IP paketa od domaina (ili vratiju mree) na rubni usmjeriva
Interneta i obrnuto, te prijenos izmeu usmjerivaa koji tvore unutranjost (prijenosni sustav)
raunalne mree. IPsec definira zatitu povjerljivosti sadraja, utvrivanje autentinosti
komunikatora, i provjeru integriteta sadraja na razini pojedinanih IP paketa koji se prenose
mreom, od vora do vora, od izvora do konanog odredita91.
Ovo se odnosi na mjere sigurnosti unutar mree, dok njeni rubni ureaji (popularno
nazvani rubovi mree), kao to su routeri, firewall ili ostali posluitelji koji su mostovi prema
internetu predstavljaju ulaznu toku napadaa izvan organizacije. Openito se oni tite:
90
91
58
Web Servera;
NNTP servera;
VPN servera;
SMTP servera.
-
Razliitim firewallima:
Paket filterima;
Pravilima preusmjeravanja;
Inspekcijom paketa;
ISA;
Aplikacijskim Gatewayima.
Osiguranjem autentikacije.
razinama mree, iz navedenih razloga. Meutim, postoje mree i situacije kod kojih postoje
uvjeti i razlozi da se sigurnost i zatita provode na mrenoj razini; meu takve mree spadaju
virtualne privatne mree (eng. virtual private networks VPN's). Tako se nazivaju mree koje
koriste usluge prijenosa javne mree Internet, ali tvore potencijalno zatvorene sustave, koji
mogu sprijeiti druge (vanjske) subjekte da pristupaju njihovim vorovima, podmreama i
sadrajima. Virtualne privatne mree nastaju povezivanjem vie meusobno udaljenih mrea
pomou posebnih vratiju koja izvode dvostruka pakiranja IP paketa93.
Osnovni koncept VPN tehnologije jest pojam tuneliranja. Tuneliranje je tehnika kojom se
podaci namijenjeni jednoj mrei prenose preko druge mree. Takva komunikacija obino se
uspostavlja izmeu dva gatewaya ili udaljenog klijenta i gatewaya. Protokol koji slui za
tuneliranje na jednoj strani enkapsulira originalne podatke (ili paket) i dodaje posebno zaglavlje
92
prema Sever, D. Osnove sigurnosti Microsoft mrenih sustava. Zagreb. Sveuilini raunski centar
(SRCE). http://sistemac.srce.unizg.hr/fileadmin/user_root/seminari/Srce-Sys-SeminariOsnove_sigurnosti_MS_mreznih_sustava.pdf. (preuzeto 07.04.2014.).
93
59
oblikovao
originalan
paket
isporuio
na
odredite.
Osim tuneliranja, VPN rjeenje mora takoer osigurati tajnost i integritet (a nekad i
neporecivost) podataka. Ti zahtjevi ostvaruju se koritenjem kriptografskih metoda i tehnika kao
to su ifriranje, jednosmjerne funkcije i digitalni potpisi. VPN sustavi takoer moraju osigurati
sigurnu
autentikaciju
korisnika
te
biljeenje
praenje
(engl.
logging).
Obzirom na mogunost primjene, VPN sustavi se openito mogu podijeliti na site-to-site sustave
i sustave s udaljenim pristupom94.
Virtualne privatne mree pruaju dobru mogunost da se sustav sigurnosti i zatite
uspostavi na mrenoj razini. Vrata izvode dvostruko pakiranje IP paketa zato da razdvoje (uine
razliitima) pakete iz svoje virtualne mree od paketa iz vanjske (javne) mree. Dvostruko
pakiranje ne titi IP pakete od raznih vrsta napada, ali vrata koja izvode dvostruko pakiranje su
pogodno mjesto na kojem se mogu provoditi mjere sigurnosti i zatite koje smo opisali iznad, i to
na razini IP paketa. Dakle, vrata pomou kojih se ostvaruje virtualna privatna mrea dvostrukim
pakiranjem IP paketa, mogu isto tako izvoditi operacije ifriranja i izraunavanja MAC - ova, i
na taj nain ostvariti zatitu povjerljivosti sadraja, autentinosti poiljatelja i primatelja, i
integriteta poruka na razini pojedinanih IP paketa. Prikladnom obradom IP paketa na vratima,
uz pomo enkripcijskih metoda i sustava, moe se uspostaviti zatita povjerljivosti, autentinosti
i integriteta na razini IP paketa, odnosno na mrenoj razini raunalne mree (prema Radovan,
2011:45).
Dakle, sustav sigurnosti i zatite moe se uspostaviti na mrenoj razini; virtualne privatne
mree naveli smo kao primjer jedne vrste mrea kod kojih postoje pogodni uvjeti da se takav
sustav uspostavi. Protokol IPsec koji definira sustav sigurnosti i zatite na mrenoj razini, je
opsean i sloen. Opis tog protokola dan je u desetak RFCa, od kojih su najvaniji RFC 4301 i
RFC 241195. Prikaz protokola IPsec daleko nadmauje okvire ovog rada.
4.2.3.4 Sigurnost na niim razinama
egudovi, H. (2004). Sto sigurnosnih lokota. BUG Online. http://www.bug.hr/mreza/tekst/opis-vpntehnologija/54984.aspx. (preuzeto 07.04.2014.).
95
RFC (eng. Request for Comments) je dokument izdan od strane Internet Engineering Task Force
(IETF). Dokumenti obino opisuju metode, ponaanja, istraivanja, ili inovacije primjenjive na Internet i
povezana raunala., http://hr.wikipedia.org/wiki/RFC. (preuzeto 07.04.2014.).
60
prijenos okvira (na razini veze podataka) izvodi pomou radijskih valova koji se openito ire
na sve strane, tako da ih mogu primati i oni kojima nisu namijenjeni sadraji koje ti valovi
prenose, kao to je to sluaj kod beinih mrea definiranih je IEEE standardom 802.11 96. Uz taj
standard definiran je sigurnosni sustav (protokol) koji se naziva Wired Equivalent Privacy
(WEP); tim nazivom htjelo se rei da taj sustav (WEP) prua sigurnost i zatitu ija je kvaliteta
jednaka onoj koju drugi sustavi ostvaruju u raunalnim mreama sa ianim vezama. Osnovni
protokol WEP osigurava (titi) beinu komunikaciju izmeu domaina i toke pristupa (eng.
access point - AP). WEP definira proces ifriranja i utvrivanja autentinosti komunikatora uz
upotrebu simetrinog kljua (prema Radovan, 2011:46).
Iako sustav sigurnosti i zatite u beinim mreama ima svoje posebnosti,
zasnovan je na priblino istim naelima kao i sustavi zatite u mreama sa ianim vezama
dijele zajednike ciljeve a to su: zatita povjerljivosti sadraja, utvrivanje autentinosti
komunikatora, i provjera integriteta poruka. Potpuniji prikaz sigurnosnih protokola i sustava na
razini veze podataka posve prelazi okvire ovog rada.
4.3 Vatrozidi i filteri
U svijetu raunala, vatrozid (eng. firewall) je ureaj kojim titimo privatni dio mree od
javnog dijela. Primarna mu je funkcija omoguivanje kontroliranog pristupa iz privatnog,
unutranjeg dijela mree na javni, vanjski dio mree (npr. Internet) i obratno. Na vatrozid se
moe gledati kao na skup veoma razliitih mehanizama koji se mogu podijeliti na dva osnovna
96
61
principa; jedan koji slui sprjeavanju prometa paketa u mrei i drugi koji slui omoguavanju
prometa u mrei. Napredni vatrozidi osiguravaju spajanje unutranje i vanjske mree na svim
programskim slojevima, od podatkovnog sve do aplikacijskog. Vatrozidi se postavljaju na
granici mree te omoguuju pristup drugim mreama. Ovaj koncept je bitan jer bez njega bi
svako raunalo na mrei trebalo obavljati iste funkcije kao i vatrozidi, troei na taj nain vlastite
resurse. Koritenjem vatrozida omoguena je centralizacija svih sigurnosnih servisa na jednom
ureaju optimiziranom za izvravanje tih zadataka. Vatrozidi stvaraju uska grla (eng.
bottlenecks) izmeu unutarnjih i vanjskih mrea jer cijeli promet meu mreama prolazi kroz
jednu kontrolnu toku. Pored toga, ovo je mala cijena za postizanje sigurnosti. Takoer, dok je
brzina vanjske veze relativno mala u odnosu na brzinu dananjih raunala, kanjenje
prouzroeno vatrozidom moe biti zanemareno97.
Slika 17: Poloaj i uloga vatrozida
Izvor: Radovan, M., (2011.) Raunalne mree (2). Digital point tiskara, Rijeka
Da bi vatrozid obavljao dobro svoj posao potrebno je dobro postaviti vrijednosti u
tablicama (listama) vatrozida, koje zapisuju pravila koja odreuju nain rada danog vatrozida.
Pravila na vatrozidu trebaju biti oblikovana na nain da taj vatrozid proputa ili odbacuje
odreene zahtjeve za uspostavu veze koji dolaze iz vanjske mree i upueni su nekim
domainima iz mree koju taj vatrozid titi. Ta pravila trebaju isto tako proputati ili odbacivati
zahtjeve za uspostavu veza koji dolaze sa domaina iz mree koju vatrozid titi, a upueni se na
adrese izvan te mree. Dakle, vatreni zid doputa ili sprjeava uspostavljanje odreenih veza i
97
Kra, A., Svilii, B. (2005). Zatita privatnosti raunalnog sustava. Pomorstvo, god. 19. (2005), str.
275-284. http://hrcak.srce.hr/file/6510. (preuzeto 07.04.2014.).
62
odreene tokove podataka na temelju uputstava (pravila) koja su zapisana u njegovim tablicama;
ta uputstva oblikuje i upisuje u tablicu vatrozida mreni administrator (Radovan, 2011).
Za rad vatrozidova karakteristine su tri osnovne stvari98:
(1) Sav promet iz vanjske mree u tienu mreu, i iz tiene mree u vanjsku mreu,
treba prolaziti preko vatrozida. tiene mree mogu biti razliitih veliina; velike mree mogu
biti vezane na vanjsku mreu preko vie vratiju (na vie mjesta) i koristiti razne vrste
vatrozidova. Da bi zatita mree mogla biti uspjena, potrebno je da sav promet u tu mreu i iz
nje prolazi preko barem jednog od vatrozidova koji je tite.
(2) Administrator mree treba postaviti na vatrozidu pravila koja odreuju adrese, vrste
prijenosa i vrste sadraja onih tokova podataka koji smiju ui u tienu mreu, i adrese, vrste
prijenosa i vrste sadraja onih tokova podataka koji smiju izai iz tiene mree. Vatrozid treba
sprjeavati sve druge tokove podataka u tienu mreu i iz nje.
(3) Vatrozid treba biti dobro zatien od svih vrsta napada. Vatrozid je element mree,
tako da je ispostavljen svim vrstama mrenih napada. Da bi mogao uspjeno tititi onu mreu na
ijem ulazu se nalazi, vatrozid treba najprije zatititi sebe od vanjskih napada, koji mogu
poremetiti njegov rad i tako ga uiniti beskorisnim, ili ak tetnim.
Prvi vatrozidi su bili samo paketni filteri. Oni usporeuju pakete mrenih (npr. IP
protokol) i transportnih protokola (npr. TCP protokol) s pravilima zapisanih bazom pravila te
prosljeuju samo one pakete koji se poklapaju s kriterijima specificiranim u bazi pravila. Dakle,
paketni filteri su ureaji koji odbacuju neeljene pakete s obzirom na izvorinu adresu,
odredinu adresu ili vrstu podataka specificiranu brojem TCP porta. Filteri mogu biti
implementirani unutar usmjerivaa ili u TCP/IP stackovima servera. Sljedeom slikom prikazan
je princip rada paketnog filtriranja. Prema pravilima definiranim na vatrozidu, dozvoljen je
prolaz samo TCP paketima na portovima 80 (web),
25 (email) i 21 (FTP), dok je promet na svim ostalim portovima zabranjen. Na primjer,
udaljenom korisniku nije dozvoljen pristup unutranjoj mrei koritenjem NetBIOS
protokola99.
Naela prema kojima vatrozidovi izvode filtriranje paketa oblikuju se na temelju
slijedeih atributa IP paketa100:
98
99
Kra, A., Svilii, B. (2005). Zatita privatnosti raunalnog sustava. Pomorstvo, god. 19. (2005), str.
275-284. http://hrcak.srce.hr/file/6510. (preuzeto 07.04.2014.).
100
63
- IP adresa izvora ili odredita - Nepoeljna adresa izvora ili odredita IP paketa je esto
vrlo pogodan element za oblikovanje pravila prema kojem vatrozid proputa ili odbacuje pakete;
- Sadraj polja Protokol u zaglavlju IP paketa - Sadraj tog polja je neki od brojeva koji
oznaavaju protokole kao to su TCP, UDP, ICMP, OSPF, i drugi; filtar moe odbacivati pakete
koji prenose segmente nekih protokola, zato to vlasnik mree ne doputa komunikacije (ni
uspostave veza) u kojima se koriste neki protokoli;
- Ulazni i izlazni port u zaglavlju segmenta kojeg prenosi IP paket - Kod uspostavljanja
veze sa nekim serverom, segment koji sadri zahtjev za uspostavu veze sa tim serverom ima u
zaglavlju zapisan dobro poznati port toga servera. Taj port obino pokazuje koja aplikacija hoe
uspostaviti tu vezu; vatrozidom se moe zabraniti nekim aplikacijama da pristupaju tienoj
mrei, ili nekim dijelovima te mree;
- Stanje bitovnih oznaka u zaglavlju TCP segmenta - Te oznake su SYN, ACK, i druge;
na temelju stanja tih bitovnih oznaka, vatrozid moe sprijeiti uspostavu neke TCP veze;
- Tip ICMP poruke - IP protokol ne ispravlja greke koje nastaju u prijenosu IP paketa.
Ali uz IP protokol, na mrenoj razini Interneta radi ICMP protokol (Internet Control Message
Protocol) koji evidentira gubitke IP paketa u prijenosu i alje obavijesti izvorima (domainima)
iji su paketi izgubljeni (odbaeni, iskrivljeni) na putu. Bez obzira na takve obavijesti, IP
protokol ne ispravlja greke u prijenosu (nego to radi TCP protokol). Meutim, poruke ICMP
protokola mogu se upotrijebiti za neke vrste napada; zato vatrozid moe (treba) filtrirati poruke
te vrste, na neki zadani nain.
64
Izvor: Radovan, M., (2011.) Raunalne mree (2). Digital point tiskara, Rijeka
Postoji velik broj stavova (naela) koje se na mrei moe podeavati i koje mreni
administrator treba izraziti pomou postavki (pravila rada) na vatrozidu, u svrhu provedbe
zadanih stavova.
Pomou vatrozida mogu se ograniiti (ili onemoguiti) vanjska ispitivanja unutarnje
strukture mree i stanja pojedinih vorova te mree; takva ispitivanja izvode se "pinganjem" 101 i
na druge naine. Sprjeavanjem ispitivanja strukture tiene mree i stanja aplikacija na njenim
domainima od strane vanjskih subjekata, nastoji se oteati uinkovit izvanjski napad na
pojedine vorove i servere tiene mree.
Filtriranje prometa na vatrozidu esto se zasniva na kombinaciji IP adrese i
porta. IP adresa odreuje domaina, a port odreuje vrstu aktivnosti i aplikaciju.
Bitovne oznake u zaglavlju segmenata (koji se prenose u IP paketima) su isto
pogodne za filtriranje. Naprimjer, na temelju vrijednosti bita ACK102 u zaglavlju segmenta,
vatrozid moe dopustiti uspostavu TCP veze sa nekim serverom, ili sprijeiti uspostavu neke
TCP veze. Kod uspostavljanja TCP veze, u prvom segmentu (sa kojim klijent trai uspostavu
veze) vrijednost bita ACK je "0"; sa tim segmentom nema se to potvrditi (ACK) jer je to prvi
segment, sa kojim zapoinje proces uspostavljanja veze. U svim ostalim segmentima, vrijednost
101
Ping je mreni administracijski utility koji se koristi za testiranje raspoloivosti neke mrene aktivne
komponente unutar mree, te za mjerenje vremena njenog odziva, http://en.wikipedia.org/wiki/Ping_
%28networking_utility%29. 26.02.2014, (preuzeto 17.03.2014.).
102
Prvi bit 32 bitne acknowledgment number vrijednosti TCP zaglavlja (eng. header),
http://en.wikipedia.org/wiki/Transmission_Control_Protocol. 07.03.2014, (preuzeto 17.03.2014.).
65
bita ACK je "1" jer se sa njima ujedno potvruje primitak nekog segmenta. Ako se na vatrozidu
postavi pravilo da odbacuje IP pakete koji dolaze izvana i nose TCP segment u kojem je ACK
jednako "0", onda nijedan vanjski klijent nee moi uspostaviti TCP vezu ni sa jednim
serverom u tienoj mrei. Nadalje, ako se postavkama na vatrozidu dopusti klijentima iz tiene
mree da alju TCP segmente sa ACK jednako "0" u vanjsku mreu, onda se time doputa da
unutarnji klijenti alju zahtjeve za uspostavu TCP veze vanjskim serverima. Uspostavi takve
veze slijediti e nesmetana komunikacija; vanjski serveri moi e slati unutarnjim klijentima
traene podatke, jer vatrozid odbacuje samo one vanjske segmente kod kojih je ACK jednako
"0", a odgovori servera imaju uvijek ACK vrijednost "1"103.
Ovdje opisana pravila filtriranja, zadaju se vatrozidu pomou tablica koje se
nazivaju listama upravljanja pristupom (eng. access control lists). Svaki redak takve liste
(tablice) sadri precizan zapis jednog pravila, poput onih o kojima smo govorili iznad. Na slici
19. dan je ilustrativni primjer takve tablice.
Izvor: Radovan, M., (2011.) Raunalne mree (2). Digital point tiskara, Rijeka
Postoje preporuke u svezi pravila za pojedine protokole i portove ime se sprjeavaju
neke poznate vrste (izvanjskih) napada kojima su podloni ti protokoli i usluge.
4.3.2 Filtri
103
66
osnovne vrste: (1) tradicionalni filtri paketa, (2) filtri paketa prema stanjima, i (3) vrata
aplikacija104.
Tradicionalni filtri paketa (traditional packet filters) - Filtri ove vrste promatraju svaki
IP paket zasebno. Na temelju pravila sa liste upravljanja pristupom, vatrozid za svaki paket
odluuje da li da ga propusti (prema njegovom odreditu), ili da ga odbaci i time sprijei u
daljnjem kretanju prema njegovom odreditu. Vatrozid procesira svaki IP paket zasebno,
nezavisno od drugih paketa, i bez uvida u druge pokazatelje stanja komunikacije (Radovan,
2011:52).
Filtri paketa prema stanjima (stateful packet filters) - Vatrozid ove vrste dodaje jednu
dimenziju procesu tradicionalnog filtriranja paketa, kojeg smo opisali iznad. Ova vrsta vatrozida
odrava i konzultira tablicu TCP veza koje se uspostavljaju i odvijaju preko njega. Nazivom te
vrste vatrozida htjelo se istaknuti upravo to, da pored liste upravljanja pristupom (koju smo
opisali iznad), vatrozid ovdje promatra i stanje TCP veza. Engleski izraz "stateful" kae
otprilike isto, ali na krai i manje jasan nain (Radovan, 2011:52).
Vrata aplikacija (eng. application gateways) - Vatrozid koji izvodi filtriranje prema
sadrajima iz zaglavlja IP paketa i TCP segmenata tvori osnovnu razinu filtriranja. Vatrozid koji
dopunjava takvo filtriranje uvidom u stanje TCP veza, podie kvalitetu filtriranja (i zatite
mree) na viu razinu. Vatrozid kojeg se naziva vratima aplikacije, omoguava da se proces
filtriranja definira jo preciznije, a time i kvalitetnije. Vatrozid te vrste nadzire i ograniava
prijenos sadraja u tienu mreu i iz nje na razini pojedinanih aplikacija i pojedinanih
korisnika. Naprimjer, vatrozid tipa vrata aplikacije moe doputati koritenje usluge Telnet
preko granice tiene mree samo odreenim osobama iz te mree (Radovan, 2011).
Prednosti koritenja paketnog filtriranja su sljedee:
-
jedan ureaj titi cijelu mreu - jedna od najvanijih znaajki paketnog filtriranja je u
tome to jedan strateki dobro konfiguriran usmjeriva za filtriranje paketa titi cijelu
mreu. Ukoliko se lokalna mrea spaja na Internet preko samo jednog usmjerivaa,
postavljajui na njemu sustav paketnog filtriranja, znatno se poveava sigurnost mree.
104
ibid. 52 53.
67
paketnog
programa. On nadgleda promet u mrei kako bi mogao otkriti neeljene aktivnosti i dogaaje
kao to su ilegalni, zlonamjerni promet te promet koji naruava sigurnosnu politiku.
Mnogi IDS alati zapisuju otkrivanje takvog dogaaja u bazu podataka kako bi se kasnije mogli
pregledati ili kako bi kombinirali ovaj dogaaj s drugim podacima. Na temelju vlastite izgraene
baze podataka o napadima mogu se donositi odluke o politici sustava ili o provjeri tete. Glavni
cilj otkrivanja upada je nadgledati mreu kako bi se mogle otkriti nepravilnosti u ponaanju i
68
zlouporaba. Ovaj koncept postoji skoro dvadeset godina, ali je tek nedavno doivio dramatian
rast popularnosti i konstruiranja u ukupnoj infrastrukturi informacijske sigurnosti105.
Mreni IDS NIDS (eng. Network Intrusion Detection System) - moe analizirati
mreni promet i usporediti ga s datotekom u kojoj se nalazi baza potpisa napada. Mreni
IDS koristi mrene prikljunice koje su postavljenje u tzv. promiscue modu rada (primaju
sve mrene pakete, ne samo one adresirane za to raunalo/ureaj) kako bi mogao
uhvatiti pakete koji su namijenjeni drugim ureajima u mrei. Zadatak ovog
sustava je stvarati upozorenja ako doe do napada (i to se mora napraviti u
stvarnom vremenu) te stvarati zapise za pomo kod analize napada nakon to se
napad ve dogodio.
Ureaj u raunalnoj mrei s IDS-om HIDS (eng. Host Based Intrusion Detection
System) nalazi se instaliran na ureajima u raunalnoj mrei. Njegovi zadaci su
analizirati zapise sustava i aplikacija koji se nalaze u datotekama te prepoznati
netipine aktivnosti koje bi mogle biti oznaavati upad. On prati promet koji ulazi u
mreu na jednom raunalu kako bi mogao detektirati upade i pri tome koristi otkrivanje
upada koje je bazirano na nepravilnostima ili potpisima. Ako sprimijeti neobino
ponaanje na mrei, HIDS analizira zapise sustava. Primjer ovakvog neobinog
dogaaja je pokuaj viestrukog nepravilnog prijavljivanja u neki sustav. Provjeravaju se
i datoteke u sustavu tako da se prati je li bilo promjena u njima i jesu li stvorene ili
izbrisane106.
105
ibid. 7-8.
69
se potpisi alju do odreenog Snort IDS senzora kako bi on mogao provesti odreenu
akciju. Izmeu sredinje upravljake jedinice i senzora koristi se kriptirana VPN veza107.
Sustav tipa IDS moe otkrivati razliite vrste izvanjskih napada na mreu koju tite u
vidu njenih strukturnihe elemenata, sadraja i aktivnosti. Mnogi proizvoai softvera proizvode i
prodaju takve sustave. Meu najpoznatije proizvoae takvih sustava spadaju tvrtke Cisco i
Check Point a postoje i sustavi tipa IDS koji su javno dostupni na mrei. Jedan takav sustav koji
se nalazi u irokoj upotrebi, naziva se Snort108.
ibid. 8-9.
108
Sustav otvorenog koda za prevenciju i detekciju intruzije na raunalnim mreama, razvijen od tvrtke
Sourcefire, http://www.snort.org/. (preuzeto 17.03.2014.).
109
70
U okviru raunalne sigurnosti exploit predstavlja skup informacija koji napada upuuje
npr. web posluitelju kojega eli napasti, iskoritavajui (eng. to exploit) njegove nedostatke,
odnosno ranjivosti. To moe biti dio softvera, blok podataka ili slijed naredbi koje iskoritavaju
programske ili sklopovske pogreke, nepravilnosti u radu i sline ranjivosti sustava s namjerom
da prouzrokuju nenamjeravano ili neoekivano ponaanje na programskoj opremi raunala,
sklopovlju ili neem drugom elektronikom (uglavnom raunalnom). Ovo esto ukljuuje
dobivanje kontrole nad raunalnim sustavom i omoguavanje napada poput eskalacije ovlasti ili
uskraivanja posluivanja110.
Eskalacija ovlasti111 (eng. privilege escalation) je postupak iskoritavanja pogreka u
programu u svrhu dobivanja pristupa sredstvima koja bi inae bila zatiena. Posljedica ovog je
da program moe obavljati radnje sa veom sigurnosnom razinom nego to mu je prvotno
namjenjeno od strane razvojnog programera ili administratora sustava.
Uskraivanje posluivanja112 (eng. Denial-of-Service, DoS attack) odnosi se na napad
koji kao posljedicu ima odbijanje usluga, tj. to je vrsta mrenog napada pri kojem se mrea
onesposobljuje time to ju se optereuje izuzetno velikim, ali beskorisnim prometom pa nije u
mogunosti odgovarati na sve zahtjeve, odnosno pruati traene usluge. Mnogi DoS napadi
eksploatiraju ogranienja TCP/IP-a (eng. Transmission Control Protocol), a esto su usmjereni
na neke tono odreene posluitelje koje nastoje preopteretiti i izbaciti iz funkcije. Za poznate
vrste napada ovog tipa postoje softverska rjeenja koja smanjuju mogunost i intenzitet napada,
no hakeri stalno pronalaze nove vrste napada. Ovi napadi mogu natjerati raunalo (ili raunala)
rtve napada da se ponovo pokrene (resetira), da zauzme sve svoje resurse tako da vie ne moe
pruati usluge za koje je namjenjen ili mogu prouzroiti smetnje u komunikacijskom kanalu
110
111
112
71
113
Jedan tip napada popunjavanja meuspremnika iskoritava manu u implementaciji ICMP-a. Napada
ne mora znati nita o raunalu koje napada, osim njegove IP adrese. Ovaj napad ukljuuje slanje
zlonamjerne ping poruke raunalu. U normalnom sluaju ping je velik 64 bajta. Mnogi sustavi ne mogu
obraditi ping zahtjev koji je vei od maksimalne veliine IP paketa. Slanje ping paketa te veliine nije
dozvoljeno u mrenim protokolima, ali je mogue poslati fragmentiram paket te veliine. Kada raunalo
primi takav paket i ponovno ga sloi moe doi do popunjavanja meuspremnika, to esto rezultira
padom sustava.
114
Ovaj tip DoS napada iskoritava nain na koji IP protokol (engl . Internet Protocol), paket koji je
preveliki za router dijeli na fragmente. U fragmente paketa upisuje se udaljenost od poetka prvog
paketa, to omoguuje ponovno sastavljanje paketa na drugoj strani. U ovom napadu napada postavlja
zbunjujuu udaljenost u jedan od fragmenata. Ako posluitelj koji prima takav paket nema plan za takav
sluaj rezultat e biti pad sustava. Windows 3.1x, Windows 95 i Windows NT operativni sustavi, kao i
Linux do verzije 2.0.32 i 2.1.63 ranjivi su na ovaj napad.
115
72
118
119
120
73
preuzeti nae datoteke ili bilo koje podatke (povjerljive dokumente, lozinke, brojeve kreditnih
kartica), nadzirati i upravljati naim web preglednikom, vriti sistemske naredbe na web
posluitelju itd.
Exploit-e moemo svrstati kroz vie podjela, a najee obzirom na nain kako dolazi u
kontakt sa ranjivim sustavom, i to u dvije kategorije dvije kategorije121:
Udaljeni exploit (eng. remote exploit) radi preko mree na daljinu i iskoritava
ranjivost sustava bez prethodnog pristupa istom.
Lokalni exploit (eng. local exploit) nuan je prethodni pristup ranjivom sustavu najee
u svrhu poveavanja - eskaliranja ovlasti njegovih korisnika (u odnosu na one dodijeljene
od administratora sustava).
Exploite moemo klasificirati i s obzirom na vrstu napada koja se koristi protiv ranjivog
sustava: neovlaten pristup podacima, izvoenje koda, uskraivanje posluivanja, itd. ili s
obzirom na mehanizme koji se koriste kako bi iskoristili ranjivost sustava. Neki od uobiajenih
vrsta exploita (napada) su122:
Cross-site scripting.
http://www.princeton.edu/~achaney/tmve/wiki100k/docs/Exploit_%28computer_security%29.html.
(preuzeto 17.03.2014.).
122
74
dodavani, tako da se kao prvi uklanjaju oni koji su dodani strukturi kao poslijednji. Taj se
postupak oznaava i kao last in, first out (LIFO). Podaci se mogu dodavati tj. stavljati na vrh
stoga (eng. push) ili uzimati sa vrha (eng. pop). Stog se takoer koristi i za dinamiku alokaciju
lokalnih varijabli funkcija, za prenoenje parametara funkciji i za vraanje vrijednosti iz
funkcije123.
Slika 20: Organizacija procesa u memoriji
Izvor: http://os2.zemris.fer.hr/ns/malware/2007_zelanto/buffer.html#321
Stog je blok memorije koji sadri podatke. Pokaziva stoga (eng. Stack Pointer, SP)
pokazuje na vrh stoga, dok se dno stoga nalazi na nekoj fiksnoj memorijskoj adresi. Veliinu
stoga dinamiki odreuje jezgra operacijskog sustava (eng. kernel) za vrijeme izvoenja
procesa. Pri pozivu funkcije na stog se stavljaju logiki okviri stoga, a isti se pri povratku iz
funkcije skidaju sa stoga. Ti okviri sadre parametre funkcije, njene lokalne varijable i podatke
potrebne da bi se stog vratio u prethodno stanje nakon povratka iz pozvane funkcije124.
Ovisno o implementaciji, stog e rasti ili prema dolje (prema niim memorijskim
adresama) ili prema gore.
Uz pokaziva stoga, esto se koristi pokaziva okvira (eng. Frame Pointer, FP ili Local
Base pointer, LB) koji pokazuje na neko fiksno mjesto unutar okvira. Mnogi prevoditelji koriste
FP za referenciranje lokalnih varijabli i parametara funkcije zato to se njihove udaljenosti od
FP-a ne mijenjaju (za razliku od udaljenosti od SP-a). Zbog smjera u kojem raste stog, aktualni
123
75
parametri imaju pozitivne pomake, a lokalne varijable imaju negativne pomake u odnosu na
FP125.
Pri pozivanju funkcije, prvo se na stog stavljaju njeni argumenti to obrnutim redosljedom.
Naredba koja poziva funkciju stavlja na stog vrijednost instrukcijskog registra (eng. Instruction
Pointer, IP). Instrukcijski registar sadri adresu sljedee naredbe koja se treba izvriti po
povratku iz funkcije i u trenutku poziva funkcije predstavlja upravo povratnu adresu te
funkcije126.
Prva stvar koju funkcija mora uiniti, nakon to je pozvana, je spremiti prethodni FP na
stog (tako da se moe obnoviti staro stanje pri zavretku funkcije). Pohranjeni FP se naziva SFP
(eng. Saved FP). Zatim se kopira SP u FP da bi se stvorio novi FP i poveava se SP da bi se
rezerviralo mjesto za lokalne varijable. Ovaj postupak se naziva prolog procedure. Nakon
zavretka procedure, stog se mora ponovo ''oistiti'' to se naziva epilog procedure127.
Slika 21: Izgled stoga nakon poziva funkcije
Izvor: http://os2.zemris.fer.hr/ns/malware/2007_zelanto/buffer.html#321
Prekoraenje kapaciteta meuspremnika na stogu (eng. buffer overflow) je rezultat
pokuaja da u meuspremnik pohranimo vie podataka nego li on moe primiti. Kako se ova
esta programska pogreka moe iskoristiti prikazuje nam slijedei primjer:
void funkcija2(char *str)
{
125
loc. cit.
126
127
76
char buffer[16];
strcpy(buffer,str);
}
void main()
{
char velikiNiz[256];
int i;
for(i = 0; i < 255; i++)
velikiNiz[i] = 'A';
funkcija2(velikiNiz);
}128
Program u ovom primjeru sadri funkciju sa tipinom pogrekom koja moe biti uzrokom
prekoraenju kapaciteta meuspremnika na stogu. Funkcija kopira zadani niz znakova bez
prethodne provjere granica koristei strcpy(). Naredba strcpy() kopira sadraj niza *str
(velikiNiz[]) u buffer[] dok ne pronae oznaku kraja niza (eng. null character). Polje buffer[] je
dugo 16 bajtova, a u njega se pokuava kopirati 256 bajtova. Posljedica toga bit e da e se
prepisati jo 250 bajtova stoga, poslije buffer[]-a (ukljuujui SFP, povratnu adresu pa ak i
*str). velikiNiz je zapravo niz znakova 'A'. Hesadecimalna vrijednost znaka 'A' je 0x41, to znai
da e povratna adresa sada biti 0x41414141. Ova adresa je izvan memorijskog prostora procesa.
Zato kad se funkcija vrati i pokua proitati sljedeu naredbu sa te adrese dobit emo
segmentation violation. Dakle prekoraenje kapaciteta meuspremnika omoguava da se
promjeni povratna adresa funkcije, a samim time i tok izvoenja programa129.
Tehniki struan i zlonamjeran korisnik moe eksploatirati prekoraenje kapaciteta
bazirano na stogu kako bi manipulirao programom na jedan od sljedeih naina:
Ako se prepie neka lokalna varijabla koja je smjetena blizu privremenog spremnika u
memoriji na stogu, moe se promjeniti ponaanje programa na nain koji moe koristiti
napadau.
128
129
77
Ako se prepie povratna adresa koja se nalazi na stogu. Jednom kad zavri funkcija,
izvoenje programa e se nastaviti od adrese koju je odredio napada, to je uglavnom
privremena memorija koju je napunio sam napada130.
Jedna od najranijih eksploatacija ovog tipa dogodila se 1988. Bio je to jedan od nekoliko
exploita kojeg je koristio Morrisov crv (eng. Morris worm131) da bi se irio po Internetu. Kasnije,
1995. Thomas Lopatic132 je nezavisno nanovo otkrio prekoraenje kapaciteta meuspremnika na
stogu i objavio svoja otkria na Bugtraq mailing listi. Godinu dana kasnije Elias Levy (takoer
poznat kao Aleph One) je u asopisu Phrack objavio lanak ''Razbijanje stoga zbog zabave i
dobitka'' (eng. "Smashing the Stack for Fun and Profit 133"), u kojem opisuje korak po korak
eksploataciju ranjivosti prekoraenja kapaciteta meuspremnika na stogu.
Od tada, najmanje dva vea internetska crva su eksploatirala ovu ranjivost da bi ugrozila
velik broj sustava. 2001. godine, Code Red134 crv koristio je prekoraenje meuspremnika u
Microsoft-ovom IIS 5.0 (eng. Internet Information Service), a 2003. godine SQL Slammer135 crv
je ugroavao strojeve na kojima se pokretao Microsoft SQL Server 2000.
130
loc. cit.
131
132
133
134
135
78
posluitelja, od ove vrste bilo se vrlo teko obraniti. Microsoft je tada napravio ''zakrpu'' koja
eliminira ovu ranjivost136.
u programskom jeziku C++, operator new rezervira memoriju u gomili za niz ili nove
instance objekata;
zatim vraaju adresu te rezervirane memorije procesu. Nakon koritenja rezervirana memorija se
mora osloboditi (Zelanto, 2007).
136
http://www.windowsecurity.com/articles/Analysis_of_Buffer_Overflow_Attacks.html. (preuzeto
17.03.2014.).
137
138
http://stackoverflow.com/questions/79923/what-and-where-are-the-stack-and-heap. (preuzeto
17.03.2014.).
79
int main()
{
long diff;
char *buf1 = (char *)malloc(BUFSIZE);
char *buf2 = (char*)malloc(BUFSIZE);
diff=(long)buf2 - (long)buf1;
printf("buf1=%p,buf2=%p,diff=0x%x bytes\n",
buf1, buf2,diff);
memset(buf2, 'A', BUFSIZE-1);
buf2[BUFSIZE-1] = '\0';
printf("prije: buf2=%s\n", buf2);
memset(buf1,'B',(unsigned int)(diff+ OVERSIZE));
printf("poslije: buf2=%s\n", buf2);
return 0;
}141
139
Skupina implementiranih obrazaca ponaanja tj. procedura koje se jednom napisane mogu uvijek
iznova pozivati., http://en.wikipedia.org/wiki/Library_%28computing%29. (preuzeto 17.03.2014.).
140
141
80
142
loc. cit.
143
http://publib.boulder.ibm.com/infocenter/javasdk/tools/index.jsp?topic=%2Fcom.ibm.java.doc.igaa
%2F_1vg000131402ee-11e49e6e566-7fda_1001.html. (preuzeto 17.03.2014.).
81
145
82
Prekoraenje opsega cijelog broja (eng. integer overflow) ili tzv. preljev, kod raunala
oznaava stanje koje nastaje uslijed aritmetike operacije koja rezultira cifrom izvan opsega
brojeva koji se mogu pohraniti u registar ili na neku memorijsku lokaciju 148. Na primjer, nbitni
registar moe poprimiti broj iz intervala od 0 do (2 N 1) ukoliko su brojevi prikazani prirodnim
binarnim kodom (eng. Natural Binary Code, NBC) ili broj iz intervala od (2N-1) do (2N-1 - 1),
ukoliko su brojevi u registru prikazani dvojnim komplementom. Ako aritmetika operacija
proizvede rezultat koji nije u tom opsegu brojeva, dolo je do preljeva. Iznos za koji je izraunata
vrijednost vea od opsega brojeva, a koji se moe prikazati, takoer se naziva preljev i on se
moe pohraniti na neku lokaciju u memoriji149.
Prekoraenje opsega cijelog broja (eng. integer overflow) je oblik aritmetikog preljeva.
Ako, na primjer najveem broju koji se moe prikazati pribrojimo neki pozitivni broj, nastat e
preljev ili prekoraenje opsega cijelog broja. Neki procesori e u sluaju preljeva ui u zasienje,
tj. kada se dosegne najvei prikazivi broj, svaki pokuaj da se taj broj uvea vratit e kao rezultat
taj isti, maksimalni broj. Isto vrijedi i za minimalnu vrijednost (Zelanto, 2008).
Primjer ovog nalazimo u raunalnoj grafici ili pri obradi signala, gdje se uglavnom radi sa
podacima ije vrijednosti se nalaze unutar intervala od 0 do 1 ili intervala od -1 do 1. Neka na
primjer imamo sliku u nijansama sive boje, gdje 1 predstavlja crnu, a 0 bijelu boju, dok sve
vrijednosti izmeu predstavljaju razne nijanse sivila. Ako elimo npr. posvijetliti sliku zapravo
mnoimo vrijednost svakog piksela sa odreenom konstantom. Aritmetika zasienja, dozvoljava
da se vrijednost svakog piksela ''slijepo'' pomnoi sa konstantom, bez straha da e doi do
preljeva, jer svi oni pikseli ija je vrijednost vea od 1, tj. tamniji od crne, postaju crni, a svi
manji od 0, tj. svijetliji od bijele jednostavno postaju bijeli (Zelanto, 2008).
147
Microsoft Windows Explorer Heap Overflow in Processing '.emf' Files Permits Code Execution,
(2004)., http://securitytracker.com/id/1009181. (preuzeto 17.03.2014.).
148
149
83
Veliina registara procesora odreuje opseg vrijednosti brojeva koji se mogu prikazati.
Tipine veliine registara su 8, 16, 32, 64 i 128 bita. S obzirom da su cijeli brojevi (eng. integer)
uvijek iste veliine, (najee 4 bajta u 32 bitnim procesorim), postoji neka maksimalna
vrijednost koju mogu poprimiti. ISO C99150 norma kae da preljev cijelog broja uzrokuje
''nedefinirano ponaanje'', to znai da prevoditelji koji su u skladu sa ovim standardom mogu
uiniti to god ele od toga da potpuno ignoriraju preljev pa sve do toga da prekinu izvoenje
programa. Veina prevoditelja ignorira preljev i pohranjuje neoekivane ili netone rezultate
(Zelanto, 2008).
Nedefinirano ponaanje je svojstvo nekih programskih jezika, od kojih je najpoznatiji
programski jezik C, u kojima, da bi se pojednostavio tehniki opis i dopustio odreen stupanj
fleksibilnosti u implementaciji, specifikacija izriito ostavlja rezultat pojedinih operacija
nedefiniranim (npr. dijeljnje s nulom) (Zelanto, 2008).
Prekoraenja kapaciteta cijelog broja mogu biti iznimno opasna i to djelomino zbog toga
to ih je nemogue otkriti jednom kad se dogode. Ako doe do preljeva, program ne moe znati
da je izraun zbog preljeva pogrean pa nastavit e s izvoenjem kao da je sve u redu (Zelanto,
2008).
Pogrean izraun moe biti opasan ako se rezultat koristi za npr. odreivanje veliine
meuspremnika ili odreivanje indeksa polja. U veini sluajeva pogreke ovog tipa se ne mogu
eksploatirati jer se memorija ne prepisuje direktno, ali ponekad one mogu voditi ka drugim
klasama pogreaka kao to je na primjer prekoraenje kapaciteta meuspremnika (Zelanto,
2008).
Iako ih je vrlo teko eksploatirati, preljevi cijelog broja mogu prouzroiti neoekivano
ponaanje i ugroziti sigurnost sustava.
Pri eksploataciji se obino koristi cijeli broj (s predznakom ili bez) kao ulaz koji e
izazvati odreen oblik ranjivost sustava, tj. preljev pri pisanju ili ''curenje informacija'' pri itanju
iz privremene memorije, to se moglo sprijeiti da je izvrene provjera granica (Zelanto, 2008).
Jedan od najeih naina na koji se aritmetiki preljevi mogu eksploatirati je kad se
izraun odnosi na to koliko velik treba biti meuspremnik za koji rezerviramo memoriju. esto
program treba zauzeti prostor u memoriji za polje objekata, pa koristi funkcije poput malloc() ili
150
84
calloc() da bi rezervirao prostor i rauna koliki bi taj prostor trebao biti tako da pomnoi broj
elemenata sa veliinom objekta. Kao to je pokazano prethodno, ako moemo kontrolirati
bilokoji od operanada (broj elemenata ili veliinu objekta) lako postiemo pogreku u izraunu
zbog koje e se zauzeti pogrena koliina memorijskog prostora, kao to je prikazano u
sljedeem programskom odsjeku151:
int mojaFunkcija(int *array, int duljina)
{
int *myArray, i;
myArray = malloc(duljina * sizeof(int)); /* [1] */
if(myarray == NULL)
{
return -1;
}
for(i = 0; i < duljina; i++) /* [2] */
{
myarray[i] = array[i];
}
return myarray;
}
Ova naizgled bezazlena funkcija moe biti uzrokom propasti sustava zboga to ne obavlja
provjeru duljine parametara duljina. Mnoenje kod [1] e prouzroiti preljev ukoliko je
parametar duljina dovoljno velik. Koristei preljev napada e namjestiti duljinu polja myArray
tako da petlja kod [2] prepie memoriju iza granice kraja meuspremnika myArray, to e
izazvati prekoraenje u gomili (eng. heap overflow). Ovo moe utjecati na izvoenje
proizvoljnog programskog kda na pojedinim implementacijama tako to prepie malloc
kontrolne strukture (Zelanto, 2008.).
U svibnju 2007. uoen je sigurnosni nedostatak kod programskog paketa GIMP152. GIMP
(GNU Image Manipulation Program) je besplatan paket otvorenog koda, distribuiran pod GPL
151
152
85
(eng. GNU General Public License) licencom, namijenjen obradi rasterske grafike na
raunalima.
Sigurnosni nedostatak paketa GIMP moe biti iskoriten za nanoenje tete korisnicima.
Radi se o prepisivanju programske gomile koju uzrokuje pojava pogreke prepisivanja
cjelobrojne varijable (eng. integer overflow). Neodgovarajua implementacija kda nalazi se
unutar funkcije "seek_to_and_unpack_pixeldata()" koja je sastavnica "plug-ins/common/psd.c"
datoteke izvornog kda, a namijenjena je obradi PSD (eng. Photoshop Document) slikovnih
datoteka. Za uspjeno iskoritavanje, bilo je potrebno najprije uvjeriti rtvu na otvaranje
zlonamjerno oblikovane datoteke. Ranjive su bile GIMP 2.2.15 i sve ranije inaice paketa153.
Opisana ranjivost udaljenom napadau omoguuje izvoenje potencijalno opasnih
aktivnosti na ranjivom raunalu. Razlog tomu je pogreka prepisivanja cjelobrojne varijable koja
se moe pojaviti za vrijeme obrade PSD datoteka. Uzrok pojavi propusta je neodgovarajua
obrada velikih iznosa vrijednosti koje opisuju duljinu ili irinu slike sadrane u PSD datoteci.
Konano, to vodi ka pojavi pogreke prepisivanja spremnika programske gomile (Zelanto,
2008).
SQL injekcija je tehnika koja omoguuje napadau da izvrava neautorizirane SQL upite
iskoritavajui neprovjeravanje ulaza u Web aplikacijama koje grade dinamike SQL upite.
Ranjivost je prisutna kod korisnikog unosa koji se nekorektno provjerava, i na taj nain unesu
podaci u koje su ubaeni u obliku SQL naredaba upiti koji vre nedozvoljene radnje ili ako
korisniki ulaz nije dovoljno provjeravan i time neoekivano je dolo do izvravanja SQL
upita155.
153
154
SQL (Structured Query Language) najpopularniji raunalni jezik za izradu, traenje, auriranje i
brisanje podataka iz relacijskih baza podataka, http://hr.wikipedia.org/wiki/SQL. (preuzeto 17.03.2014.).
155
86
Izvor: http://os2.zemris.fer.hr/ns/malware/2007_zelanto/sql.html
5.4.1 Zaobilaenje autorizacije
156
87
157
158
ako, Z. i dr. (2011). Slabosti web aplikacija: Pregled modernih metoda kompromitiranja i zatite
sigurnosti weba. Projektna dokumentacija. Sveuilite u Zagrebu, Fakultet organizacije i informatike
Varadin. https://www.google.hr/url?q=http://slabosti-web-aplikacija.googlecode.com/files/Slabosti
%2520web
%2520aplikacija.pdf&sa=U&ei=eaJCU5eCLqv_ygOp_4CICA&ved=0CBkQFjAA&usg=AFQjCNGEsn5Bea
RYZ2i0koY5zmvv_dJGGg (preuzeto 07.04.2014.)., str. 18 .
88
Prva pogreka koju obino susreemo je sintaksna pogreka (eng. sintax error). Sintaksna
pogreka oznaava da upit ne odgovara strukturi ispravnog SQL upita. Prva stvar koju moramo
utvrditi je, da li je mogua injekcija bez izbjegavanja navodnika, ako jest radi se o direktnoj
injekciji (Zelanto, 2008).
U sluaju direktne injekcije, koji god argument predamo koristit e se u SQL upitu bez
bilo kakve izmjene. Direktne vrijednosti mogu biti numerike vrijednosti koje se koriste u
WHERE dijelu upita ili argumenti SQL naredbe poput naziva tablice ili atributa tablice u bazi
podataka. U svim ostalim sluajevima u injection string-u nuno je koristiti navodnike (Zelanto,
2008).
SELECT naredbom vrimo dohvat informacija iz baze podataka, a ukoliko izmijenimo
where dio SQL upita tako da mu dodamo naredbu UNION SELECT koja e omoguiti da
rezultat bude unija novog SQL upita, posluitelj e isporuiti i one informacije iji dohvat nije
bio namjeravan.
Pretpostavimo da je zadana skripta sa sljedeim programskim kdom159:
SQLString = "SELECT Ime, Prezime FROM Zaposlenici
WHERE Grad = " & strCity & ""
Ako koristimo injection string oblika:
UNION ALL SELECT DrugiAtribut FROM DrugaTablica WHERE =
Posluitelju baze podataka e biti poslan ovaj SQL upit:
SELECT Ime, Prezime FROM Zaposlenici
WHERE Grad =
UNION ALL
SELECT DrugiAtribut FROM DrugaTablica
WHERE =
Mehanizam baze podataka e pregledati tablicu Zaposlenici traei red gdje je atribut
Grad postavljen na ''nita''. Budui da ga nee pronai, nee vratiti nikakve informacije. Jedine
informacije koje e upit vratiti bit e iz drugog, injektiranog SQL upita. U ovom primjeru smo
159
89
pretpostavili da ne postoji zaposlenik koji nema vrijednost atributa Grad. U nekim sluajevima
''nita'' nee funkcionirati jer postoje zapisi u bazi koji koriste ''nita'' u odgovarajuem atributu.
U tom sluaju potrebno je samo upisati vrijednost koja se ne pojavljuje u tablici (Zelanto, 2008).
Neki posluitelji baze podataka vraaju dio upita koji sadri sintaksnu pogreku. Ovisno
o strukturi upita, pojedini injektirani niz e dobaviti korisne informacije, dok drugi nee.
Mogue je manipulirati injektirani upit tako da polako, ali konano sigurno, vrati eljenu
informaciju. To se postie dodavanjem dodatnih uvjeta u WHERE dio upita koji e sprijeiti
odabir odreenih redova tablice. Pretpostavimo da je poetni injection string izgledao ovako160:
UNION ALL SELECT PrviAtribut, DrugiAtribut, TreciAtribut
FROM Tablica
WHERE =
Neka je rezultat ovog upita 'prvi', 'drugi' i 'treci'. Sljedei injection string bi izgledao ovako:
UNION ALL SELECT PrviAtribut, DrugiAtribut, TreciAtribut
FROM Tablica
WHERE PrviAtribut NOT IN (prvi)
AND DrugiAtribut NOT IN (drugi)
AND TreciAtribut NOT IN (treci)
AND =
Dio NOT IN() osigurava da povratna informacija budu podaci koje jo ne znamo (u ovom
sluaju drugi red tablice Tablica).
5.4.3 Koritenje INSERT naredbe
Naredba INSERT se koristi za dodavanje n-torki u bazu podataka. U Web aplikacijama
se obino koristi za registraciju korisnika, dodavanje proizvoda u ''kolica'' pri online-kupovini i
sl. Provjeravanje ranjivosti sa INSERT naredbom je slino onom sa WHERE. Koritenje ove
naredbe nije preporuljivo ukoliko se eli izbjei detekcija napada (Zelanto, 2008).
Pretpostavimo da web stranica sadri neku vrstu obrasca za registraciju, u kojoj je
potrebno upisati ime, adresu, broj telefona itd. Nakon predaje obrasca, preusmjerujemo se na
160
loc. cit.
90
stranicu koja prikazuje predane podatke uz opciju izmjene tih podataka ili neto slino. Ovo je
vrlo vano, jer da bi mogli iskoristiti INSERT ranjivost moramo moi vidjeti predane podatke.
Nije vano u kojem obliku161.
Naredba INSERT ima ovakvu strukturu:
INSERT INTO Tablica VALUES (jedan, dva, tri)
Ukoliko se eli manipulirati podacima koji su predani kao argumenti u VALUES dijelu
naredbe, kako bi se dohvatili neki drugi podaci, potrebno je koristiti podupite. Pogledajmo
sljedei primjer:
SQLString = "INSERT INTO ImeTablice VALUES (" & strJedan & ", " & strDva & ", " &
strTri & ")"
Ako ispunimo obrazac na sljedei nain:
Name:+(SELECT TOP 1 ImeAtributa FROM ImeTablice)+
Email: bla@bla.com
Broj_telefona: 333-333-3333
Dobit emo naredbu:
INSERT INTO ImeTablice VALUES ( + (SELECT TOP 1 ImeAtributa FROM ImeTablice) +
, bla@bla.com, 333-333-3333)
Na stranici gdje moemo vidjeti predane podatke, umjesto imena pisat e vrijednost
atributa strJedan. Da nismo koristili TOP 1 u injection string-u, dobili bi poruku da je dolo do
pogreke jer je podupit vratio previe redova. Da bi dohvatili ostale redove koristimo NOT IN()
(Zelanto, 2008).
5.4.4 Koritenje SQL Server pohranjenih procedura
Microsoft SQL Server instalacija ima vie od 1000 pohranjenih procedura. Ukoliko
napada pokuava upotrijebiti napad SQL injekcijom na Web aplikaciju koja koristi SQL Server,
pohranjene procedure mogu se pokazati izvaredno korisnima. Ovisno o dozvolama pristupa
161
91
korisnika u bazi podataka koje koristi web aplikacija, neke, sve ili ak niti jedna od tih pocedura
se moe koristi (Zelanto, 2008).
Injekcija pomou pohranjenih procedura izgleda otprilike ovako (prema Zelanto, 2008):
simplequoted.asp?city=seattle;
EXEC master.dbo.xp_cmdshell cmd.exe dir c:
Na poetku je dan valjan argument, nakon njega slijedi jednostruki navodnik i ;.
Poslijednji argument pohranjene procedure nema zavrni navodnik. Ovakav ulaz e zadovoljiti
potrebe sintakse. Postoji mogunost da e u ulazu biti potrebne zagrade ili dodatni WHERE
uvjeti i sl. ali nije potrebno se brinuti o usklaenosti atributa ili tipova podataka (Zelanto, 2008).
master.dbo.xp_cmdshell je jedna od najznaajnijih pohranjenih procedura. Uzima samo
jedan argument koji je naredba koju elimo izvriti na korisnikoj razini SQL Servera (Zelanto,
2008).
xp_cmdshell {command_string} [, no_output]
Korisnik web aplikacije, meutim, gotovo nikad nee imati dozvolu za izvoenje ove
pohranjene procedure (Zelanto, 2008).
Jo jedna vrlo korisna procedura je master.dbo.sp_makewebtask (prema Zelanto, 2008):
sp_makewebtask[@outputfile=]outputfile,[@query=] query
Argumenti ove procedure su izlazna datoteka i SQL upit. sp_makewebtask uzima zadani
upit i kao rezultat daje web stranicu koja sadri rezultat upita (Zelanto, 2008).
Ne postoji neki siguran nain koji bi sprijeio SQL injekciju, ali postoje naini da se
smanji vjerojatnost njenog dogaanja. U nastavku su dani neki od tih naina (prema Zelanto,
2008):
Provjeravati ulaz: Vrlo je vano provjeravati ulazne podatke koje je predao korisnik
kako bi se osiguralo da ne sadre opasne kdove, bez obzira radi li se o SQL-u ili HTML-u.
Umjesto brisanja ''loih dijelova'', jer je vjerojatnost da emo se sjetiti svega to moe ugroziti
sigurnost vrlo malena, preporua se brisanje svega osim ''dobrih dijelova''.
92
web posluitelja:
Potrebno
je
projektirati
infrastrukturu
mree
sa
pretpostavkom da e napada na neki nain uspjeti dobiti sve dozvole pristupa posluitelju, te je
potrebno ograniiti naine da se to iskoristi da bi se iskompromitiralo neto drugo.
Podesiti prijavljivanje pogreaka: Standardne postavke prijave pogreaka u nekim
radnim okruenjima ukljuuju informacije o traenju pogreaka u programu (eng. debugging).
5.5 Cross site scripting
Danas su Web stranice kompleksnije nego ikad jer sadre mnogo dinamikih sadraja. Ti
dinamiki sadraji se ostvaruju pomou Web aplikacija koje u ovisnosti o njihovim postavkama i
potrebama isporuuju korisniku razliite izlaze. Za razliku od statikih, dinamike web stranice
pate od opasnosti koja se naziva cross site scripting. Neko se za ranjivosti ove vrste koristila
kratica CSS, ali zbog este zabune sa Cascading Style Sheets i Content-scrambling system danas
se koristi kratica XSS (Zelanto, 2008).
Cross site scripting je mogu kod dinamiki generiranih web stranica kada iste pokazuju
ulaz bez provjere valjanosti istog. Napada tada u tako generiranu stranicu moe ugraditi
zlonamjerni JavaScript kd koji e se izvriti na raunalu korisnika koji posjete tu stranicu.
Uspjenim izvrenjem skripte, moe se doi do povjerljivih informacija, mijenjati ili preuzeti
93
Izvor: http://os2.zemris.fer.hr/ns/malware/2007_zelanto/xss.html
162
94
U ovom sluaju korisnik takoer neznajui izvodi zlonamjernu skriptu na svom raunalu,
nakon to je slijedio posebno stvoren link. Zbog toga to se skripta izvodi tako da se ini da je
potekla od legitimnog posluitelja, napada ima potpuni pristup dokumentu koji je vraen i moe
poslati podatke koji su sadrani u stranici na neku svoju stranicu. Ako ugraena skripta ima
dodatne interakcijske sposobnosti sa legitimnim posluiteljem bez da upozorava rtvu napada,
napada moe eksploatirati primljene podatke o rtvi na nekoj drugoj stranici legitimnog
posluitelja (Zelanto, 2008).
Praktini primjer nedozvoljenog zahtjeva putem HTML-a je XMLHttpRequest objekta,
koji su dio AJAX programa. AJAX je skupina tehnologija koja omoguuje slanje i obradu
HTML zahtjeva, a koja ima dosta prednosti u odnosu na druge tehnologije.
Jedna od njih je mogunost da korisnici ne moraju stalno uitavati stranice kada neki
element ele uitavati. HTTP zahtjev se alje i to se odvija predavanjem web formulara ili
otvaranjem web poveznice. XMLHttpRequest objekti se koriste kako bi se HTTP zahtjevi
generirali automatski u web pregledniku. Taj postupak se dogaa u pozadini, tako da korisnik
nije toga svjestan i to mu olakava rad. Primjer uporabe ove funkcije u Internet Exploreru dan je
u programskom kodu koji slijedi (prema ako i dr., 2011:26):
<script>
xmlhttp=new XMLHttpRequest() ;
xmlhttp.open(GET, http://urlAdresa,true);
xmlhttp.onreadystatechange = ispisiOdgovor();
xmlhttp.send(null);
function ispisiOdgovor(xmlhttp,element_id)
{ var element = document.getElementById(element_id);
if (xmlhttp.readyState == 4)
{ var tekst = http.responseText;
dokument.write.tekst; }
}
</script>
95
Ovaj kod prikazuje jednu od estih funkcija. To je funkcija open i slanje odgovora
koji se postie funkcijom send. Glavna funckija je ispisOdgovor i onda se poziva kod svake
promjene prikazanog svojstva (prema ako i dr., 2011:26).
Slika 24: Slanje nedozvoljenog zahtjeva
Izvor: http://os2.zemris.fer.hr/ns/malware/2007_zelanto/xss.html
5.5.3. Kraa korisnikih kolaia (eng. cookies)
Ako bilo koji dio web stranice koristi cookies, tada postoji mogunost da ih se moe
ukrasti od korisnika. U ovom sluaju, pri pregledavanju stranice izvri se zlonamjerna skripta
koju je stvorio napada i ''pokupi'' korisnike cookies i poalje zahtjev za napadaevom web
stranicom sa skupljenim cookies. Koristei ovu tehniku napada moe dobiti osjetljive podatke
poput lozinki, broja kreditnih kartica, ili proizvoljnu informacije koje unosi korisnik (Zelanto,
2008).
Slika 25: Kraa korisnikih kolaia (eng. cookies)
96
Izvor: http://os2.zemris.fer.hr/ns/malware/2007_zelanto/xss.html
Cross site scripting se postie kada napada preko legitimnog Web posluitelja poalje
web pregledniku rtve napada stranicu koja sadri zlonamjernu skriptu. Ta skripta e se izvesti
koristei sve dozvole kao legitimna skripta sa legitimnog posluitelja. Razvojni programeri
mogu zatititi svoje web stranice tako da osiguraju da dinamiki generirana stranica ne sadri
neeljene oznake (eng. tag) (Zelanto, 2008.).
Da bi se umanjio rizik od XSS napada moe se onemoguiti izvoenje skriptnih jezika u
web pregledniku i na taj nain ostvariti potpunu zatitu, ali uz bitno smanjenu funkcionalnost.
Drugi nain zatite uz zadravanje funkcionalnosti je pripaziti na linkove kojima se pristupa, u
smislu da se odabire iskljuivo one ija putanja zapoinje sa poetne web stranice.
Kod dizajniranja web stranica potrebno je mnogo truda da bi se iste uinile otpornima na
XSS napade i takoer valja imati na umu da niti jedno rjeenje nije potpuno ni konano ve
podlono estim periodikim prepravkama i nadopunama.
97
Termin koji opisuje ciljano napadanje raunalnih sustava radi individualnog ili korporacijskog
uoavanja eventualnih ranjivosti sa ciljem njihovog otklanjanja
http://www.computerhope.com/jargon/e/ethihack.htm. (preuzeto 16.03.2014.).
98
poveavanje prava radi naknadnog pristupa (eng. escalating privileges) (prema Pritchet i
Smet, 2013).
Metodologija izvoenja ovdje prezentiranih napada prikazana je koritenjem KALI
164
165
99
Potrebno je prije svega izabrati metu - domenu (web ili intranet adresu) za koju elimo
pokrenuti prikupljanje informacija. Poinjemo sa Set the domain name target opcijom klikom
na kreirani Domain entity i ureivanjem Domain Name polja u Property View izborniku.
Slika 26: Maltego CaseFile suelje sa odabranom metom
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
Odabirom mete, spremni smo za prikupljanje podataka. Desnim klikom na metu,
odabiremo Run Transform opciju za prikaz raspoloivih podataka koje je mogue prikupljati.
100
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
Sada smo slobodni odabrati pojedine opcije, ili jednostavno All transforms da dobijemo
sve raspoloive informacije o meti.
Slika 28: Maltego CaseFile suelje sa prikupljenim informacijama
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
Softver nudi i mogunosto enkripcije dobivenog grafikona AES-128 algoritmom, radi
konspirativnosti.
101
Osim sloenih programskih alata poput gore opisanih, postoje i pojedinani, namjenski
programi koji zasebno obrauju pojedine segmente prikupljanja informacija; slijede u nastavku.
5.6.1.1 Popisivanje usluga (enumeracija)
Popisivanje usluga ili enumeracija (eng. service enumeration) je proces koji nam
omoguava prikupljanje informacija o uslugama (servisima) koje mreno okruenje podrava.
Ovdje emo prikazati osnove enumeracije DNS i SNMP servera. Enumeracijom DNS server
moemo dobiti kljune podatke o korisnikim imenima, nazivima raunala, IP adresama u
mrenom okruenju. Koristit emo DNSenum alat otvorenog koda (eng. Open source software OSS166), dok emo za enumeraciju korisnika SNMP mrenog prometa koristiti SnmpEnum OSS
alat (prema Pritchet i Smet, 2013:68).
DNS enumeraciju provodimo iz terminalnog suelja (Linux), naredbom
./dnsenum --enum (domena mete)
Izvrenom naredbom dobivamo podatke o name serverima, mail serverima, i ako je
mogue i DNS zone trasfer167.
166
Softver ija licenca korisniku dozvoljava slobodnu distribuciju bilo kome pod bilo kojim uvjetima. Takvi
softveri mogu se mijenjati u izvornom kodu, koristiti i distribuirati bez ogranienja,
http://en.wikipedia.org/wiki/Open-source_software. (preuzeto 17.03.2014.).
167
102
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
Information
Gathering
terminalno suelje UNIX (GNU)169/Linux bazirane operativne sustave (prema Pritchet i Smet,
2013:71).
dmitry -wnspb (meta) -o /root/Desktop/dmitry-result
Po izvrenju naredbe, rezultati e biti dostupni u datoteci dmitry-result.txt, generiranoj na
radnoj povrini (Desktop).
Slika 30 : Rezultati prikupljeni sintaksom naredbe dmitry
168
169
GNU je Unixu slian raunalni operacijski sustav koji se potpuno sastoji od slobodnog softvera i ne
sadri Unixov kd, http://hr.wikipedia.org/wiki/GNU. (preuzeto 06.03.2014.).
103
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
5.6.1.3 Identifikacija aktivnih raunala
Napad emo uvijek usmjeriti na aktivna raunala odnosno ona koja su podignuta,
ukljuena i sa uitanim operativnim sustavom te uspostavljenom mrenom povezanou.
Najjednostavnije bi njihov aktivni status bilo provjeriti naredbom ping., no sustav moe odbaciti
ili zabiljeiti njeno koritenje, a prilikom izvoenja napada ne elimo ostaviti nikakve tragove
(prema Pritchet i Smet, 2013:73).
Jedno od elegantnih rjeenja je koritenje softvera Nmap170, odnosno njegove sintakse
nping --echo-client "public" echo.(meta)
Slika 31: Rezultati identifikacije prikupljeni sintaksom naredbe nping softvera Nmap
170
104
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
5.6.1.4 Pronalaenje otvorenih portova
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
105
Za uspjeno identificiranje portova mora se u ovom sluaju pokrenuti Apache web server
na source (napada) raunalu.
6.6.1.5 Identifikacija operativnog sustava i servisa (eng. fingerprinting)
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
171
106
Pritchett, W.L., Smet, D.D. (2013). Kali Linux Cookbook. Birmingham Mumbai: Packt Publishing, str.
79.
107
U ovom sluaju e nas posebno zanimati ranjivosti mrenih servisa. Pritom valja napomenuti
da navedene ranjivosti mrenih servisa svakako moramo promatrati ovisno o operativnom
sustavu raunala koje je cilj napada.
Softver OpenVAS funkcionira kroz Mozilla Firefox web preglednik, pa se najprije potrebno
putem njega i logirati na lokalnoj adresi http://127.0.0.1:9392. Izabiremo opcije Configuration i
Scan Configs.
108
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
Sada je potrebno konfigurirati OpenVas za pretragu seta njemu poznatih mrenih ranjivosti,
to zbog poveeg opsega neemo posebno prikazati, ve se fokusirati na nie navedeno suelje
koje prikazuje izvrenu pretragu.
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
Sa predmetne slike vidljivo je da su ne testnom primjeru uoene samo niske razine
prijetnji (njih 14) na ciljanoj lokalnoj mrei.
109
Moan penetracijski softver razvijen u suradnji Open Source zajednice i tvrtke Rapid7, autorska prava
zatiena, http://www.metasploit.com/. (preuzeto 06.03.2014.).
110
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
Ovdje e se prikazati jedna od mnogobrojnih Metasploitovih mogunosti iskoritavanja
ranjivosti, a inicira se samim pristupom odreenoj web stranici. Napad se plasira putem
Metasploit MSFCONSOLE terminalskog suelja, nosi naziv browser_autopwn i automatski vri
detekciju operativnog sustava mete koja prisupi eljenoj web stranici, procjenu ranjivosti i nakon
toga plasira oblik napada prema vlastitoj procjeni, ovisno o web pregledniku sa kojeg meta
pristupa. Uspjeni napad omoguit e distribuciju eljenog payload-a na metu, u naem primjeru
keylogging sesiju napadaa sa metom. Najprije se putem MSFCONSOLE poziva
browser_autopwn modul (prema Pritchet i Smet, 2013:167):
use auxiliary/server/browser_autopwn
Slika 37: Browser_autopwn modul
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
Zatim odabiremo eljeni payload, u naem sluaju reverse_tcp:
set payload windows/meterpreter/reverse_tcp
postavljamo adresu hosta na koji e meta pristupiti
set LHOST (meta)
111
Jednom kada smo uspjeno pristupili meti, cilj nam postaje poveati ovlasti pristupa (eng.
escalating privileges) do krajnjih moguih granica. Najee meti po prvi puta pristupamo sa
112
korisnikim ovlastima, a cilj nam je doi do administratorskih ili sistemskih (prema Pritchet i
Smet, 2013:172).
Jedan od najelegantnijih naina da to uinimo je imitiranjem tokena za logiranje (eng.
impersonation tokens) uporabom Metasploitove Meterpreter naredbe incognito.
Prisjetimo se uspostavljene sesije iz prolog potpoglavlja:
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
113
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
moe se pribaviti takozvanim dumpingom SAM datoteke, uz pomo programa WCE (Windows
Credentials Editor), ili presretanjem mrene komunikacije (vidi potpoglavlje 5.6.5),
http://www.ampliasecurity.com/research/wcefaq.html. (preuzeto 06.03.2014.).
177
114
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
Ukoliko je sve proteklo u redu, uspostavit e se jo jedna dodatna Meterpreter sesija.
5.6.5 Presretanje raunalne komunikacije
Nadzor raunalne komunikacije moemo promatrati kao presretanje mrenih paketa (eng.
network packet). Presretanje paketa podrazumijeva itanje paketa od strane aplikacije kojoj paket
nije originalno namijenjen, a programe za presretanje mrenog paketa nazivamo analizatori
paketa ili popularno sniffer-i179.
179
115
Izvor: http://www.cis.hr/sigurosni-alati/pracenje-mreznog-prometa.html
Alati mogu biti programska ili sklopovska rjeenja180.
Sklopovska rjeenja su obino uske namjene, ugrauju se u telekomunikacijsku opremu
te su sposobna vrlo brzo analizirati promet protokola nad kojim su izgraeni. Takoer,
oslobaaju korisnika od potrebe da sam generira neispravan mreni promet u svrhu ispitivanja
(budui da automatski i kontinuirano zapisuju isti)181.
Programska rjeenja, s druge strane, obino su ire namjene te su sposobna analizirati
mnogo vie protokola. Koriste se u instancama kada se eli otkriti uzrok odreene anomalije182.
Neki od primjera koritenja sniffera jesu183:
upravo je, u tu svrhu prilagoen, najpoznatiji takav alat Wireshark184. Radi se o vrlo sloenom
alatu koji ovdje neemo pojanjavati. Bitno je uoiti da se takvi alati mogu iskoristiti za
180
loc. cit.
181
loc. cit.
182
loc. cit.
183
loc. cit.
184
Wireshark je besplatni alat (izdan pod GPL licencom) otvorenog koda za analizu mrenog prometa.
Alat je dostupan za operacijske sustave Windows (XP, Vista, 7,8) te Linux/BSD,
http://www.cis.hr/sigurosni-alati/pracenje-mreznog-prometa.html. (preuzeto 06.03.2014.).
116
presretanje komunikacije izmeu mete i treih strana kao dio MITM185 ili DoS (eng. Denial of
Service) napada. Takvi napadi omoguavaju napadaima prikupljanje informacija za daljnje
napade.
Ovdje emo prikazati izvoenje MITM napada uporabom Ettercap186 softvera
Najprije naredbom ettercap G pokreemo grafiko suelje softvera, zatim biramo nain
presretanja (unified ili bridged), odabiremo eljeni mreno suelje (eng. interface), te pokreemo
skeniranje raspoloivih meta da bismo dobili njihov popis.
Slika 43: Popis meta dobivenih skeniranjem raspona IP adresa
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
Za potrebe ovog primjer, kao target 1 odabrat emo gateway, a kao target 2 metu, ime
zapravo nadziremo promet izmeu mete i gateway-a. Gateway je zapravo IP adresa rutera, koji
ima ulogu usmjeravanja svog komunikacijskog prometa unutar svog IP raspona.
Zatim pokreemo opciju Start Sniffing i nakon toga ARP187 poisoning188 proces.
185
Izvrstan OSS alat za izvoenje MITM napada, podrava aktivan i pasivan nain rada i integrirane su
mu mnoge korisne opcije za analizu mree i mete, http://ettercap.github.io/ettercap/. (preuzeto
06.03.2014.).
187
Adress Resolution Protocol, koristi se za rezoluciju IP adresa u fizike (MAC) adrese Ethernet
protokola, http://en.wikipedia.org/wiki/Address_Resolution_Protocol. (preuzeto 06.03.2014.).
188
Cilj je asocirati MAC adresu napadaa sa IP adresom drugog hosta (najee gateway-a), ime se
postie preusmjeravanje svog prometa na adresu napadaa, http://en.wikipedia.org/wiki/ARP_spoofing.
(preuzeto 06.03.2014.).
117
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
Slika 45: Ettercap suelje MITM napada
Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai
Pokretanjem ARP poisoning funkcije, napada se pretvara da je gateway rutera, stoga
sav promet biva preusmjeren na njega. Uvijek, pa tako i u naem sluaju, treba odabrati samo
jednu metu iji e se promet nadzirati. Raunala nemaju ruterske sklopove i ne mogu obraivati
koliinu prometa koja bi ih preplavila u sluaju pokuaja nadziranja cijelog raspona IP adresa,
to bi dovelo do prekida komunikacije na itavom navedenom rasponu i kompromitacije
napadaa.
Ovisno o filterima koji se odaberu, prikazat e se eljeni segmenti nadziranog prometa.
Vrlo uinkovit nain izbjegavanja ARP trovanja jer koritenje statikih ARP tablica zbog
kojih su ARP poruke suvine. Naalost, statike ARP tablice nisu pogodne za velike mree jer ih
118
je teko odravati ako postoji veliki broj raunala. Za velike mree se preporua koritenje alata
poput ArpON ili ARPDefender koji prijavljuju sumnjive ARP poruke. U budunosti e ARP
protokol zamijeniti protokol NDP (eng. Neighbor Discovery Protocol) koji je sastavni dio
protokola IPv6 (eng. Internet Protocol Version 6)189.
5.6.6 Napad uskraivanjem usluge
DoS napad ili napad uskraivanjem usluge je pokuaj stvaranja raunalnih resursa
privremeno ili stalno nedostupnim ili neiskoristivim ovlatenim korisnicima 190. To je tip
sigurnosnog propusta raunalnih sustava koji nuno ne rezultira kraom informacija ili bilo
kojim drugim materijalnim gubitkom.
DoS napadi javljaju se u dva osnovna oblika. Jedan od njih je prisiljavanje raunala rtve
da zauzme svoje resurse tako da vie ne moe pruati usluge koje je trebalo pruati. Drugi oblik
je naruavanje naina komunikacije izmeu legalnih korisnika i raunala rtve tako da isti
postaje neadekvatan. Ve prije (poglavlje V.) opisani su neki poznatiji DoS napadi, a u nastavku
slijede neke od metoda za uspjenu obranu191:
189
191
CARNet CERT u suradnji s LS&S, (2006). Napadi uskraivanjem resursa. CCERT-PUBDOC-2006-07162. Revizija v1.1., http://www.cert.hr/sites/default/files/CCERT-PUBDOC-2006-07-162.pdf. (preuzeto
25.03.2014.). , str. 17.
119
120
u nevjerojatno velikom postotku glavni uzrok intruzije u raunalne sustave je slaba snaga
zaporke rauna za administriranje. Naime, IT osoblje sklono je dodijeljivati jednu te istu
(slabu!) zaporku veem broju raunala, obino na razini cijelog subnet-a, tako da su u
sluaju kompromitacije administrativne zaporke latentno ugroena sva koja komuniciraju
na navedenoj razini. Dobar primjer zaporke je kombinacija velikih i malih slova, brojeva
i posebnih znakova, ne kraa od 10 znakova i po mogunosti bez logike poveznice. Ne
treba koristiti iste zaporke za pristup raznim servisima, posebice ukoliko se kombiniraju
zaporke internih servisa sa onima na internetu. Takoer je potrebno postaviti strogu
sigurnosnu politiku u sluaju viestrukog unosa pogrene zaporke kako bi se na vrijeme
sprijeili eventualni pokuaji penetracije forsiranjem zaporke (eng. bruteforcing);
121
operativnih sustava iz radne memorije, putem CD/DVD ureaja ili USB porta. BIOS
raunala potrebno je takoer zatititi zaporkom. Openito, treba onemoguiti izvravanje
bilo kakvih programskih procedura koje nisu sastavni dio predinstaliranog sustava.
Ukoliko su radi funkcioniranja pojedinih aplikacija u antivirusni softver dodane odreene
iznimke, iste ne bi smjele biti vidljive na korisnikoj razini ovlatenja. Openito, treba
koristiti antivirusna rjeenja koja se u cijelosti mogu zatititi od bilo kakvih dodatnih
podeavanja ili iskljuivanja.
-
pristup internetu putem proxy servera esto je rjeenje u intranet okruenju, ali
predstavlja znaajnu ugrozu. Ovdje bi trebalo rtvovati eleganciju nautrb sigurnosti, pa
dodatno modificirati to rjeenje uporabom virtualnih raunala za pristup internetu;
VPN tuneli koje korporacije esto koriste za vanjsko povezivanje sa intranetom mogu se
smatrati sigurnim, ali opet onoliko koliko je sigurna lozinka kojom se uspostavljaju.
Ovdje posebice treba obratiti pozornost na sigurnosnu politiku kod ponavljanja pogrenih
zaporki;
kako na lozinku, potrebno je obratiti pozornost i na korisniko ime. Nije dobra praksa
generiranje korisnikih imena temeljem stvarnih imena i prezimena korisnika. Na taj
nain stvara se obrazac prema kojem napada moe, poznajui hijerarhijski ustroj
organizacije ak i kroz medije, lako pogoditi korisniko ime osobe za koju pretpostavlja
da su joj dodijeljena ovlatenja visoke razine.
potrebno je voditi rauna o kretanju djelatnika kroz slubu i u skladu s time aurirati
ovlatenja;
192
Skupina standarda 802.11 trenutano sadri est naina beine modulacije signala, koji koriste isti
protokol, a najei naini su definirani a, b i g dodatcima izvornom standardu koji se ponekad naziva
"802.11 legacy"; sigurnosne odredbe su naknadno dodane i okupljene su u 802.11i dodatku. Ostali
dodatci ove porodice (c-f, h-j, n) su servisna podoljanja i proirenja ili ispravke prijanjih odredbi.
802.11b je prvi iroko rasprostranjeni beini standard, a 802.11g je trenutano u najveoj ekspanziji, dok
je 802.11a slabije rairen, ali takoer vrlo prisutan u svijetu. 802.11b i 802.11g standardi koriste
nelicencirani pojas frekvencija na 2,4 GHz. Standard 802.11a koristi frekvencije na 5 GHz. Radom na tim
frekvencijama, 802.11b i 802.11g ureaji mogu biti ometani od strane mikrovalnih penica, beinih
telefona, kamera i drugih ureaja koji takoer koriste taj "neregulirani" pojas frekvencija.,
http://hr.wikipedia.org/wiki/IEEE_802.11. (preuzeto 06.03.2014.).
122
Deset skupina pitanja o zatiti informatike sigurnosti koja bi povremeno morao postaviti
svaki rukovoditelj ili osoba zaduena za zatitu194:
193
Wired Equivalent Privacy (WEP) je algoritam za sigurnu komunikaciju putem IEEE 802.11 beinih
mrea. Obzirom da beine mree koriste radio signal za prenoenje podataka one su vrlo podlone
prislukivanju za razliku od ianih mrea.Prilikom uvoenja WEP-a 1997. godine ideja vodilja je bila da
se beinoj komunikaciji osigura sigurnost jednaka onoj kakva je kod ianih mrea. To se, izmeu
ostalog, nastojalo postii enkriptiranjem komunikacije i reguliranju pristupa samoj mrei na osnovu
autentikacije putem MAC adrese mrenog ureaja. Meutim, 2004. godine dolazi do zamjene WEP-a
novim WPA algoritmom jer su ve 2001. godine uoene ranjivosti WEP algoritma.,
http://hr.wikipedia.org/wiki/WEP. (preuzeto 06.03.2014.).
194
123
10. Niste li svoj informacijski sustav, a time i Vae poslovanje i uspjeh na tritu,
"predali" informatiarima bez adekvatnog nadzora i zatite?
124
2. Ako Vas napada uspije uvjeriti da izvrite njegov program na Vaem raunalu
to vie nije Vae raunalo;
3. Ako napada moe podeavati operativni sustav Vaeg raunala - to vie nije
Vae raunalo;
4. Ako napada ima neogranien pristup Vaem raunalu - to vie nije Vae
raunalo;
5. Ako dopustite napadau da postavi svoj program na Vau web stranicu - to vie
nije Vaa web stranica;
6. Slabe zaporke rue jake sigurnosne sustave;
7. Raunalo je sigurno onoliko koliko je administrator od povjerenja;
8. Enkriptirani podaci sigurni su onoliko koliko i klju dekripcije;
9. Neaurirani antivirusni program samo je statistiki bolji od nikakve antivirusne
zatite;
10. Apsolutna anonimnost nije ba praktina, ni u stvarnom ivotu, ni na internetu;
11. Tehnologija ne lijei ba sve bolesti.
7. ZAKLJUAK
195
125
Bitcoin je raunalna datoteka koja je pohranjena na raunalu korisnika i moe sluziti kao virtualni
novac. Bitcoin je sastavljen je od kompleksnog algoritma. Osmiljavaju i izrauju ga bitcoin rudari na
superraunarima. Iskljuen iz financijskog sustava i ne izdaje ga ni jedna sredinja banka. Osim toga nije
nije pod ingerencijom monternih vlasti i nema nikakvih posrednika (banaka). Na internetu se moe rabiti
poput valute s kojom se moe platiti usluge i proizvode, http://hr.wikipedia.org/wiki/Bitcoin, (preuzeto
06.03.2014.).
126
8. LITERATURA
Literatura knjige i lanci
1. Antoli,K., i dr., (2010). Sigurnost informacijskih sustava. Zagreb: Algebra d.o.o.
127
9.
128
129
http://os2.zemris.fer.hr/ISMS/2008_marceta/Evaluacija%20i%20ispitivanje
%20sigurnosti%20sustava_files/itsem-en.pdf - 05.03.2014.
13. DoS Napadi, CARNet CERT-a i LS&S
http://sigurnost.lss.hr/documents/LinkedDocuments/CCERT-PUBDOC-2006-11-162.pdf
- 05.03.2014.
14. Denial-of-service attacks, http://en.wikipedia.org/wiki/Denial-of-service - 05.03.2014.
15. Feringa, A., Goguen. A. i Stoneburner, G. Risk Management Guide for Information
Technology Systems (2001). National Institute of Standards and Technology.
Washington: US Government printing office.
http://os2.zemris.fer.hr/ISMS/2008_marceta/Evaluacija%20i%20ispitivanje
%20sigurnosti%20sustava_files/nisrisk_mang_guide_infor_tech_systems_pub_800_30.pdf - 06.03.2014.
16. Hadjina, N., (2009). Zatita i sigurnost informacijskih sustava (nastavni materijali sa
zbirkom zadataka). FER Zavod za primijenjeno raunarstvo,
http://www.smartgrids.hr/_download/repository/SkriptaZaStudente200912%5B1%5D.pdf - 26.03.2014.
17. Holl, K. (2003). Global Information Assurance Certification Paper. SANS Institute,
http://www.giac.org/paper/gsec/2868/osi-defense-in-depth-increase-applicationsecurity/104841 - 14.03.2014.
18. Klari, I. (2007). Naini zlouporabe ranjivosti raunalnog sustava.
http://os2.zemris.fer.hr/ns/malware/2007_klaric/sql_injekcija.html - 07.04.2014.
19. Kra, A., Svilii, B. (2005). Zatita privatnosti raunalnog sustava. Pomorstvo, god. 19.
(2005), str. 275-284. http://hrcak.srce.hr/file/6510 07.04.2014.
20. Mareta, M. (2008). Ispitivanje i evaluacija sigurnosti seminarski rad. Sveuilite u
Zagrebu, Fakultet elektrotehnike i raunarstva.
http://os2.zemris.fer.hr/ISMS/2008_marceta/Evaluacija%20i%20ispitivanje
%20sigurnosti%20sustava.htm - 24.03.2014.
21. Peuhkuri, M. Denial of service attacks.
http://www.netlab.tkk.fi/opetus/s38153/k2005/slides/handout-10dos.pdf - 05.03.2014.
22. Popovi, M. (2006). Nadziranje pristupa raunalnim sustavima zasnovanim na
uslugama. Magistarski rad. Zagreb, Sveuilite u Zagrebu, Fakultet elektrotehnike i
raunarstva. https://bib.irb.hr/datoteka/277854.Magistarski_MiroslavPopovic.pdf 05.04.2014.
130
131
132
133
http://doi.acm.org/10.1145/1866307.1866371 - 17.03.2014.
101.
http://securitytracker.com/id/1009181 - 17.03.2014.
102.
http://en.wikipedia.org/wiki/Integer_overflow - 17.03.2014.
103.
http://en.wikipedia.org/wiki/C99 - 20.03.2014.
104.
https://www.kb.cert.org/vuls/id/399896 - 17.03.2014.
105.
http://hr.wikipedia.org/wiki/SQL - 17.03.2014.
106.
http://en.wikipedia.org/wiki/Cross-site_scripting - 17.03.2014.
107.
http://www.computerhope.com/jargon/e/ethihack.htm - 16.03.2014.
108.
http://www.eccouncil.org/ - 06.03.2014.
109.
https://www.paterva.com/web6/ - 06.03.2014.
110.
http://en.wikipedia.org/wiki/Open-source_software - 17.03.2014.
111.
http://en.wikipedia.org/wiki/DNS_zone_transfer - 06.03.2014.
112.
http://manpages.ubuntu.com/manpages/raring/man1/dmitry.1.html 06.03.2014.
113.
http://hr.wikipedia.org/wiki/GNU - 06.03.2014.
114.
http://nmap.org/ - 06.03.2014.
115.
http://hr.wikipedia.org/wiki/Freeware - 06.03.2014.
116.
http://lcamtuf.coredump.cx/p0f3/ - 06.03.2014.
117.
www.openvas.org - 06.03.2014.
118.
http://www.metasploit.com/ - 06.03.2014.
119.
http://www.ampliasecurity.com/research/wcefaq.html - 06.03.2014.
134
120.
http://en.wikipedia.org/wiki/Pass_the_hash - 06.03.2014.
121.
http://en.wikipedia.org/wiki/Address_Resolution_Protocol - 06.03.2014.
122.
http://en.wikipedia.org/wiki/ARP_spoofing - 06.03.2014.
123.
http://hr.wikipedia.org/wiki/IEEE_802.11 - 06.03.2014.
124.
http://hr.wikipedia.org/wiki/WEP - 06.03.2014.
Popis tablica
-
Popis slika
135
Slika 3: Vrste oienja, slijeva nadesno: Koaksijalni kabel, UTP kabel i optiki kabel
(Izvor: http://sistemac.carnet.hr/node/35)
Slika 5: Komponente aktivne mrene opreme, slijeva nadesno switch i router (Izvor:
http://sistemac.carnet.hr/node/374)
Slika 9: Struktura ifriranog sustava (Izvor: Radovan, M., (2011.) Raunalne mree (2).
Digital point tiskara, Rijeka)
Slika 10: Tablica preslikavanja znakova (Izvor: Radovan, M., (2011.) Raunalne mree
(2). Digital point tiskara, Rijeka)
Slika 11: Algoritam ifriranja po blokovima (Izvor: Radovan, M., (2011.) Raunalne
mree (2). Digital point tiskara, Rijeka)
Slika 12: ifriranje kod javnog i privatnog kljua (Izvor: Radovan, M., (2011.) Raunalne
mree (2). Digital point tiskara, Rijeka)
Slika 13: Preslikavanje sa hash funkcijom (: Radovan, M., (2011.) Raunalne mree (2).
Digital point tiskara, Rijeka)
Slika 14: Proces izrade digitalnog potpisa poruke (Izvor: Radovan, M., (2011.) Raunalne
mree (2). Digital point tiskara, Rijeka)
Slika 15: Utvrivanje autentinosti potpisa i integriteta poruke (Izvor: Radovan, M.,
(2011.) Raunalne mree (2). Digital point tiskara, Rijeka)
136
Slika 16: Poloaj SSL meusloja (Izvor: Radovan, M., (2011.) Raunalne mree (2).
Digital point tiskara, Rijeka)
Slika 17: Poloaj i uloga vatrozida (Izvor: Radovan, M., (2011.) Raunalne mree (2).
Digital point tiskara, Rijeka)
Slika 18: Neki primjerki postavki vatrozida (Izvor: Radovan, M., (2011.) Raunalne
mree (2). Digital point tiskara, Rijeka)
Slika 19: Tablica upravljanja pristupom (Izvor: Radovan, M., (2011.) Raunalne mree
(2). Digital point tiskara, Rijeka)
Slika 26: Maltego CaseFile suelje sa odabranom metom (Izvor: Pritchett, W.L., Smet,
D.D., (2013.). Kali Linux Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 27: Maltego CaseFile suelje sa opcijama prikupljanja informacija (Izvor: Pritchett,
W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing, Birmingham
Mumbai)
Slika 28: Maltego CaseFile suelje sa prikupljenim informacijama (Izvor: Pritchett, W.L.,
Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 29: Enumeracija DNSenum alatom (Izvor: Pritchett, W.L., Smet, D.D., (2013.).
Kali Linux Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 30 : Rezultati prikupljeni sintaksom naredbe dmitry (Izvor: Pritchett, W.L., Smet,
D.D., (2013.). Kali Linux Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 31: Rezultati identifikacije prikupljeni sintaksom naredbe nping softvera Nmap
(Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai)
137
Slika 32: Podaci o portovima prikupljeni sintaksom naredbe nping softvera Nmap (Izvor:
Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai)
Slika 33: Podaci o operativnom sustavu prikupljeni uporabom softvera Nmap (Izvor:
Pritchett, W.L., Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing,
Birmingham Mumbai)
Slika 34: OpenVAS konfiguracijsko suelje (Izvor: Pritchett, W.L., Smet, D.D., (2013.).
Kali Linux Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 35: OpenVAS suelje izvrene pretrage mrenih ranjivosti (Izvor: Pritchett, W.L.,
Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 36: Izgled Armitage grafikog suelja za Metasploit (Izvor: Pritchett, W.L., Smet,
D.D., (2013.). Kali Linux Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 37: Browser_autopwn modul (Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali
Linux Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 38: Meterpreter shell sesija (Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali Linux
Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 39: Opcije Meterpreter naredbe use incognito (Izvor: Pritchett, W.L., Smet, D.D.,
(2013.). Kali Linux Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 40: Korisniki rauni na meti (Izvor: Pritchett, W.L., Smet, D.D., (2013.). Kali
Linux Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 41: Meterpreter persistance backdoor (Izvor: Pritchett, W.L., Smet, D.D., (2013.).
Kali Linux Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 43: Popis meta dobivenih skeniranjem raspona IP adresa (Izvor: Pritchett, W.L.,
Smet, D.D., (2013.). Kali Linux Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 44: ARP poisoning u Ettercap suelju (Izvor: Pritchett, W.L., Smet, D.D., (2013.).
Kali Linux Cookbook, Packt Publishing, Birmingham Mumbai)
Slika 45: Ettercap suelje MITM napada (Izvor: Pritchett, W.L., Smet, D.D., (2013.).
Kali Linux Cookbook, Packt Publishing, Birmingham Mumbai)
138