You are on page 1of 6

Elektrotehnički fakultet Sarajevo Tehnologije sigurnosti 2010/11

9 PRINCIPI DIZAJNA SIGURNOSNIH MEHANIZAMA

Sigurnosna politika sistema provodi se pomoću sigurnosnih mehanizama. Sigurnosni mehanizam je


metod, sredstvo ili procedura koji provodi neki dio sigurnosne politike. Sigurnosni mehanizmi mogu
biti tehnički i netehnički. Sredstva su primjer tehničkih, dok su procedure primjer netehničkih
sigurnosnih mehanizama. Sigurnosnih mehanizama ima mnogo, a mogu se grupisati u mehanizme za
utvrđivanje identiteta; mehanizme za kontrolu pristupa; i mehanizme za evidentiranje. Jedan od
osnovnih principa dizajna u računarskim naukama je odvajanje mehanizama od politike, u smislu da
mehanizmi ne bi trebali diktirati ili ograničavati politiku. Politika sistema, naime, ne smije da zavisi i ne
smije da se pravi polazeći od nekog konkretnog skupa mehanizama jer politika definiše šta je
dozvoljeno i šta nije, a ne kako će se to sprovesti u djelo. Ovaj princip je originalno postuliran za
računarske nauke, a može se direktno primjeniti i na sigurnost informacija.

Postoje dvije podjele sigurnosnih mehanizama: prema vremenu djelovanja u odnosu na sigurnosni
incident i prema načinu izvedbe mehanizma.

Prema načinu izvedbe sigurnosni mehanizmi se obično dijele na administrativne, logičke i fizičke.
Administrativni mehanizmi su primarno politike i procedure uspostavljene da bi se definisalo
dozvoljeno ponašanje i načini sprovođenja politike. Tehnički, ili logički, mehanizmi su uređaji,
procesi, protokoli i druge mjere za zaštitu informacija. Fizički sigurnosni mehanizmi su uređaji i
sredstva za fizičku kontrolu pristupa i zaštitu dostupnosti informacija.

Prema vremenu djelovanja u odnosu na sigurnosni incident sigurnosni mehanizmi se dijele na


preventivne, detektivne i korektivne. Preventivni sigurnosni mehanizmi sprečavaju narušavanje
sigurnosne politike. Kada ove kontrole ne uspiju spriječiti neko narušavanje sigurnosti, detektivni
mehanizmi otkrivaju da je došlo do narušavanja sigurnosti. Korektivni mehanizmi koriguju posljedice
narušavanje sigurnosti, tako da prekinu događaj koji je narušio sigurnost, ili tako da povrate sistem na
stanje koje je bilo prije događaja ili, što je najbolje, tako da omoguće da sistem nastavi da sigurno
funkcioniše i tokom ovakvog događaja.

Sigurnosni mehanizmi mogu biti „sigurni“, precizni ili široki. Ako sa P označimo sva moguća stanja
sistema, a sa Q sigurna stanja sistema (dozvoljena politikom). Neka su R stanja dozvoljena
sigurnosnim mehanizmima. Mehanizam je „siguran“ ako je R podskup Q. Ovakav mehanizam je

Saša Mrdović
Elektrotehnički fakultet Sarajevo Tehnologije sigurnosti 2010/11

očigledno previše restriktivan. Mehanizam je precizan ako je R = Q. Ovo je očigledno idealno.


Mehanizam je širok ako postoje stanja r koja pripadaju R i r ne pripadaju Q. U ovom slučaju
mehanizam dozvoljava i neka stanja koja nisu dozvoljena sigurnosnom politikom. U idealnom slučaju
zbir svih sigurnosnih mehanizama u sistemu rezultira jedinstvenim preciznim mehanizmom (P = Q). U
praksi, sigurnosni mehanizmi su uglavnom široki i omogućavaju da sistem dospije i u nesigurna stanja.

Povjerenje u sigurnosne mehanizme i njihovo sprovođenje sigurnosne politike zasnovano je na


nekoliko pretpostavki [1]:

1. Svaki mehanizam je dizajniran da provodi jedan ili više dijelova sigurnosne politike

2. Zbir svih mehanizama provodi sve aspekte sigurnosne politike

3. Mehanizmi su korektno realizovani

4. Mehanizmi su korektno instalirani i administrirani.

9.1 Principi dizajna

Još 1975. godine Salzter i Schroeder su predložili principe dizajna sigurnosnih mehanizama. Ovi
principi su zasnovani na idejama jednostavnosti i restriktivnosti. Jednostavnost omogućava lakši dizajn i
razumijevanje mehanizama, manju mogućnost greške i lakšu provjeru ispravnosti rada. Restriktivnost
ograničava moći subjekta i da je mu pristup samo informacijama koje mu trebaju i omogućava
upotrebu samo resursa koji su neophodni. Osam originalno predloženih principa su [2]:

9.1.1 Jednostavnost (Economy of mechanism)

Dizajn treba biti jednostavan i mali koliko god je to moguće. Ovaj princip je poznat i primjenjiv na sve
aspekte sistema, ali posebno je primjenjiv na sigurnosne mehanizme. Greške u dizajnu i izvedbi
sigurnosnih mehanizama koje rezultiraju neželjenim pristupnim putanjama neće biti primijećene tokom
normalne upotrebe sistema (pošto tokom normalne upotrebe neće biti pokušaja zloupotrebe ovih
grešaka). Iz ovih razloga potreban je detaljan pregled sigurnosnih mehanizama (koda za softverske, a
fizički za hardverske mehanizme). Da bi ovakav pregled bio moguć neophodan je mali i jednostavan
dizajn.

Saša Mrdović
Elektrotehnički fakultet Sarajevo Tehnologije sigurnosti 2010/11

Princip jednostavnosti pominjan je do sada više puta. Kada je bilo riječi o mehanizmima za kontrolu
pristupa rečeno je da oni moraju biti jednostavni da bi se izbjegla greška u dizajnu implementaciji.
Takođe kada se govorilo o sigurnosti programa rečeno je da dodatni modul koji obavlja funkcije za
koje su potrebne dodatne privilegije trebaju biti najmanji mogući koji može ispuniti zadatak i treba da
ima jedinstvenu namjenu – ispunjavanje zadatka za koji trebaju dodatne privilegije.

9.1.2 Restriktivnost (Fail-safe defaults)

Pristup objektima treba biti izričito dozvoljen, odnosno podrazumijevano stanje je da je pristup
nedozvoljen. Subjekat mora da opravdava zahtijevani pristup (uglavnom ne u trenutku pristupa već
ranije prilikom utvrđivanja privilegija). Prednost principa restriktivnosti je što se greške u pravima
pristupa lakše otkrivaju. U slučaju greške, kada subjekt nema pristupa objektu kom bi trebao imati
pravo, subjekt primjećuje grešku i o njoj obavještava administratora koji može otkloniti grešku. U
obratnom slučaju, kada subjekat ima pravo pristupa objektima kojima ne bi trebao imati pravo pristup,
dodatna prava ne ometaju rad subjekta i greška može ostati neprimijećena ili bar neprijavljena. Ovaj
princip takođe osigurava da ako za neki aspekt sigurnosne politike nije napravljen mehanizam rezultat
bude siguran, a ne širok ukupni sigurnosnu mehanizam.

Princip restriktivnosti naveden je kada se govorilo o provjerama ovlaštenja kada je rečeno da svaki
pristup mora biti izričito dozvoljen i ako nije smatra se nedozvoljenim. U sklopu poglavlja o sigurnosti
programa rečeno je da je u slučaju bilo kakve greške potrebno vraćanje programa u prethodno stanje,
prije bilo kakvih promjena koje je pozvana funkcija napravila. U sklopu poglavlja o mrežnoj sigurnosti
navedeno je da firewall, treba da ima pravilo koje se posljednje uzima u obzir (prvo ili zadnje u listi, u
zavisnosti od reda procesiranja) i koje je da se prolaz paketa zabrani. Na ovaj način se osigurava da
paketu koji se ne uklapa ni u jedno od pravila ne bude dopušten prolaz.

9.1.3 Obaveza provjeravanja (Complete mediation)

Svaki pristup objektima mora biti provjeren da bi se potvrdilo da je dozvoljen. Ovim se sprečava
korištenje prava koja su istekla ili su se promijenila, odnosno izbjegava ponovno korištenje ranije
utvrđenih prava pristupa (caching). Princip kaže da treba biti vrlo oprezan sa cache-iranjem prava pristupa
i dobro ocijeniti da li je dobitak na performansama vrijedan sigurnosnog rizika. Svaka promjena prava
pristup mora se odmah ažurirati i početi provoditi u sigurnosnim mehanizmima. Takođe, ovaj princip

Saša Mrdović
Elektrotehnički fakultet Sarajevo Tehnologije sigurnosti 2010/11

ukazuje da se ne treba (isključivo) oslanjati na prava pristupa utvrđena drugdje, u drugim dijelovima
sistema ili sistemima. Ovakva, prenesena, prava pristupa treba pažljivo dizajnirati i sprovesti.

Princip obaveze provjeravanja pominjan je u sklopu provjera ovlaštenja i kontrole pristupa. Navedena
je potreba za slojevitom zaštitom (layered defense), gdje svaki od slojeva mora raditi i samostalno, bez
oslanjanja na druge slojeva kao da oni i ne postoje. Na ovaj način se osigurava da propust u jednom
elementu (sloju) sigurnosti ne narušava (automatski) druge elemente i kompletnu sigurnost sistema. U
poglavlju o sigurnosti programa rečeno je da je neophodno minimizirati oslanjanje procesa na
pretpostavke o podešavanjima resursa van programa. Sve pretpostavke o pravima pristupa proces treba
sam provjeriti. Kod Web aplikacija navedena je poteškoća provođenja kontrola na strani klijenta i
obaveza provjeravanja na strani servera.

9.1.4 Otvorenost dizajna (Open design)

Dizajn mehanizma ne treba biti tajna. Sigurnost ne treba da zavisi od tajnosti njegovog dizajna ili načina
realizacije, već treba da se oslanja na posjedovanje nečeg specifičnije što je lakše zaštiti. Primjeri su ključ
ili lozinka. Odvajanje sigurnosnog mehanizma od sigurnosnih ključeva omogućava analizu i reviziju
mehanizma od strane različitih, po mogućnost nezavisnih, analitičara bez straha da će ta revizija
ugroziti sigurnost, koja je odvojena. Na ovaj način i korisnici mehanizma mogu analizirati isti i uvjeriti
se da radi kako je specificirano i kako oni žele. Sa druge strane nije ni realno očekivati da dizajn
mehanizma ostane tajna, pogotovo kod mehanizama koji su u širokoj upotrebi (što većina onih za
zaštitu informacija jeste).

Princip je podudaran sa Kerckhoffs-ovim principom iz kriptografije gdje je široko primjenjen kao jedan
od osnovnih postulata. Isti princip da se podrazumjeva da „protivnik poznaje sistem koji se koristi“
navodi i Shannon 1949. u radu o teoriji tajnih komunikacija koji je postavio osnove savremene
kriptografije [3]. Ovaj iskaz poznat je kao Shannon-ova maksima.

9.1.5 Razdvajanje privilegija (Separation of privilege)

Pristup sistemu se ne treba dati samo na osnovu ispunjenja jednog uslova, ako je izvodljivo. Ovi uslovi
mogu biti razdvojeni na osobe, ključeve, organizacije ili kombinacije različitih faktora (kratica i PIN).
Ovaj princip onemogućava da jedna slaba karika ugrozi sigurnost. Na ovaj način se onemogućava da
neispravan mehanizam ili pojedinac omoguće neovlašten pristup ili akciju.

Saša Mrdović
Elektrotehnički fakultet Sarajevo Tehnologije sigurnosti 2010/11

Ovaj princip se često u praksi koristi kod sefova, kako korisničkih gdje je za otključavanje potreban
ključ korisnika sefa i ključ koji posjeduje banka, tako i kod trezora gdje je potrebno dva ili više ključeva
za otključavanje. Princip se primjenjuje i u drugim slučajevima gdje je potrebna dodatna provjera radi
ozbiljnosti akcije koja se dozvoljava, kao što je lansiranje raketa sa nuklearnim bojevim glavama. Princip
osigurava da je za narušavanje sigurnosne politike potrebno ostvariti saradnju više učesnika (collusion),
osoba ili mehanizama, čime se to narušavanje otežava.

9.1.6 Minimizacija privilegija (Least privilege)

Svaki subjekat, korisnik ili proces, treba imati samo one privilegije koje su mu potrebne da obavi svoj
zadatak. Primjenom ovog principa ograničava se štete usljed sigurnosnog incidenta (namjernog) ili
greške (slučajne). Ovim se smanjuje i broj potencijalnih interakcija među privilegovanim subjektima
(programima) na minimum potreban za korektan rad. Time se, u slučaju zloupotrebe privilegija,
smanjuje broj subjekata (programa) nad čijim radom treba izvršiti reviziju.

Pravilo „potreba da znaš“ (need to know) iz vojnih krugova je primjer ovog principa. Drugi primjeri
primjene principa koji su pominjani vezani su za provjeru ovlaštenja i sigurnost programa. Takođe, ovaj
princip je naveden je kao jedna od organizacionih mjera borbe protiv zloćudnog softvera, kojom se
smanjuje mogućnost zaraze i šteta od iste.

9.1.7 Minimizacija broja zajedničkih mehanizama (Least common mechanism)

Mehanizmi koji se koriste za pristup resursima ne trebaju biti u principu dijeljeni među subjektima.
Dijeljeni mehanizam su potencijalna putanja za neovlašteni tok informacija među korisnicima. Nadalje,
mehanizmi koji služe većem broju, ili svim, korisnicima moraju biti provjereni da zadovoljavajuće rade
za sve korisnike, što je teže osigurati nego za jednog ili mali broj korisnika. Dijeljeni mehanizmi mogu
biti dijeljeni među korisnicima sa različitim privilegijama i potrebno je osigurati da oni sa manjim
privilegijama ne ostvare privilegije koje im ne pripadaju, a i da oni sa najvećim privilegijama mogu
obavljati svoj posao koristeći dijeljeni mehanizam.

Ovaj princip naveden je prilikom govora o identifikaciji, kao mehanizmu za osiguravanje odgovornosti.
Rečeno je da različita korisnička imena mogu da imaju administratorska prava, ali da su to različiti
identiteti i njihove se akcije evidentiraju pa je moguće znati šta je uradio jedan, a šta drugi.

Saša Mrdović
Elektrotehnički fakultet Sarajevo Tehnologije sigurnosti 2010/11

9.1.8 Psihološka prihvatljivost (Psychological acceptability)


Neophodno je da interfejs mehanizma ka korisniku bude dizajniran kao jednostavan za korištenje, tako
da korisnici mogu rutinski i automatski korektno primjenjivati mehanizam. Sigurnosni mehanizam ne
treba da otežava ovlašteni pristup resursu i ne smije da ometa rad. Takođe, sigurnosni mehanizam treba
da bude jasan u komunikaciji. Korisnikovo viđenje ciljeva i rezultata rada mehanizma mora se poklapati
sa onim što mehanizam stvarno radi. Ako ovdje dođe do nerazumijevanja, dolaziće i do grešaka.

Nerijetko se sigurnost pominje kao smetnja normalnom poslovanju, a ovaj princip upravo govori o
tome na koji način to spriječiti. Normalna ovlaštena upotreba sistema ne bi trebala biti otežana
sigurnosnim mehanizmima. Takođe rezultat upotrebe sigurnosnih mehanizama mora biti jasan, kako je
pominjano kada se govorilo o upravljanju pravima pristupa na aplikativnom nivou, gdje je moguće, da
zbog velikog broja mogućnosti, da efekat podešavanja ne bude uvijek do kraja tačno prenijet na
predstavu o efetku koju korisnik ima. Ovaj princip će dodatno biti obrađen u poglavlju o ljudskom
faktoru.

BIBLIOGRAFIJA

[1] M. Bishop“Introduction to Computer Security” ( poglavlje 12 “Design Principles”), Addison-


Wesley Professional, 2004.
[2] J. Saltzer and M. Schroeder, “The protection of information in computer systems,” IEEE,
Proceedings, vol. 63, 1975, pp. 1278-1308.
[3] C.E. Shannon, “Communication Theory of Secrecy Systems,” Bell System Technical Journal, v. 28,
n. 4, 1949, pp. 656–715.

Saša Mrdović

You might also like