• Nie Znaleziono Wyników

Zasady wyboru plików do ochrony

Rozdział 4. Model zapewniania bezpieczeństwa systemu operacyjnego

4.2. Zasady wyboru plików do ochrony

Polityka zapewniania bezpieczeństwa systemów operacyjnych jest prowadzona przez administratorów i zależy od wagi przechowywanych danych i wielkości potencjalnych strat wynikających z przeprowadzenia przez intruza skutecznego ataku. Z polityki bezpieczeństwa przyjętej przez administratora systemu wynika rodzaj i liczba plików przeznaczonych do ochrony. Zapewnienie ochrony dla wszystkich zapisanych plików jest praktycznie niemożliwe, z uwagi na nieunikniony spadek szybkości działania systemu operacyjnego.

4.2. Zasady wyboru plików do ochrony

Ponadto liczne pliki są bardzo często modyfikowane, np. pliki tymczasowe, czy pliki związane z uruchomionymi programami użytkowymi, w których zapisywane są bieżące rezultaty pracy.

Zastosowanie nawet prostej klasyfikacji plików pozwala na opracowanie indywidualnej polityki bezpieczeństwa dla każdej z wyróżnionych grup. W związku z tym, na potrzeby opracowanego mechanizmu, podzielono pliki zapisane w systemie operacyjnym na trzy grupy:

pliki systemowe – pliki programów tworzących system operacyjny,

pliki konfiguracyjne – ustawienia programów systemowych i użytkowych,

pliki użytkowników – dane wytwarzane przez użytkowników.

Podział ten został dokonany na podstawie częstości modyfikacji plików oraz ich znaczenia dla bezpieczeństwa systemu komputerowego. Należy podkreślić, że taka klasyfikacja jest naturalna i np. w systemach zgodnych ze standardem POSIX ma swoje odbicie w strukturze drzewa katalogów.

Do pierwszej grupy zaliczane są pliki jądra systemu operacyjnego, bibliotek i programów systemowych, a także wykonywalnych programów użytkowych. Pliki zawierające ustawienia programów systemowych takich jak serwery, usługi lub demony, a także globalną konfigurację środowiska roboczego, zostały zakwalifikowane do grupy plików konfiguracyjnych. W grupie umownie nazwanej plikami użytkowników, oprócz plików tworzonych w programach użytkowych, znajdują się również pliki tymczasowe programów, które mogą być zmieniane w dowolnej chwili przez działający program.

Pliki systemowe, w poprawnie zainstalowanym systemie operacyjnym zmieniają się niezwykle rzadko. Taka sytuacja ma miejsce głównie po wykryciu błędów w programach, konieczności instalacji nowych aplikacji lub aktualizacji ich do najnowszej wersji. Dane w plikach konfiguracyjnych mogą być modyfikowane częściej. Zależy to od wielkości systemu operacyjnego i doświadczenia administratorów. Jednak najczęściej zmienianymi plikami są dane użytkownika.

Rysunek 4.3. Częstotliwość zmian plików w systemie operacyjnym

4.2. Zasady wyboru plików do ochrony

Z drugiej strony pliki użytkowników zmieniają się bardzo często i dlatego nie powinny być zabezpieczane przez system operacyjny, lecz przez ich właścicieli. To ich zadaniem jest tworzenie regularnych kopii zapasowych z najistotniejszymi danymi.

Przeprowadzony został eksperyment, podczas którego zbadano liczbę dokonanych w ciągu 6 miesięcy modyfikacji plików w systemie operacyjnym Debian zainstalowanym na komputerze, który pełnił rolę serwera WWW. Na podstawie badania, z pewnym przybliżeniem można przyjąć, że częstotliwość zmian w plikach użytkownika jest o rząd wielkości większa niż w plikach konfiguracyjnych, która jest z kolei większa o rząd wielkości niż dla plików systemowych. Wyniki eksperymentu zostały zilustrowane na rysunku 4.3.

Przy zabezpieczaniu systemu operacyjnego Linux, należy uwzględnić jego standardowy podział plików i katalogów. Drzewo katalogów w większości dystrybucji systemu Linux wygląda tak samo lub bardzo podobnie. Standard definiujący ściśle określoną hierarchię drzewa katalogów i nazwy poszczególnych katalogów nosi nazwę Linux Standard Base Filesystem Hierarchy Standard (LSB FHS) [97]. Pliki są pogrupowane nie względem ich pochodzenia lecz według ich funkcji. Oznacza to, że pliki jednego tylko programu mogą być zapisane w różnych katalogach, np. pliki konfiguracyjne w katalogu /etc/, pliki bibliotek /usr/lib/, czy pliki wykonywalne w /usr/bin/. W tabeli 4.1 została przedstawiona standardowa struktura drzewa katalogów w systemie Linux wraz z przypisaniem poszczególnych katalogów do jednej z trzech, zdefiniowanych wcześniej grup.

Niektóre katalogi nie zostały przypisane do żadnej z trzech grup, gdyż są nieistotne z punktu widzenia ochrony przed modyfikacją. Są to katalogi, w których nie są przechowywane dane, lecz np. wirtualne pliki jądra (katalogi sys, proc), dynamicznie tworzone urządzenia (katalog dev), czy punkty montowania innych systemów plików (katalogi media, mnt). Również katalog przeznaczony do przechowywania plików tymczasowych (tmp), z uwagi na swoją naturę, nie podlega żadnej ochronie.

W celu zapewnienia bezpieczeństwa działania systemu operacyjnego dla każdej ze zdefiniowanych grup plików należy zastosować inną politykę ochrony. Zastosowane środki bezpieczeństwa zależą od częstotliwości zmian danych w plikach oraz przewidywanych rozmiarów potencjalnych strat, jakie mogą wyniknąć z powodu ich modyfikacji lub zniszczenia.

Z punktu widzenie ochrony całego systemu komputerowego kluczowym zagadnieniem jest zapewnienie bezpieczeństwa plikom systemowym. Modyfikacja zawartości plików systemowych przez intruza może doprowadzić do przejęcia kontroli nad systemem operacyjnym lub zainstalowania wrogich programów. W związku z tym, według zalecanego modelu bezpieczeństwa należy całkowicie zablokować możliwość modyfikacji plików systemowych, zwłaszcza w systemach przeznaczonych do zastosowań serwerowych. W historii informatyki znane są rozwiązania, w których sam system operacyjny zapisywany był w sposób niemodyfikowalny bezpośrednio w układzie scalonym, jak miało to miejsce np. w komputerach ośmiobitowych, takich jak np. Spectrum.

Część danych przydzielonych do grupy plików systemowych można również zakwalifikować jako część tzw. „godnej zaufania bazy obliczeniowej” (ang. Trusted Computing Base, TCB), która jest definiowana jako zbiór wszystkich mechanizmów, zarówno sprzętowych jak i programowych, odpowiedzialnych za bezpieczeństwo. W skład takiej bazy wchodzą wszystkie komponenty, których niepożądane działanie może doprowadzić do zagrożenia

4.2. Zasady wyboru plików do ochrony

bezpieczeństwa [2], czyli m.in. jądro systemu operacyjnego oraz pliki programów systemowych związanych z zapewnieniem poufności i integralności. W związku z tym, że jednym z wymagań dla TCB jest tzw. samo-ochrona (ang. self-protecting), zablokowanie możliwości modyfikacji plików wchodzących w skład bazy jest pożądane i całkowicie uzasadnione. Oczywiście zastosowanie opracowanego mechanizmu do ochrony kluczowych plików w systemie operacyjnym Linux nie spowoduje, że będzie on spełniał wszystkie postulaty TCB. Dla tego systemu operacyjnego powstało kilka systemów wykorzystujących opracowaną przez Trusted Computing Group platformę TPM, wśród których można wymienić UCLinux, TegLinux oraz Enforcer [73].

Tabela 4.1. Drzewo katalogów wg standardu LSB FHS

KATALOG OPIS GRUPA

bin Podstawowe programy użytkowe PLIKI SYSTEMOWE boot Pliki programu rozruchowego PLIKI SYSTEMOWE dev Pliki urządzeń

etc Pliki konfiguracyjne programów PLIKI KONFIGURACYJNE

home Dane użytkowników PLIKI UŻYTKOWNIKÓW

lib Współdzielone biblioteki i moduły jądra PLIKI SYSTEMOWE media Punkt montowania

mnt Tymczasowy punkt montowania

opt Dodatkowe oprogramowanie PLIKI SYSTEMOWE

root Pliki użytkownika root PLIKI UŻYTKOWNIKÓW

proc Wirtualny system plików jądra

sbin Podstawowe programy systemowe PLIKI SYSTEMOWE sys Dane systemowe

tmp Pliki tymczasowe

usr Pliki programów użytkowych PLIKI SYSTEMOWE var Dane tymczasowe aplikacji PLIKI UŻYTKOWNIKÓW

Drugą grupę, którą należy rozpatrywać przy zapewnianiu bezpieczeństwa systemu operacyjnego stanowią pliki konfiguracyjne. Są one modyfikowane znacznie częściej od plików systemowych, a jednocześnie ich nieautoryzowana modyfikacja nie prowadzi do tak groźnych skutków, jak w przypadku modyfikacji plików systemowych. W związku z tym, w proponowanym modelu bezpieczeństwa należy uwzględnić możliwość okresowej zmiany danych zapisanych w tych plikach. Okresowa zmiana zawartości plików konfiguracyjnych wynika z prac administracyjnych, polegających na wprowadzaniu nowych ustawień programów, dodawaniu użytkowników do systemu czy zmiany ustawień sieciowych. Do administratorów serwerów należy wybór niektórych plików konfiguracyjnych, które będą podlegać całkowitej ochronie w zaprojektowanym systemie zabezpieczeń. Dla pozostałych plików konfiguracyjnych należy stworzyć mechanizm, który umożliwi ich zapisywanie na modyfikowalnych nośnikach danych z fizyczną blokadą zapisu. Zastosowanie takich urządzeń pozwala administratorom na zmianę plików konfiguracyjnych po odblokowaniu możliwości zapisu. Taka polityka wiąże się z dodatkowymi pracami administracyjnymi, ale jednocześnie zapewnia bezpieczeństwo systemu komputerowego.

4.2. Zasady wyboru plików do ochrony

Trzecią grupę, umownie nazywaną plikami użytkowymi, stanowią pliki z zapisanymi danymi wygenerowanymi przez użytkowników, pliki programów użytkowych oraz pliki tymczasowe aplikacji. Są one bardzo często modyfikowane i w związku z tym nie jest wskazany wybór tych plików do ochrony w zaproponowanym mechanizmie bezpieczeństwa. Pliki użytkowe powinny być regularnie archiwizowane, jak również powinny zostać stworzone odpowiednie procedury umożliwiające ich szybkie przywracanie po wykryciu włamania lub uszkodzenia.

Zgodnie z regułami archiwizacji tego typu dane mogą być przechowywane zarówno w postaci kopii pełnych, przyrostowych jak i różnicowych.

Mechanizm zapewniający bezpieczeństwo systemów operacyjnych powinien działać niezależnie od liczby i typów plików wybranych do ochrony. Natomiast wybór liczby plików powinien być poprzedzony analizą wydajności działania systemu operacyjnego. Chodzi o to, żeby mechanizm zapewniający bezpieczeństwo w sposób znaczący nie zmniejszał szybkości działania systemu operacyjnego.

Na rysunku 4.4 przedstawiona została schematycznie proponowana polityka bezpieczeństwa.

Rysunek 4.4. Proponowana polityka zabezpieczania danych

W proponowanej polityce bezpieczeństwa pliki systemowe są niemodyfikowalne i intruz nie ma możliwości dokonania jakichkolwiek zmian danych w nich zapisanych. W przypadku plików konfiguracyjnych ich zmiana jest możliwa tylko w momencie prac administracyjnych.

Należy podkreślić, że w tym czasie pliki są narażone na ataki i administratorzy powinni dodatkowo zabezpieczyć system, np. poprzez odłączenie sieci komputerowej. Pliki użytkowników są całkowicie modyfikowalne i przez to narażone na ataki intruzów. Dlatego polityka bezpieczeństwa dla tego typu plików sprowadza się do regularnego wykonywania kopii zapasowych [62].

Zastosowanie takiej polityki bezpieczeństwa zapewnia ochronę działającego systemu. W przypadku udanego ataku, intruz nie będzie mógł dokonać trwałych zniszczeń w systemie.

Jedynie pliki użytkowników są narażone na modyfikację lub usunięcie. Jeśli jednak kopie zapasowe były wykonywane regularnie, przywrócenie tych danych nie będzie stanowić problemu.