Modeli kontrole pristupa u aktivnim i objektno ...sigurnost.zemris.fer.hr/ostalo/baze/2007_galinovic/Modeli_kontrole... · 3.2 Sigurnosne značajke i sigurnosni modeli aktivnih baza

  • Upload
    vuhanh

  • View
    226

  • Download
    1

Embed Size (px)

Citation preview

  • SveuiliteuZagrebuFakultetelektrotehnikeiraunarstva

    Sveuiliniposlijediplomskidoktorskistudij

    SeminarskiradizpredmetaVrednovanjeraunalnihsustava

    Modelikontrolepristupauaktivnimiobjektnoorijentiranimbazamapodatka

    Andro Galinovi, dipl. ing. ra.

    Sijeanj 2008

  • 2

    Sadraj1. Uvod..................................................................................................................................................3

    2. Kontrolepristupa..............................................................................................................................3

    3. Aktivnebazepodatka........................................................................................................................4

    3.1 Uvoduaktivnebazepodataka..................................................................................................4

    3.2 Sigurnosneznaajkeisigurnosnimodeliaktivnihbazapodataka.............................................4

    3.2.1 DACmodel........................................................................................................................5

    3.2.2 MACmodel.......................................................................................................................6

    3.3 Usporedbasigurnosnihmodelaaktivnihbazapodataka........................................................11

    4. Sigurnosneznaajkeisigurnosnimodeliobjektnoorijentiranihbazapodataka...........................12

    4.1 Uvoduobjektnoorijentiranebazepodataka..........................................................................12

    4.2 DACmodeli..............................................................................................................................12

    4.2.1 Orionmodel....................................................................................................................12

    4.2.2 BertinoWeigandovmodel.............................................................................................16

    4.2.3 Modeliovlatenjatemeljeninametodama...................................................................16

    4.2.3.1 Irismodel...................................................................................................................16

    4.2.3.2 Modelskrivanjapodataka.........................................................................................18

    4.2.4 UsporedbaDACmodela.................................................................................................18

    4.3 MACmodeli.............................................................................................................................19

    4.3.1 Modelfiltriranjaporuka.................................................................................................19

    4.3.2 SORIONmodel................................................................................................................20

    4.3.3 MillenLuntmodel..........................................................................................................21

    4.3.4 UsporedbaMACmodela................................................................................................22

    5. Zakljuak..........................................................................................................................................23

    Literatura................................................................................................................................................24

  • 3

    1. Uvod

    Od 1969 kad je Edgar Frank Codd predstavio svoj relacijski model [1], osnovu za dananje relacijske baze podataka, razvijani i isprobavani su mnogi unaprijeeniji modeli u elji ostvarivanja vie funkcionalnost, lakeg administriranja i upravljanja te vie razine povjerljivosti, ouvanja cjelovitosti/integriteta i odravanja raspoloivosti podatka. U 80-tim godinama je razvijen ACID (engl. Atomicity, Consistency, Isolation, Durability) [2] koncept, koji osigurava atomnost transakcija, konzistentnost baze podataka nakon izvrenja transakcije, meusobnu izolaciju transakcija te postojanost napravljenih promjena u bazi podataka. Radi provoenja navedenih pravila i odravanja referencijskog integriteta (engl. referential integrity) poinje se s eksperimentirati sa iskoritavanjem koncepata iz sustava baziranih na pravilima (engl. rule base engine). Kao produkt pojavile su se aktivne baze podataka (engl. active database) a standard SQL jezika iz 1999 godine (SQL:1999 ili SQL3) definira okidae (engl. triggers).

    Uz relacijski model paralelno se, u kasnim 70-tim i ranim 80-tim, razvijao i objektno-orijentirani model koji vue svoje korijenje iz objektno-orijentirane programske paradigme razvijene u 60-tim godinama prolog stoljea.

    Predmet razmatranja u ovom radu biti e aktivne i objektno-orijentirane baze podatka i modeli kontrole pristupa primjenjivi na njih.

    Sve vrste modernih baza podatka ukljuuju i sigurnosne mehanizme koji osiguravaju tri navedena aspekta sigurnosti informacija (povjerljivost, cjelovitost i raspoloivost). U bazama podatka ACID i slini mehanizmi osiguravaju cjelovitost i raspoloivost podataka.

    Kako sve moderne baze podatka omoguuju pristup podacima iskljuivo preko strogo standardiziranih i jasno definiranih suelja jedan od najvanijih aspekata pruanja provjerljivosti podatka je upravo kontrola pristupa.

    U narednim poglavljima termin sigurnost, sigurnosni i sve druge izvedenice se odnose na povjerljivost informacija ako nije drugaije navedeno.

    2. Kontrolepristupa

    Tipino u sustavima za upravljanje relacijskim bazama podatka (u daljnjem tekstu SUBP) implementiran je diskrecijski model kontrole pristupa (engl. Discretionary Access Control - DAC) u kojem vlasnik svakog objekta ima diskrecijsko pravo dodjeljivanja prava pristupa tom objektu. Dvije najee implementacije DAC-a su liste kontrole pristupa (engl. Access Control Lists - ACL) i matrica pristupa (engl. Access Control Matrix).

    SQL'89 standard za relacijske baze podatka koristi DAC i definira pet vrsta privilegija za rad sa bazama podataka: insert, delete, select, update i references. Privilegije se mogu dodijeliti pojedinom korisniku ili svima (public). Takoer postoji mogunost davanja ovlasti za daljnje prenoenje ovlasti (engl. with grant option). Standard ne definira i ne zahtijeva mogunost oduzimanja ovlasti, ve je to preputeno proizvoaima SUBP.

  • 4

    SQL'92 standard je nadopunio onaj iz 89 dodajui mogunost za preciznije odreivanje ovlasti, mogunost odreivanje aktivnosti u sluaju gubitka referencijskog integriteta i naredbu za oduzimanje ovlasti (engl. revoke).

    Noviji SQL:1999 standard sadrava podrku za nediskrecijski model kontrole pristupa, konkretno kontrolu pristupa baziranu na ulogama (engl. Role-Based Access Control - RBAC).

    Mandatni model kontrole pristupa (engl. Mandatory Access Control - MAC), koji se temelji na Bell-LaPadula modelu [10], je sloeniji i sigurniji sustav koji je temeljen na klasifikaciji osjetljivosti objekata (podataka) i razini autoriziranosti subjekata (korisnika, programa). MAC nije direktno podran u SQL-u a time i u relacijskim bazama podataka. Primjena MAC model u relacijskim bazama podataka se ostvaruje kroz vierazinske baze podataka [3] ija implementacija najee rezultira pojavom viepojavnosti koja znatno unosi entropije u sustav [4].

    Isti se modeli kontrole pristupa (DAC, RBAC, MAC) primjenjuju na modele aktivnih i objektno-orijentiranih baza podatka. Slijedea poglavlja e opisati najpoznatije i najznaajnije predstavnike ovih modela te objasniti posljedice koritenja pojedinih modela kontrola pristupa.

    3. Aktivnebazepodatka

    3.1 Uvoduaktivnebazepodataka

    Aktivne baze podatka se temelje na bazi pravila koja se najee sastoje od dogaaja, uvjeta i akcije (engl. Event Condition Action - ECA). Pojavom dogaaja provjerava se niz uvjeta i ukoliko jedan zadovoljava, obavlja se popratna akcija. Ovo svojstvo aktivnih baza podataka omoguuje autonomnost prilikom rada i uklanja potrebu za npr. uestalim provjerama stanja nekih podataka u bazi podatka [9]. Pravila nadalje omoguuju automatsku provedbu referencijskog integriteta i druge aktivnosti prilikom auriranja podataka.

    Postoje dva osnovna naina implementacije pravila. Prvi je implementacija sustava sa pravilima izravno u sustav za upravljanje bazom podataka (engl. Database Management System - DBMS). Drugi ukljuuje koritenje dodatne apstrakcijske razine prilikom pristupa bazi podatka, to se moe izvesti ili kroz aplikaciju koja se koristi za pristup i auriranje podataka ili dodatnim slojem u obliku zasebnog sustava za upravljanje pravilima (engl. rule management system).

    Aktivne baze podataka, tj. baze podatka sa podrkom definiranje ECA pravila predstavljaju prirodnu evoluciju relacijskog modela na to ukazuje i injenica da SQL:1999 standard definira okidae (engl. triggers).

    3.2 Sigurnosneznaajkeisigurnosnimodeliaktivnihbazapodataka

    S aspekta sigurnosti, aktivne baze podataka moraju posjedovati mehanizme zatite samih pravila od neovlatenog itanja i promjene. Razlog ovim zahtjevima je slijedei. Ukoliko je korisnik svjestan pravila i naina rada pravila, on moe paljivom prilagodbom podataka koje unosi u sustav i rezultata zakljuiti (engl. infer) neke njemu inae nedostupne informacije. U sluaju zatite mandatnim modelom kontrole pristupa (engl. Mandatory Access Control - MAC) potrebno je posebno obratiti panju na osjetljivost pravila i podataka koje pravila mijenjaju, kako ne bi dolo do otkivanja

  • 5

    podataka. Jedan primjer nekontroliranog toka informacija je sluaj u kojem subjekt prilikom auriranja podataka aktivira pravilo koje je klasificirano sa veom osjetljivou nego podaci koje pravilo aurira, te time omogui uvid u rezultat pravila to potencijalno moe rezultirati napadom zakljuivanjem (engl. inference attack).

    3.2.1 DACmodel

    Kao jedna od osnova za realizaciju sustava pravila na razini n-torki je mehanizam privitaka, prvi put prezentiran 1990 godine kroz projekt Starburst [1][6][7]. Ovaj mehanizam omoguuje definiranja procedura za operacije nad n-torkama. Drugi bitni mehanizam prezentiran u Starburst prototipu je red dogaaja (engl. event queue) koji omoguuje definiranje odgaanja izvoenja parametriziranih procedura i tablinih funkcija. Tabline funkcije omoguuju registraciju/deklaraciju imena funkcije, potrebnih parametra, relacijske sheme te procedure za generiranje tablice tijekom izvoenja (engl. run time). Koritena SQL sintaksa omoguuje navoenje tabline funkcije na mjestu stvarne tablice u FROM dijelu naredbe.

    Sustav pravila koriten u Starburst prototipu ukljuuje katalog pravila (engl. rule catalogue), globalne informacije o pravilima te informacije o izvoenju pojedinih pravila.

    U Starburst prototipu, koji posjeduje diskrecijski model kontrole pristupa (engl. Discretionary Access Control DAC), razmatraju se tri sluaja ovlatenja (autorizacije engl. authorization):

    ovlatenje za stvaranje pravila nad relacijama, ovlatenje za stvaranje pravila pod odreenim uvjetima i aktivnostima, ovlatenje za promjenu i brisanje pravila.

    Prema reetci (engl. lattice) ovlasti, u kojoj via razina ukljuuje (eng. subsume) prava niih razina, razine ovlasti za relaciju od najvie prema najnioj su: kontrola, pisanje, stavljanje privitka i itanje. Reetka ovlasti za pravila je slijedea: kontrola - promjena aktivacija/deaktivacija. U oba sluaja, relacije i pravila, kreator automatski dobiva ovlast kontrole s mogunosti diskrecijskog prosljeivanja i dodjele ovlasti. Da bi korisnik mogao napraviti pravilo nad relacijom mora posjedovati ovlasti itanja i stavljanja privitka te samo pravilo ne smije kriti ili nadilaziti ovlasti korisnika. Ovo je vrlo bitno jer u suprotnom predstavljalo sigurnosni propust koji bi mogao omoguiti zlonamjernog korisnika da stvori pravilo koje mu omoguava aktivnosti za koje inae nije ovlaten. Sline provjere se obavljaju prilikom promjene i brisanja pravila.

    Mehanizam ovlatenja Starburst modela, koji definira ovlatenja na razini korisnika ili grupe, omoguava jednostavno dodavanje korisnikih specifinih iznimaka. Model omoguuje proizvoljno ugnjeivanje korisnikih grupa, uz konstantnu vremensku sloenost provjere ovlatenja neovisno o stupnju ugnjeivanja i sloenosti grupa [8]. Nadaje mogunosti dodavanja ogranienja je iznimno velika ukljuujui i rekurzivno ukidanje ovlasti i prijenos vlasnitva podataka.

  • 6

    3.2.2 MACmodel

    MLSsvojstva

    Za vierazinske relacijske baze podataka vrijedi nekoliko osnovnih svojstava[13].

    Def1: Relacijska shema. Vierazinska relacijska shema R je definirana kao skup:

    {A1, K1, A2, K2, ..., An, Kn, KR},

    gdje su Ai atributi iz domene Di, Ki klasifikacija osjetljivosti atributa Ai, a KR razred osjetljivosti n-torke. Domena Ki je odreena skupom {Li, ..., Hi} koji predstavlja razrede pristupa u rasponu od Li do Hi. Domena od KR je odreena kao unija domena Ki. Jedan primjer klasifikacije osjetljivosti je skup {0,1,2,3} koji predstavlja ne klasificirane, povjerljive,tajne i vrlo tajne podatke.

    Primjer 1 ilustrira vierazinsku relacijsku shemu.

    LJUDI = ( JMBG KJMBG ime Kime prezime Kprezime godPrimanja KgodPrimanja KLJUDI )

    Primjer 1. Vierazinska relacijska shema

    Def2: n-torke. Postoji po jedna n-torka

    tk{a1, k1, a2, k2, ..., an, kn, kr},

    za svaki razred klasifikacije osjetljivosti k. Gdje je ai Di ili ai = null, k ki, kinull, a kr najvea vrijednost od ki. Dakle klasifikacijski atribut ki ne moe biti null ak i ako je ai jednak null.

    Primjer 2 ilustrira vierazinske n-torke. LJUDI = ( JMBG KJMBG ime Kime prezime Kprezime godPrimanja KgodPrimanja KLJUDI ) 100 0 Ivan 1 Mati 1 60000 1 1 100 1 Goran 1 Kolar 2 Null 1 2 102 2 Josipa 2 Horvat 3 250000 2 3 103 3 Petar 3 Novak 3 Null 3 3

    Primjer 2. Vierazinske n-torke

    Postoje etiri osnovna svojstva integriteta u vierazinskim bazama podataka koja moraju biti zadovoljena. Svojstvo1: Entitetski integritet. Neka je K primarni klju relacije, a KK klasifikacija kljua, onda:

    1. AiK [Ai] null, tj. niti jedan element primarnog kljua ne smije biti null, svojstvo koje

    vrijedi i u obinim relacijskim bazama podataka. 2. Ai, Aj K t(Ki) = t(Kj), tj. K je uniformno definiran (svi elementi kljua imaju istu

    klasifikaciju). Ovo svojstvo omogue da primarni klju bude ili u potpunosti vidljiv ili null ovisno u razini ovlatenja prilikom pristupa relaciji.

    3. Ai K t(Ki) t(KK), tj. razina osjetljivosti svih atributa, koji nisu dio kljua, je vea ili jednaka od osjetljivosti kljua, to onemoguava mogunost pristupa ne-null vrijednostima preko null primarnog kljua.

  • 7

    LJUDI = ( ime Kime prezime Kprezime godPrimanja KgodPrimanja KLJUDI ) Ivan 0 Mati 0 60000 1 1 Goran 1 Kolar 1 100000 2 2 Josipa 2 Horvat 2 250000 2 2 Petar 3 Novak 3 500000 3 3

    Primjer 3. Entititski integritet

    Svojstvo2: Null integritet.

    1. Za sve t(Ai)=null t(Ki)=t(KK), tj. null elementi su klasificirani sa istom osjetljivosti kao i primarni klju.

    2. Kaemo da n-torka t ukljuuje svaku n-torku s ako za svaki atribut Ai vijedi t(Ai, Ki) = s(Ai, Ki) ili t(Ai) null i s(Ai)=null. tj. relacija tk ne moe sadravati dvije razliite n-torke takve da jedna ukljuuje drugu, gdje ukljuivanje znai da su dvije n-torke ili potpuno iste ili da se razliku samo u onim atributima u kojim je jedna vrijednost jednaka null.

    LJUDI = ( ime Kime prezime Kprezime godPrimanja KgodPrimanja KLJUDI )

    Ivan 0 Mati 0 60000 1 1 Goran 1 Kolar 1 null 1 1 Josipa 2 Horvat 2 250000 2 2 Ne zadovoljavaju Petar 3 Novak 3 null 3 3

    null integritet Petar 3 Novak 3 500000 3 3

    Primjer 4. Null integritet

    Svojstvo3: Integritet pregledavanja. Relacija R zadovoljava integritet pregledavanja ako i samo ako za sve k'

  • 8

    LJUDI = ( ime Kime prezime Kprezime godPrimanja KgodPrimanja KLJUDI ) Ivan 0 Mati 0 60000 1 1 Goran 1 Kolar 1 100000 2 2 Josipa 2 Horvat 2 250000 2 2 Petar 3 Novak 3 500000 3 3

    Tablica 1. Cijela vierazinska relacija

    LJUDI = ( ime Kime prezime Kprezime godPrimanja KgodPrimanja KLJUDI ) Ivan 0 Mati 0 null 1 1

    Tablica 2. n-torke koje vidi korisnik za razinom ovlatenja 0

    LJUDI = ( ime Kime prezime Kprezime godPrimanja KgodPrimanja KLJUDI ) Ivan 0 Mati 0 60000 1 1 Goran 1 Kolar 1 null 2 2

    Tablica 3. n-torke koje vidi korisnik za razinom ovlatenja 1

    LJUDI = ( ime Kime prezime Kprezime godPrimanja KgodPrimanja KLJUDI ) Ivan 0 Mati 0 60000 1 1 Goran 1 Kolar 1 100000 2 2 Josipa 2 Horvat 2 250000 2 2

    Tablica 4. n-torke koje vidi korisnik za razinom ovlatenja 2

    LJUDI = ( ime Kime prezime Kprezime godPrimanja KgodPrimanja KLJUDI ) Ivan 0 Mati 0 60000 1 1 Goran 1 Kolar 1 100000 2 2 Josipa 2 Horvat 2 250000 2 2 Petar 3 Novak 3 500000 3 3

    Tablica 5. n-torke koje vidi korisnik za razinom ovlatenja 3

    Svojstvo4: Viepojavni integritet. Relacija R zadovoljava viepojavni integritet ako i samo ako za svaku n-torku t vijedi:

    Ai: K, KK, Ki Ai,

    tj, ako za svaku n-torku vrijedi da oiti klju K, klasifikacija n-torke KK, te klasifikacija atributa Ai (Ki) funkcijski odreuju Ai.

  • 9

    LJUDI = ( ime Kime prezime Kprezime godPrimanja KgodPrimanja KLJUDI ) Petar 3 Novak 3 60000 0 3 Petar 3 Novak 3 100000 1 3 Petar 3 Novak 3 250000 2 3 Petar 3 Novak 3 500000 3 3

    Tablica 6. Ispravna vierazinska relacija

    LJUDI = ( ime Kime prezime Kprezime godPrimanja KgodPrimanja KLJUDI ) Petar 3 Novak 3 60000 0 3 Petar 3 Novak 3 100000 0 3 Petar 3 Novak 3 250000 2 3 Petar 3 Novak 3 500000 3 3

    Tablica 7. Neispravna vierazinska relacija

    Svojstvo 4 implicitno definira to zapravo predstavlja primarni klju u vierazinskoj relaciji.

    Primarni klju u vierazinskoj relaciji je: K KK KO

    gdje je K skup atributa od kojih se sastoji oiti klju (klju kojega je korisnik zadao), KK je klasifikacija kljua, a KO je skup klasifikacijskih atributa podatkovnih atributa koji nisu dio K :

    KO= Kj, Aj K.

    Iz ovog svojstva slijedi funkcijska zavisnost:

    K KK KO AO,

    gdje je AO skup svih atributa koji nisu dio kljua K:

    AO = Aj K.

    Jednorazinska relacija (obina relacija) je specijalni sluaj u kojem je KK = KO a svaku n-torku iz ega slijedi K AO to je upravo definicija primarnog kljua u relacijskom model (vidi primjer 5)

    K KK KR AO, KK = KR = X K AO

    LJUDI ' = ( ime Kime prezime Kprezime godPrimanja KgodPrimanja KLJUDI ) Ivan 0 Mati 0 60000 0 0 Goran 0 Kolar 0 100000 0 1 Josipa 0 Horvat 0 250000 0 2 Petar 0 Novak 0 500000 0 3

    Primjer 5. Vierazinska relacija

  • 10

    MLSmodeluaktivnim bazamapodataka

    U sluaju spajanja mandatnog modela kontrole pristupa (engl. Mandatory Access Control - MAC) i relacijskog modela s vierazinskom zatitom (engl. Multi Level Secure relational model - MLS) [11] s aktivnim bazama podataka, kao to su predstavili Smith i Winslett [12], postoji mogunost klasifikacije osjetljivosti pravila i dogaaja kroz relacijski model.

    Sukladno MAC modelu objekte predstavljaju opisi pravila a subjekte predstavljaju akcije i dogaaji. U MLS modelu opisi pravila i dogaaji se predstavljaju u n-torkama sa sigurnosnim oznakama (klasifikacijama osjetljivosti).

    Sintaksa koja se koristi za definiranje pravila jako je slina normalnoj SQL sintaksi. Pravilo moemo definirati kao:

    WHEN prijelazni predikat /* dogaaj*/ [IF uvjetni predikat ] /*uvjet*/ THEN blok operacija /*akcija*/

    Gdje su: prijelazni predikat se sastoji od kljune rijei dogaaja (UPDATED, INSERTED,

    DELETED) nakon kojih slijedi ime relacije. Ukoliko se nad odreenom relacijom dogodio navedeni dogaaj predikat se ocjenjuje kao istinit te se pravilo izvodi. Vrijednost predikata i primjerenost pravila se provjerava po zavretku svake obavljene transakcije, a same akcije pravila se obavljaju tijekom jednih od slijedeih transakcija, ovisno o broju akcija u redu ekanja.

    uvjetni predikat - obina MLS SQL SELECT naredba koja predstavlja dodatni uvjet prilikom izvoenja pravila. Uvjet se smatra zadovoljen ako naredba vrati neki rezultat. SELECT naredba se moe referencirati i na one relacije nad kojima se dogodio prepoznati dogaaj.

    blok operacija niz MLS SQL naredbi koje mogu utjecati samo na podatke sa klasifikacijom osjetljivosti jednakom razini ovlatenja izvravanog pravila.

    Svako MLS pravilo je ureena n-torka koja se sastoji od niza atributa: ime, prijelaz, tj. dogaaj relacija, klasifikacija pravila, uvjet, akcija,

    Iz toga razloga pravila se pohranjuju standardnim mehanizmom pohrane,tj. u relaciji: Pravila (Ime, Prijelaz, Relacija, KP, Uvjet, Akcija, Stanje).

    MLS pravila se mogu nalaziti u jednom od dva stanja: opisnom i aktivnom. Svako pravilo je u

    opisnom stanju dok nije aktivirano sa ACTIVATE naredbom. Jednom u aktivnom stanju, pravilo se moe izvoditi. Naredbom DEACTIVATE pravilo se vraa u opisno stanje. Naredbe promjene statusa zapravo izvode SQL UPDATE naredbe kojim se mijenja status pravila.

    Izvoenje pojedinih pravila se odvija sukladno mandatnom modelu kontrole pristupa, tj. ako korisnik (tj. subjekt) sa razinom ovlatenja K promijeni relaciju r, sustav e stvoriti prijelazni predikat

  • 11

    (dogaaj) UPDATE r sa razinom K. Jedino od pravila iste ili vie razine ovlatenja od K e vidjeti dogaaj. Ista pravila vrijede i za uvjetni predikat i za blok operacija, tj. SELECT naredba uvjetnog predikata vidi samo one n-torke sa niom ili istom razinom osjetljivost, a naredbe mogu utjecati samo na podatke sa klasifikacijom osjetljivosti jednakom razini ovlatenja izvravanog pravila. Ovo je sukladno treem svojstvu integriteta pregledavanja MLS baza i zabrani pisanja na nie razine, koje je osnovno (engl. *-property rule) pravilo MAC tj. Bell-LaPadula modela [10] te osigurava povjerljivost informacija. U ovom modelu se zabranjuje i zakljuavanje podataka za pisanje na niim razinama. Zakljuavanje za itanje niih razina ne naruava navedeno pravilo ali moe dovesti do mogunosti bezrazlonog onemoguavanja pitanja niim razinama a time i skrivenog kanala (engl. covert channel) za prosljeivanje informacija.

    3.3 Usporedbasigurnosnihmodelaaktivnihbazapodataka

    Predstavljeni sigurnosni modeli razlikuju se s obzirom na koriteni model kontrole pristupa. Starburst koristi diskrecijski model koji je jednostavniji za implementaciju, dok Smith i Winslett koriste mandatni model kontrole pristupa.

    Prednost diskrecijskog modela je opa prihvaenost i dostupnost u svim sustavima za upravljanje bazama podataka. Iz tog razloga su autori IBM Starbust prototipa kao podlogu izabrali model osnovne relacijske baze podatka s diskrecijskim modelom kontrole pristupa.

    Mandatni model, a time i opisani model, imaju prednost to su temeljeni na matematiki vrlo dobro potkovanom modelu za koji se moe pokazati da ne dozvoljava nekontrolirani tok informacija, to ga ini vrlo pogodnim za sustave gdje su sigurnost i kontrola pristupa od najvie vanosti. Naalost ovaj model je iznimno kompliciran za implementaciju, koja nuno unosi i razne nove probleme i pojave (npr. viepojavnost), na to ukazuje i iznimno mali broj komercijalno dostupnih relacijskih sustava za upravljanje bazama podataka koji koriste ovaj model. U usporedbi sa Starburst modelom ovaj model prua veu fleksibilnost, mogunost kontrole ovlatenja i kontrole subjekata i objekata baze podataka.

    Najznaajnije znaajke opisanih modela su:

    Starburst model

    temeljen na relacijskom modelu, koristi diskrecijski model kontrole pristupa, koristi mehanizam privitaka, posjeduje red dogaaja, posjeduje katalog pravila, razlikuje ovlatenja na razini korisnika ili grupe, omoguuje ugnjeivanje korisnikih grupa.

    Smith i Winslettov model

    temeljen na relacijskom modelu, koristi mandatni model kontrole pristupa, omoguuje klasifikaciju osjetljivosti pravila i dogaaja.

  • 12

    4. Sigurnosneznaajkeisigurnosnimodeliobjektnoorijentiranihbazapodataka

    4.1 Uvoduobjektnoorijentiranebazepodataka

    Objektno orijentirane baze podataka (engl. Object-oriented databases - OODB) su specijalna vrsta baza podataka, koje omoguuju pohranjivanje kompleksnih tipova podataka te mogu posluiti za vjernije predstavljanje objekata stvarnog svijeta. Sustavi za upravljanje bazom podataka (SUBP) koji koriste objektno orijentirane podatke zovu se objektno orijentirani sustavi za upravljanje bazom podataka (engl. Object- Oriented Database Management Systems - OODBMS).

    Razni modeli kontrole pristupa u objektnim orijentiranim SUBP su razvijeni tijekom godina. Modeli su uglavnom temeljeni na diskrecijskom ili mandatnom modelu kontrole pristupa. Neki od modela su slijedei:

    Diskrecijski modeli o Orion model o Bertino-Weigandov model o Iris model o Model skrivanja podataka

    Mandatni modeli o Model filtriranja poruka o SORION model o Millen-Lunt model

    4.2 DACmodeli

    4.2.1 Orionmodel

    Orion model [17] je DAC model kontrole pristupa u kojem je autorizacija (ovlatenje) temeljena na ulogama (engl. roles) i grupama (engl. groups) korisnika. Subjektima tj. korisnicima se dodjeljuju uloge te ih se stavlja u grupe s obzirom na potrebu (eng. need to know basis). Svaki korisnik moe imati vie uloga i biti lan vie grupa.

    Uloge su meusobno povezane implicitnim srodnitvom (eng. Implication relationship). Kaemo da je uloga U1 implicitno srodna ulozi U2 akko autorizacijska prava uloge U1 ukljuuju sva autorizacijska prava uloge U2, tj. svi korisnici sa dodijeljenom ulogom U1 automatski imaju ulogu U2. Npr. uloga administrator ili raunovoa su implicitno srodne sa ulogom zaposlenik, jer su svi administratori i raunovoe ujedno i zaposlenici, u odreenom poslovnom okruenju. Ova zakonitost i srodnitvo zapravo ine reetku ovlasti, u kojoj korijen (izvorni vor) predstavlja uniju svih autorizacijskih prava sustava, a list (krajnji vor) osnovni skup prava zajednikih svim ulogama. Slika 1 prikazuje primjer reetke ovlasti Hasseovim dijagramom [21][22].

  • 13

    Modelovlatenjaorionmodela

    U ovom modelu objektima, nad kojim se obavlja autorizacija pojedinim subjektima, se smatraju sve baze podataka, razredi (engl. class), objekti (primjerci razreda) sa svim svojim komponentama (atributima, metodama, vrijednostima) te skupine objekata (svi primjerci iste klase). Ova mogunost autorizacije nad skupom objekata omoguuje koritenje ve postojeih autorizacijskih pravila za pojedini objekt bez potrebe definiranja novih pravila za svaki pojedini objekt iz skupa. Na primjer nije potrebno definirati jedno pravilo za razred a drugo za objekt koji je primjerak tog razreda (engl. instance).

    Isto kao i kod uloga objekti su meusobno povezani implicitnim srodnitvom. Implicitna veza dvaju objekata znai da autorizacija namijenjena jednom objektu moe biti iskoritena za drugi objekt. Iz ovog svojstva definirane su dvije strukture podataka:

    shema autorizacija objekata (engl. authorization object schema -AOS), reetka autorizacija objekata (engl. authorization object lattice -AOL),

    gdje AOS definira implicitne veze izmeu tipova objekata, a AOL veze izmeu samih objekata. Drugim rijeima AOL je primjerak AOS-a za odreeni sustav. Nadalje svaki autorizacijski objekt u AOL je primjerak jednog, i samo jednog, tipa objekta iz AOS-a.

    Orion model prepoznaje pet naina pristupa podacima:

    Pisanje (W), koje odreuje ovlatenje za promjenu objekta, Pisanje_svega (WA), ekvivalentno pisanju, itanje (R), koje odreuje ovlatenje za itanje objekta ili pokretanje metode, Generiranje (G), koje odreuje ovlatenje za stvaranje objekta na temelju nekog razreda, itanje_definicije (RD), koje odreuje ovlatenje za itanje definicije objekta.

    Kako postoje mnoge vrste objekata nisu nuno svi naini pristupa objektima jednako primjenjivi.

    Administrator

    Direktor sektora Privremeni IT specijalist

    Voditelj odjela

    Zaposlenik

    Stalni IT specijalist

    Slika 1. Primjer reetke ovlasti

  • 14

    W WA R G RD Sustav primjenjivo primjenjivo primjenjivo primjenjivo primjenjivo Baza podatka primjenjivo primjenjivo primjenjivo primjenjivo primjenjivo Razred primjenjivo primjenjivo primjenjivo neprimjenjivo primjenjivo Skupine primjeraka primjenjivo primjenjivo primjenjivo primjenjivo primjenjivo Primjerak primjenjivo primjenjivo primjenjivo neprimjenjivo primjenjivo Skup atributa primjenjivo primjenjivo primjenjivo neprimjenjivo primjenjivo Atributi primjenjivo primjenjivo primjenjivo neprimjenjivo primjenjivo

    Slino kao i kod subjekata i objekata, i modeli pristupa su meusobno povezani implicitnim srodnitvom. Implicitna veza izmeu pristupa p1 i pristupa p2 znai da pristup p1, za odreeni objekt, ukljuuje i mogunosti pristupa p2 za dotini objekt. Na primjer postoji implicitna veza izmeu pristupa itanje i Pisanje, na nain da ovlatenje za pisanje implicitno ukljuuje i ovlatenje za itanje. Naini pristupa zajedno sa ovom funkcijom implikacije ine reetku koju nazivamo reetkom tipa ovlasti (engl. authorization type lattice -ATL). Slika 2 prikazuje reetku tipa ovlasti.

    U Orion modelu svaki subjekt ovlaten za odreeni pristup nekom objektu ima pravo dodjeljivanja/prenoenja (engl. propagation) i uklanjanje tog prava drugim subjektima. Tipovi ovlasti se grupiraju u tri razreda ili grupe: A.up, koji sadri sve tipove ovlasti koje se mogu propagirati sa niih na vie objekte u AOL-u, A.down koji sadri sve tipove ovlasti koje se mogu propagirati sa viih na nie objekte u AOL-u, te A.nil, koji sadri sve tipove ovlasti koje se ne mogu propagirati. S obzirom na semantiku tipova ovlasti grupe i njihovi elementi su slijedei: A.up={WA, RD}, A.down={W,R} i A.nil={G}.

    Na temelju prikazanih implicitnih srodstva sustav automatski stvara nova ovlatenja za subjekte, objekte i naine pristupa. Sva ovlatenja definirana od strane korisnika se nazivaju eksplicitna, a sva generirana od sustava, implicitna. Nadalje ovlatenja se dijele s obzirom na ishod (pozitivna ili negativna) te s obzirom na jainu tj. konanost (jaka i slaba). Jako ovlatenje, za razliku od slabog, nije mogue promijeniti tj. opovrgnuti. Na temelju ove podjele model razlikuje dvije grupe ovlatenja, bazu ovlatenja (engl. authorization base - AB) koja sadri eksplicitna pozitivna i negativna jaka ovlatenja, te bazu slabih ovlatenja (engl. weak authorization base WAB) koja sadri eksplicitna pozitivna i negativna ovlatenja.

    W

    R

    WA

    RD

    G

    Slika 2. Reetka tipa ovlasti

  • 15

    Proces ovlatenja prvo provjerava jaka ovlatenja, eksplicitna i implicitna, te ukoliko se ne moe postii konana odluka provjeravaju se slaba ovlatenja.

    Nasljeivanje,sloeni objektiiverzije

    Nasljeivanje

    Prilikom implementacije mehanizama nasljeivanja postoje dva pristupa prenoenje ovlatenja. Prvi pristup ne ukljuuje prenoenje ovlatenja za razred na izvedeni podrazred (engl. subclass), tj. autor razreda A nee imati ovlatenja nad objektima koji su primjerci razreda B, koji je izveden iz autorovog osnovnog razreda A, bez eksplicitnog ovlatenja autora razreda B. Drugi pristup koristi obrnutu logiku, tj. autor razreda A e imati implicitna ovlatenja nad svim objektima koji su primjerci bilo kojeg razreda koji je izveden iz razreda A. Ovaj drugi pristup, zbog inherentne elje za ouvanjem provjerljivosti podataka, na odreeni nain odvraa korisnike od iskoritavanja postojeih razreda i time naruavajuu ideju i prednosti objektno orijentiranih modela.

    Orion model inicijalno koristi prvi pristup ali zadrava mogunost koritenja i drugog pristupa. Kako bi se jednoznano definiralo pravo za stvaranje podrazreda model dodaje jedan dodatni tip ovlasti, Generiranje_podrazreda (engl. Generate subclass SG). Ovlast SQ pripada grupi A.nil, tj. Ne propagira se. Slika 3 prikazuje reetku tipa ovlatenja.

    Sloeniobjekti

    Orion model uzima u obzir i sloene objekte prilikom postupaka ovlatenja, to omoguuje krovno dodijeljenu ovlast nad sloenom objektu da bude propagirana na sve komponente sloenog objekta. Na primjer subjekt ovlaten za itanje sloenog objekta ima implicitno pravo itanje svih njegovih komponenti. Ovo pravilo dodjeljivanja implicitnih prava vrijedi samo za objekte koji su dio sloenog objekta. Na primjer, ako razred R sadri razrede R1 i R2, onda prema navedenom pravilu, ovlatenje za objekt razreda C implicitno ukljuuje i ovlatenje za objekte razreda R1 i R2 koji su dio nekog objekta koji je primjerak razreda R. Naravno ovo pravilo ne podrazumijeva implicitno dodjeljivanje prava za objekte razreda R1 i R2 koji nisu dio objekta razreda R.

    Verzije

    Ovlatenja se takoer mogu dodijeliti objektima pojedinih verzija. Kako bi se ovo moglo ostvariti u modelu se proiruju AOL i AOS, te se razlikuju generiki primjerci i verzije. Definira se implicitna

    W

    R

    WA

    RD

    G

    SG

    Slika 3. Reetka tipa ovlasti

  • 16

    veza izmeu generikog primjerka i skupa verzija objekta. Ovo omoguuje koritenje standardnih pravila ovog modela za dodjelu implicitnih prava temeljenih na srodnitvu verzija.

    4.2.2 BertinoWeigandovmodel

    Bertino-Weigandov model [18] proiruje Orion sa mogunostima kontekstno-ovisne autorizacije, tj. ovlatenja i prava nad objektima ovise o svojstvima (atributima) samog objekta. Ovlasti izvedene iz drugih kontekstno-ovisnih ovlasti zadravaju svoju kontekstnu-ovisnost i sve definirane uvjete koji se provjeravaju tijekom postupka ovlatenja. Nadalje model omoguuje definiranje uvjeta za cijele razrede koji se onda provjeravaju za svaki pojedini objekt koji je primjerak tog razreda ili definiranje uvjeta za sve verzije objekata koji se onda provjeravaju za svaku pojedinu verziju objekta. Jedina iznimka su sloeni objekti kod kojih, zbog sadravanja komponenti razliitih razreda, ponekad nije mogue provjeriti sve definirane/naslijeene uvjete.

    Najvei izazov implementacije ovog modela je sama provjera uvjeta ovlasti nad atributima objekta, koja zbog promjenjivosti samih objekata mora biti obavljena tijekom izvoenja (engl. at run time) to znatno utjee na brzinu odziva sustava. Nadalje provedba provjere prava je znaajan problem koji zahtjeva pristup podacima, kako bi se mogla obaviti provjera sukladnosti sa definiranim uvjetima i prije samog dohvata i prikaza podataka subjektu. Jedno rjeenje iz svijeta relacijskih baza podatka je dodavanje potrebnih selekcijskih i filtracijskih uvjeta u sam upit. Ali u objektno orijentiranim bazama podataka gdje se podaci dohvaaju pomou metoda, koje mogu biti ugnijeene, problem nije tako lako rjeljiv. Ekvivalentno rjeenje onom iz RDBMS-a bi bilo dodavanje uvjeta u same metode koje bi onda postaje ovisne o uvjetima ovlatenja, to bi znaio promjenu metode prilikom promjene ovlasti.

    Ovdje postoje i dodati problemi konzistentnosti i cjelovitosti dodjele ovlatenja zbog promjenjive prirode samih objekata. Gdje bi promjena atributa objekta u vremenu mogla prouzroiti nekonzistentnost dodjele ovlatenja.

    4.2.3 Modeliovlatenjatemeljeninametodama

    Prethodno objanjeni objektno-orijentirani modeli, Orion i Bertino-Weigandov, se temelje na direktnom dozvoljavanju ili zabrani pristupa pojedinom objektu. Ovaj je pristup prilino nepovoljan ako se uzme u obzir jo jedno vrlo bitno svojstvo objektno-orijentiranih modela uahurivanje (engl. encapsulation). U situacijama kad je uahurivanje koriteno u svrhu skrivanja informacija (engl. information hiding) onda nije poeljno dati subjektu ovlatenje za direktni pristup informacijama, ve je bolje omoguiti pristup informacijama kroz neku metodu. U sljedeim poglavljima e biti u kratko objanjeni modeli ovlatenja temeljeni na metodama te e biti prezentirani neki predstavnici.

    4.2.3.1 Irismodel

    U Iris modelu [19] atributi i metode su zapravo funkcije, tonije atributi su ugraene funkcije (engl. stored functions) a metode izvedene funkcije (engl. derived functions). to znai da su objekti zajedno sa svojim podacima uahureni u skup funkcija koje se pozivaju prilikom dohvata podataka. Ovlatenje se obavlja na nain da se provjerava koji subjekt ima pravo pokrenuti koju funkciju. Ovlatenja se mogu definirati na razini pojedinog korisnika ili grupe korisnika, a svaki korisnik moe biti lana nula ili vie grupa, koje nadalje mogu biti ugnjedene i sadravati druge podgrupe.

  • 17

    Model podrava koncept vlasnitva, tj. korisnik koji stvori funkciju se smatra vlasnikom te ima pravo dodjeljivanja prava za pokretanje drugim korisnicima. Nadalje, posjeduje pravo prenoenja prava na dodjelu prava pristupa (engl. grant option) drugim korisnicima. Ovaj mehanizam omoguuje prenoenje prava za dodjelu prava te je u tom kontekstu vrlo slian tipinim RDBMS-ovima, s iznimkom to je ovdje taj mehanizma implementiran kao funkcija. Konkretno, to znai da pravo prenoenja prava za dodjelu pristupa nekoj funkciju f je zapravo pravo poziva funkcije za prenoenja prava sa funkcijom f kao argumentom.

    Pomou osnovnih funkcija mogu se kreirati izvedene funkcije nad kojima subjekti mogu imati definirane statine ili dinamine ovlasti. U sluaju dinaminih ovlasti, za razliku od statinih, subjekt da bi pokrenuo izvedenu funkciju mora posjedovati prava pokretanja svih osnovnih funkcija od kojih je izvedena funkcija sastavljana. Naravno autor funkcije mora posjedovati prava pokretanja svih osnovnih funkcija.

    U sluaju prenoenja prava korisnik sa pravom prenoenja nad funkcijom sa definiranom statikom ovlasti, moe prenijeti svoje pravo jedino ako posjeduje prava za pokretanje svih osnovnih funkcija. Dok u sluaju dinamikog prava korisnik moe prenijeti svoj pravo neovisno o posjedovanju prava za pokretanje osnovnih funkcija. Ovim se osigurava povjerljivost informacija i namee odgovornost za dodjeljivanje prava korisniku, koji ne moe dodijeliti neko prvo koje ni sam na posjeduje.

    Izvedene funkcije se mogu upotrebljavati za postizanje kontekstno-ovisne autorizacije na nain da izvedena funkcija obavlja neke provjere te omoguuje pristup, inae nedostupnim, funkcijama sa unaprijed definiranim i ogranienim podskupom argumenata. Naravno ovdje vrijedi opaska iz poglavlja 4.2.2 da prilikom promjene ovlatenja je potrebno mijenjati i funkciju.

    Iris model uzima u obzir i vieoblije (engl. polymorphism) funkcija te razlikuje generike i specifine funkcije (engl. generic and specific functions). Uz svaku generiku funkciju asocirano je vie specifinih funkcija (ovisno o tipu/razredu) o kojih se samo jedna poziva tijekom poziva generike funkcije. U terminologiji objektnih orijentiranih modela se naziva dinamiko ili kasno povezivanje (engl. dynamic/late binding). Ovlatenja za pokretanje funkcija se mogu definirati za generike i specifine funkcije. Ukoliko je ovlatenje definirano na razini specifinih funkcija, prilikom pokretanja generike funkcije odabire se specifina funkcija te se provjerava ovlatenje za pokretanje odabrane funkcije. Postupak odabira specifine funkcije moe ali i ne mora ovisiti o ovlatenju inicijatora (korisnika) generike funkcije. Ovaj model raspoznaje i zamjenske funkcije (engl. proxy function) koje pruaju drugaije implementacije specifinih funkcija za drugaije korisnike. Prilikom poziva funkcije, ovisno i korisniku, poziva se drugaija zamjenska funkcija o potencijalno drugaijim rezultatom.

    Za svaku funkciju se takoer mogu definirati takozvane uvarske funkcije (engl. guard functions). uvarske funkcije su binarne funkcije koje samo itaju neke podatke (engl. read-only), te se ovisno o rezultatu njihovog izvoenja dozvoljavaju ili zabranjuju poziv funkcije koja se titi/uva uvarskom funkcijom. Ovo funkcije su korisne u evaluaciji uvjeta koji su neovisni o podacima koji se dohvaaju traenom funkcijom. Naravno zbog injenice da i same uvarske funkcije svoju odluku temelje na temelju nekih dohvaenih podataka i one same mogu biti uvane drugim uvarskim funkcijama (naravno uvarska funkcija ne moe uvati sama sebe).

  • 18

    4.2.3.2 Modelskrivanjapodataka

    Ovaj model [20] namee koncept privatnih metoda (engl. private method) i javnih metoda (engl. public method), u svrhu kontrole pokretanja metoda, te koncept zatienog naina izvoenja (engl. Protected mode) koji omoguuje da se prilikom dodjele ovlasti za pokretanje odreene metode m ne trebaju dodijeliti ovlasti za pokretanje ostalih metoda koje pokree metoda m. Kako je model temeljen na dodjeli ovlasti korisnicima za pokretanje metoda nad objektima, ovlatenja za pokretanje javnih metoda definirana su ureenom trojkom (objekt, subjekt/korisnik, metoda).

    Razlika izmeu privatnih i javnih metoda je ta da privatne metode mogu pokretati samo druge metode a javne su namijenjene samim subjektima. Postoje dodatna ogranienja na pozivanje privatnih metoda, tj. samo unaprijed predodreene metode smiju pokretati metodu. Ovaj skup metoda koje imaju ovlatenje pokretati neku drugu metodu naziva se opseg poziva (engl. invocation scope).

    Svaki objekt u ovom modelu ima jedinstvenog autora koji ne mora biti isti tijekom vremena, ve se autor moe svoj status prenijeti na drugog. Uz autora svaki objekt moe ima cijeli skup vlasnika koji imaju administratorske ovlasti nad objektom. Autor i vlasnici imaju pravo dodjeljivanje i oduzimanje prava drugim korisnicima. Uz iznimku da vlasnici mogu oduzeti samo ona prava koja su sami dodijelili.

    Kako se i u ovom modelu metoda moe sastajati od vie drugih javnih metoda, za ije izvoenje korisnik ne mora nuno biti ovlaten, model uvodi koncept zatienog naina izvoenja metoda. Ovaj mehanizam omoguuje autoru ili vlasniku da dodjeli korisniku ovlasti za pokretanja metode bez eksplicitne dodjele ovlasti za pokretanje pozivajui javnih metoda, na nain da dozvoli pokretanje metode pod svojim ovlastima. Ovaj koncept je vrlo slian set user-id pokretanju aplikacija u UNIX operacijskim sustavima.

    4.2.4 UsporedbaDACmodela

    Orion model, uz tradicionalno prisutna svojstva DAC temeljenih baza podataka, prua i napredna objektno orijentirana svojstva kao to je nasljeivanje. Bertino-Weigandov model nadopunjuje Orion model uvodei kontekstno-ovisnu autorizaciju, koja znatno proiruje mogunosti modela i omoguuje veu kontrolu prilikom procesa ovlatenja. Model naalost ne definira nain provedbe kontekstno-ovisne autorizacije. Oba modela ne uzimaju u obzir objektno orijentirano svojstvo uahurivanja.

    Iris i model skrivanja podataka se temelje na definiranju metoda za pristup podacima to omoguuje adekvatnu provedbu kontekstno-ovisne autorizacije. Iris je vrlo sloen model koji kroz vieoblije i mogunost definiranja statinih i dinamikih ovlasti omoguuje finu granulaciju i specifikaciju ovlasti. Model skrivanja podataka, isti problem provedbe kontekstno-ovisne autorizacije, rjeava na vrlo slian nain. Umjesto kompleksnih statinih i dinamikih ovlasti definira razlikovanje privatnih i javnih metoda te mogunost provjerenog koncepta zatienog naina izvoenja.

  • 19

    Osnove razlike i slinosti modela su slijedee:

    Orion model o Autorizacija temeljena na ulogama (engl. roles) i grupama (engl. groups) o Izvoenje novih autorizacija iz postojeih o Uzima u obzir semantike aspekte OODB

    Bertino-Weigandov model o Nadogradnja Orion modela o Kontekstno-ovisna autorizacija (engl. Content-dependent authorization)

    Iris model o Model ovlatenja temeljen na metodama o Svojstvo uahurivanja o Autorizacija korisnika ili grupa korisnika o Atributi su ugraene funkcije (engl. stored functions) o Vieoblije (engl. polymorphism) metoda i dinamiko povezivanje (engl. dynamic/late

    binding) o Kontekstno-ovisna autorizacija (engl. Content-dependent authorization)

    Model skrivanja podataka o Model ovlatenja temeljen na metodama, o Privatne i javne metode (engl. private and public methods), o Koncept zatienog naina izvoenja (engl. Protected mode)

    4.3 MACmodeli

    4.3.1 Modelfiltriranjaporuka

    Model filtara poruka [14] je model sa mandatnim modelom kontrole pristupa. Kako, sukladno sa naelima objektno-orijentiranih modela jedini nain komunikacije objekata je prosljeivanje poruka, ovaj model se temelji kontrolu pristupa i mehanizam ovlatenja na filtriranju poruka. Kako je ovaj model mandatne prirode te prati naela Bell-LaPadula modela [1], koji razlikuje objekte koji sadre informacije te subjekte koji pristupaju tim informacijama, u ovom modelu obje uloge preuzimaju objekti objektnog modela.

    Sukladno Bell-LaPadula modelu svakom objektu se dodjeljuje sigurnosna razina prilikom stvaranja, koja, u skladu sa principom spokojstva (engl. tranquility principle), ostaje nepromijenjena tijekom ivotnog vijeka objekata.

    Dodatno navedenom svojstvu jo dva svojstva su definirana u modelu. Prvo osigurava da je sigurnosna razina objekta ista ili via od razreda kojem objekt pripada. Drugo osigurava da je sigurnosna razina podrazreda ista ili via od osnovnog razreda. Ova svojstva nisu definirana kako bi se osigurala povjerljivost informacija ve kako bi se osiguralo nesmetan rad sa sustavom. Ukoliko ova svojstva ne bi bila zadovoljena onda korisnik objekta, koji je primjerak nekog podrazreda, ne bi mogao koristiti metode i podatke definirane u osnovnom razredu.

    U ovom modelu moemo razlikovati dva tipa toka informacija (engl. information flow), dvosmjerna komunikacija izmeu dvaju objekata te jednosmjerna obavijest prilikom kreiranja objekta. Nadalje

  • 20

    moemo razlikovati direktnu i indirektnu komunikaciju objekata. Direktna komunikacije je jednostavna i predstavlja komunikaciju dvaju objekata u kojoj jedan objekt inicira komunikaciju slanjem poruke koju drugi objekt uzvraa. Indirektna komunikacija dvaju objekata nuno ukljuuje trei objekt koji posreduje u komunikaciji. Tijekom komunikacije sam primitak poruke ne znai nuno i prijenos tj. ostvareni tok informacije. Da li se prijenos ostvario potrebno je zapisati primjenu informaciju u primajui objekt, tj. promijeniti atribut objekta. Ukoliko se promjena ne ostvari komunikacija i sam tok informacija nazivamo neefektivnim (engl. ineffective).

    U svrhu pristupa internim podacima objekta (atributima) model definira tri obavezna tipa ugraenih poruka:

    poruka itanja, koja dohvaa traeni atribut i vraa njegovu vrijednost, poruka pisanja, koja dodjeljuje traenom atributu poslanu vrijednost i poruka kreiranja, koja kreira novi objekt, dodjeljuje traenu sigurnosnu razinu, obavlja

    inicijalizaciju atributa na traene vrijednosti te vraa sam novonastali objekt.

    Kao to je ve spomenuto, model se temelji na presretanju poruka izmeu dvaju objekata i primjeni nekih restrikcija. Jednom presretnuta poruka se moe blokirati, propustiti bez ili uz dodatna ogranienja prilikom izvoenja. Odluka se bazira na temelju sigurnosnih razina objekta poiljatelja i primatelja te nekih dodatnih parametara. Postupak filtriranja ovog modela zahtijeva da svi objekti budu jednorazinski, tj. da svi elementi objekta imaju istu sigurnosnu razinu.

    Postoji pristup modeliranju vierazinskih podataka pomou jednorazinskih objekata, koji se temelju na svojevrsnoj dekompoziciji objekta s obzirom na sigurnosne razine. Konkretno pristup je sljedei, ukoliko jedan objekt ima podatke sa dvije ili vie razliitih sigurnosnih razina objekt se dijeli na onoliko objekata koliko ima razliitih sigurnosnih razina. Time se postie predstavljanje istih podatka pomou niza jednorazinskih objekata.

    4.3.2 SORIONmodel

    SORION je model [15] ovlatenja koji nadograuje Orion objektni model sa mandatnim kontrolama pristupa u skladu sa Bell-LaPadula modelom [10]. Model u kontekstu ovlatenja razlikuje subjekte, koji pristupaju sustavu i posjeduju sigurnosnu razinu, objekte, koji takoer posjeduju sigurnosnu razinu i u kontekstu objektno-orijentiranih modela mogu biti razredi, objekti, sloeni objekti, varijable i metode, te naine pristupa kao to su itanje, pisanje i pokretanje.

    Kontrola i postupak ovlatenja model se temelji na sljedeim pravilima:

    Subjekt moe itati podatak samo ako je njegova sigurnosna razina vea ili jednaka sigurnosnoj razini podatka. Ovo svojstvo je sukladno jednostavnom sigurnosnom pravilu (engl. simple security rule) Bell-LaPadula modela koji spreava itanje informacija vieg nivoa (engl. no read up)

    Subjekt moe pisati podatak samo ako je njegova sigurnosna razina jednaka sigurnosnoj razini objekta. Ovo svojstvo je sukladno jakom zvjezdica pravilu (engl. strong *-property rule) Bell-LaPadula modela koji spreava pisanje informacija na nivo razliiti on onog s kojeg je informacija proitana. Svojstvo proizlazi i dodatno ograniava zvjezdica pravilo (engl. *-

  • 21

    property rule) Bell-LaPadula modela koji spreava pisanje informacija na nii sigurnosni nivo (engl. no write down).

    Subjekt moe pokretati samo one metode ije sigurnosna razina je nia ili jednaka sigurnosnoj razini subjekta i tipa nad kojim je metoda definirana. Ovo svojstvo proizlazi iz prvog svojstava i primjenjuje se na metode, te zbog ovog svojstva subjekt ne moe vidjeti metode koje nije ovlaten da pokree.

    Jednom pokrenuta metoda se izvodi sa ovlatenjem subjekta koji ju je pokrenuo. Ovo svojstvo osigurava provedbu prethodnih svojstva tijekom izvoenja metoda.

    Metoda prilikom izvoenja moe pokrenuti drugu metodu jedino ako je njezina sigurnosna razina iste ili vie razine od pozivajue metode i tipa nad kojim je definirana pozivajua metoda.

    Ukoliko metoda tijekom svog izvoenja kreira objekt, objektu se dodjeljuje sigurnosna razina subjekta koji je pokrenuo metodu.

    Uz navedena svojstva u modelu su definirani aksiomi koji su zadovoljeni. Aksiomi ukljuuju koritenje jednorazinskih objekta, svojstva definirana kao dodatna u modelu filtriranja poruka i slina. Za detalje vidjeti [15].

    Slino kao u prethodnom modelu SORION model podrava samo jednorazinske objekte. Vierazinski podaci se mogu modelirati pomou jednorazinskih objekata, slino kao u prethodno opisanom modelu. Ovdje moemo razlikovati nekoliko vrsta modeliranja vierazinskih podataka jednorazinskim. Razlikujemo situacije u kojima su:

    atributi razreda imaju konstante ali potencijalno razliite sigurnosne razine, sigurnosna razina atributa ovisi o konkretnom podatku koji se pohranjuje, skupina agregiranih podatka ima veu sigurnosnu razinu on pojedinih cjelina

    Navedene vrste vierazinskih podataka se modeliraju na razne naine koji prvenstveno poivaju na primjeni svojevrsne kompozicije i dekompozicije objekta s obzirom na sigurnosne razine te provoenju pravila domenskog integriteta.

    4.3.3 MillenLuntmodel

    Slino SORION modelu Millen-Lunt model [16] je objektni model sa mandatnim kontrolama pristupa u skladu sa Bell-LaPadula modelom [10][1] koji temelju ovlatenje je na metodama. Model u kontekstu ovlatenja razlikuje subjekte, objekte te naine pristupa.

    Subjekte predstavljaju svi entiteti koji su u mogunosti slati poruke i pokretati metode prilikom primitka poruka. Prilikom primanja poruke objekt stvara privremeni subjekt koji e obraditi poruku. Novonastali objekt dobiva sigurnosnu razinu jednakom veoj vrijednosti sigurnosne razine objekta stvaraoca i subjekta koji je poslao poruku. Objekti su, u kontekstu objektno-orijentiranog modela, objekti i razredi koji posjeduju sigurnosnu razinu i iskljuivo su jednorazinski. Atributi i metode objekata ne posjeduju zasebnu sigurnosnu razinu ve su klasificirani sa istom razinom kao i sam objekt. Objekti se stvaraju pozivajui metodu create, koja je definiran u izvornom razredu (engl. root class), nad eljenim razredom. Kao je ovaj model baziran na metodama pristup je definiran kroz ovlatenja za pokretanje metoda. Postoje pet osnovnih metoda sustava (engl. system methods):

  • 22

    Kreiraj (engl. Create), koja stvara novi primjerak razreda, Brii (engl. Delete), koja brie objekt Dodaj_poruku (engl. Addmessage), koja alje poruku itaj (engl. Getvar), ita vrijednost atributa objekta, Pii (engl. Setvar), zapisuje vrijednost u atribut objekta.

    Kao to je navedemo model prati pravila Bell-LaPadula model te definira est svojstva (aksioma) koje osiguravaju potivanje ovog pravila. Svojstva su sljedea:

    Svojstvo hijerarhije (engl. hierarchy property) o Sigurnosna razina objekta mora biti vea ili jednaka (dominirati) one razreda objekta

    Svojstvo sigurnosne razine subjekta (engl. subject level property) o Sigurnosna razina subjekta mora dominirati razinu objekta vlasnika i subjekta koji je

    poslao poruku Svojstvo lokalnosti objekta (engl. object locality property)

    o Subjekt moe itati i pisati iskljuivo po vlastitim podacima objekta, tj. pokretati samo lokalne metode

    Zvjezdica svojstvo (engl. *-property) o Subjekt moe pisati podatke u vlastiti objekt samo jako je njegova sigurnosna razina

    jednaka onoj objekta Svojstvo povratne vrijednosti (engl. return value property)

    o Subjekt moe vratiti povratnu vrijednost pozivajuem subjektu samo posjeduje istu sigurnosnu razinu

    Svojstvo stvaranja objekta (engl. object creation property) o Sigurnosna razina novostvorenog objekta mora dominirati sigurnosnu razinu subjekta

    koji je inicirao stvaranje

    Slino prethodnim modelima i ovaj model podrava samo jednorazinske objekte pomou kojih se mogu modelirati vierazinski. Metode se sline ve spomenutim.

    4.3.4 UsporedbaMACmodela

    Model filtriranja poruka je model koji se temelji na mandatnom modelu kontrole pristupa i mehanizmu filtriranja poruka izmeu objekata. Sukladno mandatnom modelu objektima i subjektima se dodjeljuju sigurnosne razine prema kojima se obavlja proces ovlatenja. Nadalje model iskoritava blagodati objektno orijentiranih modela kao to je nasljeivanje.

    SORION model nadograuje ORION model primjenom mandatnih kontrola pristupa, to znai da ne podrava kontekstno-ovisnu autorizaciju, ali omoguuje nasljeivanje.

    Millen-Lunt model, slino Iris modelu i modelu skrivanja podataka, se temelji na metodama te prosljeivanju poruka.

    Sva tri modela ne podravaju vierazinske podatke koji proizlaze iz striktne primjene Bell-LaPadula modela.

  • 23

    Znaajke pojedinih modela su:

    Model filtriranja poruka o Temelji kontrolu pristupa i mehanizam ovlatenja na filtriranju poruka o Prati naela Bell-LaPadula modela o Podrava jednorazinske objekte

    SORION model o Nadogradnja Orion model sa mandatnim pristupom o Prati naela Bell-LaPadula modela o Podrava jednorazinske objekte

    Millen-Lunt model o Prati naela Bell-LaPadula modela o Podrava jednorazinske objekte o Model ovlatenja baziran na metodama o Atributi i metode poprimaju klasifikaciju objekta

    5. Zakljuak

    Modeli kontrole pristupa u aktivnim kao i u objektno orijentiranim bazama podatka ukazuju na injenicu da mandatni modeli pruaju viu razinu matematiki pokazljive sigurnosti, ali uz znatno kompliciranje i oteavanje implementacije sustava. Svi modeli imaju svoje mane i prednosti kao i specifinosti na koje treba obratiti panju prilikom dizajniranja sustava. Kako objektni orijentirani modeli baza podataka prate osnovne koncepte objektno orijentiranih baza podatka (nasljeivanje, vieoblije i uahurivanje) koji posjeduju inherentna svojstva zatite podataka i kontrole izvoenja, predstavljaju primjereniju podlogu primjene sloenih metoda kontrole pristupa.

  • 24

    Literatura

    [1] E. F. Codd, Derivability, Redundancy and Consistency of Relations Stored in Large Data Banks, IBM Research Report RJ599, San Jose, SAD, June 1969.

    [2] J. Gray, "The transaction concept: Virtues and limitations", iz zbornika radova internacionalne konferencije Very Large Data Bases, pp 144154, Cupertino, SAD, Rujna 1981.

    [3] T .H. Hinke, M. Schaefer, Secure Data Management System, Tech. Report RADC-TR-75-266, System Development Corp., studeni. 1975.

    [4] A. Galinovi, V. Antoni, Polyinstantiation in Relational Databases with Multilevel Security, iz zbornika radova 29. Internacionalne konferencije Information Technology Interfaces (ITI), Cavtat, Croatia, Lipanj 2007

    [5] L.M. Haas, J.C. Freytag, G.M. Lohman, H. Pirahesh, "Extensible Query Processing in Starburst", Iz zbornika radova ACM SIGMOD, Portland, Oregon, SAD, Svibanj 1989.

    [6] L.M. Haas, W. Chang, G.M. Lohman, J. McPherson, P.F. Wilms, G. Lapis, B. Lindsay, H. Pirahesh, M. Carey, and E. Shekita, "Starburst Mid-Flight: As the Dust Clears", IEEE Trans. on Knowledge and Data Engineering, Travanj 1990, pp. 143-160. IBM Research Report RJ7278, San Jose, SAD ,Jan. 1990.

    [7] J. Widon, R.J. Cochrane, B.G. Lindsay, Implementing Set-Oriented Production Rules as an Extension to Starburst, iz zbornika radova 17. VLDB konferencije, Barcelona, Rujan 1991

    [8] http://www.almaden.ibm.com/cs/starwinds/starburst.html [9] http://user.it.uu.se/~torer/kurser/dbt/adb.pdf [10] D.E Bell, L.J. La Padula, Secure Computer Systems: Unified Exposition and Multics Interpretation, MTR2997,

    The MITRE Corporation, Bedford, SAD, Srpanj 1975. [11] K. Smith, M. Winsleet, Entity modeling in the MLS relational model, iz zbornika radova 18. VLDB

    konferencije, Vencouver, Kolovoz 1992 [12] K. Smith, M. Winsleet, Multilevel secure rules: integrating the Multilevel Secure and active data model, iz

    zbornika radova 6. Working Conf. on Database Security, Vencouver, Kolovoz 1992 [13] S. Jajodia, R. Sandhu, "Toward a multilevel secure relational data model'' iz knjige Information Security: An

    Integrated Collection of Essays, M. Abrams et al., eds., IEEE Computer Society Press (1995), pp. 460-492. [14] S. Jajodia, B. Kogan, R. Sandhu, A multilevel-secure object-oriented data model, Technical report, George

    Mason Universety, SAD [15] M. B. Thuraisingham, Mandatory security in object-oriented data model, iz zbornika radova konferencije

    Object-Oriented Programming: Systems, Languages, and Application (OOPSLA), Listopad 1989 [16] J.K. Millen, T.F. Lunt, Security for object-oriented database systems, iz zbornika radova IEEE konferencije

    Security and Privacy, Oakland, SAD, Lipanj 1992. [17] F. Rabitti, E. Bertino, W. Kim, D. Woelk, A Model of Authorization for Next-Generation Database Systems,

    ACM TODS, 16 (1), Travanj 1991, [18] E. Bertino, H. Weigand, An approach to authorization modeling in object-oriented database systems, Data and

    Knowledge Enqineering, 12(1) NorthHolland, 1994 [19] R. Ahad , J. Davis , S. Gower , P. Lyngbk , A. Marynowski , E. Onuegbe, Supporting Access Control in an

    Object-Oriented Database Language, iz zbornika radova 3. Internacionalne konferencije Extending Database Technology: Advances in Database Technology, p.184-200, Oujak, 1992

    [20] E. Bertino, Data hiding and security in an object-oriented database system, Iz zbornika radova 8. IEEE internacionalne konferencije Data Engineering, 1992

    [21] http://en.wikipedia.org/wiki/Hasse_diagram [22] http://mathworld.wolfram.com/HasseDiagram.html