linuxpub.pl
Powrót Powrót 
 
Wyślij znajomemu Drukuj

AppArmor - nieco inne podejście do bezpieczeństwa
Behawioryzm w systemach zabezpieczeń
23-08-2006 01:09

Jeżeli masz lekkiego bzika na punkcie bezpieczeństwa, lub na swoich serwerach uruchamiasz najnowsze, a przez to nie zawsze bezpieczne wersje oprogramowania to być może zainteresuje Cię system AppArmor, który można określić jako behawioralny system zabezpieczeń.

Klasyczne systemy zabezpieczania programów opierały się na jednej z dwóch zasad. Pierwsza zasada polegała na zabezpieczaniu programu przed złamaniem przez wyszukiwanie potencjalnie niebezpiecznych miejsc i poprawianie ich - zaliczamy tu zarówno klasyczne przeglądy kodu, automatyczne analizatory źródeł jak np. lint, testy obciążeniowe oraz systemy zabezpieczające przed specyficznymi rodzajami błędów jak np. Electric Fence albo ascii-armor. Druga zasada wywodziła się z założenia, że każdy program może zwariować lub zostać rozmyślnie złamany i dlatego należy maksymalnie ograniczyć potencjalne szkody jakie może wtedy wyrządzić - do tej grupy zaliczamy firewalle, DMZ-ty, ustalanie minimalnych potrzebnych uprawnień dostępu do plików, ulimit, fakeroot itp.

AppArmor ze względu na przeznaczenie należy zaliczyć do drugiej grupy - mechanizmów ograniczania szkód. Jednak ze względu na zasadę obsługi jest on niepodobny do żadnego z klasycznych systemów. Dlaczego? Cóż, niezależnie od zasady działania wszystkie one wymagały pewnego zagłębienia się w sposób działania programu. AppArmor używa natomiast podejścia, które określiłem jako "behawioryzm" - obchodzi go wyłącznie zewnętrzne zachowanie aplikacji w warunkach normalnych. Na podstawie jej kontrolowanego uruchomienia zostaje utworzony profil normalnych potrzeb. Posiadając taki profil AppArmor pozwala ograniczyć uprawnienia programu do tych koniecznych do zaspokojenia wykrytych potrzeb.

Skrótowy scenariusz użycia można przedstawić następująco: Uruchamiamy program w trybie tworzenia profilu. Po wykonaniu przy jego użyciu kilku typowych operacji kończymy go i uruchamiamy narzędzie profilujące. Narzędzie to prezentuje nam po koleji wszelkie zewnętrzne zachowania programu, a my określamy czy i z jakim poziomem ogólności powinny one być dozwolone. Następnie uruchamiamy program z wymuszonym profilem. Zwykli użytkownicy mogą używać programu bez przeszkód, gdyż uprawnienia dla zachowań normalnych są zapewnione. Włamywacz próbujący zmusić program do wykonania nienormalnego zachowania, np. dobrania się do istotnego pliku systemowego natknie się na barierę - takie zachowanie nie jest określone w profilu, więc zostanie zablokowane.

Jakie są zalety takiego rozwiązania? Przede wszystkim zrozumienie działania aplikacji i wywnioskowanie z niego jej minimalnych wymagań może być procesem trudnym i męczącym - w wielu przypadkach nie do wykonania dla przeciętnego administratora, dlatego wielu z nich pozostaje przy domyślnych ograniczeniach opracowanych przez autora programu lub paczki dla danej dystrybucji. Tymczasem mogą one być zbyt luźne, gdyż nie uwzględniają konkretnych warunków pracy programu. Jeszcze gorsza sytuacja ma miejsce gdy uruchamiany na serwerze program jest wykonany na zamówienie lub wewnętrznie w firmie - niestety programistom może nie chcieć się określać wymaganych uprawnień. W takich sytuacjach możliwość określenia i wymuszenia uprawnień przy użyciu AppArmor może być nieoceniona.

Na koniec mała informacja historyczna. AppArmor to jeden z wielu przykładów zaangażowania firmy Novell w rozwój Linuksa. Program ten został przez nią zakupiony w 2005 roku od firmy Immunix i opublikowany jako Wolne Oprogramowanie w 2006 w ramach dystrybucji SUSE Linux. Zaiste budujące jest obserwowanie jak bardzo Linuksa wspiera firma, która na eksplozji jego popularności na serwerach straciła być może najwięcej ze wszystkich



( Tomasz Mazurek )  


Do góry Do góry 
 
Powrót Powrót 
Wyślij znajomemu Drukuj
Dodaj komentarz
Temat: *
Treść: *
Podpis: *
Adres e-mail: Nie publikuj adresu na stronie
Powiadom mnie
jeżeli ktoś doda komentarz:
(Musisz podać adres emial aby skorzytsać z tej opcji)
 
* - pola obowiązkowe

Komentarze powinny być zgodne ogólnie przyjętymi normami moralnymi oraz zasadami netykiety.
Zabronione jest umieszczanie obraźliwych, niecenzuralnych wypowiedzi. Niedozwolone jest również
wykorzystywanie serwisu do celów komercyjnych bez wiedzy i zgody administratora.
Komentarze które naruszą powyższe warunki będą usuwane.

Za treści pozostawione przez osoby odwiedzające nasze serwisy, zespół linuxpub.pl nie ponosi odpowiedzialności.
 
Wiadomości | Archiwalne wiadomości | Faq | Felietony | Podstawy | Konfiguracja | Administracja | Programowanie | Licencja GNU/GPL
2000 - 2008 Copyright (c) linuxpub.pl, epub.pl | Zgłoś błąd