Transcript prezentácia
Modely bezpečnosti, Bell la-Padula, Biba a iné Doc. Ing. Ladislav Hudec, CSc 1 Bell-LaPadulov (BLP) model dôvernosti Je pravdepodobne najznámejší bezpečnostný model, bol vyvinutý v časoch začiatočných spoločných snáh návrhu bezpečného viacpoužívateľského operačného systému. Ak tieto systémy spracovávali klasifikované informácie v rôznych bezpečnostných úrovniach, systémy museli presadzovať viacúrovňovú bezpečnostnú (MLS – Multi Level Security) politiku. o BLP je model konečného automatu zachytávajúci aspekty dôvernosti pri riadení prístupu. o Prístupové oprávnenia sú definované prostredníctvom matice riadenia prístupu a tiež prostredníctvom bezpečnostných úrovní. o Bezpečnostné politiky bránia toku informácií nadol z vyššej bezpečnostnej úrovni do nižšej bezpečnostnej úrovni o BLP berie do úvahy iba informačný tok, ktorý sa vyskytuje keď subjekt sleduje (pozoruje) alebo mení objekt. BLP model predpokladá: o S – množina subjektov s prvkami s o O – množina objektov s prvkami o o A – množina prístupových operácií (execute-vykonaj, read-čítaj, write-zapíš a appendpripoj tiež zápis naslepo) o L – množina bezpečnostných úrovní s čiastočným usporiadaním ≤. 2 Bell-LaPadulov (BLP) model dôvernosti Chceme využiť stav systému na kontrolu jeho bezpečnosti. To znamená, že množina stavov systému musí zachytiť všetky aktuálne inštancie subjektov pristupujúcich objekty a všetky aktuálne oprávnenia. o o o Môžeme použiť tabuľku na zaznamenanie, ktorý subjekt má v danom čase prístup ku ktorému objektu (riadky tabuľky predstavujú subjekty a stĺpce tabuľky predstavujú objekty a položka v tabuľke predstavuje prístupovú operáciu, ktorú aktuálne subjekt nad objektom vykonáva) Túto tabuľku možno vyjadriť zoznamom trojíc (s, o, a), kde s je subjekt aktuálne vykonávajúci operáciu a nad objektom o. Trojica je elementom kartézkeho súčtu S x O x A. V BLP modeli sa štandardne označuje písmenom b tabuľka aktuálnych prístupových operácií a písmenom B množina všetkých takýchto tabuliek. Matica aktuálnych prístupových oprávnení je zapísaná ako M = (Mso), kde s je z množiny subjektov S a o je z množiny objektov O. Označíme M ako množinu všetkých matíc prístupových oprávnení. (Subjekt v danom čase aktuálne vykonáva operáciu nad objektom iba v rámci aktuálnych prístupových oprávnení.) BLP model používa tri funkcie na pridelenie bezpečnostnej úrovne subjektom alebo objektom: o fS: S ->L dáva maximálnu bezpečnostnú úroveň, ktorú každý subjekt môže mať o fC: S ->L dáva aktuálnu bezpečnostnú úroveň každého subjektu o Maximálna bezpečnostná úroveň subjektu sa niekedy nazýva previerka subjektu (clearance of subject). Niektoré zdroje používajú previerku iba na označenie bezpečnostnej úrovni používateľov. Aktuálna bezpečnostná úroveň subjektu nemôže byť vyššia ako je maximálna úroveň, teda fC≤fS a vyjadrené slovne fS dominuje fC 3 fO: O ->L dáva bezpečnostnú klasifikáciu každého objektu. Bell-LaPadulov (BLP) model dôvernosti K vôli jednoduchosti bude f označovať trojicu (fS,fC,fO). F je podmnožinou kartézského súčinu LS x LS x LO a označuje množinu všetkých možných priradení bezpečnostných úrovní. Spojením všetkých vyššie uvedených stavových informácií definujeme zdanlivo komplikovanú stavovú množinu ako B x M x F. o Individuálny stav bude daný trojicou komponentov (b, M, f). o Definovanie množiny stavov je zásadná záležitosť v BLP. o Nemusíme opisovať vstupy a výstupy alebo presnú štruktúru stavových prechodov na to, aby sme dostali BLP bezpečnostné vlastnosti. Bezpečnostné politiky: o o BLP definuje bezpečnosť ako vlastnosť stavov. Politiky MLS dovoľujú subjektu čítať objekt iba vtedy, ak bezpečnostná úroveň subjektu dominuje bezpečnostnej klasifikácii objektu. Takéto MLS politiky sa tiež nazývajú MAC (Mandatory Access Control – direktívne riadenie prístupu) politiky. Jednoduchá bezpečnostná vlastnosť (simple security property – ss property) Stav (b, M, f) vyhovuje jednoduchej bezpečnostnej vlastnosti, ak pre každý prvok (s,o,a)єb, kde prístupová operácia a je read alebo write, bezpečnostná úroveň subjektu s dominuje bezpečnostnej klasifikácii objektu o, t.j. fO(o) ≤ fS(s). V jednoduchej bezpečnostnej vlastnosti vystupujú subjekty ako pozorovatelia (sledovatelia). Politika vyjadruje tradičnú politiku nečítania nahor (subjekt môže čítať alebo zapisovať dokument s nižšou alebo rovnakou bezpečnostnou klasifikáciou než je úroveň subjektu). Čo v prípade, že subjekt má k dispozícii pamäť alebo kanál, ktorým môže prenášať informácie 4 medzi objektami? Bell-LaPadulov (BLP) model dôvernosti Bezpečnostné politiky: o *vlastnosť (star property) Potrebujeme politiku na riadenie zápisu. Zápis subjektov do objektov nižšej úrovni môže spôsobovať nové problémy (ak predtým čítali z objektu vyššej úrovni). Takáto politika by mala zabezpečiť, že subjekt s vysokou úrovňou by nemal byť schopný poslať správu subjektu s nižšou úrovňou. Toto obmedzenie je možné obísť dvomi spôsobmi a to dočasne znížiť vysokú úroveň (toto je dôvod na zavedenie aktuálnej bezpečnostnej úrovni fC ) alebo identifikovať množinu subjektov, ktorým je dovolené porušiť *vlastnosť (tieto subjekty sa nazývajú dôveryhodné subjekty). BLP zahrňuje politiku nezapisovania dolu, ktorá referencuje aktuálnu bezpečnostnú úroveň fC . Stav (b, M, f) vyhovuje *vlastnosti, ak pre každý prvok (s,o,a)єb, kde prístupová operácia a je append alebo write, aktuálna bezpečnostná úroveň subjektu s je dominovaná bezpečnostnou klasifikáciou objektu o, t.j. fC(s) ≤ fO(o). Navyše, ak existuje prvok (s,o,a)єb, kde prístupová operácia a je append alebo write, potom musí platiť fO(p) ≤ fO(o) pre všetky objekty p pre (s,p,a)єb, kde prístupová operácia a je read alebo write. Vyššia zápis Bezpečnostná klasifikácia zápis S1 čítanie Nižšia Zápis je možný, ak nie je prístup čítania do objektu s vyššou klasifikáciou O3 O1 O2 čítanie S3 zápis O6 5 Bell-LaPadulov (BLP) model dôvernosti Bezpečnostné politiky: o Vlastnosť voliteľnej bezpečnosti (discretionary security property). Oranžová kniha (Orange book) používa politiku voliteľného riadenia prístupu (DAC – Discretionary Access Control), v ktorej riadenie prístupu je založené na pomenovaných používateľoch a pomenovaných objektoch. Subjekt vlastniaci prístupové oprávnenie môže preniesť toto povolenie na iné subjekty. V BLP sú takéto politiky vyjadrené maticou riadenia prístupu a uchopené vlastnosťou voliteľnej bezpečnosti (ds-property) Stav (b, M, f) vyhovuje vlastnosti voliteľnej bezpečnosti, ak pre každý prvok (s,o,a)єb je aєMso Základný teorém bezpečnosti: o o Stav (b, M, f) sa nazýva bezpečný ak sú splnené vlastnosti ss-, *- a ds-. Prechod zo stavu v1 =(b1, M1, f1) do stavu v2 =(b2, M2, f2) sa nazýva bezpečný, ak oba stavy v1 a v2 sú bezpečné. Ktoré kontroly sa musia vykonať na stanovenie či nový stav je bezpečný si ukážeme na príklade ss-vlastnosti. Stavový prechod zachováva ss-vlastnosť vtedy a len vtedy, ak o o Každý prvok (s,o,a)єb2\b1 splňuje ss-vlastnosť vo vzťahu k f2 (b2\b1 označuje množinu rozdielu b2 a b1 ). Ak (s,o,a)єb1 nesplňuje ss-vlastnosť vo vzťahu k f2 , potom (s,o,a) nie je prvkom b2. Zachovanie vlastností *- a ds- sa môže opísať podobným spôsobom. Základný teorém bezpečnosti: Ak všetky stavové prechody v systéme sú bezpečné a ak iniciálny stav systému je bezpečný, potom každý následný stav bude tiež bezpečný bez ohľadu na vstup. 6 Formálny dôkaz teorému by sa vykonal indukciou podľa dĺžky vstupnej sekvencie. Bell-LaPadulov (BLP) model dôvernosti Základný teorém bezpečnosti: o o o Je výsledok modelovania stavovým automatom a nie dôsledok špecifických bezpečnostných vlastnosti vybratých v modele BLP. V praxi limituje potrebné úsilie potrebné na verifikáciu bezpečnosti systému. Je prípustné kontrolovať každý stavový prechod individuálne, aby sa preukázalo zachovanie bezpečnosti, a je nevyhnutné iniciálny stav identifikovať ako bezpečný. Pokiaľ systém štartuje v bezpečnom iniciálnom stave, potom zostáva bezpečný. 7 Bibov model integrity Uvažujme politiky integrity, ktoré označia subjekty a objekty elementami zo zväzu integrity úrovní (L,≤) a bránime korupcii „čistých“ vysokoúrovňových entít „špinavými“ nízkoúrovňovými entitami. o o o o Ak nejaká osoba je známa ako nedôveryhodná (nízka úroveň integrity) a táto osoba vytvorí alebo modifikuje dokument Ďalšie osoby by nemali dôverovať tvrdeniam v dokumente (dokument má nízku integritu) To znamená, že nedôveryhodný subjekt (nízka úroveň integrity), ktorý má prístup zápisu do objektu, redukuje integritu objektu Nízka integrita zdrojového objektu implikuje nízku integritu každého objektu, ktorý je vytvorený na tomto objekte. Informácie môžu vo zväze integrity tiecť iba smerom nadol. Podobne ako v BLP sa budeme zaoberať iba tokom informácií spôsobenom priamo prístupovými operáciami. Používané označenia „čistý“ a „špinavý“ je označenie pre vysoký a nízky stupeň integrity. Biba model: o Formalizuje takýto typ politiky integrity o Je to konečný automat podobný ako v BLP a budeme používať matematický zápis uvedený skôr o Priradenie úrovní integrity subjektom a objektom je dané funkciami fS: S ->L a fO: O ->L o Na rozdiel od BLP tu neexistuje jediná najvyššia integrita (v politike integrity) 8 Bibov model integrity Statické úrovne integrity: o Môžeme stanoviť politiku integrity, v ktorej sa úrovne integrity nemenia. Nasledujúce dve politiky bránia čistým subjektom a objektom, aby boli zašpinené špinavými informáciami o Jednoduchá vlastnosť integrity – ak subjekt s chce modifikovať (zmeniť) objekt o, potom fO(o)≤fS(s). (Žiaden zápis nahor) *vlastnosť integrity - ak subjekt s chce čítať (sledovať) objekt o, potom s môže mať prístup zápisu do objektu p iba vtedy, ak fO(p)≤fO(o). Tieto dve vlastnosti integrity sú duálne k direktívnym BLP politikám a predstavujú základ tvrdenia, že integrita je duálna k dôvernosti. Dynamické úrovne integrity: o Nasledujúce dve vlastnosti integrity automaticky nastavia úroveň integrity entity, ak prichádza do kontaktu s informáciou nízkej úrovni. Úroveň integrity inf(fS(s),fO(o)) je najvyššia nízka úroveň pre fS(s) a fO(o), je to dobre definované, pokiaľ narábame so zväzom úrovní integrity. o Vlastnosť nízkej značky subjektu – subjekt s môže čítať (sledovať) objekt o ľubovoľnej úrovne integrity. Nová úroveň integrity subjektu potom je inf(fS(s),fO(o)), kde fS(s) a fO(o) sú úrovne integrity pred operáciou. Vlastnosť nízkej značky objektu – subjekt s môže modifikovať (meniť) objekt o ľubovoľnej úrovne integrity. Nová úroveň integrity objektu potom je inf(fS(s),fO(o)), kde fS(s) a fO(o) sú úrovne integrity pred operáciou. Toto sú dva príklady politík s dynamicky sa meniacimi prístupovými právami. Pretože úroveň integrity sa môže iba znižovať, existuje nebezpečie, že všetky subjekty a objekty prípadne skončia na najnižšej úrovni integrity. 9 Bibov model integrity Politiky na vyvolanie: o Model Biba môže byť rozšírený tak, aby zahrnul operáciu prístupu typu vyvolanie. Subjekt môže vyvolať iný objekt (napríklad softvérový nástroj na prístup k objektu). Toto je krok k formulovaniu riadenia prístupu na prechodovej vrstve. Akým typom politiky by sa malo riadiť vyvolanie? Ak chceme mať istotu, že vyvolanie neobíde direktívnu politiku integrity, môžeme do politík pridať o o Subjektom je dovolené vyvolať iba nástroje na nižšej úrovni. Ináč špinavý subjekt použije čistý nástroj na prístup a zašpiní čistý objekt. Alternatívne môžeme chcieť použiť nástroje presne na tento účel. Špinavé subjekty by mohli mať prístup k čistým objektom, ale iba vtedy ak na to použijú čistý nástroj (riadené vyvolanie). Takýto nástroj môže vykonať viacero kontrol konzistencie s cieľom presvedčiť sa, že objekt zostal čistý. Do tejto kategórie spadá mechanizmus ochrany integrity v operačnom systéme využívajúci ochranné okruhy. V takomto scenári by sme nechceli privilegovanejší subjekt, aby používal menej privilegovaný nástroj o Vlastnosť vyvolania – subjekt s1 môže vyvolať subjekt s2 iba vtedy ak fS(s2)≤fS(s1). Vlastnosť okruhu - subjekt s1 môže čítať objekty všetkých úrovní integrity. Môže modifikovať iba objekty o, pre ktoré platí fO(o)≤fS(s1) a môže vyvolať subjekt s2 iba vtedy ak fS(s1)≤fS(s2). Je celkom zrejmé, že posledné dve vlastnosti nie sú konzistentné a bude záležať na aplikácii, ktorá vlastnosť je vhodnejšia. 10 Model čínskeho múru Politika modeluje prístupové pravidlá v prostredí konzultačných firiem, v ktorom nesmie pre konzultantov vzniknúť situácia s konfliktom záujmov. Konflikty vznikajú z dôvodu, že klienti sú priami konkurenti na trhu alebo z dôvodu vlastníctva firiem. Konzultanti sa musia pridržiavať bezpečnostnej politiky: Nesmie existovať informačný tok spôsobujúci konflikt záujmov. Stavovú množinu modelu BLP je potrebné tejto politike málo prispôsobiť: o Množina firiem je označená C. o Konzultanti sú subjekty a S je množina subjektov. Objekty sú informačné položky. Každý objekt patrí jedinej firme. Množina objektov je označená O. o Všetky objekty patriace tej istej firme sú sústredené do firemnej množine údajov. Funkcia y: O –> C vytvára firemnú množinu údajov pre každý objekt. o o o Triedy konfliktov záujmov indikujú, ktoré firmy sú konkurenti. Funkcia x: O –> P(C) dáva triedu konfliktu záujmov pre každý objekt, t.j. množinu všetkých firiem, ktoré sa nesmú dozvedieť o obsahu objektu. Bezpečnostné označenie objektu o je pár (x(o),y(o)). Sanovaná informácia je informácia, z ktorej boli odstránené citlivé detaily, a nie je predmetom obmedzenia prístupu. Bezpečnostné návestie sanovaného objektu je (Ø, y(o)). Konflikt záujmu nevzniká iba v dôsledku aktuálne pristupovaným objektom, ale tiež z objektov pristupovaným v minulosti. Preto je potrebné mať údajovú štruktúru na zaznamenanie histórie akcií subjektov. Na tento účel slúži Booleova matica Ns,o, kde prvok (s,o) nadobúda hodnotu TRUE, ak subjekt s mal prístup k objektu 11 o, a hodnotu FALSE, ak subjekt s nemal nikdy prístup k objektu o. Model čínskeho múru Nastavením prvkov matice Ns,o pre všetky sєS a oєO na hodnotu FALSE dostaneme iniciálny stav, ktorý splňuje tieto bezpečnostné vlastnosti. o o o Prvá bezpečnostná politika sa zaoberá priamym tokom informácií. Chceme zabrániť subjektu, aby bol vystavený konfliktu záujmov. To znamená, že prístup je udelený iba ak žiadané objekty patria do Firemnej množiny údajov, ktoré subjekt už mal Do úplne inej triedy konfliktu záujmov. Formálne možno vyššie uvedenú vlastnosť uviesť ako ss-vlastnosť: Subjekt s môže pristúpiť k objektu o iba vtedy, ak pre všetky objekty o’ s Ns,o’ =TRUE platí y(o)=y(o’) alebo y(o) nie je elementom x(o’). Táto vlastnosť sama o sebe plne neimplementuje uvedenú bezpečnostnú politiku. Stále je možný nepriamy tok údajov. Na obrázku je uvedený príklad: Dve konkurenčné firmy (Firma_A a Firma_B) majú svoje účty v tej istej banke. Konzultant_A zaoberajúci sa firmou_A a bankou, aktualizuje bankové portfólio s citlivými údajmi o firme_A. Konzultant_B zaoberajúci sa firmou_B a bankou má teraz prístup k informáciám o obchode konkurenta. čítanie Trieda konfliktu záujmu Konzultant_A zápis A Banka B čítanie zápis Konzultant_B 12 Model čínskeho múru o Vychádzajúc z predošlého príkladu je teda potrebné na reguláciu prístupu zápisu zaviesť *- vlastnosť: Subjektu s je pridelené právo zápisu do objektu o iba vtedy, ak s nemá žiadny prístup čítania objektu o’, pre ktorý platí y(o)≠y(o’) a x(o’)≠Ø. o Prístup zápisu do objektu je udelený iba vtedy, keď nemôže byť čítaný žiadny iný objekt nachádzajúci sa v inej firemnej množine údajov a obsahujúci nesanované informácie. V predchádzajúcom obrázku budú obe operácie zapisovania blokované *- vlastnosťou. *- vlastnosť zastaví vytekanie nesanovaných informácií z firemnej množiny údajov. Na rozdiel od BLP, v ktorej je zvyčajne pridelenie prístupových práv predpokladané statické, v modeli čínskeho múru musia byť prístupové práva znovu pridelované v každom stavovom prechode. 13 Model Clark - Wilsonov Zaoberá sa bezpečnostnými požiadavkami pre komerčné aplikácie. Tieto požiadavky sa prevažne týkajú integrity údajov t.j. týkajú sa zabráneniu neautorizovanej modifikácii údajov, podvodov a chýb. Požiadavky integrity sú rozdelené do dvoch častí: o Interná konzistencia – odpovedá vlastnostiam interného stavu systému a môže byť vynútená počítačovým systémom o Externá konzistencia - odpovedá vzťahu interného stavu systému k reálnemu svetu. Musí byť vynútená prostriedkami mimo počítačového systému, napríklad auditom. Všeobecné mechanizmy na vynútenie integrity sú: o o Dobre vytvorené transakcie (well-formed transactions) – manipulácia s položkami údajov môže byť iba špecifickou množinou programov. Používatelia majú prístup k programom a nie k údajovým položkám. Separácia povinností (separation of duties) – používatelia musia spolupracovať pri manipulácii s údajmi, musia sa spolčiť pri obídení bezpečnostného systému. Clark – Wilsonov model využíva programy ako sprostredkujúcu riadiacu vrstvu medzi subjektami a objektami (údajové položky): o o o Subjekty sú autorizovaní vykonávať určité programy Položky údajov môžu byť prístupné prostredníctvom špecifických programov. (Definovanie množiny programov, ktoré smia pristúpiť k údajom určitého typu je všeobecný mechanizmus v softvérovom inžinierstve a môže byť výnosne využitý pri konštrukcii bezpečných systémov.) Dôkaz vplyvu BLP na Clark-Wilsonov model je, že „subjekty a objekty sú označované 14 programami a nie bezpečnostnými úrovňami“. Model Clark - Wilsonov o V chápaní Clark-Wilsonovho modelu integrita znamená „byť autorizovaný použiť program na položku údaja, ktorá môžu byť pristúpená týmto programom“. Celkovo sú v Clark-Wilsonovom modeli uvažované tieto okolnosti: o Subjekty musia byť identifikované a autentizované o S objektmi môže byť manipulované iba s obmedzenou množinou programov o Subjekty môžu vykonávať iba obmedzenú množinu programov o Musí byť udržiavaný vhodný auditný záznam o Systém musí byť certifikovaný na správnu činnosť. Pri formalizácii tohto modelu sú údajové položky spravované bezpečnostnou politikou nazývané obmedzené údajové položky (constrained data items – CDIs). Vstupy do systému sú zachytené ako neobmedzené údajové položky (unconstrained data items – UDIs). Konverzia UDIs na CDIs je kritickou časťou systému, ktorá nemôže byť riadená iba bezpečnostnými mechanizmami systému. S CDIs môže byť manipulované iba transformačnými procedúrami (transformation procedures – TPs). Integrita stavu je kontrolovaná pomocou procedúry verifikácie integrity (integrity verification procedures – IVPs). 15 Model Clark - Wilsonov Základné princípy riadenia prístupu v Clark-Wilsonovom modeli Používateľ Autentizácia a autorizácia TP Pripojenie Musí byť validované Kontroly integrity Kontrolované oprávnenia log CDI UDI CDIa CDIb Bezpečnostné vlastnosti sú na jednej strane definované prostredníctvom piatich certifikačných pravidiel (certification rules – CR). Pravidlá navrhujú kontroly, ktoré by sa mali vykonať, aby bezpečnostná politika bola konzistentná s aplikačnými požiadavkami. o o CR1 – IVPs musia zaisťovať, že všetky CDIs sú v platnom stave v čase vykonávania IVP (kontrola integrity CDIs) CR2 – TPs musia byť certifikované na platnosť, t.j. platné CDIs musia byť vždy transformované do platných CDIs. Každá TP je certifikovaná na prístup k špecifickej množine CDIs. 16 Model Clark - Wilsonov o CR3 – Pravidlá prístupu musia splňovať všetky požiadavky na separáciu povinností. o CR4 – Všetky TPs musia zapisovať auditné záznamy v režime iba pripojiť (append only). o CR5 – Každá TP, ktorá prevezme UDI ako vstup musí alebo UDI konvertovať na CDI alebo odmietnuť UDI a nevykonať žiadnu transformáciu. V počítačovom systéme sú opísané štyri vynucovacie pravidlá (enforcement rules – ER) bezpečnostných mechanizmov, ktoré by mali vynucovať bezpečnostnú politiku. Tieto pravidlá majú podobnosti v BLP politike DAC (discretionary access control). o ER1 – Pre každú TP musí systém udržiavať a chrániť zoznam položiek (CDIa, CDIb,...) daných CDIs, ku ktorým je TP certifikovaná pristúpiť. o ER2 – Pre každého používateľa musí systém udržiavať a chrániť zoznam položiek (TP1, TP2,...) špecifikujúcich tie TPs, ktoré môže používateľ vykonať. o ER3 – Systém musí autentizovať každého používateľa žiadajúceho vykonať TP. o ER4 – Iba ten subjekt, ktorý smie certifikovať právo prístupu pre TP, smie modifikovať položky zoznamu TP. Tento subjekt nesmie mať právo vykonať daný TP. Posledná poznámka. Model Clark-Wilsonov je rámec a návod (model) na formalizáciu bezpečnostných politík a nie model špecifickej bezpečnostnej politiky. 17 Model Harrison – Ruzzo - Ullmanov BLP model nestanovuje politiky pre meniace sa prístupové práva alebo vytváranie a rušenie súborov a objektov. HRU model definuje autorizačný model, ktorý sa zaoberá týmito záležitosťami. Na opísanie modelu HRU je potrebné: o Množina subjektov S o Množina objektov O o Množina prístupových práv R o Prístupová matica M = (Ms,o), kde sєS a oєO. Položka matice Ms,o je podmnožina R špecifikujúca práva subjektu s na objekte o Existuje šesť primitívnych operácií na manipuláciu s množinou subjektov, množinou objektov a prístupovou maticou: o enter r into Ms,o o delete r from Ms,o o create subject s o delete subject s o create object o o delete object o 18 Model Harrison – Ruzzo - Ullmanov Príkazy v modele HRU majú formát: command c(x1,...,xk) if r1 in Ms1,o1 and if r2 in Ms2,o2 and . if rm in Msm,om then op1 op2 . opn end o o Kde indexy s1,...,sm a o1,...,mm sú subjekty a objekty, ktoré sa vyskytujú v zozname parametrov (x1,...,xk) Kontrola podmienok zisťuje či sú prítomné isté prístupové práva. Zoznam podmienok môže byť prázdny. Ak sú splnené všetky podmienky, vykonajú sa všetky následné primitívne operácie. Každý príkaz obsahuje aspoň jednu primitívnu operáciu. 19 Model Harrison – Ruzzo - Ullmanov Napríklad príkaz create_file: command create_file(s,f) create f enter o into Ms,f enter r into Ms,f enter w into Ms,f end o Je použitý subjektom s na vytvorenie nového súboru f tak, že s je vlastník súboru (prístupové právo o) a má oprávnenia čítania a zápisu (prístupové práva r a w). Vlastník s súboru f udeľuje prístup čítania ďalším subjektom p príkazom grant_reads: command grant_reads(s,p,f) if o in Ms,f then enter r into Mp,f end 20 Model Harrison – Ruzzo - Ullmanov Matica prístupu opisuje stav systému. Efekt príkazu je zaznamenaný ako zmena v matici prístupu. Túto zmenenú maticu prístupu označíme M’. HRU model je schopný uchopiť bezpečnostné politiky regulujúce alokáciu prístupových práv. Na verifikáciu toho, že systém je v súlade s takouto politikou, je nevyhnutné skontrolovať, že neexistuje spôsob pre nežiadúce udelené prístupové práva. o o Hovorí sa, že stav (matica prístupu M) uvoľňuje právo r, ak existuje príkaz c, ktorý pridáva právo r na takú pozíciu v matici prístupu, na ktorej predtým nebolo. Vyjadrené formálne, existuje s a o také, že r nie je elementom Ms,o ale rєM’s,o. Hovorí sa, že stav (matica prístupu M) je bezpečný vo vzťahu k právu r, ak neexistuje sekvencia príkazov transformujúcich M do stavu s uvoľneným právom r. Verifikácia súladu s bezpečnostnou politikou pomocou modelu HRU sa potom redukuje na verifikáciu bezpečnostných vlastností. Ale aj tak je to ťažko realizovateľná situácia. o o o Teorém: Nech sú dané matica prístupu M a právo r. Verifikácia bezpečnosti M vo vzťahu k právu r je nerozhodnuteľný problém (Harrison, Ruzzo and Ullman, 1976). Nie je teda možné zaoberať sa problémom bezpečnosti v jeho plnej všeobecnosti. Je potrebné stanoviť na model určité obmedzenia. Napríklad je možné povoliť iba systém s jednou operáciou, v ktorom každý príkaz obsahuje iba jednu primitívnu operáciu. Teorém: Nech je daný systém s jednou operáciou, matica prístupu M a právo r. Verifikácia bezpečnosti M vo vzťahu k právu r je rozhodnuteľná (Harrison, Ruzzo a Ullman, 1976). o Obmedzenie veľkosti autorizačného systému je ďalším spôsobom ako zabezpečiť zvládnutie verifikácie bezpečnosti. o Bezpečnostný problém pre ľubovoľný autorizačný systém je rozhodnuteľný, ak počet subjektov je konečný (Lipton a Snyder, 1978). 21