DIPLOMSKO DELO - University of Mariborold.epf.uni-mb.si/ediplome/pdfs/curic-matjaz.pdf · 5 1 UVOD...

42
UNIVERZA V MARIBORU EKONOMSKO – POSLOVNA FAKULTETA DIPLOMSKO DELO VARNOST INFORMACIJSKIH SISTEMOV INFORMATION SYSTEMS AND SECURITY Kandidat: Matjaž Čurič Študent rednega študija Številka indeksa: 81552995 Program: Visokošolski strokovni Študijska smer: Podjetniška informatika Mentor: dr. Samo Bobek Maribor, maj 2008

Transcript of DIPLOMSKO DELO - University of Mariborold.epf.uni-mb.si/ediplome/pdfs/curic-matjaz.pdf · 5 1 UVOD...

UNIVERZA V MARIBORU EKONOMSKO – POSLOVNA FAKULTETA

DIPLOMSKO DELO

VARNOST INFORMACIJSKIH SISTEMOV

INFORMATION SYSTEMS AND SECURITY Kandidat: Matjaž Čurič Študent rednega študija Številka indeksa: 81552995 Program: Visokošolski strokovni Študijska smer: Podjetniška informatika Mentor: dr. Samo Bobek Maribor, maj 2008

2

PREDGOVOR V današnji informacijski družbi so za državljane in podjetja pri dnevnih opravilih vse bolj nepogrešljive sodobne komunikacijske tehnologije. S porastom informacijskih tehnologij so se povečale ne samo možnosti za komuniciranje med subjekti pač pa tudi možnosti zlorab. Tema diplomske naloge je predstaviti varnostno problematiko informacijskih sistemov v sodobni družbi. Poznavanje tveganja in varnostnih mehanizmov je prva linija obrambe informacijskih sistemov. V nalogi zato obdelamo najpogostejše tehnike in metode napadov ter varnostne sisteme za zaščito informacij. Izpostaviti želimo, da podjetje z uspešno zasnovo in implementacijo varnostne politike lahko naslovi vsa področja povezana z varovanjem informacij v podjetju. Dotaknili se bomo tudi varnega programiranja ter predstavili osnovna načela za varno izdelavo aplikacij. Menimo, da je v začetku projekta izdelave aplikacij potrebno posvetiti pozornost varnosti kot kvaliteti dobrega programja.

3

KAZALO 1  UVOD...................................................................................................................................................... 5 

1.1  OPREDELITEV PODROČJA IN OPIS PROBLEMA ....................................................................................... 5 1.2  NAMEN, CILJI IN OSNOVNE TRDITVE..................................................................................................... 5 1.3  PREDPOSTAVKE IN OMEJITVE RAZISKAVE ............................................................................................ 6 1.4  UPORABLJENE RAZISKOVALNE METODE .............................................................................................. 6 

2  SPLOŠNO O VARNOSTI..................................................................................................................... 7 

2.1  VARNOST INFORMACIJSKIH SISTEMOV ................................................................................................. 7 2.2  POSLEDICE URESNIČENIH GROŽENJ ...................................................................................................... 7 2.3  TEHNIKE IN METODE NAJPOGOSTEJŠIH NAPADOV................................................................................. 8 

2.3.1  Fizični vdor................................................................................................................................ 8 2.3.2  Vdor na daljavo ......................................................................................................................... 9 2.3.3  Socialno inženirstvo................................................................................................................... 9 2.3.4  Ribarjenje .................................................................................................................................. 9 2.3.5  Napad z onemogočanjem storitve ............................................................................................ 10 

2.4  VARNOSTNI MEHANIZMI .................................................................................................................... 10 2.4.1  Enkripcija podatkov................................................................................................................. 10 2.4.2  Požarni zid............................................................................................................................... 11 2.4.3  Uporabniške skupine, vloge in pravice.................................................................................... 12 

2.5  STANDARDI IN REGULATIVA NA PODROČJU VARNOSTI INFORMACIJSKIH SISTEMOV ........................... 13 2.5.1  Kazenski zakonik RS in informacijska varnost ........................................................................ 13 2.5.2  Zakon ZVOP-1 in varstvo osebnih podatkov ........................................................................... 14 2.5.3  Standard ISO/IEC 27001......................................................................................................... 15 

3  ZNAČILNOSTI USPEŠNE VARNOSTNE POLITIKE .................................................................. 17 

3.1  OBSEG IN ZNAČILNOSTI USPEŠNE VARNOSTNE POLITIKE.................................................................... 17 3.2  NASLOVNIKI IN STRUKTURA VARNOSTNE POLITIKE .......................................................................... 19 3.3  TIPI VARNOSTNIH POLITIK.................................................................................................................. 20 

3.3.1  Temeljna varnostna politika .................................................................................................... 20 3.3.2  Tehnična varnostna politika .................................................................................................... 21 3.3.3  Operacijska varnostna politika................................................................................................ 22 

3.4  OGRODJE VARNOSTIH DOKUMENTOV................................................................................................. 22 

4  IZDELAVA IN AKTIVNOSTI USPEŠNE VARNOSTNE POLITIKE ......................................... 24 

4.1  SPLOŠNO O IZDELAVI VARNOSTNE POLITIKE ...................................................................................... 24 4.2  SKUPINE, KI SODELUJEJO PRI IZDELAVI VARNOSTNE POLITIKE ........................................................... 24 

4.2.1  Primarne skupine..................................................................................................................... 24 4.2.2  Sekundarne skupine ................................................................................................................. 25 

4.3  ŽIVLJENJSKI CIKEL IZDELAVE VARNOSTNE POLITIKE ......................................................................... 25 4.3.1  Podpora vodstva in izdelava varnostne politike ...................................................................... 25 4.3.2  Določitev prehodnega obdobja................................................................................................ 26 4.3.3  Določitev potrebnih resursov .................................................................................................. 26 4.3.4  Pregled obstoječe varnostne politike....................................................................................... 26 4.3.5  Določitev gradiva .................................................................................................................... 26 4.3.6  Sestava osnutka varnostne politike .......................................................................................... 26 4.3.7  Pregled osnutka varnostne politike.......................................................................................... 27 4.3.8  Razpoznava vrzeli v izvrševanju varnostne politike................................................................. 27 4.3.9  Razvoj strategijo komuniciranja.............................................................................................. 28 4.3.10  Objava varnostne politike ................................................................................................... 28 4.3.11  Zagon strategije komuniciranja .......................................................................................... 28 4.3.12  Redno posodabljanje in revidiranje.................................................................................... 28 

5  VARNO PROGRAMIRANJE............................................................................................................ 30 

5.1  SPLOŠNO O VARNEM PROGRAMIRANJU .............................................................................................. 30 

4

5.2  PREVERJANJE VNOSA PODATKOV....................................................................................................... 30 5.3  NAČELO ZADNJEGA PRIVILEGIJA........................................................................................................ 31 5.4  VARNO OBJEKTNO PROGRAMIRANJE .................................................................................................. 32 

5.4.1  Zaklepanje razredov in njihovih članov................................................................................... 32 5.4.2  Doseg javanskih paketov ......................................................................................................... 33 5.4.3  Kloniranje objektov ................................................................................................................. 33 5.4.4  Serializacija objektov .............................................................................................................. 34 

5.5  AVTENTIKACIJA................................................................................................................................. 34 5.5.1  Avtentikacija in spletne aplikacije .NET.................................................................................. 34 

6  SKLEP .................................................................................................................................................. 37 

7  POVZETEK ......................................................................................................................................... 38 

8  SUMMARY .......................................................................................................................................... 39 

9  LITERATURA..................................................................................................................................... 40 

10  VIRI ...................................................................................................................................................... 41 

KAZALO SLIK Slika 1: Hierarhija varnostnih politik .................................................................................. 20 Slika 2: Arhitektura sodobnega računalnika........................................................................ 32  KAZALO TABEL Tabela 1: Prikaz računalniške kriminalitete v Sloveniji med leti 1998 in 2006.................... 7  Koda 1: Preprečevanje kloniranja objetov v javi z implementacijo metode Clone().......... 33 Koda 2: Preprečevanje serializacije objektov z implementacijo metode writeObject()...... 34 Koda 3: Primer datoteke web.config ................................................................................... 35 Koda 4: Primer spletne strani ASP.NET namenjene za avtentikacijo uporabnikov ........... 35 

5

1 UVOD 1.1 Opredelitev področja in opis problema V današnjem ekonomskem, političnem in družbenem okolju informacijska varnost postaja osnovna zahteva za večino organizacij. Poslovni partnerji, dobavitelji, prodajalci ter kupci jo zahtevajo drug od drugega. Vdor v informacijski sistem in s tem kraja zaupnih informacij lahko za podjetje pomeni izgubo ugleda ali pa mu prinese finančno škodo. Danes mora vodstvo podjetja z ustrezno varnostno politiko in njenim izvrševanjem vzpostaviti varno okolje v podjetju. Management varnosti je najbolj učinkovit takrat, ko je sistemski, vpet v kulturo podjetja. Kultura je definirana kot skupek ciljev, vrednot, stališč ki so značilne za delovanje neke skupine ljudi ali organizacije. Kultura zato ustvarja povezave med ljudmi in politiko, navodili, postopki nekega podjetja. Na učinkovito varnost bi se lahko gledalo kot na značilnost oz. atribut neke organizacije. Narobe bi bilo govoriti, da je varnost izključno problem tehnične narave in da kot tak nalaga odgovornost samo informacijskemu oddelku in razvijalcem programskih rešitev. Za povečanje varnosti informacijskih sistemov niso torej potrebne samo investicije v programske rešitve. Uspešna varnostna politika v današnjem povezanem svetu pomeni integracijo pravnih, vodstvenih, operacijskih in tehničnih dejavnikov. 1.2 Namen, cilji in osnovne trditve V delu bomo najprej predstavili problematiko varnosti v podjetjih. V nadaljevanju se bomo seznanili z najpogostejšimi varnostnimi incidenti. Pregledali bomo varnostne mehanizme s katerimi podjetja zagotavljajo svojo varnost, varnostne standarde in priporočila. Pojasnili bomo značilnosti uspešne varnostne politike, njene aktivnosti in implementacijo ter se seznanili s smernicami oziroma načeli varne izdelave aplikacij. Cilji naloge:

• predstaviti splošno stanje varnosti informacijskih sistemov v podjetjih, • prikazati najpogostejše napade in njihove posledice, • navesti varnostne mehanizme, • pojasniti značilnosti, aktivnosti in implementacijo uspešne varnostne politike, • predstaviti osnovne napake pri programiranju aplikacij in principe varnega

programiranja.

Osnovne trditve: Na podlagi zastavljenih ciljev bomo skušali dokazati naslednje trditve:

• problem varnosti je predvsem organizacijske narave in ne samo tehnične, • varnostna politika je najbolj uspešna, ko je vpeta v kulturo in cilje podjetja, • potrebno je izobraževanje ključnih zaposlenih,

6

• varnosti je potrebno posvetiti pozornost že v sami zasnovi projekta izdelave aplikacij,

• za implementacijo uspešne varnostne politike je odgovorno predvsem poslovodstvo.

1.3 Predpostavke in omejitve raziskave Predpostavke raziskave:

• varnost je pomemben dejavnik v poslovanju podjetja, • obstajati mora želja etičnega ravnanja z osebnimi podatki strank in drugimi

občutljivimi informacijami, • varnosti se v zasnovi programskih rešitev posveča malo pozornosti, saj so

programerji izpostavljeni pritiskom kapitala in posledično morajo programirati hitro; hitro programiranje ni kvalitetno programiranje, ki bi zadostilo potrebam po varnosti in zanesljivosti delovanja.

Omejitve raziskave:

• uporabiti bo mogoče le vire, ki so ob danem trenutku na voljo • malo število izkušenj iz osebne poslovne prakse.

1.4 Uporabljene raziskovalne metode V nalogi bodo uporabljene splošne metode pisanja strokovnih del. Glavni pristop raziskovanja bo deskriptivni pristop. V okviru deskriptivnega pristopa bodo uporabljene naslednje metode:

• metoda deskripcije – opisovanje dejstev, • metoda kompilacije – povzemanje opazovanj, spoznanj, stališč, mnenj, teorij,

sklepov drugih avtorjev, • metoda komparacije – postopek primerjave enakih ali podobnih dejstev.

7

2 SPLOŠNO O VARNOSTI 2.1 Varnost informacijskih sistemov Sodobno poslovanje narekuje podjetjem uporabo informacijskih tehnologij. Z njihovo uporabo podjetja izmenjujejo in pridobivajo informacije, izvajajo medpodjetniško poslovanje (B2B), poslovanje s strankami (B2C) in ne nazadnje vodijo svoje poslovanje z ustreznimi programskimi rešitvami. Pri večini sodobnih podjetij lahko najdemo v elektronski obliki podatke o strankah, dobaviteljih, internih cenikih, strateške načrte za rast in razvoj, finančne podatke (bilance, finančni tokovi), tehnično dokumentacijo o razvoju novega izdelka in podobno. Če konkurenca izve za omenjene podatke, lahko to povzroči izgubo tržnega deleža, slabši poslovni rezultat, tožbe, izgubo ugleda ali kako drugače škodi poslovanju podjetja. Mnogo podjetij še vedno ne prepoznava tveganja in možnih izgub zaradi nezadostne varnosti informacijskih sistemov. Informacija je dobrina oziroma premoženje podjetja, kot vsako drugo opredmeteno ali neopredmeteno sredstvo in kot taka mora biti zaščitena z ustrezno varnostno politiko. Sprejeto varnostno politiko imajo večinoma v Sloveniji večja podjetja, medtem ko srednja in mala podjetja nimajo tega področja ustrezno urejenega. 2.2 Posledice uresničenih groženj Slovenska policija je prve primere računalniške kriminalitete obravnavala že leta 1993, bolj sistematično pa se je začela s tem ukvarjati leta 1995, ko je bil sprejet nov Kazenski zakonik RS. Statistični podatki o računalniški kriminaliteti so dostopni v obliki letnih poročil policije (Policija 2007). Potrebno je vedeti, da so dejanski podatki o računalniški kriminaliteti mnogo večji, saj se vsak varnostni incident ne prijavi ustreznim organom. Tabela 1: Prikaz računalniške kriminalitete v Sloveniji med leti 1998 in 2006 Vrsta kaznivega dejanja 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007

Neupravičen vstop v informacijski sistem

/ / / / / 2 10 30 24 88

Vdor v računalniški sistem

2 13 15 6 1 / 0 5 6 4

Neupravičen vstop v zaščiteno računalniško

bazo

2 9 12 2 6 2 / / / /

Neupravičena uporaba avtorskega dela

11 14 11 23 17 12 18 17 6 7

SKUPAJ 15 36 38 31 24 14 28 52 36 99

Vir: Policija 2007

8

Glede na podatke avstralske študije1 so bili najpogostejši varnostni incidenti v letu 2006:

1. okužba informacijskega sistema s škodljivim programjem kot so virusi, trojanski konji in črvi,

2. notranja zloraba interneta, elektronske pošte in drugih računalniških resursov 3. kraja računalnikov in računalniške opreme, 4. napad z onemogočanjem storitve, 5. nepooblaščen dostop do informacijskega sistema in vdor od zunaj, 6. nepooblaščen dostop do informacij od insajderja, 7. eskaliranje privilegijev, 8. zmanjšanje učinkovitosti delovanja informacijskih sistemov zaradi obsežnega

zunanjega pregledovanja omrežja, 9. kraja poslovnih skrivnosti in drugih zaupnih podatkov.

Zanimivi so tudi podatki avstralske študije o varnostnih incidentih, ki so povzročili največ finančne škode organizacijam. Ti so:

1. kraja računalnikov in računalniške opreme 2. okužba informacijskega sistema s škodljivim programjem kot so virusi, trojanski

konji in črvi, 3. notranja zloraba interneta, elektronske pošte in drugih računalniških resursov, 4. napad z onemogočanjem storitve, 5. zmanjšanje učinkovitosti delovanja informacijskih sistemov zaradi obsežnega

zunanjega pregledovanja omrežja, 6. kraja poslovnih skrivnosti in drugih zaupnih podatkov, 7. eskaliranje privilegijev, 8. nepooblaščen dostop do informacijskega sistema in vdor od zunaj, 9. nepooblaščen dostop do informacij od insajderja.

2.3 Tehnike in metode najpogostejših napadov 2.3.1 Fizični vdor Je tehnika napada, kjer ima napadalec fizični dostop do informacijskega sistema. Ta zajema od uporabe tipkovnice do fizične razstavitve računalnika. Ponavadi napadalec eskalira uporabniške pravice in s tem pridobi dostop do zaupnih informacij (Zachary 2006, 2). Zaradi časovne omejenosti se pogosto naredijo fizične kopije podatkovnih nosilcev, kasneje se prelomi zaščito in poišče zaupne podatke. Prakticira se tudi nameščanje trojanskih vratarjev (angl. Backdoor Trojan). To so nedokumentirani, skrivni načini dostopanja preko stranskih vrat, ki omogočajo kasnejši oddaljen nazor nad informacijskim sistemom.

1 Povzeto po Australian Computer Emergency Response Team, 2006

9

2.3.2 Vdor na daljavo Je tehnika napada, kjer napadalec preko interneta oziroma preko omrežja izvrši vdor v informacijski sistem. Pri tej tehniki napadalec nima direktnega stika z informacijskim sistemom. (Zachary 2006, 2). Običajno se preverijo odprta vrata in možni ranljivi servisi na nekem IP naslovu. Napadalec po navadi z uporabo izkoriščevalske kode, ki se izvede na daljavo (angl. Remote Exploit) pridobi dostop do informacijskega sistema. Napadalec lahko takoj dobi skrbniške pravice ali pa začne brez posebnih privilegijev, kasneje pa z lokalno izvedljivo izkoriščevalsko kodo (angl. Local Exploit) eskalira privilegije. 2.3.3 Socialno inženirstvo Socialno inženirstvo je skupek tehnik, ki za razliko od iskanja lukenj v informacijskih sistemih izrablja slabost človeškega faktorja. Napadalec inteligentno izrabi človekovo nagnjenje k zaupanju. Njegov cilj je pridobitev informacij, ki mu bodo omogočile nepooblaščen dostop do želenega informacijskega sistema. Komunikacijske poti, ki se tukaj uporabljajo so predvsem telefon in pisna sporočila (Wikipedia 2007b). Pri socialnem inženirstvu napadalec poosebi kredibilne osebe, ki imajo ustrezne avtorizacije za dostop do podatkov, katere napadalec želi. Sogovornika poskuša prepričati, da mu razkrije avtentikacijske podatke ali sam opravi za njega naloge, za katere nima avtorizacije. Socialno inženirstvo je ena od metod, kateri se v podjetjih posveča premalo pozornosti. Uspešna varnostna politika bi morala vsebovati ustrezne ukrepe, s katerimi bi se ozaveščalo zaposlene na tem področju. Naj predstavim moje izkušnje, sam sem delal na oddelku telefonske podpore za računovodski program Pantheon. Probleme strank se je reševalo predvsem na daljavo, preko interneta, za kar so potrebni avtentikacijski podatki oziroma privolitev uporabnika za dostop na daljavo. Veliko strank ni preverilo moje identitete, preden je podalo podatke za dostop do njihovega strežnika ali delovne postaje. 2.3.4 Ribarjenje Ribarjenje je oblika nezakonitega dejanja, kjer napadalec z uporabo socialnega inženirstva pridobi od tarče podatke kot so številke kreditnih kartic, njihova osebna gesla in druge podatke. Ribarjenje je pogosto izvedeno preko elektronske pošte ali programov za takojšnje sporočanje, kot je na primer microsoft messenger. Napadalec nagovarja, da zgoraj navedena tarča vnese osebne podatke, po navadi na neki lažni spletni strani, ki je kopija originalne spletne strani (Wikipedia 2007a).

10

Naj podrobneje predstavim konkreten primer ribarjenja, kjer je napadalec elektronsko sporočilo z lažno vsebino dostavil tudi na moj elektronski naslov. V navedenem primeru poskuša ta z lažno spletno stranjo zbrati uporabniške podatke znanega ameriškega spletnega avkcijskega podjetja eBay inc. Zbrane podatke bi napadalec najverjetneje uporabil tako, da bi neizkušene oziroma nove kupce zavajal glede načina plačila in tako ukradel njihove številke kreditnih kartic. 2.3.5 Napad z onemogočanjem storitve Namen napada z onemogočanjem storitve je narediti nek informacijski sistem nedosegljiv njegovim uporabnikom. Čeprav se načini, motivi in cilji NOS2 napada razlikujejo, običajno vključujejo zlonamerna dejanja osebe ali skupine oseb, da preprečijo učinkovito delovanje spletnih strežnikov ali njihovih storitev (angl. services). Napadalci po navadi ciljajo znane strežnike, ki jih uporablja veliko ljudi. Med njimi so poštni strežniki, banke, spletne trgovine. Znan primer je NOS napad na spletno trgovino amazon.com, ki so jo hekerji onesposobili za par ur (Wikipedia 2007c). 2.4 Varnostni mehanizmi 2.4.1 Enkripcija podatkov Enkripcija ali šifriranje podatkov je postopek pri katerem se z uporabo šifrirnega algoritma in šifrirnega ključa čistopis spremeni v tajnopis. Enkripcijo so uporabljali že Rimljani, predvsem za prenašanje sporočil z vojaško vsebino. Rimljani so šifrirali sporočila s Cezarjevo šifro, ki je zamenjala vsako črko čistopisa z črko, ki je premaknjena z določeno fiksno številko vzdolž po abecedi. Kot primer zakodirajmo čistopis: »Ekonomsko poslovna fakulteta Maribor« s Cezarjevo šifro premaknjeno z fiksno številko dve v desno, to pomeni, da se bo črka a spremenila v c, črka b se bo spremenila v črko č, črka c v d in tako dalje. Čistopis: Ekonomsko poslovna fakulteta Maribor Tajnopis: GMQPQOUMQ RQUNQXPC HCMWNVGVC OCTKDQT Seveda je Cezarjevo šifro preprosto razvozlati, zato so se pojavili novi šifrirni algoritmi, ki jih je težje razbiti oziroma razvozlati. Danes so v uporabi simetrični in asimetrični šifrirni algoritmi. Pri simetričnih šifrirnih algoritmih imata pošiljatelj in prejemnik skupen ključ, ki je poznan samo njima. Pošiljatelj zakodira sporočilo z istim ključem, kot ga prejemnik dešifrira.

2 Napad z onemogočanjem storitve ali krajše NOS napad. V angleški terminologiji se pojavla izraz DOS napad, kar pomeni Denial of Service.

11

Pri asimetričnih šifrirnih algoritmih obstajata dva različna ključa, to sta javni in zasebni ključ, ki tvorita par. S pomočjo javnega ključa lahko vsakdo zakodira sporočilo in ga pošlje prejemniku, ki edini poseduje privatni ključ. Samo prejemnik lahko razbere sporočila, ki so bila zakodirana z javnim ključem, ki je v paru z njegovim zasebnim ključem. Kot primer zakodirajmo sedaj enak čistopis kot v zgornjem primeru s pomočjo simetričnega algoritma blowfish, ki uporablja 448 bitno3 dolžino ključa. Čeprav program omogoča 448 bitno dolžino ključa, kar pomeni 2448 kombinacij, bomo mi izbrali 32 bitni ključ, reprezentiran z besedo »test«, saj vsaka črka v ASCII4 tabeli predstavlja 8 bitov. Čistopis: Ekonomsko poslovna fakulteta Maribor Tajnopis: <--- CRYPTOFORGE BEGIN BLOCK 3.2 ---> iMi/8d5Tr8ozBuqYktyiIfrxAPdPr8rR3RAefkZOL+nQgWXTScznMqx3P/3XifUWOQ9tM7rd4DVg QwkzRMNk3ccJe4G7+TKaA/qhswp6/SO+IxbXbzeN4GC2HDVWyHXueHYtF3hhhktF1grWss6agHbk hKOxZ6HKWZAIZIi5dXeT1NtfilPSceqNZ5xBRhvwuaHAoDuDMgEzJAsVKYzXLb13zMlDulKm5+Eh Gz7NYbffYDadhqIvrtEX94xUrqViuAZkUkrylDO7zAqzrFKs73xC <--- CRYPTOFORGE END BLOCK --->

Šifriranje podatkov se danes uporablja za zaščito informacij, predvsem v sektorjih kot so bančništvo in elektronsko poslovanje. Uporabniki pri teh storitvah po navadi uporabljajo brskalnik. Podatki, ki se prenašajo preko http5 protokola, so nezaščiteni in so lahko vidni vsakomur, ki prisluškuje omrežju. Zato se pri delu preko brskalnika uporablja https protokol, ki temelji na šifrirani povezavi med uporabnikom in strežnikom. Določena podjetja imajo s pomočjo posebnega šifrirnega protokola kodirane vse podatke, ki se pretakajo po njihovi lokalni mreži in so tako imuna na morebitna prisluškovanja (angl. Network sniffing). Šifrirne metode se tudi uporabljajo za kodiranje podatkov na disku, kjer lahko kodiramo posamezne datoteke ali pa celoten diskovni pogon. Pred časom so brskalniki uporabljali 40 bitne ključe, ki jih je s sodobnimi računalniki in pomočjo grobe sile mogoče razbiti v tednu dni. Danes so večinoma v uporabi 128 bitni ključi. Moč ključa ne narašča linearno z večanjem bitov ključa, ampak eksponentno. Strokovnjaki menijo, da bi morale biti ob sedanjem napredku računalništva obstoječe kriptografske metode varne. Po njihovih besedah, bi trajalo razbijanje 128 bitnega ključa šest tisoč trilijonov let. 2.4.2 Požarni zid Osnovna naloga požarnega zidu je upravljanje prometa med različnimi računalniškimi omrežji, ki imajo različno stopnjo zaupanja. Požarni zid glede na določena pravila zavrne ali dovoli tok podatkov preko njega. 3 Bit je najmanjša enota informacije, navadno predstavljena s številkami dvojiškega sistema, ki lahko zavzame vrednost 1 ali 0. Številka 01011001 je dolga osem bitov, kar predstavlja en bajt. 4 Okrajšava ASCII pomeni American Standard Code for Information Interchange. Predstavlja način kodiranja Angleške abecede in nekaj posebnih znakov v digitalni bitni vzorec. 5 Http je protokol, ki se običajno uporablja za prenos spletnih strani.

12

S požarnim zidom lahko torej preprečimo dostop na določene storitve na informacijskem sistemu, ki tečejo za določenimi vrati. Poskrbeti moramo, da je naša programska oprema vedno posodobljena, katere storitev teče na tistih vratih, ki jih imamo odprta. Če je možno, je dobro kreirati bazo razponov IP številk, katerim dopuščamo dostop na določeno storitev. Podjetje lahko kupi strojni ali programski požarni zid. Strojni požarni zid je naprava, ki stoji med internetom in lokalno mrežo. Programski požarni, kot ime že pove, je program, ki teče na računalniku. Osebni požarni zidovi ne pomenijo znatnega stroška za podjetje. Uporabljajo se za zaščito posameznih računalnikov. Požarni zid, ki bo upravljal z več uporabniki na večjem računalniškem omrežju, pa lahko predstavlja večji strošek za podjetje (Tippit 2007). Še tako dober požarni zid pa ni dobra zaščita za računalniške viruse, trojanske konje in drugo vohunsko ali škodljivo programje. Ti se preprečujejo z drugimi varnostnimi mehanizmi. 2.4.3 Uporabniške skupine, vloge in pravice Vsak informacijski sistem ima lahko enega ali več uporabnikov. Praviloma imajo dostop do njega različni profili ljudi, z različno stopnjo zaupanja. Operacijski sistemi nam omogočajo, da lahko nastavimo pravice dostopanja posebej za vsako datoteko, imenik, aplikacijo in podobno. Temu varnostnemu modelu rečemo na vlogah temelječ nadzor dostopanja.6 Z pravilnim definiranjem uporabniških skupin, vlog in pravic lahko močno omejimo gibanje posameznih uporabnikov po datotečnem sistemu, preprečimo lahko nameščanje škodljive programske opreme ali programske opreme nasploh, lahko pa uporabnika zaklenemo samo v svoj domač direktorij oziroma imenik. Od pravilnih nastavitev uporabniških pravic je tudi odvisno, kakšno škodo na računalniku in računalniškem omrežju bo povzročil nek virus, trojanski konj ali drugo škodljivo programje, kajti če uporabnik nima pravic za pisanje v sistemske datoteke operacijskega sistema ter drugih pravic, ki so namenjene administriranju informacijskega sistema, škodljivo programje ne bo imelo možnosti okužbe sistema. Na Ekonomski fakulteti v Mariboru na podoben način varujejo računalnike pred škodljivim programjem in vdori z lokalnim dostopom. Študent po prijavi v računalnik s svojim uporabniškim računom7 ima močno omejene pravice, kaj lahko počne na računalniku samem. Onemogočeno je nameščanje nove programske opreme, spreminjanje nastavitev računalnika, dostop do sistemskih datotek in datotek drugih uporabnikov, zaganjanje ukazne vrstice8.

6 Role-Based Access Control 7 Uporabniški račun za prijavo v računalnike na Ekonomsko poslovni fakulteti v Mariboru je enak kot za prijavo v Akademski informacijski podsistem(AIPS). 8 Ukazna vrstica ali command line interpreter je način komuniciranja z operacijskim sistemom.

13

2.5 Standardi in regulativa na področju varnosti informacijskih sistemov V Sloveniji imamo na področju zakonodaje, ki se nanaša na informacijsko varnost, nekaj členov v Kazenskem zakoniku RS in zakonu o varstvu osebnih podatkov ZVOP-1. Predstavili bomo člene, ki se neposredno ali posredno nanašajo na vdore v informacijske sisteme ali nepooblaščeno spreminjanje podatkov. 2.5.1 Kazenski zakonik RS in informacijska varnost9 Členi iz Kazenskega zakonika RS: • Zloraba osebnih podatkov, 154. člen (1) Kdor v nasprotju z zakonom uporabi osebne podatke, ki se smejo voditi samo na podlagi zakona ali na podlagi osebne privolitve posameznika, na katerega se osebni podatki nanašajo, se kaznuje z denarno kaznijo ali z zaporom do enega leta. (2) Enako se kaznuje, kdor vdre v računalniško vodeno zbirko podatkov z namenom, da bi sebi ali komu drugemu pridobil kakšen osebni podatek. (3) Če stori dejanje iz prvega ali drugega odstavka tega člena uradna oseba z zlorabo uradnega položaja ali uradnih pravic, se kaznuje z zaporom do dveh let. S tem kaznivim dejanjem je zagotovljeno kazenskopravno varstvo osebnih podatkov ob njihovi zlorabi, ki temelji na določilu 38. člena Ustave Republike Slovenije. Kaznivo dejanje se lahko stori le z naklepom. Storilec kaznivega dejanja po prvem in drugem odstavku tega člena je lahko vsakdo, kaznivo dejanje po tretjem odstavku pa lahko stori le uradna oseba. Za kaznivo dejanje lahko odgovarja tudi pravna oseba. • Neupravičen vstop v informacijski sistem, 225. člen (1) Kdor neupravičeno vstopi v informacijski sistem ali kdor neupravičeno prestreže podatek ob nejavnem prenosu v ali iz informacijskega sistema, se kaznuje z denarno kaznijo. (2) Kdor podatke v informacijskem sistemu neupravičeno uporabi, spremeni, preslika, prenaša, uniči ali v informacijski sistem neupravičeno vnese kakšen podatek, ovira prenos podatkov ali delovanje informacijskega sistema, se kaznuje z zaporom do dveh let. (3) Poskus dejanja iz prejšnjega odstavka je kazniv. (4) Če je z dejanjem iz drugega odstavka tega člena povzročena velika škoda, se storilec kaznuje z zaporom od treh mesecev do petih let.

9 Povzeto po Akademska raziskovalna mreža Slovenija, 2007

14

2.5.2 Zakon ZVOP-1 in varstvo osebnih podatkov10 Zakon o varstvu osebnih podatkov (ZVOP), ki ga je 1. januarja leta 2005 nadomestil novi zakon ZVOP-1, načelno določa, da je varstvo osebnih podatkov namenjeno preprečevanju nezakonitih in neupravičenih posegov v informacijsko zasebnost posameznika na vseh relevantnih področjih. Določa tudi, da je na ozemlju Republike Slovenije vsakemu posamezniku, ne glede na državljanstvo in prebivališče, zagotovljeno varstvo osebnih podatkov. 1. oktobra 2006 je potekel skrajni rok, do katerega je informacijski pooblaščenec dal čas upravljavcem oz. kršiteljem zakona o varstvu osebnih podatkov, da izpolnijo vse obveznosti iz tega zakona. Od 1. oktobra 2006 inšpektorji informacijskega pooblaščenca izvajajo inšpekcijske preglede in morebitne kršitve sankcionirajo. Če ima podjetje ali samostojni podjetnik posameznik vsaj 50 zaposlenih ljudi ali spada v javni sektor (notarji, odvetniki, detektivi, izvršitelji, izvajalci zasebnega varovanja, zasebni zdravstveni delavci ali izvajalci zdravstvenih storitev) ter lahko vsaj na eno od spodaj sledečih trditev odgovori pritrdilno, krši zakonodajo iz področja varstva osebnih podatkov.

1. Zbira oziroma hrani osebne podatke (kot so ime, priimek, naslov, telefonska številka, elektronski naslov... od kupcev, naročnikov, zaposlenih, najemnikov... v elektronskih bazah podatkov, na pogodbah, na izdanih računih...), vendar zbirke osebnih podatkov ni prijavilo Državnemu nadzornemu organu za varstvo osebnih podatkov ali ni pridobilo ustrezne privolitve posameznika za njihovo obdelavo.

2. Zbira osebne podatke, vendar nima izdelanega pravilnika o zavarovanju osebnih

podatkov (internega akta o postopkih in ukrepih zavarovanja osebnih podatkov) ter nima določenih odgovornih oseb za posamezne zbirke osebnih podatkov.

3. Svoje zbirke osebnih podatkov prodaja ali odstopa drugim pravnim ali fizičnim

osebam, ki jih uporabljajo za neposredno trženje, vendar o tem ni obvestilo posameznika in dobili njegove pisne privolitve.

4. Razpošilja elektronsko pošto za namene neposrednega trženja, vendar nima

ustrezne privolitve posameznika.

5. Izvaja video nadzor, vendar nima zakonsko predpisanega obvestila s katerim se posamezniku omogoča, da se seznani z njegovim izvajanjem najkasneje, ko se nad njim začne izvajati video nadzor.

6. Izvaja video nadzor v uradnih, službenih, delovnih ali poslovnih prostorih, vendar o

izvajanju nima pisne odločitve odgovorne osebe ali s tem niso seznanjeni vsi zaposleni.

7. Izvaja biometrijske ukrepe, vendar nima odločbe Državnega nadzornega organa, ki

bi to dovoljevala.

10 Povzeto po Informacijskem pooblaščencu, 2007.

15

8. Povezuje zbirke osebnih podatkov, vendar nima odločbe Državnega nadzornega

organa, ki bi to dovoljevala. Za vsako izmed zgoraj naštetih situacij, ki se lahko pojavljajo pri poslovanju, so zagrožene globe Državnega nadzornega organa:

• od 4.170 do 12.510 EUR za pravno osebo ali samostojnega podjetnika posameznika,

• od 830 do 2.080 EUR za odgovorno osebo ter • od 200 do 830 EUR za posameznika, ki stori prekršek.

2.5.3 Standard ISO/IEC 27001 Ob vedno večji odvisnosti od informacijskih tehnologij, odprtosti organizacij in povečevanju pomena informacij v sodobnem poslovanju je, iz želje po ureditvi in poenotenju razmer v organizacijah na področju informacijske varnosti, nastal standard za vodenje varovanja informacij ISO/IEC 27001. Standard je poslovodno in od posameznih tehnoloških rešitev neodvisno orodje, ki ponuja celovit pregled varovanja informacij pri poslovanju organizacije. Ocena informacijskih tveganj je osnova za izgradnjo sistema vodenja varovanja informacij11 in njegova temeljna značilnost. Standard je celovit v smislu informacijske varnosti. To pomeni, da ne obravnava le informacijske tehnologije in informacij v elektronski obliki, temveč informacije v vseh možnih oblikah in medijih. V tem smislu je veliko opisanih kontrol povsem organizacijske narave in niso povezane s tehnologijo (npr.: klasifikacija informacij, politika prazne mize, fizično varovanje objektov ali opis varovanja informacij v pogodbah o zaposlitvi). Splošna zahteva standarda ISO/IEC 27001 je, da podjetje vzpostavi, vpelje, izvaja, spremlja, pregleduje, vzdržuje in izboljšuje dokumentiran sistem upravljanja varovanja informacij v okviru vseh poslovnih procesov podjetja in tveganj, ki ga ogrožajo. Standard je sestavljen iz štirih faz, te so:

• načrtuj, • izvedi, • preveri, • ukrepaj.

V fazi »Načrtuj« (točke standarda: 4.2.1 – 4.2.2) se vzpostavi okvir upravljanja varovanja informacij:

11Angleško Information Security Management System je ogrodje za izdelavo, implementacijo in vzdrževanje procesov informacijske varnosti, njihovo sistematizacijo in konsistentnost.

16

(določi se varnostna politika in obseg sistema, določi se sistematični pristop k ocenjevanju tveganj, tveganja se identificirajo, analizirajo in ovrednotijo, izberejo se kontrolni cilji in ukrepi za obravnavo tveganj (priloga A standarda), pridobi se odobritev vodstva za predlagana preostala tveganja, vpeljavo in delovaje sistema itd.) V fazi »Izvedi« (točka standarda: 4.2.2) je usmerjenost osredotočena na izvedbo načrtovanih postopkov in kontrol: (oblikovanje načrta za obravnavo tveganj, vpeljava in izvajanje načrta za obravnavo tveganj za doseganje zastavljenih ciljev (zagotavljanje finančnih in drugih virov), izvajanje ukrepov v skladu s kontrolnimi cilji, merjenje učinkovitosti izbranih ukrepov ali skupin ukrepov, izvajanje programov za usposabljanje in ozaveščanje zaposlenih, skrb za sredstva in delovanje sistema itd.) V fazi »Preveri« (točka standarda: 4.2.3) se izvaja analiza sposobnosti sistema za doseganje zastavljenih ciljev, analiza implementacije postopkov v praksi, poročanje o dobljenih rezultatih itd.: (izvajanje postopkov in pregledov, da se takoj odkrijejo napake v rezultatih obdelave informacij, prepoznajo uspeli in neuspeli varnostni incidenti itd., redno pregledovanje učinkovitosti sistema, merjenje učinkovitosti kontrol, pregledovanje stopnje dejanskega in sprejemljivega tveganja, glede na organizacijske, tehnološke in druge spremembe, izvajanje notranjih presoj sistema, izvajanje vodstvenega pregleda sistema itd.) V fazi »Ukrepaj« (točka standarda: 4.2.3) je predvidena uporaba korektivnih in preventivnih ukrepov, ki so osnovani na izidih analiz, ki so bile opravljene v tretji fazi »Preveri«: (uvajanje potrebnih izboljšav, sporočanje rezultatov/izboljšav in se o tem pogovarjati z vsemi udeleženimi strankami, zagotavljanje pogojev, da bodo izboljšave dosegale svoj namen) Nujno je, da se vse štiri omenjene faze redno izvajajo, da se zagotovijo stalne izboljšave sistema upravljanja varovanja informacij in s tem njegova zanesljivost.

17

3 ZNAČILNOSTI USPEŠNE VARNOSTNE POLITIKE 3.1 Obseg in značilnosti uspešne varnostne politike12 Informacijska varnost postaja za organizacije vedno bolj pomembna. Kljub temu dejstvu se dolžina in obseg varnostnih politik od podjetja do podjetja razlikujeta. To je odvisno od več dejavnikov, predvsem od velikosti podjetja, pomembnosti informacij, količine informacij ter od informacijskih sistemov, ki se uporabljajo. Varnostna politika bi morala izpolniti več ciljev, kot so:

• zaščititi informacije, • zagotoviti nemoteno delovanje informacijskih sistemov, • določiti pravila obnašanja za uporabnike, nadzornike računalnikov in vodstvo

podjetja, • pooblastiti varnostno osebje v organizaciji za nadzor in preiskovanje, • določiti sankcije za kršitev načel varnostne politike, • zmanjšati tveganje, • usklajevanje z zakonodajo na informacijsko varnostnem področju.

Zagotovilo za uspešnost varnostne politike je izdelava varnostnih dokumentov, ki ustrezajo njenim naslovnikom in so usklajeni s politiko podjetja. Varnostni dokumenti morajo biti izvedljivi, uporabni in realistični. Za dosego tega cilja moramo vključiti v proces izdelave varnostne politike ključne osebe podjetja, predvsem vodstvo podjetja in osebe, ki jih bo varnostna politika zadevala, to so tehnično osebje in končne uporabnike. Pomembno je, da naslovniki varnostne politike razumejo njeno koristnost in nujnost pri doseganju ciljev organizacije. S tem zmanjšamo možnost za razmišljanje naslovnikov o varnostni politiki kot oviri pri njihovem delu. Deset značilnosti uspešne varnostne politike13: 1. Varnostna politika zajema vso organizacijo

Uspešna varnostna politika bi morala zajeti vso organizacijo. Glede na organizacijsko strukturo bi morala zajeti vse oddelke podjetja ter vse ravni podjetja. 2. Odgovornost managementa

Vodstvo podjetja se zaveda odgovornosti za varnost informacijskih sistemov in njenega pomena za podjetje, odgovornosti do delničarjev podjetja, kupcev, dobaviteljev in drugih udeležencev v poslovanju podjetja. Vodstvo podjetja kaže ozaveščenost glede informacijske varnosti s podporo zadostnih finančnih sredstev, učinkovitim izvrševanjem varnostne politike in njenim letnim revidiranjem.

12 Povzeto po Canavan 2006 13 Povzeto po Westby 2007b

18

3. Varnostna politika kot poslovna zahteva

Na varnostno politiko se gleda kot na poslovno zahtevo, ki mora biti usklajena s politiko podjetja, strategijo in cilji podjetja. Varnostna politika podjetja se razume kot investicija podjetja in ne kot strošek ter kot taka služi kot poslovni spodbujevalec. 4. Temelječa za tveganju

Stopnja varnosti v podjetju mora temeljiti na dejstvu o tem, koliko tveganja bo organizacija tolerirala, vključno s tveganjem usklajenosti z zakonodajo, tveganjem tožb, prekinitvam delovnega procesa, tveganjem pred izgubo ugleda in finančnimi izgubami. 5. Določene vlog, odgovornosti in dolžnosti

Kvalificiranemu osebju v organizaciji so dodeljene nove vloge. Določijo se nova delovna mesta kot so varnostni inženir, varnostni upravljavec, za katere se določijo delovne naloge in odgovornost. 6. Jasno zasnovana politika

Varnostne zahteve so implementirane skozi jasno določene varnostne postopke, ki so podprti od zaposlenih, tehničnih rešitev, vključno z izobraževanjem kadra, nadziranjem in revizijo varnostne politike. 7. Dodeljeni ustrezni resursi

Ključno osebje v organizaciji z vodstvom podjetja razpolaga z ustreznimi resursi, avtoriteto in časom, za vzdrževanje in kontinuiranost izvrševanja varnostne politike. To zajema tudi izobraževanje o novih tehnologijah, sledenje novostim na področju ranljivosti informacijskih sistemov ter spremljanje novosti o novih varnostnih mehanizmih in principih. 8. Šolanje zaposlenih

Vsi zaposleni v podjetju, ki imajo opravka z informacijskimi sistemi in zaupnimi informacijami, razumejo svojo odgovornost v zagotavljanju informacijske varnosti celotnega podjetja. Izobraževanje o informacijski varnosti se izvaja redno, varnostne zahteve in odgovornosti so zapisane v navodilih o posameznih delovnih mestih. 9. Planirana, vodena, merljiva in merjena

Informacijska varnost je vključena v redno planiranje strateških in operativnih politik podjetja in ima dosegljive ter merljive cilje, ki so vpeti v strateške in operativne plane podjetja. Kontrola in revizija planov služi namenu prepoznavanja šibkih točk in pomanjkljivosti ter hkrati za merjenje napredka doseganja ciljev plana. 10. Redno pregledana in revidirana

Vodstvo podjetja redno pregleduje in nadzira izvajanje vseh področij varnostne politike. Prav tako skrbi, da varnostna politika zagotavlja in ohranja ustrezno mero varnosti v podjetju.

19

3.2 Naslovniki in struktura varnostne politike Varnostna politika je naslovljena na vse zaposlene v podjetju, ki jih lahko delimo v posamezne skupine. Vsaka skupina ima različne zahteve, zato se v praksi uporabljajo varnostne politike za tri večje skupine zaposlenih:

• vodstvo podjetja, • tehnično osebje, • končni uporabniki.

Politika, napisana v obliki dokumenta za vodstvo podjetja, se bo razlikovala od politike, napisane za tehnično osebje. Vodstvo podjetja večinoma ne zanimajo tehnične podrobnosti varnostnih rešitev in sistemov, ker je njihov namen predvsem na višjem nivoju upravljati z organizacijo, da doseže svoje cilje. Na sliki 1 vidimo model, ki predstavlja hierarhično strukturo varnostnih politik. Ta model je ogrodje, ki se lahko poljubno prilagodi tako, da ustreza zahtevam posamezne organizacije. Hierarhična struktura varnostnih politik, razvidna iz slike 1, predstavlja že dodelano varnostno politiko v nekem večjem podjetju. Pogosto je potrebno več let, da politika dozori in se razvije do te stopnje. Manjša podjetja lahko prav tako uporabijo zgoraj opisano ogrodje pri razvoju svoje varnostne politike, vendar bodo v začetku imela manjše število tehničnih politik in predvidoma nič dokumentov z opredeljenimi delovnimi pravili in procedurami. Razviti veliko hierarhično strukturo povezanih dokumentov varnostne politike naenkrat je skoraj nemogoče, zato je priporočljivo za manjša podjetja, da določijo prvo temeljno politiko, kasneje pa postopoma dodajajo tehnične politike ter operativne politike delovnih pravil in procedur (Canavan 2006, 6).

20

Slika 1: Hierarhija varnostnih politik

Vir: Canavan 2006 3.3 Tipi varnostnih politik14 V praksi se večinoma uporabljajo trije tipi varnostnih politik, to so:

• temeljna, • tehnična, • operativna (delovna navodila in procedure).

3.3.1 Temeljna varnostna politika Temeljna varnostna politika zajema temelje varnostne problematike, le-te obravnava na višjem nivoju. V njej so zapisana temeljna varnostna stališča organizacije in razlogi zakaj so pomembna. Z drugimi politikami mora biti usklajena in po pomembnosti postavljena na enak nivo. Namenjena je vodstvu podjetja in končnim uporabnikom, predvsem za poglobitev razumevanja odnosa organizacije do varnostne problematike ter razumevanju prispevka 14 Povzeto po Canavan 2006

Temeljna politika varnosti

informacijskih sistemov

Tehnična politika

Tehnična politika

Tehnična politika

Tehnična politika

Tehnična politika

Delovna

navodila / procedure

Delovna

navodila / procedure

Delovna

navodila / procedure

21

posameznih oddelkov in delovnih enot k skupnim ciljem varnostne politike in ciljev podjetja nasploh. Zaposleni morajo razumeti, da varnostna politika ni ovira pri njihovem delovnem procesu in kot taka ne zmanjšuje njihove storilnosti in produktivnosti, ampak da omogoča normalno poslovanje podjetja z zmanjševanjem rizika za nastanek varnostnih incidentov, kot so izguba produktivnosti zaradi izpada informacijskih sistemov in podobno. Področja, ki se najpogosteje obravnavajo pri sestavi te politike so:

• upravljanje z uporabniškimi računi, • politika uporabe interneta, • avtorizacija in avtentikacija uporabnikov, • protivirusna politika, • varnost operacijskih sistemov, • kriptografija, • politika posodabljanja programja, • politika varnosti strojne in programske opreme, • oddaljen dostop, • politika brezžičnih komunikacij, • politika hranjenja dokumentov, • politika varnostnih kopij.

Iz temeljne varnostne politike izhajajo tehnične varnostne politike, ki podrobneje opišejo varnostna področja v podjetju, kot so informacijski sistemi in tehnologije. 3.3.2 Tehnična varnostna politika Tehnična varnostna politika je namenjena tehničnemu osebju neke organizacije, ki bo izvedlo varnostne zahteve za posamezen sistem ali tehnologijo. Obravnava podrobneje varnostna področja zastavljena v temeljni varnostni politiki. Daje odgovor na vprašanje, kaj je potrebno narediti, da zavarujemo nek sistem in ne kako, slednje je predmet operacijske varnostne politike. Vzemimo za primer varnostno področje oddaljen dostop, ki je zastavljeno v temeljni varnostni politiki. V tehnični varnostni politiki ga bomo obravnavali bolj podrobno in poskušali odgovoriti na področja kot:

- politika dodeljevanja oddaljenega dostopa zaposlenim, - kako se bodo nastavila pravila požarnega zidu glede prepustnosti za storitev

oddaljenega dostopa (določitev fiksnih IP številk), - se bo pri oddaljenem dostopu uporabljalo šifrirano povezavo(VPN15), - kakšne pravice bo imel oddaljen uporabnik, - kako se bodo beležile mogoče zlorabe oddaljenega dostopa.

15 VPN predstavlja angleško kratico, ki pomeni Virtual Private Network ali slovensko navidezno zasebno omrežje. Gre za telekomunikacijsko storitev, ki zagotavlja naročniku zasebno omrežje, realizirano z viri javnega omrežja.

22

Številčnost posameznih dokumentov tehnične varnostne politike je odvisno predvsem od tehnologij, informacijskih sistemov in programskih rešitev, ki jih podjetje uporablja. 3.3.3 Operacijska varnostna politika Operacijska varnostna politika daje natančna navodila (korak po korak), kako izvesti tehnično politiko za posamezno področje. Sestavljena je iz delovnih navodil in procedur. Na primer vodič, kako zaščititi operacijski sistem microsoft windows je dokument, ki je del operacijske varnostne politike podjetja, in vsebuje podrobna navodila za praktično izvedbo. Vsako področje obravnavano v tehnični varnostni politiki ne rabi imeti pripadajočih dokumentov operativne politike. Delovna navodila in procedure izdela podjetje, kjer je potrebno in to v čim krajši in razumljivi obliki. Skupina, ki je oblikovala predhodni dve politiki v praksi, ne oblikuje tudi operativne politike. Sestavijo jo večinoma zaposleni, ki imajo neposreden stik s tehnologijami v podjetju, saj imajo običajno ti najboljše znanje na tem področju. 3.4 Ogrodje varnostih dokumentov16 • Uvod

Tukaj se opredeli ime varnostne politike in njen položaj v hierarhiji varnostnih dokumentov. • Namen

Navedejo se glavni cilji in namen dokumenta. Če ima dokument zakonsko podlago, se tukaj navedejo tudi pravne podlage. • Obseg

Navede se, na katero tehnologijo oziroma sistem se varnostni dokument nanaša. Prav tako se navedejo naslovniki varnostnega dokumenta. • Vloge in odgovornosti

Opredeli se struktura, preko katere do delegirane odgovornosti za implementacijo varnostne politike. Določijo se delovna mesta in naloge. • Kršitve in sankcije

Določi se tolerančna stopnja za kršitve varnostne politike. Torej kdaj lahko neko dejanje označimo za kršitev. Pri tej točki opredelimo tudi, kako se bodo kršitve poročale, komu ter kakšni ukrepi se bodo izvedli v primeru kršitev. 16 Povzeto po Canavan 2006

23

• Terminski načrt revizij

Določi se, kdo je odgovoren za popravljanje, spreminjanje in dopolnjevanje varnostne politike podjetja ter kako pogosto se naj slednje akcije izvajajo. Opredelimo tudi, kje se bodo spremembe objavile in kako lahko zaposleni dostopajo do omenjenih podatkov. • Kontakt

Določi se kontaktna oseba, s katero se lahko kontaktira v zadevah glede varnostne politike. • Definicije in slovar

Sestavimo slovar strokovnih in težje razumljivih besed. Potreba po tem bo odvisna od naslovnikov določenega varnostnega dokumenta.

24

4 IZDELAVA IN AKTIVNOSTI USPEŠNE VARNOSTNE POLITIKE 4.1 Splošno o izdelavi varnostne politike Pomembno je, da podjetja v začetku ne ciljajo previsoko in poskušajo zasnovati obsežno in kompleksno varnostno politiko. Takšen pristop predvidoma ne bo uspešen zaradi več razlogov vključno z neustrezno podporo vodstva podjetja. Obstaja več povodov za uvedbo varnostne politike od pritiskov s strani zakonodaje do navdušenih računalniških administratorjev, ki so se vrnili iz zadnjega seminarja za informacijsko varnost. Sestava varnostne politike samo po top-down metodi, ki temelji na uporabi zakonodaje in dobrih praks, bo rezultirala v nerealni, umetni varnostni politiki, ki se ne bo dobro obnesla v praksi. Podobne rezultate dobimo prav tako z uporabo bottom-up metode, ki temelji na znanju tehničnih zaposlenih v podjetju. Takšna varnostna politika bo preveč specifična in posledično neuporabna. Proces izdelave uspešne varnostne politike mora zajemati oba pristopa, tako top-down kot bottom-up. Takšen uravnotežen pristop k izdelavi varnostne politike je primeren tako za manjša kot za večja podjetja. 4.2 Skupine, ki sodelujejo pri izdelavi varnostne politike Pomembno je, da določimo koga bo vključeval proces izdelave varnostne politike. Idealno je, da ista skupina, ki sestavi varnostno politiko, sodeluje tudi pri njeni implementaciji, to je načeloma informacijski oddelek podjetja. Skupina za izdelavo varnostne politike se bo spreminjala v odvisnosti od dokumenta, ki se bo sestavljal. Naslednji seznam predstavlja zaposlene, ki lahko sestavljajo ekipo za izdelavo varnostne politike. 4.2.1 Primarne skupine

• Informacijski oddelek

Tej skupini se večinoma dodeli odgovornost pri sestavi dokumentov varnostne politike. Načeloma se dodeli eni osebi glavna odgovornost, ostalim pa podporna vloga. Informacijski oddelek bo vodil in nadziral izdelavo vsakega varnostnega dokumenta posamično, prav tako bo ta ekipa na razpolago za vsa vprašanja v zvezi z varnostno politiko podjetja.

• Tehnično osebje

Del tehničnega osebja nekega podjetja so lahko ljudje, ki bodo pisali varnostne dokumente. Če podjetje ima takšno osebje, so ti lahko v veliko pomoč pri pisanju dokumentov,

25

planiranju projekta izdelave varnostne politike in končnemu preverjanju pravilnosti izdelave varnostnih dokumentov. 4.2.2 Sekundarne skupine

• Pravniki

Pravniki bi naj pregledali varnostne dokumente, ko so ti dokončno sestavljeni. Podali bodo lahko mnenje o skladnosti dokumentov z zakonodajo. Pravniki prav tako sodelujejo pri izdelavi varnostne politike, tako da predčasno seznanijo skupino z glavno odgovornostjo pri izdelavi varnostne politike o morebitnih obstoječih in bodočih pravnih smernicah iz varnostnega področja, ki jih podjetja morajo upoštevati v svojem delovanju. Primer zakon o varstvu osebnih podatkov ZVOP-1.

• Nadzorstvena skupina

Notranja nadzorstvena skupina bo spremljala in nadzirala izvrševanje varnostne politike in njeno upoštevanje od zaposlenih, ko bo le ta sprejeta od vodstva podjetja in veljavna.

• Kadrovski oddelek

Kadrovski oddelek običajno pregleda skladnost dokumentov varnostne politike z že obstoječimi politikami podjetja. Če se na primer dokumenti varnostne politike dotikajo uporabe elektronske pošte v podjetju, se preveri, da tudi dokumenti drugih politik navajajo enaka pravila, kot varnostni dokumenti.

• Ostali zaposleni

V fazi revizije varnostne politike je koristno posvetovanje z naslovniki varnostne politike za določitev uspešnosti obstoječe varnostne politike in njenih potrebnih sprememb z namenom narediti obstoječo varnostno politiko bolj prijazno in uporabno za naslovnike. 4.3 Življenjski cikel izdelave varnostne politike 4.3.1 Podpora vodstva in izdelava varnostne politike Ko smo določili, kdo bo vključen v proces izdelave varnostne politike, lahko začnemo sam proces izdelave varnostne politike. Sestava skupka varnostnih dokumentov bo potrebovala podporo skupine za izdelavo varnostne politike in ostalih sekundarnih skupin, predvsem pa podporo vodstva podjetja. Vodstvo podjetja se mora zavedati pomembnosti tega projekta kot njegove razsežnosti, da kasneje ne bo prihajalo do varčevanja oziroma s potrebnimi resursi oziroma oviranja njihove alokacije za uspešno izvedbo projekta.

26

4.3.2 Določitev prehodnega obdobja V začetku projekta implementacije varnostne politike se določi skupaj z nadzorstveno ekipo prehodno obdobje (angl. grace period). Prehodno obdobje je čas, ki ga imajo naslovniki varnostne politike na razpolago, da pregledajo in implementirajo zahteve varnostnih dokumentov. Ta čas se lahko giblje od nekaj mesecev do enega leta. Po preteku prehodnega obdobja se kršitve varnostnih dokumentov obravnava s sankcijami, določenimi v posameznem dokumentu. 4.3.3 Določitev potrebnih resursov Pri tem koraku se preveri kdo konkretno iz primarnih in sekundarnih skupin za sestavo varnostne politike je odgovoren za vsebino in potrditev varnostnih dokumentov. Vsem članom, ki sodelujejo pri izdelavi in implementaciji varnostne politike se da približa ocena časa, ki ga bodo porabili za projekt. 4.3.4 Pregled obstoječe varnostne politike Če podjetje že ima obstoječo varnostno politiko ali je le-ta izražena skozi posamezne postopke oziroma tehnične dokumente, se določi, v kolikšni meri se lahko uporabijo kot del novih varnostnih dokumentov. 4.3.5 Določitev gradiva Za sestavo posameznih varnostnih dokumentov bo poleg znanja, ki ga ima tehnično osebje in drugi zaposleni v podjetju, potrebno pridobiti informacije iz drugih virov. To posebej velja za nove tehnologije, kot so pametne naprave, brezžična omrežja, novi operacijski sistemi in podobno. Varnostne informacije lahko dobimo preko interneta17, belih knjig, revij. 4.3.6 Sestava osnutka varnostne politike Pravilna globina varnostne politike odloča o njeni uporabnosti. Preveč toga varnostna politika bo težje izvedljiva, medtem ko šibka lahko nudi nezadostno zaščito informacijskih sistemov.

17 Primeri spletnih strani z informacijsko varnostnimi vsebinami: http://www.securityfocus.com (Največja interneta stran z informacijami z informacijsko varnostnega področja) , http://www.owasp.org (Skupnost za razvijalce varnih programskih rešitev), http://www.securitycatalyst.org (Skupnost strokovnjakov iz informacijsko varnostnega področja, ki izmenjujejo svoje izkušnje in znanje preko forumov)

27

Če podjetje ima obstoječ stil za pisanje tehničnih dokumentov in druge dokumentacije, se le ta uporabi za pisanje dokumentov varnostne politike, s čimer dosežemo konsistenco dokumentacije, uraden videz ter njihovo lažje dopolnjevanje in revidiranje. Če podjetje nima obstoječega stila za pisanje dokumentov, ga lahko določimo oziroma razvijemo. Pri pisanju dokumentov se uporablja konkreten, preprost in jasen jezik, saj želimo naslovnikom dokumentov omogočiti hitro in enostavno razumevanje določene problematike. Za sestavljanje osnutka se bo sodelovalo z ljudmi iz primarnih in sekundarnih skupin za izdelavo varnostne politike. V kolikor imajo strokovno podkovani posamezniki sami dovolj znanja o nekem področju, lahko samostojno sestavijo določen dokument varnostne politike. Večinoma pa odgovorna oseba iz informacijskega oddelka pripravi osnutke dokumentov s poglavji in vprašanji ter s tem pristopi zaposlenim, ki se jih vključi v proces izdelave varnostne politike. Komunikacija s primarnimi in sekundarnimi skupinami poteka po metodi intervjuja. Pripravi se primeren prostor za sestanek, osnutke in vprašanja. Seznani se izpraševance z cilji intervjuja, da se lahko predhodno pripravijo. Vodja intervjuja postavlja izpraševancem vprašanja in si zapisuje njihove misli. Globina in podrobnosti sta odvisni od varnostnega dokumenta. 4.3.7 Pregled osnutka varnostne politike Glavna odgovorna oseba skupine za izdelavo varnostne politike pregleda osnutke varnostnih dokumentov z ostalimi člani njegove skupine. Ta proces pregleda osnutka se tolikokrat ponovi, da dobimo končne različice dokumentov. Ob nejasnostih se kontaktira z osebami, ki so sodelovale pri izdelavi varnostne politike. Običajno se v tej fazi seznani vse naslovnike varnostnih dokumentov, ki bi lahko z nasveti pripomogli sestaviti čim bolj izvedljivo varnostno politiko. 4.3.8 Razpoznava vrzeli v izvrševanju varnostne politike Pred končno objavo in uveljavitvijo varnostne politike se naredi analiza dejanskega in želenega stanja. Preveri se, katere navedbe varnostnih zahtev se ne izvajajo. Potrebno je ugotoviti takšne vrzeli, predvsem katere skupine in naslovniki jih ne izpolnjujejo. Seznani se naslovnike z dejstvom, da bo varnostna politika imela vpliv na njihovo prihodnjo delovno prakso. Naslovniki morajo vedeti, kje so dokumenti varnostne politike dostopni, prav tako se jim pomaga pri razumevanju zahtev varnostne politike. Seznani se jih z prehodnim obdobjem in njegovim iztekom. Seznam vrzeli hranimo, saj bomo ob rednem revidiranju preverjali uspešnost njihove sanacije.

28

4.3.9 Razvoj strategijo komuniciranja Čeprav bodo dokumenti varnostne politike vedno dostopni zaposlenim, bodo le-ti morali biti seznanjeni z novimi varnostnimi dokumenti ali posodobitvami obstoječih dokumentov. Z naraščanjem pomena informacijske varnosti v podjetjih se v praksi vse pogosteje izvaja vključevanje zahtev varnostne politike v pogodbe o zaposlitvah. Tako se zagotovi, da so zahteve varnostne politike na učinkovit način posredovane njenim naslovnikom in da bodo tudi upoštevane. Naslednji učinkovit način komuniciranja varnostnih zahtev naslovnikom je uvedba obveznih seminarjev oziroma tečajev, ki jih sponzorira podjetje za svoje zaposlene. 4.3.10 Objava varnostne politike Dokumenti varnostne politike morajo biti objavljeni tako, da lahko vsi zaposleni dostopajo do njih. Podjetja običajno objavijo dokumente na svojem lokalnem intranetu. Dokumenti morajo biti lahko dostopni, prirejeni za njihov prenos in tiskanje. 4.3.11 Zagon strategije komuniciranja Učinkovita strategija komuniciranja bo zagotovila, da so vsi naslovniki varnostne politike seznanjeni z varnostnimi zahtevami podjetja. Obveščanje preko elektronske pošte je verjetno najboljši način seznanitve zaposlenih o spremembah v zvezi z varnostno politiko. Če ima podjetje že vpeljan izobraževalni program, je modro vključiti vanj osveščanje glede varnostne politike. Izkušnje varnostnih inženirjev kažejo, da zaposleni morajo razumeti vrednost varnostne politike za podjetje in njegovo poslovanje, saj tako lažje upoštevajo njene zahteve. Zaposleni lahko ugovarjajo zahtevam varnostne politike, na primer: »vedno smo tako delali, zakaj moramo spreminjati obstoječe delovne navade« ali »ni pomembno ali izgubimo podatke o strankah, saj imamo narejene varnostne kopije«. Cilj izobraževanja in seznanjanja zaposlenih glede informacijske varnosti je doseči razumevanje zaposlenih o spremembah okolja, v katerem podjetje posluje, da se informacije več ne varujejo kot take, ampak da obstaja zakonodaja, ki zahteva od podjetij, da varujejo osebne in druge podatke ter označuje njihovo pomanjkljivo varovanje in posledično krajo kot kaznivo dejanje. Potrebno je prav tako seznaniti naslovnike varnostnih politik, da lahko manjša ranljivost v varnostni podjetja pomeni izgubo ugleda, tržnega deleža, povzroči dodatne stroške, kar ima lahko za posledico tudi zmanjšanje števila delovnih mest. Ko zaposleni to razumejo, je veliko bolj verjetno, da bodo sami poskrbeli za varnost kot prva linija zaščite. 4.3.12 Redno posodabljanje in revidiranje Vsak dokument varnostne politike bi naj bil redno posodobljen, minimalno enkrat letno, kar zagotavlja dobro ravnotežje, da varnostna politika ne zastara zaradi sprememb in

29

napredka v razvoju tehnologij. Če pride do nenadne spremembe v tehnologijah, ki zadevajo podjetje, lahko izvajamo tudi vmesna posodabljanja. Proces posodabljanja varnostne politike je podoben procesu njegove izdelave, vendar krajši. Faza sestave osnutka varnostne politike zajema manj sestankov, lahko se tudi opravi preko elektronske pošte. Primarne in sekundarne skupine lahko skupaj pregledajo osnutke varnostnih dokumentov ob istem času. Dobro se je pogovoriti z naslovniki varnostne politike, saj so ti neposredno izvajali varnostne zahteve in lahko posredujejo pomembne informacije o njeni izvedljivosti ter o morebitnih spremembah, ki bi naredile varnostno politiko še bolj funkcionalno. Pri rednem pregledu varnostne politike bi naj bili pozorni na odstopanja od varnostnih zahtev in preučili, zakaj je prišlo do njih. Včasih je potrebno spremeniti zahteve varnostne politike, ker so bile zastavljene togo, vendar je potrebno paziti, da ne pride do takšnih sprememb, ki lahko ogrozijo informacijsko varnost podjetja.

30

5 VARNO PROGRAMIRANJE 5.1 Splošno o varnem programiranju Varno programiranje je prvi mehanizem obrambe pri izdelavi aplikacij. Mnogo problemov glede varnosti aplikacij bi bilo rešenih, če bi razvijalci varnosti posvetili v začetku razvojnega procesa zadostno pozornost. Nemogoče je predvideti vsako ranljivost aplikacije v njenem razvoju, vendar kljub temu obstaja dobra praksa pri varnem programiranju. Potrebno je razumevanje najpogostejših napak pri programiranju in splošnih principov varnega programiranja. Ob upoštevanju načel varnega programiranja se lahko ranljivosti aplikacije močno zmanjšajo. Principi varnega programiranja:

• preverjanje uporabniškega vnosa, • princip nezaupanja, • načelo zadnjega privilegija, • varno programiranje metod in zaščita klicev metod, • zaščita podatkov stanja (state data).

Pogoste napake pri programiranju, ki povzročajo ranljivosti v aplikacijah:

• površno določene datotečne in skupinske pravice, • razlitje sklada, • race conditions, • prekomerno kompleksna in nepregledna koda, • trdo kodiranje gesel, • nevarni sistemski klici.

5.2 Preverjanje vnosa podatkov Pogosto se napake v delovanju računalniških programov pojavljajo zaradi vnosa uporabnikov, ki so namesto predvidljivih vnesli nepredvidljive podatke v program. Posledice omenjenega se kažejo kot nedelovanje dela programa, zamrznitev programa, prenehanje izvajanja programa, pojav nekonsistentnosti v podatkovni bazi, lahko pa tudi to pomeni vdor v računalniški sistem (sql injection18). Preverjanje vnosa je sistem, kjer preverimo vnos podatkov, ga analiziramo ter sprožimo opozorila, če vnos ne ustreza pričakovanim podatkom. 18 SQL Injection, vrsta napada na informacijski sistem, kjer napadalec namesto pričakovanega niza podatkov v vnosno polje vnese posebno oblikovano SQL kodo, ki izvrši določene akcije na informacijskem sistemu. Primer: Pri prijavi na izpite v sistem AIPS študentje vnesejo v prijavni obrazec številko indeksa in geslo. Napadalec, ki izvede napad z Injeciranjem SQL kode, bi na primer namesto številke indeksa vnesel SQL kodo, ki vsebuje poizvedbo vseh študentov, njihovih naslovov, telefonskih številk in gesel za prijavo v sistem AIPS. V letu 2006 je bilo v Sloveniji zaradi površno zasnovanih spletnih aplikacij mnogo vdorov tipa SQL Injection.

31

Za primer vzemimo vnosno polje za številko indeksa v sistemu AIPS. Pričakovan vnos je osem mestna številka indeksa. Preverjali bi lahko, ali je uporabnik vnesel poleg številk še črke, ali je vnesel preveč oziroma premalo številk, ali je vnesel kakšne druge posebne znake kot so (@, +, -, ! itd). Za vsak od teh primerov bi javili sporočilo uporabniku. V programskem jeziku ASP.NET imamo na voljo več gradnikov za preverjanje uporabniškega vnosa:

• The RequiredFieldValidation Control - se uporablja za preverjanje vnosa v neko polje,

• The CompareValidator Control - se uporablja za primerjanje nizov, • The RangeValidator Control - se uporablja za preverjanje če je podatek v želenih

mejah, • The RegularExpressionValidator Control - z njim preverjamo ali določen niz

ustreza vnaprej predvidenemu vzorcu (recimo za preverjanje ali je uporabnik vnesel pravilni elektronski naslov oblike niz@domena),

• The CustomValidator Control - lahko napišemo svoje funkcije, ki jih kličemo ob preverjanju določenega vnosnega objekta.

Primer:

Validiranje objekta »textbox1«, ki predstavlja vnosno polje za elektronski naslov na spletni strani. Z prireditvijo regularnega izraza (^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$) spremenljivki ValidationExpression poiščemo ali vnesen niz ustreza veljavnemu elektronskemu naslovu. V kolikor ne ustreza, izpišemo ustrezno sporočilo uporabniku (Microsoft 2008b).

E-mail: <asp:textbox id="textbox1" runat="server"/> <asp:RegularExpressionValidator id="valRegEx" runat="server" ControlToValidate="textbox1"

ValidationExpression="^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$"

ErrorMessage="* Vnesli ste nepravilni elektronski naslov." display="dynamic">* </asp:RegularExpressionValidator> 5.3 Načelo zadnjega privilegija Princip zadnjega privilegija ali princip minimalnega privilegija narekuje, da bi morali vsakemu programu, razredu, metodi, modulu biti dodeljeni najmanjši možni privilegiji. Z drugimi besedami razloženo, vsaka komponenta nekega programa bi morala imeti dostop samo do tistih resursov, ki jih nujno potrebuje za svoje normalno delovanje (Wikipedia 2008e). Tipična arhitektura sodobnega računalnika je sestavljena iz več abstrakcijskih plasti. Splošno načelo zadnjega privilegija pravi, da v vsaki od abstrakcijskih plasti naj določen

32

modul dostopa le do tistih resursov in informacij v tistih abstrakcijskih plasteh, ki jih potrebuje za svoje delovanje. Zgoraj opisano načelo je v praksi v celoti težko uporabiti. Nemogoče je predvideti vse razrede, njihove člane, pomnilniške naslove, katere bo določen modul uporabljal. Dovolj je, da grobo presodimo, do katerih stvari lahko dostopa nek modul in do katerih nima pravic. S tem bomo z zadostno mero zadovoljili uporabi načela. Slika 2: Arhitektura sodobnega računalnika

Vir: Wikipedia 2008d Abstrakcijske plasti so razvrščene po hierarhiji in sicer na najnižjem nivoju je strojna oprema, potem je strojna programska oprema, asembler, jedro (kernel), na vrhu pa operacijski sistem in aplikacije. 5.4 Varno objektno programiranje Določene metode niso primerne, da bi klicale kodo, ki ni zaupanja vredna. Takšne metode večinoma delajo z zaupnimi informacijami, ne preverjajo vnosa pravilnosti vhodnih parametrov, ob posredovanju napačnih parametrov pa lahko naredijo nekaj nevarnega. Takšne metode je potrebno prepoznati v objektnem modelu in jih primerno popraviti. 5.4.1 Zaklepanje razredov in njihovih članov Pri načrtovanju objektnega modela je pomembno, da razrede, katere ne bomo dedovali, zaklenemo, običajno s keywordom final ali da njihove memberje oziroma člane deklariramo kot privatne. Javne metode in druge člane razreda lahko napadalec povozi (naredi override) in vnese svojo zlonamerno kodo namesto običajne kode. Javni naj bodo samo tisti razredi in njihovi člani, ki so potrebni za normalno delovanje programa.

33

5.4.2 Doseg javanskih paketov V programskem jeziku Java, na primer razredi, metode in spremenljivke, ki niso eksplicitno označene kot public, private ali protected, so dostopne znotraj enega javanskega paketa. Napadalec bi lahko znotraj paketa naredil nov razred, ki bi podedoval drug razred, ki operira z zaupnimi informacijami. Tako bi lahko po načelu dedovanja dostopal do vseh funkcionalnosti in podatkov podedovanega razreda (Java World 2008). 5.4.3 Kloniranje objektov Mehanizem za kloniranje objektov lahko napadalec zlorabi tako, da naredi nove instance razredov, ki smo jih definirali brez da bi izvršil njihove konstruktorje. Tudi če nekega razreda ni možno klonirati, lahko napadalec naredi nov podrazred, ki podeduje nad razred in implementira v podrazredu vmesnik (interface) java.lang.cloneable. S tem lahko naredi nove instance originalnega razreda. Klonirane instance so kopija spominske slike kopiranih objektov. Kloniranje objektov lahko preprečimo tako, da implementiramo metodo Clone(). Upravljanje z objekti v javi se izvaja preko referenčnih spremenljivk, zato ni nobene direktne poti za kopiranje nekega objekta. Če bi hoteli direktno kopirati neko spremenljivko z željo, da bi podvojili nek objekt, bi se naredila podvojena kopija referenčne spremenljivke in ne objekta. Metoda Clone() obstaja v osnovnem razredu z imenom Object in je namenjena dupliciranju objektov. Vsi objekti v Javi implicitno podedujejo oziroma so izpeljani iz razreda z imenom Object, zato tudi podedujejo metodo Clone(). Privzeto obnašanje metode Clone() naredi kopijo objekta tipa shallow. Kloniranje objektov z načinom shallow pomeni, da naredimo kopijo objekta, vendar ne naredimo kopij objektov, ki jih referencira kopirani objekt. Če želimo imeti lastno določeno podvojevanje objektov, npr. podvojitev tipa deep, moramo impelemtirati interface Cloneable in povoziti metodo Clone(). Da preprečimo možnost kloniranja objektov v Javi, metodo Clone() definiramo kot final in implementiramo, da vrne izjemo java.lang.CloneNotSupportedException(). Koda 1: Preprečevanje kloniranja objetov v javi z implementacijo metode Clone() public final void clone() throws java.lang.CloneNotSupportedException { throw new java.lang.CloneNotSupportedException(); } Vir: Java World 2008

34

5.4.4 Serializacija objektov Serializacija je postopek, s katerim shranimo notranje stanje objektov. S serializacijo se posname tudi stanja objektov, ki jih refeneciramo. Napadalec lahko serializira nek objekt in ga posname kot niz bajtov. Tak niz bajtov lahko kasneje preuči in tako dobi podatke o stanju polj v objektu, ki lahko vsebujejo zaupne podatke. Serializacijo preprečimo tako, da implementiramo metodo writeObject(), ki bo vrnila izjemo java.io.IOException (Sun 2008). Koda 2: Preprečevanje serializacije objektov z implementacijo metode writeObject() private final void writeObject(ObjectOutputStream out) throws java.io.IOException { throw new java.io.IOException("Objekta ni mogoče serializirati"); } Vir: Java World 2008 5.5 Avtentikacija Avtentikacija je ena izmed najpomembnejših varnostnih mehanizmov distribuiranih aplikacij. Ob nepravilni avtentikaciji lahko uporabnik prosto dostopa do zaupnih informacij. Večina spletnih aplikacij uporablja avtentikacijo za identifikacijo uporabnikov po uspešni avtorizaciji, torej takrat, ko so že uspešno prijavljeni v nek sistem. Namesto, da bi v neki seji zahtevali vedno znova uporabniško ime in geslo, se uporabljajo avtentikatorji, ki so kot unikatne vstopnice za identifikacijo posameznih uporabnikov. Avtentikacija je proces, s katerim preverimo identiteto neke osebe. Običajno to zajema posredovanje uporabniškega imena in gesla. Avtentikacijo lahko izvedemo tudi na druge načine, na primer uporaba pametnih kartic, posnetek prstnega odtisa. Ko je avtentikacija uspešna, posreduje dovoljena za uporabo predvidenih resursov identificirani osebi (Wikipedia 2008f).

5.5.1 Avtentikacija in spletne aplikacije .NET V ASP.NET-u je za avtentikacijo uporabnikov na voljo razred FormsAuthentiactionModule. Na spletni strani, ki bo namenjena avtentikaciji, se nahaja programska koda, ki bo preverila vhodne podatke. Kadar uporabniki hočejo dostopati do zaščitenih spletnih strani, jih preusmerimo na začetno spletno stran, ki je namenjena avtentikaciji. Uporabniške podatke, torej njihova imena in gesla, lahko hranimo v podatkovni bazi ali v privzeti credentials datoteki tipa XML web.config.

35

Koda 3: Primer datoteke web.config <configuration> <system.web> <authentication mode="Forms"> <forms name="401kApp" loginUrl="/login.aspx"> <credentials passwordFormat = "SHA1"> <user name="UserName1" password="SHA1EncryptedPassword1" /> <user name="UserName2" password="SHA1EncryptedPassword2" /> <user name="UserName3" password="SHA1EncryptedPassword3" /> </credentials> </forms> </authentication> </system.web> </configuration> Vir: Microsoft 2008a Spodaj je naveden primer spletne strani, ki uporablja tehnologijo ASP.NET, namenjene avtentikaciji uporabnikov. Metoda Login_OnClick preveri veljavnost uporabniškega imena in gesla. Metoda se pokliče ob kliku na gumb »Login«. Ob vnosu veljavnega uporabniškega računa program preusmeri uporabnika na privzeto zaščiteno spletno stran (Microsoft 2008a). Koda 4: Primer spletne strani ASP.NET namenjene za avtentikacijo uporabnikov <%@ Page Language="C#" %> <%@ Import Namespace="System.Web.Security" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <script runat="server"> public void Login_OnClick(object sender, EventArgs args) { if (FormsAuthentication.Authenticate(UsernameTextbox.Text, PasswordTextbox.Text)) FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text, NotPublicCheckBox.Checked); else Msg.Text = "Prijava ni uspešna! Prosim preverite vaše uporabniško ime in geslo"; } </script> <html > <head> <title>Login</title> </head> <body> <form id="form1" runat="server"> <h3>Login</h3> <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br /> Username: <asp:Textbox id="UsernameTextbox" runat="server" /><br /> Password: <asp:Textbox id="PasswordTextbox" runat="server" TextMode="Password" /><br />

36

<asp:Button id="LoginButton" Text="Login" OnClick="Login_OnClick" runat="server" /> <asp:CheckBox id="NotPublicCheckBox" runat="server" /> Odkljukaj če to <span style="text-decoration:underline">ni</span> javni računalnik. </form> </body> </html> Vir: Microsoft 2008a

37

6 SKLEP Informacijska varnost podjetij je pomembna pri zagotavljanju nemotenega poslovanja. Napadi na informacijske sisteme, kot so DOS napad, lahko pomenijo izgubo produktivnosti, saj takšni napadi onemogočijo delovanje ključnih informacijskih sistemov v podjetju. Posledično je moten delovni proces zaposlenih, ki pri svojem delu uporabljajo računalnike. Vdori v informacijske sisteme po drugi strani lahko pomenijo krajo zaupnih informacij, izgubo tržnega deleža, ugleda ter drugih posledic. V diplomskem delu smo potrdili trditev, da organizacija za svojo varnost v najboljši meri poskrbi z uvedbo varnostne politike. Varnostna politika je skupek smernic, dokumentov in predpisov, ki urejajo področje varovanja informacij in informacijskih sistemov. Dokazali smo, da investicije v informacijsko varnost ne pomenijo samo vlaganje v tehnično opremo, ampak so prav tako pomembni socialni vidiki varnosti. Izobraževanje zaposlenih ter njihovo razumevanje k skupnem prispevku varnosti pomembno vplivata na varovanje informacij organizacije. Primarna skupina namenjena izdelavi varnostne politike je informacijski oddelek. Zadolžen je, da preuči potrebe po varnosti v podjetju, ugotovi področja ranljivosti ter izdela posamezne dokumente, ki bodo izboljšali varnost na šibkih točkah. Za razvijalce programskih rešitev je pomembno, da varnosti posvetijo dovolj časa že v sami zasnovi projekta razvoja aplikacije. Razvoj varnih programskih rešitev se doseže z upoštevanjem smernic varnega programiranja ter s celovitim testiranjem aplikacij.

38

7 POVZETEK V diplomski nalogi smo predstavili problematiko informacijske varnosti v sodobnih organizacijah. V Sloveniji je bilo leta 2007 storjenih največ kaznivih dejanj s področja računalniške kriminalitete, odkar Slovenska policija vodi statistiko te vrste kaznivih dejanj. Informacijski sistemi so danes med seboj povezani. Skoraj vsa sodobna podjetja uporabljajo internet pri svojem poslovanju. Lokalno omrežje podjetja, ki je povezano v internet, je lahko vstopna točka za napadalce, če ni primerno zaščiteno. V diplomski nalogi smo predstavili tehnike in metode najpogostejših napadov na informacijske sisteme. Napadalec lahko vdre v sistem oddaljeno ali lokalno. Ob nepravilno konfiguriranem požarnem zidu ter neposodobljeni programski opremi lahko napadalec izrabi ranljivosti sistema in pridobi dostop do sistema. K varnostnim luknjam v podjetju sodijo tudi pomanjkljivo izobraženi zaposleni, ki so lahko žrtev socialnega inženirstva. Sprejeta varnostna politika lahko ustrezno naslovi varnostno problematiko podjetja. Dokumenti varnostne politike naslovijo specifična varnostna področja, kot so uporaba VPN omrežja, konfiguracija varnostnega zidu, politika gesel, konfiguracija uporabniških skupin in pravic. Na koncu diplomskega dela smo predstavili vidike glede razvijanja varnih programskih rešitev. Dejstvo je, da se posveča premalo pozornosti glede varnosti pri sami zasnovi aplikacij. Večino varnostnih lukenj je možno odpraviti z upoštevanjem načel varnega programiranja, kot so validacija vhodnih podatkov ali načelo zadnjega privilegija. Običajno vodje programerskih oziroma razvojnih oddelkov pritiskajo na razvijalce, naj ti programirajo hitro. Hitro programiranje večinoma ne vključuje uporabo varnostnih načel in testiranja rešitev. Na dolgi rok ima takšno razmišljanje vendarle posledice, saj izdelana aplikacija vsebuje varnostne luknje, ki jih moramo naknadno popravljati, in ure, ki smo jih pridobili s hitrim programiranjem, večkrat porabimo za implementacijo popravkov. Ključne besede: informacijska varnost, informacijski sistemi, internet, lokalno omrežje, tehnike in metode napadov, požarni zid, ranljivosti sistemov, socialno inženirstvo, VPN omrežja, politika gesel, konfiguracija uporabniških skupin in pravic, načela varnega programiranja, validacija vhodnih podatkov, načelo zadnjega privilegija, testiranje programskih rešitev

39

8 SUMMARY Key issues relating information security in modern organizations have been addressed in this thesis. Since Slovenian police started to keep records of computer criminal activity, statistics shows that in the year 2007 the most cybercrime offences were committed. Today’s information systems are interconnected. Most modern corporations use the Internet as a part of their business. The local area network connected to the Internet, if not properly secured, can become an entry point for possible attacks. We have shown common security vulnerabilities and intrusion methods. The attacker can exploit the system either by the remote or local access. If the corporate firewall is not properly configured and the software listening behind server services not updated, the company can become a target of remote attack. Another security threat is poorly educated employees who can become victims of social engineering attack. If security policy is implemented, it can address all corporate information security issues. Security policy documents address concrete topics like use of VPN, firewall configuration, user and group permissions, and password policy. At the end of this thesis the principles of secure programming are explained. It is a matter of fact that software engineers devote too little attention to security related questions in the very beginning of the development process. Most software security vulnerabilities could be abolished by applying secure coding principles like input validation or principle of least privilege. Usually managers exert pressure to their programmers to code fast. Fast coding often omits taking heed to secure coding principles and systematic testing of computer software. On the long run, such thinking results in software with security leaks and bugs. Fixing bugs takes several times more hours than the hours we have gained with fast coding. Key words: information security, information systems, internet, local area network, intrusion methods, firewall, security vulnerabilities, social engineering, VPN networks, password policy, user and group permissions, secure coding, principles of secure coding, input validation, principle of least privilege, software testing

40

9 LITERATURA Canavan, Sorcha. (2006). Information Security Policy – A Development Guide for Large and Small Companies [online]. Dostopno na: http://www.sans.org/reading_room/whitepapers/policyissues/1331.php [10.12.2007] Westby, Jody R. (2007a). Enterprise Security Governance Activities [online]. Dostopno na: http://www.cert.org/archive/pdf/GES_IG_3_0703.pdf [14.09.2007] Westby, Jody R. (2007b). Characteristics of Effective Security Governance [online]. Dostopno na: http://www.cert.org/archive/pdf/GES_IG_1_0702.pdf [14.09.2007] Zachary, Wilson. (2006). Hacking: The Basics [online]. Dostopno na: http://www.sans.org/reading_room/whitepapers/hackers/ [20.09.2007]

41

10 VIRI

Akademska in raziskovalna mreža Slovenije. (2007). Zakonodaja RS, ki se nanaša na informacijsko varnost [online]. Dostopno na: http://www.arnes.si/si-cert/kz.html [14.09.2007] Australian Computer Emergency Response Team. (2006). Australian Computer Crime and Security Survey [online]. Dostopno na: http://www.auscert.org.au/images/ACCSS2006.pdf [10.12.2007] Informacijski pooblaščenec. (2007). Varstvo osebnih podatkov [online]. Dostopno na: http://www.ip-rs.si/pogosta-vprasanja/varstvo-osebnih-podatkov/ [05.12.2007] Java World. (2008). Twelve rules for developing more secure Java code [online]. Dostopno na: http://www.javaworld.com/javaworld/jw-12-1998/jw-12-securityrules.html?page=2 [03.05.2008] Microsoft Corporation. (2008a). ASP.NET authentiaction [online]. Dostopno na: http://msdn.microsoft.com/en-us/library/eeyk640h.aspx [03.05.2008] Microsoft Corporation. (2008b). How To: Use Regular Expressions to Constrain Input in ASP.NET [online]. Dostopno na: http://msdn.microsoft.com/en-us/library/ms998267.aspx [09.05.2008] Ministrstvo za notranje zadeve, Policija. (2007). Letna poročila policije [online]. Dostopno na: http://www.policija.si/portal/statistika/lp/lp.php?submenuid=009 [05.12.2007] Tippit inc. (2007). Introduction to Enterprise Network Firewall [online]. Dostopno na: http://www.itsecurity.com/features/intro-enterprise-firewalls-012507/ [01.12.2007] Sun Microsystems Inc. (2008). Secure Coding Guidelines for the Java Programming Language, version 2.0 [online]. Dostopno na:http://java.sun.com/security/seccodeguide.html Wikipedia. (2007a). Phising [online]. Dostopno na: http://en.wikipedia.org/wiki/Phishing [5.11.2007] Wikipedia. (2007b). Social Engineering [online]. Dostopno na: http://en.wikipedia.org/wiki/Social_engineering_%28security%29 [17.11.2007] Wikipedia. (2007c). Denial of Service Attack [online]. Dostopno na: http://en.wikipedia.org/wiki/Denial-of-service_attack [01.12.2007] Wikipedia. (2008d). Abstraction Layer [online]. Dostopno na: http://en.wikipedia.org/wiki/Abstraction_layer [03.05.2008]

42

Wikipedia. (2008e). Principle of least privilege [online]. Dostopno na: http://en.wikipedia.org/wiki/Principle_of_least_privilege [03.05.2008] Wikipedia. (2008f). Authentication [online]. Dostopno na: http://en.wikipedia.org/wiki/Authentication [09.05.2008]