Wykład X Kierunek Matematyka - semestr IV Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik
Zarządzanie bezpieczeństwem
Kontrola dostępu Kontrola dostępu - sprawowanie nadzoru nad tym, którzy uczestnicy (osoby, procesy, maszyny) mają dostęp do których zasobów systemu, czytania jakich plików, które programy mogą uruchamiać, itp. Mechanizmy kontroli dostępu, które użytkownik widzi na poziomie aplikacji, mogą wyrażać bardzo bogatą i skomplikowaną politykę bezpieczeństwa. Współczesne firmy mogą przypisywać pracownikom jedną z dziesiątek rozmaitych ról. Każda z nich może wymagać stosowania pewnego podzbioru transakcji z wszystkich możliwych w systemie transakcji. Niektóre z transakcji mogą na przykład wymagać dwuosobowej weryfikacji.
Macierz praw dostępu Prawa: r - do odczytu, w - do zapisu, x - do uruchamiania, - brak uprawnień System Program Dane 1 Dane 2 Dane 3 operacyjny przetwarzający dane Alicja x x rw r Bob rwx rwx rw rw rw Cecylia rx x r r rw Dla dużych zbiorów użytkowników, programów i plików z danymi stosowanie tej formy określania praw dostępu jest niewydajne.
Grupy i role Wprowadzenie swego rodzaju klasyfikacji osób i pełnionych przez nich funkcji prowadzi do zdefiniowania niewielkiej liczby grup i ról. Każdy pracownik może należeć do jakiejś grupy (lub kilku grup) jednocześnie można mu przypisać jakąś rolę. Grupa to lista uczestników, podczas gdy rola to ustalony zbiór praw dostępu, które może nabyć jeden lub więcej uczestników na określony czas. W niektórych systemach nie występuje rozróżnienie pomiędzy tymi pojęciami. Przykład. Grupa kierownik wyraża pozycję znajdujących się w niej osób w organizacji. Podczas gdy asystent księgowości może sprawować funkcję kierownika podczas nieobecności właściwego kierownika (np. ze względu na chorobę).
Lista kontroli dostępu Lista kontroli dostępu (access control list - ACL) - jest to szczególna macierz praw dostępu przechowywana wraz z zasobem. Lista dla pliku - Dane 1: Alicja Bob Cecylia rw rw r Listy ACL są proste w realizacji. Wady: - ciężko rozpoznać wszystkie pliki do których ma dostęp użytkownik - odwołanie dostępu pracownika (został zwolniony) wymaga przeglądnięcia wszystkich list.
Realizacja ACL w systemach Unix/Linux W systemie Unix pliki mogą mieć tylko szczególne listy kontroli dostępu. Są to listy atrybutów rwx dla właściciela zasobu, grupy i świata. Przykład. Katalog: drwxrwxr-x Plik: -rw-r----- Alicja Studenci Alicja Studenci
Ograniczenia ACL w systemach Unix System operacyjny (jądro systemu) ma nieograniczony dostęp do wszystkich zasobów. Istnieje też użytkownik root (administrator), który ma pełne prawa do wszystkich działań. Trudno w tych systemach zaimplementować wiarygodny ślad rewizyjny w postaci pliku, którego nie można modyfikować. Administrator może manipulować przykładowo rachunkami, nie może także obronić się przed fałszywymi oskarżeniami o takie manipulacje. W dystrybucjach FreeBSD można określić pliki jako tylko do dopisywania. Można określić, że są one niemodyfikowalne i nieusuwalne dla użytkownika (nawet administatora), systemu lub dla obu.
Ochrona wielopoziomowa Systemy gromadzenia danych mogą je przechowywać wraz z przydzielonymi im różnymi klauzulami tajności (poufne, tajne, ściśle tajne,...). Dane może odczytać tylko uczestnik mający poświadczenia bezpieczeństwa co najmniej takie jak klauzula tych danych. Koncepcje wielopoziomowe pierwotnie opracowano do wspierania poufności w systemach wojskowych, to obecnie wiele systemów komercyjnych stosuje wielopoziomową politykę integralności.
Ochrona wielopoziomowa Systemy gromadzenia danych mogą je przechowywać wraz z przydzielonymi im różnymi klauzulami tajności (poufne, tajne, ściśle tajne,...). Dane może odczytać tylko uczestnik mający poświadczenia bezpieczeństwa co najmniej takie jak klauzula tych danych. Koncepcje wielopoziomowe pierwotnie opracowano do wspierania poufności w systemach wojskowych, to obecnie wiele systemów komercyjnych stosuje wielopoziomową politykę integralności. W Polsce klasyfikacja dokumentów wynika z Ustawy o ochronie informacji niejawnych i z grubsza jest następująca: informacja może być jawna, może być tajemnicą służbową, lub tajemnicą państwową.
Model Bella-LaPaduli Model BLP jest modelem bezpieczeństwa informatycznego, który został sformułowany w 1973 roku przez Davida Bella i Lena LaPadula. Jest on także znany jako ochrona wielopoziomowa. Systemy, które go implementują nazywa się systemami MLS (multilevel secure). Ich główną cechą jest to, że informacja nie może płynąć w dół.
Model Bella-LaPaduli Model BLP wymusza dwie własności: Warunek ochrony prostej: żaden proces nie może odczytywać danych z wyższego poziomu.
Model Bella-LaPaduli Model BLP wymusza dwie własności: Warunek ochrony prostej: żaden proces nie może odczytywać danych z wyższego poziomu. *-właściwość: żaden proces nie może zapisywać danych na niższy poziom. Ostatnia właściwość wynika z lęku przed złośliwym kodem. Użytkownik o wysokich poświadczeniach bezpieczeństwa, mógłby nieświadomie uruchomić program typu koń trojański, który mógłby skopiować dane na niższy poziom. Zatem system powinien wymuszać politykę bezpieczeństwa niezależnie od poczynań użytkowników.
Kerberos
Problem Konieczność przechowywania dużej ilości kluczy Klient musi mieć wiele haseł Trudności z dodawaniem kolejnych serwerów
Kerberos Kerberos (czyli Cerber w mitologii greckiej) - powstał w MIT (Massachusetts Institute od Technology) aby zapewnić użytkownikom otwartej sieci potrzebne im bezpieczeństwo przechowywanych i przesyłanych danych przez udzielanie do nich dostępu tylko uprawnionym jednostkom. Kerberos nie zajmuje się jednak przechowywaniem danych, a jedynie przyznaje (bądź nie) dostęp do określonych usług sieciowych. Obecnie aktualną wersją systemu Kerberos jest wersja 5.
Cechy i założenia systemu Kerberos Bezpieczeństwo Elastyczność Centralny serwer uwierzytelniający (AS) Architektura rozproszona składająca się ze stacji użytkowników i rozproszonych lub scentralizowanych serwerów W ramach Kerberosa działają: klienci, usługi oraz Ticket-granting Service (TGS) wydający klientom bilety umożliwiające skorzystanie z konkretnej usługi Klient podaje hasło tylko raz serwerowi AS Klient nie musi zdradzać hasła serwerom usług. Dostęp do usługi następuje na podstawie biletu. Bilety posiadają ograniczoną wartość czasową
Schemat Grafika zaczerpnięta ze strony: http://students.mimuw.edu.pl/
Opis systemu Kerberos Logowanie do systemu: 1 Klient podaje nazwę klienta (login) i zgłasza AS zapotrzebowanie na dostęp do TGS. 2 AS generuje losowy klucz sesyjny S, oraz tworzy TGT-bilet składający się z: nazwy serwera TGS, nazwy klienta, IP klienta, stempla czasowego, czasu życia dla biletu i klucza S. Bilet szyfruje kluczem tajnym T serwera TGS. Następnie do tego szyfrogramu dołącza S i wszytko szyfruje kluczem C wygenerowanym z hasła klienta. Całość odsyła do klienta. 3 Klient odszyfrowuje za pomocą C to co otrzymał. Zatem zna klucz sesji S oraz posiada zaszyfrowany TGT-bilet. Jednocześnie jego hasło nigdy nie było wysyłane.
Opis systemu Kerberos Uzyskiwanie biletu do usługo: 4 Klient przesyła jednocześnie TGT-bilet oraz informacje dotyczące zapotrzebowania na usługi wraz z nazwą użytkownika, które są szyfrowane kluczem sesyjnym S. 5 TGS deszyfruje swoim tajnym kluczem T TGT-bilet. Otrzymuje w ten sposób klucz sesyjny S, którym następnie odszyfrowuje informacje od klienta. Następnie sprawdza, czy klient ma prawo skorzystać z usług, na które zgłasza zapotrzebowanie.
Opis systemu Kerberos 6 TGS przysyła klientowi bilet przeznaczony dla odpowiedniego serwera usług oraz wygenerowany nowy klucz sesyjny X. Bilet zawiera: nazwę serwera usług nazwę klienta IP klienta czas życia biletu klucz sesji X Bilet zostaje zaszyfrowany tajnym kluczem W serwera usług. Ten szyfrogram oraz klucz sesji X są szyfrowane kluczem S i wysyłane klientowi Bilet może być wykorzystywany wielokrotnie aż do wyczerpania się jego czasu życia.
Opis systemu Kerberos Uzyskiwanie dostępu do usługi: 7 Klient odszyfrowuje wiadomość od serwera TGS. Uzyskuje klucz sesji X oraz zaszyfrowany bilet. 8 Klient przesyła swoje zapotrzebowanie zaszyfrowane kluczem X oraz bilet do serwera usług. 9 Serwer usług odszyfrowuje swoim kluczem tajnym W bilet. Sprawdza jego ważność. Uzyskuje klucz sesji X. Odszyfrowuje nim zapotrzebowanie. 10 Dalsza komunikacja pomiędzy klientem a serwerem usług w ramach zapotrzebowania jest szyfrowana kluczem X, dopóki bilet nie utraci ważności.
Królestwa Kerberosa Wiele niezależnych systemów Kerberos może ze sobą współpracować. Serwery w ramach jednego systemu nazywamy królestwem. Jeżeli serwery TGS z różnych królestw znają swoje klucze tajne, to może nastąpić udostępnianie usług pomiędzy królestwami. Klient chcąc skorzystać z odległej usługo zgłasza się do swojego AS. Później do swojego TGS, który to da mu bilet do zdalnego TGS. Następnie zdalny TGS przekaże klientowi bilet do serwera usług w swoim królestwie. Oczywiście zakładając, że klient miał prawo do takiej usługi.
Koniec