Mandatory access control

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Mandatory access control (MAC, mandatorní řízení přístupu) je v počítačové bezpečnosti typ řízení přístupu, podle kterého má operační systém možnost dát subjektu nebo iniciátorovi přístup nebo obecně ho nechat vykonat nějaký druh operace nad objektem nebo cílem. V praxi je subjekt obvykle proces nebo vlákno; objektem jsou soubory, složky, porty, sdílené paměťové segmenty, a další. Subjekty a objekty mají každý sadu bezpečnostních atributů. Kdykoli se subjekt pokusí přistoupit k objektu je zahájeno autorizační pravidlo podnícené jádrem operačního systému, které prověří bezpečnostní atributy a rozhodne zda přidělí právo přístupu či nikoli. Jakákoli operace provedena jakýmkoli subjektem nad jakýmkoli objektem bude testována proti sadě autorizačních pravidel, což vede k rozhodnutí, zda operace bude povolena.

Popis vlastností[editovat | editovat zdroj]

MAC je politika bezpečnosti kontrolována centrálně administrátorem, který to má za úkol. Uživatel nemá schopnost si upravit svá bezpečnostní práva. Například přidělit si právo přístupu k souboru, ke kterému by se jinak neměl mít možnost dostat. Opačný přístup má DAC (Discretionary Access Control), které má také schopnosti povolovat přístup subjektu k objektu, ale umožňuje uživatelům dělat rozhodnutí o přidělení bezpečnostních atributů někomu dalšímu. Názorným příkladem DAC je unixový systém uživatelů, skupin a atributů souborů (read-write-execute). MAC-enabled systém umožňuje administrátorovi, který se stará o bezpečnost, dělat bezpečnostní zásahy, které zasáhnou širokou škálu uživatelů. Na rozdíl od DAC s tímto zásahem uživatelé nemohou nic udělat, ať už záměrně či omylem. To umožňuje administrátorovi definovat základní bezpečnostní pravidla pro všechny uživatele a v principu má garantováno, že budou dodržována.

Nedávno s příchodem implementace jako je SELinux (jádro Linuxu verze 2.6) a Mandatory Integrity Control (Windows Vista a novější), se MAC stal hlavním proudem a vymanil se z područí MLS. Tyto novější implementace ukázaly, že úzká definice pomocí TCSEC, jako tomu bylo u MLS, je příliš specifická pro všeobecné využití.[1] Také prokázaly větší hloubku a flexibilitu, než dřívější MLS zaměřené implementace,[2] umožňují například administrátorovi zaměřit se na jednotlivý problém, jako je třeba síťový útok a malware bez nějakého většího omezení od MLS systému.

Zvláštní důsledky vyplývající z termínu mandatorní[editovat | editovat zdroj]

V souvislosti s MLS termín mandatorní (povinné) zaručoval velmi vysoký stupeň odolnosti, to nám zajišťuje, že kontrolní mechanismy jsou schopny odolat prolomení a tak jim umožňují uplatnit politiku kontroly přístupu, která vyhovuje některým regulačním nařízením. Například Executive Order 12958[3] pro utajované informace v USA.

Termín povinné v MAC získal speciální význam, který vzchází z jeho použití ve vojenských systémech. MAC znamená řízení přístupu, které je určené nařízením vlády a tak by jeho prosazení mělo být naléhavější než pro komerční účely. Toto znemožňuje použití best-effort mechanismů. Pro MAC jsou přijatelné pouze mechanismy, které mohou poskytnout absolutní nebo skoro absolutní provedení nařízení. Toto je velmi těžký úkol a někdy je brán jako nereálný pro ty kteří nejsou obeznámeni s vysokou strategií bezpečnosti. Zároveň je velmi těžký i pro ty, kteří jsou s touto strategii seznámeni.

Stupně síly MAC systému[editovat | editovat zdroj]

V některých systémech má uživatel právo darovat svá přístupová práva jinému uživateli. K tomu, aby toto bylo možné je potřeba, aby všichni uživatelé měli oprávnění pro všechna data. Toto nemusí být pravda v MAC systému. Pokud jednotlivec nebo proces existují a může jim být odepřen přístup k jakýmkoli datům v daném systému, tak tento systém musí být důvěryhodný. Jelikož může být více úrovní klasifikace dat a uživatelského oprávnění, tak musí být i odstupňovaná škála odolnosti. Například větší odolnost je u systémů obsahujících Přísně tajné informace a uživateli bez jakéhokoli oprávnění, než pro Tajné informace a uživateli, který má alespoň nějaká oprávnění. Na podporu soudržnosti a odstranění subjektivity ve stupních síly byla provedena rozsáhlá vědecká analýza a hodnocení rizik na téma normalizace zabezpečení a robustnosti systémů a jejich mapování na stupně důvěry pro různá bezpečnostní prostředí. Výsledkem je dokument CSC-STD-004-85.[4] Byly definovány dvě relativně samostatné složky robustnosti: Assurance Level (úroveň zajištění) a Functionality (funkcionalita). Obě byly specifikovány s přesností, aby vyhovovaly certifikaci, založené na daných kriteriích.

Historie[editovat | editovat zdroj]

Historicky a tradičně je MAC úzce spojováno s multi-level secure (MLS) systémem. Trusted Computer System Evaluation Criteria[5] (TCSEC) je standard, který definuje MAC jako „prostředek omezení přístupu k objektu založeném na citlivosti informace obsažené v daném objektu a formální autorizaci (prověření) subjektu, zda má přístup k takto citlivému objektu“. Dřívější implementace MAC jako třeba Honeywell SCOMP, USAF SACDIN, NSA Blacker, Boeing MLS LAN jsou spíše zaměřeny na ochranu vojensky orientovaných bezpečnostních a klasifikačních úrovní s robustním provedením. Původně pojem MAC udával, že řízení přístupu nebylo pouze garantováno v principu, ale i v praxi.

Implementace[editovat | editovat zdroj]

Pár MAC implementací, jako je Blacker projekt od Unisys, bylo certifikováno v minulém tisíciletí jako dostatečně robustní, k oddělení přísně tajného od neklasifikovaného. Jejich podkladové technologie se staly zastaralé a nebyly obnoveny. Dnes nejsou žádné aktuální implementace certifikované TCSECem na této úrovni robustní implementace. Nicméně některé, méně robustní, produkty existují.

  • RSBAC (Rule Set Based Access Control) od Amon Ott poskytuje framework pro Linuxová jádra, který umožňuje několik různých zásad zabezpečení / rozhodovacích modulů. Jedním z realizovaných modelů je model MAC. Obecným cílem návrhu RSBAC bylo pokusit se dosáhnout (zastaralé) úrovně B1 Orange Book (TCSEC). Model MAC použitý v RSBAC je většinou stejný jako v Unix System V/MLS, Verze 1.2.1 (vyvinuto v roce 1989 Národním centrem počítačové bezpečnosti (National Computer Security Center) v USA s klasifikací b1/TCSEC). RSBAC vyžaduje sadu patchů pro oficiální jádro, který jsou udržovány vlastníkem projektu docela dobře.
  • Výzkumný projekt NSA s názvem SELinux přidal architekturu Mandatory Access Control do Linuxového jádra, která byla sloučena do hlavní verze Linuxu v srpnu 2003. Využívá vlastnost Linuxového jádra 2.6 s názvem LSM (rozhraní Linux Security Modules). Red Hat Enterprise Linux verze 4 (a vyšší verze) přichází s jádrem SELinux-enabled. Ačkoli SELinux je schopen omezit všechny procesy v systému, implicitně se používá politika targeted, která v RHEL omezuje nejvíce zranitelné programy z neomezené domény ve které běží všechny ostatní programy. RHEL 5 dodává dva další typy binárních politik: strict, která se pokouší implementovat minimální oprávnění a MLS, který je založen na strict a přidává popisky MLS (mnoho-úrovňové bezpečnosti). RHEL 5 obsahuje další vylepšení MLS a získal dvě LSPP/RBACPP/CAPP/EAL4+ certifikace v červnu 2007.[6]
  • TOMOYO Linux je odlehčená MAC implementace pro Linux and Embedded Linux, vyvinutá NTT Data Corporation. Nedávno byla spojena s hlavní verzí Linuxového jádra 2.6.30 (červen 2009).[7] Na rozdíl od přístupu založeného na popiscích použitým v SELinux, TOMOYO Linux provádí MAC založený na názvu cesty, oddělující zabezpečení domén podle historie vývoje vyvolání, která popisuje chování systému. Zásady jsou popisovány ve smyslu názvů cest. Doména zabezpečení je jednoduše definována vývojem řetězce volání, reprezentovaný jako textový řetězec. Jsou zde čtyři módy: vypnuto, učení, povolující, vynucovací. Administrátoři mohou přiřadit rozdílné módy pro různé domény. TOMOYO Linux představil "učící" mód, ve kterém jsou přístupy do jádra automaticky analyzovány a uloženy ke generování MAC zásad: tento mód může být použit jako první krok psaní zásad, ke snadnějším pozdějším úpravám.
  • SUSE (nyní podporován Novellem) a Ubuntu 7.10 přidali implementaci MACnazvanou AppArmor. AppArmor používá vlastnost jádra Linuxu 2.6 nazývanou LSM (rozhraní Linux Security Modules). LSM poskytuje API jádra, které umožňuje kódu modulů jádra, ovládat řízení přístupu. AppArmor není schopen omezení všech programů a je spojen do hlavního linuxového jádra od verze 2.6.36.[8] Ve většině Linuxových distribucích není MAC použit.
  • grsecurity je patch pro Linuxové jádro poskytující MAC implementaci (přesně je to RBAC implementace). V porovnání s SELinux a AppArmor, grsecurity není implementován defaultně v žádném Linuxové distribuci s výjimkou Tor-ramdisk mikro Linuxové distribuce.[9] Hardened Gentoo nabízí pre-patchované jádro pomocí grsecurity. grsecurity také vypíná LSM API jádra. Přestože je LSM vyvíjen jako bezpečnostní rozhraní (API), LSM poskytuje vstupní body (hooks), které by mohli být použity rootkity.[10]
  • Microsoft Od Windows Vista a Server 2008 Windows zahrnuje Mandatory Integrity Control, který přidává úrovně integrity (Integrity Level; IL) na procesy běžící při přihlášení. MIC omezuje přístupová práva aplikací, která běží pod stejným uživatelským účtem a které mohou být méně důvěryhodné. Je definováno pět úrovní integrity: Nízká, Střední, Vysoká, Systémová, and Důvěryhodný instalátor.[11] Procesy zahájené běžným uživatelem, získají Střední IL; zvýšené procesy mají Vysoký IL.[12] Zatímco procesy dědí úroveň integrity (IL) od procesu, který se stvořil, úroveň integrity může být přizpůsobena na bázi na-procesu: např. IE7 a stažené binárky běží s Nízkou IL. Windows řídí přístup k objektům na základě IL, stejně jako pro vymezení hranic pro zprávy oken skrze User Interface Privilege Isolation. Pojmenované objekty, včetně souborů, klíčů registru nebo jiných procesů a vláken, mají záznam v ACL řídící přístup k nim, definující minimální IL procesu, který může použít tento objekt. MIC vynucuje, že proces může zapisovat do nebo mazat objekt, pouze pokud jeho IL je roven, nebo větší než IL objektu. Navíc, aby se zabránilo přístupu k citlivým datům v paměti, procesy nemohou otevřít procesy s vyšší IL s přístupem pro čtení.[13]
  • FreeBSD podporuje Mandatory Access Control (MAC), implementována jako součást projektu TrustedBSD. Bylo to představeno ve FreeBSD 5.0. Od FreeBSD 7.2, Podpora MAC je zapnuta defaultně. Framework je rozšiřitelný; různé MAC moduly implementují zásady jako Biba and Multi-Level Security.
  • Trusted Solaris od Sun používá povinný a systémem prosazovaný mechanismus řízení přístupu (MAC), kde jsou použity povolení a štítky (popisky) k vynucení bezpečnostních zásad. Nicméně je třeba si uvědomit, že schopnost řídit štítky neimplikuje sílu jádra operovat v módu Multi-Level Security. Přístup k popiskůma kontrolním mechanismům robustně ochráněny před poškozením v chráněné oblasti, řízené jádrem. Aplikace, které uživatel spustí, jsou zkombinovány s bezpečnostním štítkem ve kterém uživatel pracuje v sezení (session). Přístup k informacím, programům azařízením jsou pouze slabě pod kontrolou.
  • Mac OS X MAC framework od Apple je implementace TrustedBSD MAC frameworku.[14] Omezené sandbox rozhraní vyšší úrovně je poskytováno command-line funkcí sandbox_init. Pro dokumentaci viz manuálová stránka sandbox_init.[15]
  • SE-PostgreSQL je práce probíhající od 2008-01-27,[16][17] poskytující integraci do SE-Linux. Snaží se o integaci do verze 8.4, společně s omezením na úroveň řádků.
  • Trusted RUBIX je MAC vynucující DBMS, které se plně integruje s SE-Linux k omezení přístupu ke všem databázovým objektům.[18]

Související články[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]

V tomto článku byl použit překlad textu z článku Mandatory access control na anglické Wikipedii.

  1. The Inevitability of Failure [PDF online]. National Security Agency, [cit. 2011-03-14]. Dostupné online.  
  2. LOSCOCCO, Peter A; SMALLEY; STEPHEN D. Meeting Critical Security Objectives with Security-Enhanced Linux [PDF online]. [cit. 2011-03-14]. Dostupné online.  
  3. Executive Order 12958 [PDF online]. 1995-04-17, [cit. 2011-03-14]. Dostupné online.  
  4. Technical Rational Behind CSC-STD-003-85: Computer Security Requirements [TXT online]. 1985-06-25, [cit. 2011-03-14]. Dostupné online.  
  5. Trusted Computer System Evaluation Criteria [PDF online]. United States Department of Defense, 1985-11-01, [cit. 2011-03-14]. Dostupné online. DoD Standard 5200.28-STD. 
  6. National Information Assurance Partnership. The Common Criteria Evaluation and Validation Scheme Validated Products List [online]. [cit. 2008-03-15]. Dostupné online. (anglicky) 
  7. TOMOYO Linux, an alternative Mandatory Access Control [online]. Linux Kernel Newbies. Dostupné online. (anglicky) 
  8. Linux 2.6.36 released 20 October 2010 [online]. Linux Kernel Newbies. Dostupné online. (anglicky) 
  9. Tor-ramdisk Technical Considerations [online]. [cit. 2011-04-15]. Dostupné online. (anglicky) 
  10. Why doesn't grsecurity use LSM? [online]. . Dostupné online. (anglicky) 
  11. Matthew Conover. Analysis of the Windows Vista Security Model [online]. Symantec Corporation, [cit. 2007-10-08]. Dostupné online. (anglicky) 
  12. Steve Riley. Mandatory Integrity Control in Windows Vista [online]. [cit. 2007-10-08]. Dostupné online. (anglicky) 
  13. Mark Russinovich. PsExec, User Account Control and Security Boundaries [online]. [cit. 2007-10-08]. Dostupné online. (anglicky) 
  14. TrustedBSD Project. TrustedBSD Mandatory Access Control (MAC) Framework [online]. [cit. 2008-03-15]. Dostupné online. (anglicky) 
  15. sandbox_init(3) man page [online]. 2007-07-07, [cit. 2008-03-15]. Dostupné online. (anglicky) 
  16. SEPostgreSQL-patch [online]. . Dostupné online. (anglicky) 
  17. Security Enhanced PostgreSQL [online]. . Dostupné online. (anglicky) 
  18. Trusted RUBIX [online]. . Dostupné online. (anglicky) 

Externí odkazy[editovat | editovat zdroj]

  • Weblog post od zaměstnanců společnosti Microsoft, Mandatory Integrity Control a jak se liší od implementace MAC.
  • GWV Formal Security Policy Model A Separation Kernel Formal Security Policy, David Greve, Matthew Wilding, and W. Mark Vanfleet.