Trzy modele odegrały ważną rolę w rozwoju bezpieczeństwa komputerowego. Model Bell-LaPadula, jeden z najwcześniejszych formalnych modeli bezpieczeństwa komputerowego, wpłynął na rozwój wielu technologii bezpieczeństwa komputerowego i nadal jest szeroko stosowany. Biba, jego analog do integralności, odgrywa teraz ważną rolę w analizie programu. Model Clarka-Wilsona opisuje wiele praktyk handlowych w celu zachowania integralności danych. Analizujemy każdy z tych modeli w tej sekcji.
Model Bell-LaPadula.
Model Bell-LaPadula21 jest formalizacją słynnego rządowego systemu klasyfikacji wykorzystującego poziomy UNCLASSIFIED, CONFIDENTIAL, SECRET i TOP SECRET. Zaczynamy od wykorzystania tych czterech poziomów, aby wyjaśnić idee leżące u podstaw modelu, a następnie zwiększyć te poziomy, aby przedstawić pełny model. Ponieważ model obejmuje wiele poziomów, jest to przykład wielopoziomowego modelu bezpieczeństwa. Czteropoziomowa wersja modelu zakłada, że poziomy są uporządkowane od najniższego do najwyższego jako UNCLASSIFIED, CONFIDENTIAL, SECRET i TOP SECRET. Obiekty są przypisane poziomy w oparciu o ich wrażliwość. Obiekt na wyższym poziomie jest bardziej czuły niż obiekt na niższym poziomie. Przedmioty są przypisywane poziomy w oparciu o obiekty, do których mają dostęp. Temat zostaje wyczyszczony do poziomu, a ten poziom nazywa się poświadczeniem bezpieczeństwa podmiotu. Obiekt jest klasyfikowany na poziomie, a poziom ten nazywany jest klasyfikacją bezpieczeństwa obiektu. Celem systemu klasyfikacji jest zapobieganie wyciekowi informacji lub spływaniu w dół (np. Podmiot w POUFNYM nie powinien mieć możliwości odczytu informacji sklasyfikowanych w TOP SECRET). Dla wygody piszemy poziom (-y) dla poświadczenia bezpieczeństwa podmiotu i klasyfikacji bezpieczeństwa obiektu (o) foran. Nazwa klasyfikacji nazywa się etykietą. Więc obiekt sklasyfikowany w TOP SECRET ma etykietę TOP SECRET. Załóżmy, że Tom jest wyczyszczony na poziomie SECRET. Trzy dokumenty, zwane papierami, artykułami i książkami, są klasyfikowane odpowiednio jako POUFNE, TAJNE i ŚCIŚLE TAJNE. Ponieważ odprawa Toma jest niższa niż klasyfikacja książki, nie może czytać książki. Ponieważ jego zezwolenie jest równe lub większe od klasyfikacji artykułu i papieru, może je przeczytać. Definicja. Prosta właściwość bezpieczeństwa mówi, że podmiot s może odczytać obiekt o jeśli i tylko wtedy, gdy poziom (o) ≤ poziom (y). Jest to czasami nazywane regułą braku odczytu i jest obowiązkową kontrolą dostępu. Jest to jednak niewystarczające, aby zapobiec przepływowi informacji w dół. Załóżmy, że Donna jest wyczyszczona na poziomie POUFNE. Dzięki prostej własności bezpieczeństwa nie może czytać artykułu, ponieważ poziom (artykuł) = SECRET> POUFNE = poziom (Donna). Ale Tom może przeczytać informacje w artykule i napisać je na papierze. A Donna może przeczytaj Papier. W ten sposób informacja SECRET wyciekła do tematu z POUFNYM zezwoleniem. Aby temu zapobiec, należy uniemożliwić Tomowi pisanie na papierze: Definicja. Właściwość that mówi, że podmiot s może napisać obiekt o, jeśli i tylko wtedy, gdy poziom (poziomy) ≤ poziom (o).
Jest to czasami nazywane regułą bez zapisu, a także obowiązkową kontrolą dostępu. Jest również znany jako właściwość gwiazdy i właściwość ograniczenia. Zgodnie z tą regułą, jako poziom (Tom) = SECRET> poziom (Papier), Tom nie może pisać na papierze. To rozwiązuje problem. Wreszcie, model Bell-LaPadula umożliwia właścicielom obiektów korzystanie z uznaniowej kontroli dostępu: Definicja. Dyskrecjonalna właściwość bezpieczeństwa mówi, że podmiot s może odczytać obiekt o tylko wtedy, gdy wpis macierzy kontroli dostępu dla s i o zawiera prawo do odczytu. W celu ustalenia, czy Tom może czytać papier, system sprawdza prostą właściwość zabezpieczeń i uznaniowy problem bezpieczeństwa. Jako że oba dotyczą Tom i Paper, Tom może czytać Paper. Podobnie system sprawdza właściwość ∗, aby określić, czy Tom może pisać na papierze. Ponieważ właściwość ∗ nie obowiązuje dla Tom i Paper, Tom nie może pisać na papierze. Należy zauważyć, że uznaniowa właściwość bezpieczeństwa nie musi być sprawdzana, ponieważ odpowiednia obowiązkowa właściwość kontroli dostępu (właściwość ∗) odmawia dostępu. Twierdzenie o podstawowym bezpieczeństwie stwierdza, że jeśli system zaczyna się w bezpiecznym stanie i każda operacja jest zgodna z trzema właściwościami, to system pozostaje bezpieczny: Podstawowe twierdzenie bezpieczeństwa. Niech system secure ma bezpieczny stan początkowy 𝜎0. Ponadto niech każde polecenie w tym systemie będzie zgodne z prostą właściwością bezpieczeństwa, właściwością ∗ i uznaniową własnością bezpieczeństwa. Wtedy każdy stan 𝜎i, i ≥ 0, jest również bezpieczny. Możemy uogólnić to na dowolną liczbę poziomów. Niech L0,…, Ln będzie zbiorem poziomów bezpieczeństwa uporządkowanych liniowo (tj. L0 <… <Ln). Obowiązują proste właściwości zabezpieczeń, właściwość ∗ i uznaniowa własność bezpieczeństwa, podobnie jak podstawowe twierdzenie bezpieczeństwa. Dzięki temu możemy mieć o wiele więcej niż cztery opisane poziomy. Załóżmy teraz, że Erin pracuje dla Departamentu Europejskiego agencji rządowej, a Don pracuje dla Departamentu Azji dla tej samej agencji. Erin i Don są oczyszczeni na SECRET. Ale niektóre informacje, które Erin zobaczy, to informacje, których Don nie musi znać i odwrotnie. Wprowadzenie dodatkowych poziomów bezpieczeństwa nie pomoże tutaj, ponieważ wtedy Don mógłby odczytać wszystkie dokumenty, które Erin mogła, lub odwrotnie. Potrzebujemy alternatywnego mechanizmu. Alternatywny mechanizm to rozszerzenie idei „poziomu bezpieczeństwa”. Definiujemy kategoria jako rodzaj informacji. Komora bezpieczeństwa to para (poziom, zestaw kategorii) i odgrywa rolę, którą wcześniej spełniał poziom bezpieczeństwa. Załóżmy na przykład, że kategorią dla Departamentu Europejskiego jest EUR, a kategorią dla Departamentu Azji jest AZJA. Erin zostanie rozliczony w przedziale (SECRET, {EUR}), a Don w przedziale (SECRET, {ASIA}). Dokumenty mają również przedziały bezpieczeństwa. Dokument EurDoc może być sklasyfikowany jako (POUFNY, {EUR}), a papier AsiaDoc może być (TAJNE, {ASIA}). Dokument EurAsiaDoc zawiera informacje zarówno na temat Europy, jak i Azji, a więc znajduje się w przedziale (SECRET, {EUR, ASIA}). Tak jak poprzednio, piszemy poziom (Erin) = (SECRET, {EUR}), poziom (EurDoc) = (POUFNE, {EUR}) i poziom (EurAsiaDoc) = (SECRET, {EUR, ASIA}). Następnie musimy zdefiniować analog jako „większy niż”. Jak wspomniano wcześniej, przedziały bezpieczeństwa nie są już uporządkowane liniowo, ponieważ nie można porównywać każdej pary przedziałów. Na przykład przedział Don nie jest „większy” niż Erin, a Erin nie jest „większy” niż Don. Ale klasyfikacja EurAsiaDoc jest wyraźnie „większa” niż u Dona i Erin. Porównujemy przedziały za pomocą relacji dom, ponieważ „dominuje”. Definicja. Niech L i L ′ będą poziomami bezpieczeństwa i niech C i C ′ będą zestawami kategorii. Następnie (L, C) dom (L ′, C ′) wtedy i tylko wtedy, gdy L ′ = L i C ′ ⊆ C Relacja dom odgrywa rolę, jaką „większe lub równe” odegrało dla poziomów bezpieczeństwa. Kontynuując nasz przykład, poziom (Erin) = (SECRET, {EUR}), dom (POUFNE, {EUR}) = poziom (EurDoc) i poziom (EurAsiaDoc) = (SECRET, {EUR, ASIA}) dom (SECRET, {EUR}) = poziom (Erin). Przeformułowaliśmy teraz prostą właściwość bezpieczeństwa i właściwość ∗ w zakresie dom: Definicja. Prosta właściwość bezpieczeństwa mówi, że podmiot może odczytać obiekt o jeśli i tylko jeśli poziom (-y) dom poziom (o). Definicja. Właściwość that mówi, że podmiot s może pisać do obiektu o, jeśli tylko poziom (o) dom poziom (y). W naszym przykładzie załóżmy, że dowolna kontrola dostępu jest ustawiona tak, aby każdy podmiot mógł uzyskać dostęp do wszystkich typów. W takim przypadku, jako poziom (Erin) dom poziom (EurDoc), Erin może odczytać EurDoc (przez prostą właściwość bezpieczeństwa), ale nie pisać EurDoc (przez właściwość ∗). I odwrotnie, jako poziom (EurAsiaDoc) domena (Erin), Erin nie może czytać EurAsiaDoc (przez prostą właściwość bezpieczeństwa), ale może pisać do EurAsiaDoc (przez właściwość ∗). Logiczne pytanie brzmi, jak określić najwyższy przedział bezpieczeństwa, który mogą czytać zarówno Erin, jak i Don, i najniższy, który mogą pisać. Aby to zrobić, musimy przejrzeć niektóre właściwości dom. Najpierw zwróć uwagę na poziom (poziomy) domeny; to znaczy dom jest zwrotny. Relacja jest także antysymetryczna, ponieważ jeśli poziom (y) dom poziom (o) i poziom (o) dom (y) poziom są prawdziwe, to poziom (y) = poziom (o). Jest przechodni, ponieważ jeśli poziom (s1) dom poziom (o) i poziom (o) dom poziom (s2), to poziom (s1) dom poziom (s2). Definiujemy również największe dolne ograniczenie (glb) dwóch przedziałów jako:
Porównujemy przedziały za pomocą relacji dom, ponieważ „dominuje”. Definicja. Niech L i L ′ będą poziomami bezpieczeństwa i niech C i C ′ będą zestawami kategorii. Następnie (L, C) dom (L ′, C ′) wtedy i tylko wtedy, gdy L ′ = L i C ′ ⊆ C Relacja dom odgrywa rolę, jaką „większe lub równe” odegrało dla poziomów bezpieczeństwa. Kontynuując nasz przykład, poziom (Erin) = (SECRET, {EUR}), dom (POUFNE, {EUR}) = poziom (EurDoc) i poziom (EurAsiaDoc) = (SECRET, {EUR, ASIA}) dom (SECRET, {EUR}) = poziom (Erin). Przeformułowaliśmy teraz prostą właściwość bezpieczeństwa i właściwość ∗ w zakresie dom: Definicja. Prosta właściwość bezpieczeństwa mówi, że podmiot może odczytać obiekt o jeśli i tylko jeśli poziom (-y) dom poziom (o). Definicja. Właściwość that mówi, że podmiot s może pisać do obiektu o, jeśli tylko poziom (o) dom poziom (y). W naszym przykładzie załóżmy, że dowolna kontrola dostępu jest ustawiona tak, aby każdy podmiot mógł uzyskać dostęp do wszystkich typów. W takim przypadku, jako poziom (Erin) dom poziom (EurDoc), Erin może odczytać EurDoc (przez prostą właściwość bezpieczeństwa), ale nie pisać EurDoc (przez właściwość ∗). I odwrotnie, jako poziom (EurAsiaDoc) domena (Erin), Erin nie może czytać EurAsiaDoc (przez prostą właściwość bezpieczeństwa), ale może pisać do EurAsiaDoc (przez właściwość ∗). Logiczne pytanie brzmi, jak określić najwyższy przedział bezpieczeństwa, który mogą czytać zarówno Erin, jak i Don, i najniższy, który mogą pisać. Aby to zrobić, musimy przejrzeć niektóre właściwości dom. Najpierw zwróć uwagę na poziom (poziomy) domeny; to znaczy dom jest zwrotny. Relacja jest także antysymetryczna, ponieważ jeśli poziom (y) dom poziom (o) i poziom (o) dom (y) poziom są prawdziwe, to poziom (y) = poziom (o). Jest przechodni, ponieważ jeśli poziom (s1) dom poziom (o) i poziom (o) dom poziom (s2), to poziom (s1) dom poziom (s2). Definiujemy również największe dolne ograniczenie (glb) dwóch przedziałów jako:
Definicja. Niech A = (L, C) i B = (L ′, C ′). Następnie glb (A, B) = (min (L, L ′), C ∩ C ′). To odpowiada na pytanie o najwyższy przedział bezpieczeństwa, w którym dwa podmioty s i s mogą czytać obiekt. Jest to glb (poziom (y), poziom (s)). Na przykład Don i Erin mogą czytać obiekty w:
glb (poziom (Don), poziom (Erin)) = (SECRET, χ;). Ma to sens, ponieważ Don nie może odczytać obiektu w żadnym przedziale oprócz tych z zestawem kategorii {ASIA} lub pustym zestawem, a Erin może tylko czytać obiekty w komora z zestawem kategorii {EUR} lub pustym zestawem. Oba są na poziomie TAJNE, więc przedział musi być również na poziomie TAJNE. Analogicznie możemy zdefiniować najmniejszą górną granicę (lub) dwóch przedziałów: Definicja. Niech A = (L, C) i B = (L ′, C ′). Następnie lub (A, B) = (max (L, L ′), C ∪ C ′). Możemy teraz określić najniższy przedział bezpieczeństwa, w którym mogą pisać dwie osoby. To jest lub (poziom (y), poziom (s ′)). Na przykład Don i Erin mogą pisać do obiektów w:
glb ((poziom (Don), poziom (Erin)) = (SECRET, {EUR, ASIA}).
Ma to sens, ponieważ Don nie może pisać do obiektu w żadnym przedziale z wyjątkiem tych z ASIA w zestawie kategorii, a Erin może pisać tylko do obiektów w przedziale, w którym znajduje się zestaw kategorii. Najmniejszym zestawem kategorii spełniającym oba te wymagania jest {EUR, ASIA}. Oba są na poziomie TAJNE, więc przedział musi być również na poziomie TAJNE. Pięć właściwości dom (refleksyjne, antysymetryczne, przechodnie, istnienie najmniejszej górnej granicy dla każdej pary elementów i istnienie największej dolnej granicy dla każdej pary elementów) oznacza, że przedziały bezpieczeństwa tworzą strukturę matematyczną zwaną kratą. Ma to użyteczne właściwości teoretyczne i jest na tyle ważne, że modele wykazujące ten typ struktury nazywane są modelami kratowymi. Gdy model jest zaimplementowany w systemie, programiści często wprowadzają pewne modyfikacje. Zdecydowanie najczęstszym jest ograniczenie pisania do bieżącej komory lub do ograniczonego zestawu przedziałów. Zapobiega to zmianie informacji poufnych przez osoby, które nie mogą go odczytać. Strukturę modelu można również wykorzystać do implementacji zabezpieczeń przed złośliwymi programami, które zmieniają pliki, takie jak pliki binarne systemu. Aby temu zapobiec, umieść binaria systemu w przedziale zdominowanym przez przedziały przypisane do użytkowników. Dzięki prostej właściwości zabezpieczeń użytkownicy mogą odczytywać pliki binarne systemu, ale według właściwości ∗ użytkownicy nie mogą ich zapisywać. W związku z tym, jeśli wirus komputerowy infekuje programy lub dokumenty użytkownika, 22 może rozprzestrzeniać się w przedziale użytkownika, ale nie w systemie plików binarnych. Model Bell-LaPadula jest podstawą kilku innych modeli. Badamy jeden z jego wariantów, który modeluje integralność, a nie poufność.