Řízení přístupu II. PV157 ­ Autentizace a řízení přístupu Politiky řízení přístupu ˇ volitelný přístup (discretionary) ­ subjekt (vlastník objektu) rozhoduje o tom, kdo má k objektu přístup ­ volitelná = určuje subjekt­vlastník objektu ­ typicky politika podporovaná operačním systémem ˇ podporuje i operace změny vlastníka objektu ˇ povinný přístup (mandatory) ­ systémová politika nezávislá na vůli subjektů rozhoduje o tom, kdo má k objektu přístup Volitelné řízení přístupu ­ výhody ˇ Jednoduchost = malá režie ˇ Velká vyjadřovací schopnost ˇ Lze relativně jednoduše vázat udělení přístupových práv na splnění dodatečných časových, místních aj. podmínek ˇ Flexibilita Objekt X Objekt YRW- R- - - - - RW- R- - R- - Volitelné řízení přístupu ­ nevýhody ˇ Nedostatečná bezpečnost ­ použití pouze přístupových práv není dostatečné v situacích, kdy klademe důraz na bezpečnost ˇ Není odolné vůči "Trojským koním" ˇ Systém se nestará o využití jednou získaných dat ­ např. dám skupině právo čtení na důvěrný soubor, nějaký člen si ho zkopíruje a nesprávně nastaví přístupová práva Volitelné řízení přístupu ˇ Příklad útoku Trojským koněm na správu souborů s ACL KarelKarel TomTom program Karla program Karla citlivá data Karla citlivá data Karla Karel: RWKarel: RW Zajímavá utilita SOS Zajímavá utilita SOS T. kůň Tomův kontejner Tomův kontejner Karel: RW Lupin: RW Karel: RW Tom: RW KarelKarel Zajímavá utilita SOS Zajímavá utilita SOS T. kůň citl. data Karlacitl. data Karla Tomův kontejner Tomův kontejner Karel: RW Lupin: RW Karel: RW Tom: RW Karel: RW Karel: RW bezpečnostní politika se nenaruší !!! zloděj Politiky nejsou exkluzivní! ˇ Při povinném přístupu (prosazovaném systémem) lze (a často je to žádoucí) obvykle podporovat i volitelný přístup!!! ­ Bezpečnost (daná politikou povinného přístupu) s určitou flexibilitou (podporující bezpečnost) vyjadřovacími prostředky volitelného přístupu Víceúrovňové systémy ˇ MLS (Multilevel systems) ˇ Koncept podporovaný mnohaletým výzkumem sponzorovaným vládami (zvláště USA a UK) ˇ Původně podpora důvěrnosti, později i integrita (komerční systémy) ˇ Primární model bezp. politiky ­ Bell-LaPadula ­ 1973, pro US AirForce ­ Ochranné schéma klasifikací a oprávnění po 2. světové válce Povinné řízení přístupu ˇ systémová politika nezávislá na vůli subjektů rozhoduje o tom, kdo má k objektu přístup ˇ zavedeme ­ kategorie subjektů (proces, uživatel) = důvěryhodnost ­ klasifikace objektů (data) = důvěrnost ˇ definujeme uspořádání klasifikací objektů ˇ definujeme množinu kategorií subjektů ˇ referenční monitor (monitor odkazů) ­ implementace funkce prosazující bezpečnost řízení přístupu ­ při každém přístupu subjektu k objektu kontroluje, zda tento přístup odpovídá zásadám bezpečnostní politiky ­ bezpečnostní politika: pravidla toku dat mezi objekty a subjekty Model Bell-LaPadula (1) ˇ paradigma objekt ­ subjekt ˇ uživatel ­ Má počáteční bezpečnostní úroveň uživatele, resp. bezpečnostní oprávnění (clearance) ­ Přihlašuje se na aktuální bezpečnostní úrovni uživatele, s právy přístupu k objektům nepřevyšujícími práva daná bezpečnostním oprávněním ˇ subjekt ­ aktivní element ­ proces činný na pokyn uživatele ­ provádí akce: ˇ read-only, append (zápis bez čtení), read-write, execute ­ bezpečnostní úroveň procesu = bezp. úroveň jeho uživatele ˇ Je daná ,,důvěryhodností" subjektů vlastnících proces a ,,důvěrností" (citlivostí) zpracovávatelných objektů (klasifikací) Model Bell-LaPadula (2) ˇ objekt ­ pasivní, chráněný element ­ obsahuje informace ­ soubor dat, prostor paměti, program ­ klasifikace objektu = bezpečnostní úroveň objektu ˇ daná důvěrností (citlivostí) informace obsažené v objektu ˇ definuje/mění ji vlastník objektu, vlastnictví objektu je nepřenositelné Bell-LaPadula ­ Klasifikace / kategorie ˇ Bezpečnostní úroveň L= (C, S) ­ C ­ klasifikace objektů TS top secret přísně tajné S secret tajné C classified pouze pro vnitřní potřebu (klasif.) U unclassified neklasifikováno Definice uspořádání: TS > S > C > U ­ S ­ podmnožina množiny kategorií subjektů ˇ množina kategorií subjektů je dána aplikací ­ {odbor obrany, ekonomický odbor, vnitřní odbor} ­ {ekonomický odbor, vnitřní odbor} ­ {odbor obrany, vnitřní odbor} ­ {vnitřní odbor} ˇ Upořádání bezpečnostních úrovní ­ dominance L1=(C1, S1), L2=(C2, S2), L1 L2 C1 C2 S1 S2 Bell-LaPadula ­ příklad ˇ bezpečnostní úrovně L1 = (S, {ekonom.}) důvěrné, {ekonom. odbor} L2 = (C, {ekonom.}) pro vnitřní potřebu, {ekonom. odbor} L3 = (TS, {obrana}) přísně tajné, {odbor obrany} L4 = (TS, {ekonom., obrana}) přísně tajné, {odbor obrany, ekonomický odbor} ˇ uspořádání (dominance) bezpečnostních úrovní L1 L2 S > C, {ekonom.} {ekonom.}, L1 dominuje L2 L1, L3 L1 neporovnatelné s L3 : {ekonom.} {obrana} L1 L4 S < TS, {ekonom.} {ekonom, obrana} L2, L3 L2 neporovnatelné s L3 : {ekonom.} {obrana} L2 L4 C < TS, {ekonom.} {ekonom., obrana} L3 L4 TS = TS, {vnější vztahy} {ekonom., obrana} Bell-LaPadula ­ stav systému ˇ Stav systému, = (b, M, f) b ­ množina aktivních (právě realizovaných) přístupů ˇ trojice (subjekt, objekt, právo) M ­ matice přístupových práv ˇ M[s, o] přístupová práva subjektů s k objektům o f ­ úrovňová funkce: O S L, ˇ množiny: O ­ objektů, S ­ subjektů, L ­ bezpečnostních úrovní ˇ udává bezpečnostní úroveň každého subjektu a objektu ­ objekty, každý má jedinou klasifikaci (bezp. úr. obj.): fo ­ subjekty, každý vlastní dvě ,,bezpečnostní úrovně subjektu": bezpečnostní oprávnění, clearance fp aktuální bezpečnostní úroveň subjektu fa, s: fa(s) fp(s) ˇ bezpečnost systému je chápána jako vlastnost stavů systému Bell-LaPadula ­ bezpečnost stavu ˇ Stav systému se mění operacemi změny stavu systému ­ uplatnění přístupových práv, změny přístupových práv ˇ Stav systému je bezpečný pouze tehdy, když jsou splněny všechny bezpečnostní vlastnosti ­ omezení daná vztahy bezpečnostních úrovní subjektů a objektů ˇ Operace změny stavu systému se povolí pouze tehdy, když výsledný stav systému po jejím provedení bude bezpečný ­ kontroluje referenční monitor ˇ Důvěryhodnost subjektu ­ důvěryhodný subjekt ­ smí porušovat bezpečnostní politiku povinnou pro nedůvěryhodné subjekty ­ Ví, co smí a nesmí, kdy komunikuje s jinými důvěryhodnými subjekty, ... ­ nedůvěryhodný subjekt ­ jeho chování je třeba hlídat doplňkovými omezeními podle zavedené bezpečnostní politiky Bell-LaPadula ­ operace změny stavu ˇ právo přístupu ­ read-only, append, execute, read-write ˇ operace změny stavu ­ získat/vrátit právo přístupu, zahájit/ukončit operaci s objektem ˇ mění množinu aktivních přístupů, b, doplňuje / ruší trojici (s, o, p) ­ dát / odebrat právo přístupu subjektu k objektu, modifikace M ˇ musí být v souladu s politikou definovanou axiomy povinné bezpečnostní politiky ­ změnit aktuální bezpečnostní úroveň subjektu ˇ musí se zachovat dominance bezpečnostního oprávnění subjektu, mění se f ­ změnit bezpečnostní úroveň objektu, jeho klasifikaci ˇ pouze pro ,,neaktivní" (se kterým nikdo nepracuje) objekt, mění se f, lze ji pouze ­ použít oprávněně ­ nová bezpečnostní úroveň objektu musí dominována bezpečnostní úrovní subjektu provádějícího změnu ­ a zesilovat ­ nová úroveň objektu musí dominovat předchozí úrovni Vlastnosti (axiomy) modelu Bell-LaPadula ˇ Procesy nesmějí číst data na vyšší úrovni (tzv. základní bezpečnostní vlastnost ­ ss property, též NRU - no read up). ˇ Procesy nesmějí zapisovat data do nižší úrovně (tzv. *-vlastnost, též NWD - no write down). ss-vlastnost ˇ subjekt může přistupovat (read/write) pouze k objektům s bezpečnostní úrovní (klasifikací) dominované jeho bezpečnostním oprávněním (clearance) ˇ Pak sS oO readM[s,o] writeM[s,o] fp(s) fo(o) fp(A)=S fp(A)=S Subjekt A Subjekt A Objekt O1 Objekt O2 fo(O1)=C fo(O2)=TS write read subjekt nemůže číst informaci, která má vyšší klasifikaci, než jeho bezpečnostní oprávnění nelze číst tajnější data, než která je proces počátečně oprávněn číst subjekt nemůže číst informaci, která má vyšší klasifikaci, než jeho bezpečnostní oprávnění nelze číst tajnější data, než která je proces počátečně oprávněn číst subjekt nemůže vytvářet informaci, která má vyšší klasifikaci, než jeho bezpečnostní oprávnění nelze tvořit tajnější data, než je proces počátečně oprávněn subjekt nemůže vytvářet informaci, která má vyšší klasifikaci, než jeho bezpečnostní oprávnění nelze tvořit tajnější data, než je proces počátečně oprávněn trvaletrvale platí proplatí pro všechnyvšechny subjektysubjekty bez ohledu na jejichbez ohledu na jejich aktuálníaktuální bezpbezp. úroveň. úroveň Nedostatečnost ss-vlastnosti ˇ subjekt A nižší bezpečnostní bezpečnostní úrovně l0 , než je klasifikace objektu o1, může vytvořit Trojského koně s vyšší bezpečnostní úrovní lv > o1 ˇ Trojský kůň může přečíst obsah objektu s klasifikací o1 ˇ Trojský kůň může vytvořit objekt s okopírovanou informací s klasifikací objektu o2 < o1 ˇ subjekt A může číst objekt s klasifikací o2 *­vlastnost ˇ pouze pro nedůvěryhodné subjekty ˇ Pak sS' oO ˇ read M(s,o) fa(s) fo(o) ˇ write M(s,o) fa(s) = fo(o) ˇ append M(s,o) fa(s) fo(o) ˇ splnění tohoto axiomu implikuje splnění předchozího axiomu; opak ale neplatí fa(A)=S fa(A)=S Subjekt A Subjekt A Objekt O1 Objekt O2 fo(O1)=C fo(O2)=C,.. read append nedůvěryhodný subjekt může číst informaci, jestliže její klasifikace je dominovaná aktuální b. ú. subjektu číst lze jen méně tajná data nedůvěryhodný subjekt může zapisovat informaci, jestliže její klasifikace je shodná s aktuální b. ú. subjektu tvořit lze jen stejně tajná data nedůvěryhodný subjekt může doplňovat informaci, jestliže její klasifikace dominuje aktuální b. ú. subjektu doplňovat lze stejně tajná data nebo tajnější data nelze poslat zprávu procesu s nižším bezpečnostním oprávněním nedůvěryhodný subjekt může číst informaci, jestliže její klasifikace je dominovaná aktuální b. ú. subjektu číst lze jen méně tajná data nedůvěryhodný subjekt může zapisovat informaci, jestliže její klasifikace je shodná s aktuální b. ú. subjektu tvořit lze jen stejně tajná data nedůvěryhodný subjekt může doplňovat informaci, jestliže její klasifikace dominuje aktuální b. ú. subjektu doplňovat lze stejně tajná data nebo tajnější data nelze poslat zprávu procesu s nižším bezpečnostním oprávněním důvěryhodné subjekty mohou porušovat *-vlastnost Volitelný přístup v Bell-LaPadula ˇ Také volitelný přístup (discretionary access property) ­ pro povolení přístupu je nutné mít patřičná práva v matici přístupových práv M, subjekt musí být pro danou operaci autorizován sS oO aA b aM[s,o] ˇ model B-P je rozšířením modelu s maticí přístupových práv ­ Příklad ­ subjekt s bezp. úrovní TS nemusí mít právo čtení k jistému objektu O, byť tento má klasifikací C ˇ Stav systému ­ je považován za bezpečný, jsou-li splněny všechny 3 vlastnosti fa(A)=TS Subjekt A Objekt O fo(O)=C read M[A,O]= Problémy víceúrovňových systémů ˇ Jak klasifikovat data? ˇ Tendence k příliš striktní klasifikaci! ˇ Jak propojit MLS jednoho typu MLS jiného typu (neekvivalentní klasifikací) ­ např. US vs. UK? ˇ Vývoj MLS bývá příliš komplikovaný a drahý ˇ Administrace je náročná ˇ Uživatel bývá při své práci příliš omezován ˇ Jak řešit snížení klasifikace? Skrytý kanál ˇ Covert channel - mechanismus, který není primárně určen pro komunikaci, ale může být využit (zneužit) pro komunikaci mezi jednotlivými úrovněmi ˇ Typické je využití nějakého sdíleného prostředku ­ zaplnění disku ­ pozice hlavičky na disku ­ zamykání souborů ­ čas posledního přístupu k souboru ­ aktuální zátěž procesoru ˇ Obrana ­ snížení šířky pásma komunikačního kanálu ­ diskové kvóty, nucené nastavení hlaviček disku ­ zavedení šumu Polyinstance ˇ Chráníme existenci informace na vyšší úrovni ˇ Uživatel na nižší úrovni chce vytvořit soubor, který již existuje na úrovni vyšší ­ Můžeme zakázat prozradíme existenci souboru ˇ Noninterference = vlastnost, kdy akce uživatele na vyšší úrovni nijak neovlivní to, co vidí uživatel na nižší úrovni ˇ Souborový systém: zavedeme konvence pro pojmenování ˇ Databáze: netriviální problém (smyšlený příběh vs. zatajení) ˇ Př.: USA: UK: Sklad uniforemU Sklad atomových zbraní C Účel skladuklasifikace klasifikovánoU Sklad atomových zbraní C Účel skladuklasifikace Model Biba ˇ K zajištění integrity ­ ,,převrácený" model Bell-LaPadula ­ Integrita a důvěrnost jsou svým způsobem doplňující se koncepty (někdo musí zapsat = změnit integritu, aby šlo vůbec číst) ˇ Číst lze jen data vyšší úrovně (důležitější) ˇ Zapisovat lze jen ,,dolů" (podřízeným) ˇ Např. systém pro informování cestujících bere data od signalizačního systému, ale nemůže jeho data měnit, to lze jen opačným směrem Dopad MLS ˇ Velké množství bezp. projektů a výzkumu ˇ Koncepty pro ne-MLS systémy, jako např. ­ Důvěryhodná cesta (Trusted Path) ­ bezpečný kanál pro komunikaci komponent ­ Důvěryhodná distribuce (Trusted Distribution) ­ bezpečná distribuce systému ­ Důvěryhodná správa zařízení (Trusted Facility Management) ­ bezpečná administrace Otázky? Vítány!!! Uvidíme se na zkoušce. matyas@fi.muni.cz zriha@fi.muni.cz