Systemy komputerowe, zwłaszcza te przetwarzające wrażliwe dane, wymagają rygorystycznych mechanizmów kontroli dostępu. Wśród nich mandatory access control (mac) stanowi kluczowy element zapewniający wysoki poziom bezpieczeństwa. W przeciwieństwie do powszechnie stosowanego discretionary access control (dac), gdzie użytkownik ma swobodę w definiowaniu uprawnień do swoich zasobów, mac opiera się na centralnie definiowanych regułach, które narzucają ograniczenia wszystkim użytkownikom i procesom w systemie.
Czym jest Mandatory Access Control?
Mandatory access control to model bezpieczeństwa, w którym decyzje o dostępie do zasobów są podejmowane na podstawie etykiet bezpieczeństwa przypisanych zarówno do podmiotu (np. użytkownika, procesu), jak i do obiektu (np. pliku, urządzenia). Te etykiety, zwane również poziomami lub kategoriami, określają stopień poufności i integralności informacji. System mac porównuje etykiety podmiotu z etykietami obiektu, aby określić, czy żądany dostęp jest dozwolony. Podstawową zasadą jest to, że podmiot może uzyskać dostęp do obiektu tylko wtedy, gdy jego poziom bezpieczeństwa jest równy lub wyższy niż poziom bezpieczeństwa obiektu, a także spełnia inne kryteria związane z kategoriami.
Kluczowe komponenty Mandatory Access Control
Wdrożenie modelu mac wymaga kilku fundamentalnych elementów. Po pierwsze, klasyfikacja zasobów jest niezbędna. Każdy zasób w systemie musi być przypisany do odpowiedniego poziomu bezpieczeństwa i kategorii. Po drugie, przypisanie etykiet bezpieczeństwa do podmiotów jest równie ważne. Użytkownicy, procesy i programy muszą posiadać przypisane etykiety, które odzwierciedlają ich uprawnienia i potrzeby dostępu. Po trzecie, centralny mechanizm egzekwowania polityki jest sercem systemu mac. Jest to komponent systemowy, który monitoruje wszystkie próby dostępu i podejmuje decyzje na podstawie zdefiniowanych reguł i przypisanych etykiet.
Jak działają reguły w MAC?
Reguły w mac są zazwyczaj oparte na dwóch głównych zasadach: zasada czytania w dół (read down) i zasada pisania w górę (write up). Zasada czytania w dół oznacza, że podmiot z wyższym poziomem bezpieczeństwa może odczytywać dane z obiektu o niższym lub równym poziomie bezpieczeństwa. Zasada pisania w górę natomiast mówi, że podmiot może zapisywać dane do obiektu o wyższym lub równym poziomie bezpieczeństwa. Istnieją również warianty tych zasad, które mogą uwzględniać kategorie, na przykład podmiot może czytać dane z obiektu tylko wtedy, gdy jego poziom bezpieczeństwa jest wyższy lub równy, a kategorie bezpieczeństwa są zgodne.
Zalety i wady Mandatory Access Control
Główną zaletą mac jest jego wysoki poziom bezpieczeństwa. Ponieważ decyzje o dostępie są narzucone przez administratora systemu i nie zależą od indywidualnych użytkowników, minimalizuje ryzyko przypadkowego lub celowego naruszenia bezpieczeństwa spowodowanego błędami użytkowników. Jest to szczególnie istotne w systemach, gdzie przetwarzane są dane o wysokiej poufności, na przykład w sektorze wojskowym lub finansowym. Wadą mac jest jego złożoność implementacji i zarządzania. Wymaga starannego planowania, klasyfikacji zasobów i ciągłego monitorowania, co może być obciążające dla administratorów. Ponadto, może ograniczać elastyczność użytkowników, którzy potrzebują dostępu do różnych zasobów w zależności od kontekstu.
Zastosowanie MAC w praktyce
Mandatory access control znajduje zastosowanie w systemach o wysokich wymaganiach bezpieczeństwa. Przykładem są systemy operacyjne klasy wojskowej, takie jak te używane przez siły zbrojne Stanów Zjednoczonych, gdzie dane są klasyfikowane na różnych poziomach tajności. SELinux (Security-Enhanced Linux) jest powszechnie znanym przykładem implementacji mac w systemach Linux, który pozwala na definiowanie szczegółowych polityk bezpieczeństwa dla procesów i plików. Podobnie, AppArmor jest innym narzędziem bezpieczeństwa w systemach Linux, które również wykorzystuje mechanizmy mac do izolowania aplikacji i ograniczania ich uprawnień.
Różnice między MAC a DAC
Kluczowa różnica między mandatory access control a discretionary access control (dac) leży w mechanizmie kontroli. W dac to właściciel zasobu decyduje, kto ma do niego dostęp, i może samodzielnie modyfikować te uprawnienia. Jest to elastyczne, ale podatne na błędy ludzkie. W mac, jak wspomniano, decyzje są podejmowane centralnie przez administratora na podstawie predefiniowanych reguł i etykiet bezpieczeństwa, co zapewnia większą spójność i bezpieczeństwo, ale kosztem mniejszej elastyczności dla użytkownika końcowego. Ta fundamentalna różnica sprawia, że mac jest preferowanym rozwiązaniem w środowiskach, gdzie bezpieczeństwo danych jest absolutnym priorytetem.





