System bezpieczeństwa w Windows NT

Pojęcie bezpieczeństwa danych jest rzadko wiązane z komputerami PC. Jednakże nowe systemy operacyjne oferują różne poziomy ochrony danych, zapewniane zwykle przez sprawdzone formy identyfikacji użytkownika i ograniczania dostępu do programów, plików, zasobów systemowych, itp. Podobnie jest w Windows NT.

Pojęcie bezpieczeństwa danych jest rzadko wiązane z komputerami PC. Jednakże nowe systemy operacyjne oferują różne poziomy ochrony danych, zapewniane zwykle przez sprawdzone formy identyfikacji użytkownika i ograniczania dostępu do programów, plików, zasobów systemowych, itp. Podobnie jest w Windows NT.

Niezależnie od tego na ile bezpiecznie został zaprojektowany system ochrony, jest ona na tyle skuteczna, na ile bezpieczne jest jej najsłabsze ogniwo. Od dawna wiadomo, że tym najsłabszym ogniwem jest użytkownik. Nawet w najlepiej zaprojektowanym systemie ochrony trudno jest zapobiec możliwości podawania przez użytkownika hasła dostępu łatwego do odgadnięcia: imienia żony, mamy, dzieci czy nazwiska rodowego. Jeżeli w wyniku działań administracyjnych wymusi się konieczność zmiany hasła dostępu, np. co miesiąc, to jak pokazuje praktyka, użytkownicy będą posługiwać się dwoma hasłami na zmianę lub wykonają dwie kolejny zmiany hasła i powrócą do imienia ukochanej. Aby skutecznie ograniczyć tego rodzaju praktyki, oprócz wymuszania zmiany hasła, konieczne jest zapisywanie historii używanych haseł i niedopuszczanie do powtórnego użycia dawnego hasła.

Skuteczna polityka ochrony danych opierać się musi na dobrym zrozumieniu potrzeb ochrony, jasnym pojmowaniu zagrożeń i stałym podejmowaniu działań, ułatwiających osiąganie zamierzonego celu. Sam system operacyjny nie zapewni dostatecznej ochrony danych, chociaż może je wspomóc.

Poziomy ochrony

Powszechnie akceptowane kryteria bezpieczeństwa w systemach komputerowych opierają się na zaleceniach Departamentu Obrony USA i są sklasyfikowane od najniższego poziomu D (brak ochrony) przez dość powszechnie akceptowany poziom C2 aż do poziomu A1, wymagającego teoretycznie weryfikowalnego projektu ochrony.

Windows NT, podobnie jak większość systemów operacyjnych Unix, jest w stanie zapewniać tzw. "uznaniową ochronę" na poziomie C2. Ma ona następujące cechy:

* Właściciel zasobów komputera może, według własnego uznania, przyznawać do nich dostęp, kontrolować go i sprawdzać jak został wykorzystany. Kontrola dostępu musi pozwalać na włączenie/wykluczenie dowolnego użytkownika lub ich grupy.

* Pamięć jest chroniona w taki sposób, że nie można odczytać jej zawartości, po zwolnieniu jej przez dowolny proces.

* Dostęp do systemu mają tylko ci użytkownicy, których można zidentyfikować, a dostęp do wszystkich kontrolowanych zasobów także wymaga podania identyfikatora użytkownika.

* Administrator systemu może kontrolować wszystkie zdarzenia związane z bezpieczeństwem systemu.

Model ochrony w Windows NT

Każda czynność wykonywana przez system operacyjny należy do jakiegoś procesu, inicjowanego przez system operacyjny. Jednym z takich procesów jest Logon Proces, służący do identyfikacji użytkownika w momencie włączania się do systemu. Proces ten korzysta z usług chronionego podsystemu bezpieczeństwa (Security Subsystem), sprawdzającego w bazie danych informacje o użytkowniku i jego uprawnieniach.

Większość elementów systemu Windows NT oparta jest na modelu obiektów, mających określone poziomy ochrony i prawa dostępu do nich. Każda próba skorzystania z obiektu chronionego (może to być drukowanie, odczytywania pliku czy wywołanie określonego programu) wymaga sprawdzenia czy użytkownik ma prawo skorzystania z tego procesu.

Użytkownik w trakcie korzystania z komputera tworzy własne procesy, które znakowane są za pomocą żetonu praw dostępu użytkownika. Każdy proces systemu operacyjnego działający na rzecz użytkownika sprawdza, czy użytkownik ma dostateczne uprawnienia do skorzystania z jego usług. Sprawdzaniem praw dostępu w trakcie pracy systemu zajmuje się jeden z podsystemów jądra systemu: Security Reference Monitor.

System operacyjny Windows NT korzysta z pokazanych mechanizmów w celu zapewnienia dwóch typów ochrony: uznaniowej i systemowej.

Ochrona uznaniowa polega na porównaniu prawa dostępu właściciela procesu (użytkownika) z wymaganiami dostępu procesów (usług) systemu operacyjnego.

Ochrona systemowa (wymagana przez poziom ochrony C2) jest bardziej szczegółowa, ale też prawie niewidoczna dla użytkowników, gdyż polega na kontrolowaniu i notowaniu wszelkich działań mogących naruszać bezpieczeństwo systemu. Jednym z przejawów tej działalności jest zapisywanie komunikatów kontrolnych przy każdej udanej i nieudanej próbie dostępu (logowania się) do systemu, przy próbie zmiany bazy danych kont użytkowników i dostępie do plików.

Prawa dostępu

Administrator systemu może przyznać prawa dostępu indywidualnym użytkownikom lub całej grupie. W tym celu tworzy on konto użytkownika, określające dokładane prawa dostępu. Zawiera ono m.in. hasło, pozwalające użytkownikowi na włączenie się do systemu. Informacje o kontach użytkowników przechowywane są w specjalnej bazie danych użytkowników, uaktualnianej przez podsystem bezpieczeństwa.

Grupy użytkowników tworzone są raczej ze względu na wygodę administrowania, gdyż umożliwiają przyznawanie takich samych uprawnień, jakie mają indywidualni użytkownicy, a ich zakładanie zajmuje mniej czasu. Zamiast przyznawać po kolei wszystkim użytkownikom prawa dostępu do określonego katalogu (pliku), można stworzyć grupę użytkowników i nadać im wszystkim w jednej operacji odpowiednie prawo dostępu. Jeżeli zmieni się stan grupy, to zmianę wykonuje się tylko w jednym miejscu nie zaś wszędzie tam, gdzie miał dostęp poprzedni użytkownik.

Prawa dostępu wykorzystują unikalne i przenośne identyfikatory dostępu (security identifiers - SID), służące do określenia użytkownika. Może się przecież zdarzyć, że w systemie pojawi się dwóch użytkowników o nazwisku Kowalski. Administrator nada im inne hasła początkowe, które potem powinni zmienić, ale system ochrony musi ich jednoznacznie zidentyfikować. Robi to właśnie przy użyciu SID. Usunięcie konta użytkownika i utworzenie nowego dla tego samego użytkownika spowoduje nadanie mu innego identyfikatora SID.

Zdolność przenoszenia identyfikatorów SID objawia się w tym, że na przykład po przeniesieniu wyjmowalnego dysku stałego do innego systemu komputerowego, dostęp do plików na tym dysku mogą mieć jedynie ci użytkownicy, którzy mieli go w dawnym systemie komputerowym.

Z punktu widzenia użytkownika identyfikatory SID są dającymi się odczytać adresami, zawierającymi nazwę użytkownika poprzedzoną nazwą grupy.

Domeny

W Windows NT dopuszczalne jest połączenie grup serwerów i stacji roboczych w jedną domenę, do której można przydzielić dostęp grupom użytkowników. W ramach domeny wyznaczony jest główny serwer (Primary Domain Controler), przechowujący bazę danych o kontach użytkowników. Pozostałe serwery przechowują w celach bezpieczeństwa jedynie repliki tej bazy.

Domeny stanowią spore ułatwienie, gdyż użytkownik nie musi włączać się do każdego serwera w swoim dziale, departamencie czy przedsiębiorstwie. Wystarczy zalogować się raz do domeny, utworzonej przez administratora systemu.

W Windows NT poszerzono pojęcie domeny o tzw. wiarygodne domeny (trusted domains). Relacja wiarygodności między domenami pozwala korzystać użytkownikom jednej z nich z zasobów drugiej. Relacja nie musi być dwukierunkowa: użytkownicy domeny A mogą korzystać z zasobów domeny B, ale nie odwrotnie.

Domeny mają oczywiście swoje identyfikatory SID, uniemożliwiające powtórzenie się ich gdziekolwiek indziej.

Literatura

W przedstawionym materiale nie jestem w stanie poruszyć wielu problemów, związanych z bezpieczeństwem systemu Windows NT, choćby ze względu na ograniczony rozmiar naszego pisma. W tej dziedzinie polecam książkę Helen Custer: Inside Windows NT (Microsoft Press, 1992) oraz publikację Microsoft Windows NT Resource Guide (niestety, nie otrzymuje się jej razem z Windows NT, a szkoda).

W celu komercyjnej reprodukcji treści Computerworld należy zakupić licencję. Skontaktuj się z naszym partnerem, YGS Group, pod adresem [email protected]

TOP 200