Bezpieczeństwo – Kontrola dostępu
Opracował: Zbigniew Suski
1
Kontrola dostępu
Główne zagadnienia wykładu
Pierwszym krokiem związanym z ochroną zasobów w środowisku rozproszonym jest uwierzytelnianie użytkowników lub
aplikacji. Nie jest to jednak środek wystarczający. Należałoby przydzielać użytkownikom różne poziomy upoważnień i
odpowiadające im poziomy dostępu do zasobów. Procedura przestrzegania różnych poziomów dostępu do zasobów jest
realizowana za pomocą zbioru mechanizmów nazywanych mechanizmami kontroli dostępu (access control). Mechani-
zmy te opierają się na trzech pojęciach:
Ø Podmioty (subject) mają dostęp do obiektów. Np. użytkownik, terminal, komputer, aplikacja.
Ø Obiekty (object) są jednostkami, do których kontroluje się dostęp.
Ø Prawa dostępu (access rights) określają sposób dostępu podmiotu do obiektu. Są definiowane dla par (pod-
miot, obiekt).
Mechanizm kontroli dostępu nadzoruje dostęp podmiotu do obiektu. Model kontroli dostępu można przedstawić w postaci
macierzy dostępu (access matrix).
Macierz dostępu zawiera informacje na podstawie których można zbudować listy kontroli dostępu (access control lists)
ACL oraz listy możliwości (capability lists). ACL są definiowane dla obiektów i określają prawa dostępu każdego z pod-
miotów do danego obiektu. Listy możliwości definiowane są dla podmiotów i określają prawa dostępu podmiotu do każ-
dego obiektu w systemie. Kontrola dostępu może być również realizowana za pomocą etykiet poziomu zaufania (sensi-
tivity labels).
Podsystem kontroli dostępu jest wywoływany wtedy gdy użytkownik lub program zażąda otwarcia zasobu (pliku).
Zadaniem podsystemu jest porównanie uprawnień użytkownika (aplikacji) żądającego otwarcia, z prawami potrzebnymi
aby to zrobić. Jeżeli użytkownik ma odpowiednie uprawnienia, to proces otwierania będzie kontynuowany. W przeciwnym
przypadku nastąpi odmowa dostępu i wygenerowanie komunikatu o błędzie.
Plik 1
Plik 2
. . .
Użytkownik 1
Czytanie
Czytanie
Aplikacja A
Czytanie
Pisanie
Użytkownik 2
Podmi
o
ty
ACL dla Pliku 1
Użytkownik 1 (Czytanie)
ACL dla Pliku 2
Użytkownik 1 (Czytanie)
Aplikacja A (Czytanie, Pisanie)
Listy kontroli dostępu ACL
Lista możliwości dla Użytkownika 1
Plik 1 (Czytanie)
Plik 2 (Czytanie)
Lista możliwości dla Aplikacji A
Plik 2 (Czytanie, Pisanie)
Listy możliwości
Obiekty
Bezpieczeństwo – Kontrola dostępu
Opracował: Zbigniew Suski
2
Dostęp uznaniowy DAC
(Discretionary Access Control)
Zestaw procedur i mechanizmów, które realizują kontrolę dostępu wg uznania użytkownika będącego zwykle
właścicielem zasobu. Zapewnia użytkownikom elastyczność funkcjonowania, zwykle kosztem bezpieczeństwa. Niektóre
zasoby nie są wystarczająco chronione z powodu nieświadomości lub przeoczenia przez użytkownika. Przykładem roz-
wiązania typu DAC jest mechanizm praw dostępu w systemie UNIX. Mechanizm bitów SUID i GUID jest często wykorzy-
stywany podczas ataku intruza w celu wejścia w prawa użytkownika root.
Dostęp narzucony MAC
(Mandatory Access Control)
Uprawnienia użytkowników określa administrator systemu. Umożliwia to zaimplementowanie konsekwentnej po-
lityki ochrony zasobów w całej sieci. Najczęściej wykorzystywanym mechanizmem są etykiety poziomów zaufania. Me-
chanizmy MAC są mniej elastyczne i wręcz przeszkadzają w otwartym współdzieleniu zasobów przez użytkowników.
Ukryte kanały
Kanałem ukrytym (covert channel) nazywamy kanał wymiany informacji wykorzystany do nielegalnego przesłania
informacji z ominięciem istniejących mechanizmów kontroli. Np. poufnej informacji może dostarczyć nazwa pliku. Kanał
przesyłania nazw plików został wykorzystany nielegalnie, gdyż został zaprojektowany do innych celów. Kanały ukryte są
trudne do wykrycia i czasami trudne do usunięcia.
Warunki powstawania kanałów ukrytych:
1. Podczas projektowania lub implementacji sieci nie zwrócono uwagi na możliwość nadużywania kanału jaw-
nego.
2. Nieprawidłowo zaimplementowano mechanizmy kontroli dostępu lub działają one niewłaściwie.
3. Istnieją zasoby współdzielone pomiędzy użytkownikami.
Ukryte kanały pamięciowe - wykorzystywane są mechanizmy pamięciowe.
Obszar na dysku - Jeden proces może szyfrować przekazywaną wiadomość przy pomocy wielkości przydzielone-
go mu dodatkowo obszaru na dysku. Odbiorca musi jedynie spytać o wielkość dostępnej pamięci przed i po przy-
dziale.
Odstępy na wydruku - np. liczba spacji pomiędzy słowami lub zdaniami.
Nazwy plików.
Ukryte kanały czasowe - do przekazywania informacji wykorzystywana jest sekwencja zdarzeń.
Wykorzystanie czasu CPU - w wyniku manipulowania czasem wykorzystania CPU można przekazywać ciągi bi-
narne (1- duże wykorzystanie, 0 - małe wykorzystanie).
Dostępność zasobów - (np. zasób zajęty - 1. zasób wolny - 0).
Warunki istnienia ukrytego kanału pamięciowego
1. Użytkownicy mają dostęp do tego samego atrybutu współdzielonego zasobu.
2. Istnieją mechanizmy pozwalające jednemu z użytkowników wymuszać zmianę tego atrybutu.
3. Istnieją mechanizmy pozwalające innemu użytkownikowi wykryć zmianę tego atrybutu.
Uzytkownik lub
aplikacja
OPEN
Wykonaj
sekwencje
otwarcia
Wywolaj
mechanizm
kontroli dostepu
Zweryfikuj
wzgledem
praw
dostepu
- Listy ACL
- Listy
mozliwosci
- Etykiety
poziomow
zaufania
Dostep
odrzucony
Dostep
zatwierdzony
Aplikacja
Uslugi systemowe
Prawa dostepu
zgadzaja sie
Prawa dostepu
nie zgadzaja sie
Kontynuacja
przetwarzania
Bezpieczeństwo – Kontrola dostępu
Opracował: Zbigniew Suski
3
4. Istnieje mechanizm pozwalający zainicjować komunikację między tymi dwoma użytkownikami i następnie nadzoro-
wać jej przebieg.
Warunki istnienia ukrytego kanału czasowego
1. Użytkownicy mają dostęp do tego samego atrybutu współdzielonego zasobu.
2. Istnieją współdzielone przez użytkowników odwołanie do wartości związanej z czasem.
3. Istnieją mechanizmy pozwalające użytkownikowi wykryć czas zmiany określonego atrybutu.
4. Istnieje mechanizm pozwalający zainicjować komunikację między tymi dwoma użytkownikami i następnie nadzoro-
wać jej przebieg.
Literatura:
1) V.
Ahuja.
Network & Internet Security. Academic Press, Inc, 1996. (tłum.)
2) E.G.Amoroso.
Fundamentals of Computer Security Technology. Prentice Hall 1994.
3) R.Browne.
An Architecture for Covert Channel Control in RealTime Networks and MultiProcessors. IEEE Symposium
on Security and Privacy, Oakland , May 1995.
4) M.E.Carson, Wen-Der Jiang. New Ideas in Discretionary Access Control. UNIX Security Workshop, Portland, Aug,
1990.
5) C. G. Girling. Covert channels in LAN's. IEEE Transactions on Software Engineering, v.SE-13, n.2, Feb, 1987.
6) R.A. Kemmerer. Shared Resource Matrix Methodology: An Approach to Identifying Storage and Timing Channels.
ACM Transactions on Computer Systems, v.1, n.3, Aug, 1983.
7) H.W.
Lockhart.
OSF DCE: Guide to Developing Distributed Applications. McGraw Hill. 1994.
8) K.
Loepere.
Resolving Covert Channels within a B2 Class Secure System. ACM Operating System Review, v.19, n.2,
Jul, 1985.
9) W. Rosenberry, D. Kenney, G. Fisher. OSF DCE: Understanding DCE. O'Reilly&Associates. 1992.
10) D. Russell, G.T. Gangemi. Computer Security Basics. O’Reilly&Associates, 1991.
11) S.Salamone. Internetwork Security: Unsafe at Any Node?. Data Communications, Sep 1993.
12) S.L. Shaffer, A.R. Simon. Network Security. AP Professional, 1994.
13) H. Strack. Extended Access Control in UNIX System V - ACLs and Context. UNIX Security Workshop, Portland, Aug,
1990.
14) D.R.Wichers, D.M.Cook, R.A.Olsson, i inni. PACL's: An Access Control List Approach to Anti-Viral Security. UNIX
Security Workshop, Portland, Aug, 1990.