COMPUTERWORLD
Specializovaný týdeník o výpočetní technice

Seriál
o bezpečnosti
a informačním soukromí

Část 22 - CW 32/97

Víceúrovňová bezpečnost -- bezpečnost na vysoké úrovni

Antonín Beneš ml., Václav Matyáš ml.

Představte si, že máte hromádku informací. A zájmové sdružení uživatelů, kteří hoří touhou k těmto datům přistupovat. Jak rozhodnout, který z uživatelů může pracovat s kterým datovým objektem?

Jednak nevím, co to je, jednak mne to uráží

Pokud jde o manipulaci s daty, při použití klasických bezpečnostních modelů by vám nezbylo než usednout a sepsat obsáhlý seznam, který bude popisovat, kdo má jaká práva. Jsou-li vaše hromádka informací a počet uživatelů dostatečně velké, čeká vás mnoho nezáživné práce, při které se můžete dopustit spousty chyb. Další těžkosti s sebou přináší udržování velkého seznamu práv a jeho aktualizace.

Za cenu jisté ztráty pružnosti lze popsané problémy velmi elegantně vyřešit. Všechny datové objekty rozdělíme na třídy podle toho, "jak moc jsou tajné". Každému z uživatelů pak určíme, s "jak moc tajnými daty" smí pracovat. V případě dat hovoříme o klasifikaci, v případě uživatelů o prověření (angl. clearance) na jistou úroveň utajení. Na téma klasifikace jsme si základní věci řekli již v dílu minulém. Zbývá "jen" určit pravidla, dle kterých se systém bude rozhodovat, zda danému uživateli poskytne přístup k požadovaným datům.

Na první pohled se zdá být vše jednoduché: každý smí pracovat s daty až do té úrovně klasifikace, pro kterou má prověření. Toto řešení však není příliš vhodné. Uživatel pracující s daty různé klasifikace by omylem, nebo úmyslně mohl přenést informace z jedné úrovně utajení na jinou. Tak by mohlo docházet k únikům informací, nebo, při přenosu na vyšší úroveň, k narušení integrity.

Velmi zajímavý je přístup k prezentování informací na nižší úrovni při reálném použití víceúrovňových systémů -- třeba v armádách. Mějme vojenskou nákladní loď, která veze řízené střely do Izraele. Místo určení i druh zásilky jsou klasifikovány na úrovni vyšší než je úroveň, na kterou má prověření poručík Novák. Řešení, které preferují v USA, vypadá tak, že se poručík Novák při prohlížení informací o transportu dozví tzv. smyšlený či krycí příběh (ang. cover story) -- loď jede na Kypr a veze náhradní díly pro auta mise OSN. Výhoda je zřejmá -- v naprosté většině případů je s takovou odpovědí poručík spokojen a snad nebude mít žádné podezření. Problém však nastane, když Novák má na starosti úkol dopravit na Kypr balík ponožek. Co pak? Nelze mu říct "ten balík se tam už nevejde" nebo prostě "to nejde" a nevyvolat podezření.

V Británii je přístup k podobným Novákům poměrně jednodušší -- dozví se, že loď jede na místo určení, které je klasifikováno na úrovni jemu nepřístupné (nanejvýš se dozví úroveň), stejně jako druh nákladu. Takto se Angličané vyvarují chyb při vymýšlení krycích příběhů, ale musí být ještě pečlivější při klasifikaci informací -- což je ale všeobecný problém -- příliš úzkostlivá klasifikace na co nejvyšší úroveň je nepraktická pro použitelnost informací, bezstarostná klasifikace na nízkou úroveň může vést ke ztrátě hodnoty informací.

V principu potřebujeme dobře vzájemně oddělit informace s různou klasifikací. Kvůli efektivitě by však naopak bylo vhodné všechny informace zpracovávat "na jednom místě" -- v rámci jediného informačního systému. Jak zvládnout toto dilema?

Modely, modely, modely

Z uvedeného je jasné, že nevystačíme pouze se sledováním přístupů k datům. Je nezbytné zkoumat toky informací v systému. Musíme stanovit bezpečnostní politiku, na základě které budeme rozhodovat, které přesuny informací povolit a které ne. K tomuto účelu byly vyvinuty dva formální bezpečnostní modely.

Prvním z nich je Bell-LaPadulův model. Již jsme se s ním setkali ve třetím díle našeho seriálu. Tento model popisuje, jaké jsou povolené přesuny dat, aby nemohlo docházet ke kompromitaci utajených informací. Model pracuje se stupni utajení informace.

1. Subjekt nesmí číst objekty s vyšší klasifikací, než jeho prověření.

2. Pokud subjekt smí číst nějaký objekt s klasifikací k, potom do objektu s klasifikací l smí zapisovat pouze pokud k je menší nebo rovno l.

Naopak zachování integrity zpracovávaných informací zaručuje Bibův model. Tento model definuje stupně integrity a povolené přesuny informací právě ve vztahu k těmto stupňům.

1. Subjekt může modifikovat pouze objekty s nižší klasifikací, než jeho prověření.

2. Pokud subjekt smí číst nějaký objekt s klasifikací k, potom do objektu s klasifikací l smí zapisovat pouze pokud k je větší nebo rovno l.

Všimněme si jisté protichůdnosti obou popsaných modelů. Je pravděpodobné, že objekty s vyšším stupněm utajení budou mít přiřazen i vyšší stupeň integrity. Pozornému čtenáři jistě neuniklo, že oba modely dovolují pouze jednosměrný tok informací. To by, například v případě Bell-LaPadulova modelu, umožňovalo rozvědce sběr dat, ale znemožňovalo by na základě těchto dat vydávat rozkazy nižším složkám. Problém se řeší tak, že informace, které chceme posunout "zakázaným" směrem, nejprve vytvoříme na nějaké povolené úrovni a následně oprávněná osoba provede jejich administrativní reklasifikaci na požadovanou úroveň. Modely tedy popisují pouze ty přesuny, které je možno provádět rutinně.

Často se přistupuje k určitému omezení tvrdosti podmínky 2. Povolujeme zápis i v případě, že k > l (Bell-LaPadula), resp. k < l (Biba), pokud zapisovaná data nezávisí na žádných informacích s klasifikací k.

Z teorie k praxi

Jednoduché myšlenky není zcela jednoduché uvést do praxe. Jak již jsme naznačili v úvodu, je třeba zajistit vzájemné oddělení informací s různou klasifikací a zároveň umožnit uživatelům s nimi simultánně pracovat. Ne za všech okolností je to jednoduché. Uvažme například, že chceme vytvořit novou kopii souboru na vyšší úrovni klasifikace. Doručení potvrzení, že se operace povedla, však již je v rozporu s Bell-LaPadulovým modelem. Systém musí dávat bedlivý pozor na možnost vzniku skrytých kanálů (angl. covert channels) jimiž mohou unikat informace na nižší stupně utajení a musí zajistit bezpečné sdílení technických zařízení apod.

Historie nám zanechala množství jednoúrovňových informačních systémů. Každý z těchto navzájem dobře oddělených systémů spravuje data s určitou klasifikací. Chce-li zde uživatel získat veškeré informace o jisté skutečnosti, nezbude mu než obejít všechny systémy s daty různých úrovní a informace doslova posbírat. Cílem je nějakým způsobem integrovat tyto doposud oddělené systémy. Umožníme tak jednodušší a efektivnější přístup k datům a zároveň omezíme jejich redundanci.

Nejjednodušším prostředkem integrace systémů jsou víceúrovňové stráže (guards). Jejich prostřednictvím je možno spojit systémy dat s různou klasifikací. Stráže tak v podstatě hlídají rozhraní mezi systémy a zajišťují, že při přesunech dat mezi systémy nedochází k porušení bezpečnostní politiky. Jejich nevýhodou je, že uživateli jednoho systému poskytují pouze omezený přístup k informacím v druhém systému.

Plnohodnotný přístup k službám jiného systému poskytují víceúrovňové pracovní stanice. Zpravidla jde o terminály, na kterých lze v jednotlivých oknech provozovat rozhraní několika systémů. Uživatel tak může střídat práci v několika systémech, může mezi nimi přenášet informace apod. V tomto případě je automaticky kontrolováno dodržení bezpečnostní politiky a data jsou před novým uložením automaticky reklasifikována.

Za vyšší vývojový stupeň lze nepochybně považovat víceúrovňové databázové systémy. Tyto systémy jsou již samy o sobě schopny zajistit dodržování bezpečnostní politiky a pravidel formálních modelů. Na jednom místě dokáží spravovat a zpřístupňovat informace různého stupně utajení. Zcela odbourávají redundanci uložených dat, poskytují daleko konzistentnější a komplexnější pohled na spravované informace. Bez zajímavosti není ani jednodušší správa a levnější provoz takového systému ve srovnání s několika jednoúrovňovými. Několik podrobnějších informací k víceúrovňovým databázovým systémům zmíníme i v díle příštím.

Zlatým grálem je víceúrovňový bezpečnostní systém, poskytující kompletní repertoár služeb elektronického zpracování informací. Tedy nejen databáze, ale i podpora zpracování textů, poštovní systém, systém pro podporu rozhodování a řízení, a ostatní kancelářské potřeby. Opravdový víceúrovňový systém by měl být schopen připojit k sobě okolní jednoúrovňové systémy a spolupracovat s nimi.

Aby mohl víceúrovňový bezpečnostní systém dobře fungovat, musí přesně vědět, jaká je klasifikace jednotlivých dat. Z tohoto důvodu musí být každý objekt opatřen bezpečnostním návěštím (angl. security label), které specifikuje jeho přesnou bezpečnostní klasifikaci a případná další omezení manipulace s objektem.

Nehierarchický přídavek

Rozdělení informací dle stupně utajení je pro většinu aplikací příliš hrubé. Proto jsou všechny informace, podle toho, o čem pojednávají, rozděleny na tematické okruhy, nebo též oddělení . Rozdělení není disjunktní, daná informace může být zařazena do více oddělení. Ve všech odděleních je však prezentována se stejným stupněm utajení. Každý subjekt má právo pracovat s informacemi pouze z některých oddělení.

Toto nehierarchické členění informací se používá zároveň s hierarchickým členěním dle stupně utajení. Pokud subjekt žádá přístup k datům, musí být prověřen na dostatečnou úroveň a musí mít přístup do všech oddělení, do kterých je zařazena požadovaná informace.

Důležitým pravidlem pro přidělování prověření subjektům je princip nejmenších práv. V zásadě jde o to, že každý subjekt by měl mít přidělena pouze taková oprávnění, která zcela nezbytně potřebuje pro to, aby mohl korektně vykonávat své úkoly.

Ať žije -- svaz

Výsledkem aplikace hierarchického a nehierarchického členění informací je svazový bezpečnostní model. Jde o částečně uspořádanou (vzhledem k inkluzi) množinu, která má největší a nejmenší prvek. Nejmenším prvkem je prověření na nejnižší úroveň a pro žádné oddělení, největším prvkem potom prověření na nejvyšší úroveň a pro všechna oddělení.

Požaduje-li subjekt přístup k datům, systém podle modelu ověří, zda má dostatečné prověření v rámci hierarchického členění a zda má prověření pro všechna oddělení, do kterých byla daná data zařazena. Svazový model se tedy uplatní pro statické přístupy k datům. Pokud dochází k přesunům dat, přijdou navíc ke slovu Bell-LaPadulův, nebo Bibův model, aby bylo zajištěno utajení nebo integrita dat v rámci a po ukončení přesunu.

Speciálním případem svazového modelu je tzv. military security model, používaný americkým ministerstvem obrany. Pracuje s tímto hierarchickým členěním informací: unclassified, confidental, secret a top secret. Nehierarchické členění obsahuje všechny oblasti lidské činnosti, na které si vzpomenete a ještě mnohé další.

Pokud opravdu kráčíme směrem k NATO, stane se tento model naším starým známým.


Seriál je rovněž dostupný na www.idg.cz/computerworld/bvsk/


| COMPUTERWORLD - seriál o bezpečnosti | COMPUTERWORLD | IDG CZ homepage |