pobierz plik referatu

Transkrypt

pobierz plik referatu
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Rozdział 33
w
Analiza stanu plików dla wzrostu bezpieczeństwa
systemów bazodanowych
w
1
Wstęp
da
.b
w
Streszczenie. Wobec gwałtownego wzrostu zagrożeń w sieciach komputerowych, informacja przechowywana w systemach informatycznych, także
w systemach baz danych, wymaga ochrony wielopłaszczyznowej. Bezpieczeństwo systemu bazy danych w dużym stopniu zależy od bezpieczeństwa
środowiska, w którym funkcjonuje. W rozdziale omówiono znaczenie analizy
stanu plików dla ochrony systemów bazy danych, przedstawiono założenia
projektowe systemu wspomagającego bezpieczeństwo systemu bazy danych
poprzez analizę aktywności plików. Sporządzany w efekcie jego działania raport umożliwi szybką reakcję administratora w przypadku identyfikacji
niepożądanych zmian
pl
s.
Całkowite bezpieczeństwo systemów informatycznych w sieci komputerowej nie jest możliwe, mimo stosowanych mechanizmów ochrony, gdyż wszelkie zabezpieczenia są również
podatne na ataki. Serwery systemów bazodanowych stanowią szczególnie interesujący
obiekt dla hakerskich działań, których celem może być zniszczenie lub modyfikacja danych, zakłócenie ich dostępności, nieuprawniony odczyt informacji czy przejęcie kontroli
nad systemem. Bezpieczeństwo systemów baz danych może zostać naruszone nie tylko
przez nieautoryzowanych użytkowników, ale również przez osoby uprawnione, które mogą
nadużywać przyznanych im przywilejów.
W ostatnich latach obserwuje się gwałtowny wzrost zdarzeń naruszających bezpieczeństwo sieciowe oraz rozwój technik hakerskich. Głównym przedmiotem ataków stały się narzędzia do komunikacji z siecią (przeglądarki internetowe, oprogramowanie do obsługi
poczty elektronicznej, komunikatory itd.), zaś celem jest instalacja oprogramowania umożliwiającego przejęcie kontroli nad komputerem lub programu szpiegującego dla uzyskania
np. poufnych danych osobowych. Instalowane bez wiedzy użytkownika oprogramowanie
potrafi skutecznie maskować swoją obecność, ulegać mutacjom i jest często trudne do wykrycia i usunięcia. Ukryte wewnątrz legalnego oprogramowania kody (trapdoory), po jego
uruchomieniu, umożliwiają włamywaczowi dostęp do zasobów systemu z pominięciem
mechanizmów zabezpieczających.
Zygmunt Mazur, Teresa Mendyk-Krajewska: Politechnika Wrocławska,
Instytut Informatyki Stosowanej, Wybrzeże Wyspiańskiego 27, 50-370 Wrocław, Polska
email: {zygmunt.mazur, teresa.mendyk-krajewska}@pwr.wroc.pl
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Z. Mazur, T. Mendyk-Krajewska
w
W przypadku systemu bazy danych (stosującego zabezpieczanie wielopoziomowe) trojany1 mogą spowodować wystąpienie ukrytego (nie przeznaczonego do komunikacji) kanału
przepływu informacji pomiędzy podmiotami (procesami) wysokiego i niskiego poziomu.
Wobec wzrostu zagrożeń oraz rosnących strat spowodowanych przestępczą działalnością
w sieciach, osiąganie maksymalnie wysokiego poziomu ochrony systemów informatycznych jest zadaniem priorytetowym. Administratorzy zmuszeni są coraz więcej uwagi poświęcać sprawom bezpieczeństwa, jednak ogromna rzesza użytkowników nie podejmuje
dostatecznych działań dla ochrony swoich komputerów (nie posiadając dostatecznej wiedzy
z zakresu bezpiecznego administrowania systemem) osłabiając tym samym własny system
komputerowy, a w konsekwencji także całą sieć. Także dostępność wyspecjalizowanych
narzędzi hakerskich umożliwiających na przykład uzyskanie zdalnej kontroli nad komputerem nawet niedoświadczonemu użytkownikowi, musi budzić niepokój. Zatem istnieje potrzeba poszukiwania nowych rozwiązań podnoszących bezpieczeństwo systemów informatycznych, aby straty powodowane destrukcyjnymi działaniami intruzów mogły być ograniczone do minimum.
w
w
2
Architektura systemów baz danych w aspekcie bezpieczeństwa
da
.b
Oprogramowanie serwera bazy danych składa się z wielu różnych współpracujących ze
sobą elementów, jakimi są pliki zawierające bazę danych, pliki przechowujące dane i pliki
pomocnicze jak np. w SZBD Oracle pliki dziennika powtórzeń (redo logs) z rozszerzeniem
.log i pliki kontrolne (control files) z rozszerzeniem .ctl lub w SZBD Sysbase dziennik transakcji (transaction log). Niektóre z nich są wykorzystywane jedynie podczas startu instancji
bazy danych, część plików pracuje bez przerwy, a pewne są tworzone na żądanie administratora systemu. Nie wszystkie pliki są jednakowo ważne, a tym samym w jednakowym
stopniu narażone na działania hakerskie. Na pewno strategiczne znaczenie dla systemu ma
plik konfiguracyjny (m.in. zawiera nazwę startującej instancji wraz z parametrami jej pracy), a także pliki kontrolne oraz zawierające hasła i uprawnienia użytkownika. Pliki z danymi ze względu na szybszy dostęp zwykle lokalizowane są na różnych dyskach lub partycjach dyskowych, którymi zarządza system operacyjny. Można umieszczać je na tzw. surowych partycjach zarządzanych przez bazę danych, zwiększając wydajność systemu, jednak
odbywa się to kosztem łatwości zarządzania i nie jest często stosowane. Bezpieczeństwo
systemu bazy danych (w obszarze dostępu i przechowywania danych) zależy od bezpieczeństwa systemu operacyjnego oraz wykorzystywanych systemów kryptograficznych.
Istnieje także możliwość wykorzystania błędów w implementacji i zabezpieczeniu samej
instancji serwera (np. dużą podatność na ataki wykazuje serwer MS SQL). Oczywiście nie
wszystkie systemy zarządzania bazami danych są jednakowo podatne na nieuprawnioną
ingerencję. Niektóre z nich wprowadzają mechanizmy monitorujące procesy realizowane
w bazach danych pod kątem poprawności ich działania (np. MS SQL 2000), jednak wszelkie mechanizmy ochrony używane na poziomie systemu bazodanowego mogą okazać się
całkowicie niedostępne lub ich skuteczność może zostać ograniczona, jeśli zostało naruszone bezpieczeństwo środowiska, w którym dany system funkcjonuje. Kolejne wersje systemów baz danych wprowadzają wprawdzie usprawnienia dotyczące bezpieczeństwa – na
przykład w Oracle 10g działa mechanizm Flashback pozwalający przywracać usunięte
pl
s.
1
Programy, które udając użyteczne aplikacje wykonują szkodliwe działania, będące ich głównym
celem. Najczęstszym przeznaczeniem trojanów jest umożliwienie atakującemu uzyskania
nieograniczonego dostępu do zasobów komputera.
326
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Analiza stanu plików dla wzrostu bezpieczeństwa systemów bazodanowych
w
obiekty, wskazaną część lub całą bazę do określonego stanu z przeszłości (bez odtwarzania
jej z kopii zapasowej), jednak te operacje mają szereg ograniczeń, a sam mechanizm wydaje się raczej zabezpieczać przed pomyłkami uprawnionego użytkownika, niż celowym działaniem destrukcyjnym. Wprowadzenie możliwości analizowania dokonywanych zmian danych w transakcji pozwala weryfikować poprawność działania i ewentualnie wycofać pojedynczą transakcję (wersja 10g Oracle’a usprawnia te operacje), jednak nie zabezpieczy
systemu przed wieloma realnymi zagrożeniami. Następstwem ataku może być blokada dostępności usług, zniszczenie danych lub przejęcie praw administratora, co pociąga za sobą
często trudne do przewidzenia konsekwencje. Na przykład baza Oracle może działać w słabo zabezpieczonym lecz bardzo popularnym środowisku Windows, najczęściej wykorzystywanym przez systemy małych i średnich firm, lecz także serwery rozproszonych baz danych (np. MS SQL serwer mocno związany ze środowiskiem Windows’owym) są podatne
na zagrożenia.
Większość lokalnych baz danych opiera się na modelu jednowarstwowym, w którym
program udostępniający dane ma bezpośredni kontakt z użytkownikiem. W zależności od
rozdziału modułów aplikacji wykonujących określone zadania na poszczególne komputery
sieci użytkownik może współpracować z bazą danych w architekturze klient-serwer (za
pośrednictwem serwera aplikacji lub w architekturze wielowarstwowej). Rozproszona
struktura systemu bazodanowego (fizyczne rozproszenie danych) stawia wysokie wymagania odnośnie łączy sieciowych oraz stwarza dodatkowe możliwości przeprowadzenia ataku
(np. typu DoS, DDoS2 czy man-in-the-middle3).
Firmy produkujące oprogramowanie dla systemów bazodanowych dostarczają protokoły
do komunikacji użytkownika ze zdalną bazą danych. Takim przykładem jest SQL*Net firmy Oracle przeznaczony dla SQL’owych baz danych Oracle oraz innych producentów.
Zgodnie z tym protokołem klient otwiera połączenie z portem 1521 serwera, po czym serwer przekierowuje go na inny port, na którym zostaje nawiązane nowe połączenie służące
do przeprowadzenia całej komunikacji (opisana procedura jest jedną z możliwości
i nie dotyczy połączenia TCP). Jednak do bezpiecznego uwierzytelniania systemy zarządzania bazami danych (np. Oracle, My-SQL) stosują protokół Kerberos. Znajduje on zastosowanie w dużych systemach z wieloma serwerami, gdy istnieje potrzeba korzystania z rozproszonych zasobów. Umożliwia weryfikację tożsamości komunikujących się stron (klienta
i serwera), a opcjonalnie zapewnia również integralność i poufność przesyłanych danych.
Jest to protokół stanowiący część składową wielu systemów operacyjnych. Aby można było go używać należy zmodyfikować odpowiednie aplikacje, tak aby ich kody źródłowe
mogły wywoływać funkcje z biblioteki systemu Kerberos. Z tych powodów dostęp do protokołu nie zawsze jest możliwy. Kerberos posiada jednak pewne wady i sam także musi
być chroniony. Uszkodzenie serwera upoważnień lub penetracja serwera i przechwycenie
upoważnień, czyli unikatowych kluczy zwanych biletami potwierdzających tożsamość
użytkownika, mogą pociągnąć za sobą katastrofalne skutki. Ponadto nie zabezpiecza bazy
danych od strony usług (można uniemożliwić aplikacji przeprowadzenie poprawnego uwierzytelnienia) i przed podsłuchem lub wyłudzeniem haseł. Atak na hasło użytkownika może
być przeprowadzony w sposób całkowicie zautomatyzowany za pomocą dostępnych
w Internecie programów. Jego skuteczność będzie jednak zależała od długości, złożoności
i okresu ważności hasła.
da
.b
w
w
pl
s.
2
Denial of Service – blokada dostępności usług; Distributed Denial of Service – rozproszony atak
DoS przypuszczany z wielu komputerów jednocześnie.
3
„Człowiek w środku” – atak polegający na pojawieniu się osoby trzeciej działającej jako punkt
pośredni (podszywającej się pod zaufaną stronę połączenia).
327
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Z. Mazur, T. Mendyk-Krajewska
w
W powszechnej opinii system Kerberos nie jest przeznaczony do pracy w środowisku
liczącym bardzo wielu użytkowników i nie sprawdza się w systemach wielodostępnych.
Spowodowane jest to powstawaniem stanu przeciążenia w serwerze uprawnień. Wiele
problemów wiąże się z koniecznością przechowywania kluczy i biletów, inne wynikają
z faktu, że uwierzytelnianie opiera się na synchronizacji zegarów w sieci [6]. W środowisku
wielodostępnym system Kerberos narażony jest na niebezpieczeństwa związane z obecnością innych użytkowników w systemie.
W systemach rozproszonych działających w Internecie stosowany jest protokół SSL4 zapewniający autentyczność komunikujących się stron oraz poufność i integralność przesyłanych danych. Stosowany tu złożony system kryptograficzny wymaga podczas nawiązywania połączenia, dla potwierdzenia autentyczności klucza publicznego, udziału urzędu certyfikującego. Ma to uodpornić protokół na atak man-in-the-middle. Ustanawianie bezpiecznych połączeń (stosowanych np. w bankach i sklepach internetowych) to skomplikowane
działania łączące mechanizmy kryptograficzne z odpowiednimi procedurami organizacyjnymi stosowane dla bezpieczeństwa realizowanej usługi. Z drugiej zaś strony, stosowanie
szyfrowania na poziomie aplikacji (jak w przypadku Kerberos i SSL) utrudnia systemom
IDS (Intrusion Detection System) wykrywanie włamań dokonywanych poprzez takie połączenia.
Ataki na systemy kryptograficzne to prace kryptoanalityczne (podejmowane w celu złamania szyfru lub klucza) i ataki na protokoły kryptograficzne. Otwarte już kanały są niedostępne dla intruzów tak długo, jak długo bezpieczne jest szyfrowanie. Podejmowane
działania kryptoanalityczne mogą zostać ułatwione dzięki przechwyceniu klucza sesji.
Szyfrowane uwierzytelnianie (zestawione połączenie nie zawsze zapewnia szyfrowanie danych) prowadzi do zmniejszenia bezpieczeństwa ściany ogniowej (haker monitorujący połączenie może podszyć się pod adres autoryzowanego klienta, połączenie może zostać przekierowane itd.) [8]. Procedury uwierzytelniania również mogą zawierać błędy.
da
.b
w
w
3
Narzędzia rejestracji zdarzeń systemowych
pl
s.
Dla oszacowania stopnia zagrożenia systemu informatycznego m. in. dokonywana jest rejestracja zdarzeń związanych z działaniem systemu. Na przykład w systemie operacyjnym
Windows dzienniki aplikacji, zabezpieczeń i systemu dostarczają wielu ważnych informacji
(m.in. nieudane próby logowania, dostęp do określonych plików, zmiany przywilejów pliku, grupy lub użytkownika). Aby dziennik zdarzeń uwzględniał także informację o zmianie
wpisów w pliku rejestru (miejscu przechowywania ważnych informacji dotyczących systemu i zainstalowanych programów – pogrupowanych w katalogach ROOT, SYSTEM,
SOFTWARE itd.), należy wskazać monitorowaną gałąź i uaktywnić funkcję audytu za pomocą regedit32. Udostępniane zapisy są jednak dla niezaawansowanych użytkowników
niezrozumiałe i rzadko umiejętnie wykorzystywane. Fragment raportu systemowego przedstawia rys. 1. Wielu użytkowników w ogóle nie sięga do tym podobnych informacji, a nierzadko nawet nie wie o ich gromadzeniu. Istnieje możliwość uzyskania bardziej szczegółowej informacji o każdym rejestrowanym zdarzeniu, jednak jest ona adresowana do doświadczonych użytkowników (rys. 2).
4
Secure Sockets Layer; ostatnia ulepszona wersja znana jest pod nazwą TLS (Transport Layer
Security).
328
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Analiza stanu plików dla wzrostu bezpieczeństwa systemów bazodanowych
w
w
w
da
.b
Rys. 1. Podgląd rejestrowanych zdarzeń systemowych (źródło: opracowanie własne)
Dostarczane z systemem operacyjnym mechanizmy ochrony okazują się niewystarczające. Duża ilość danych zapisanych w dziennikach zdarzeń systemowych wymaga użycia
specjalnego narzędzia monitorującego i analizującego zgromadzoną informację. Do analizy
ich zawartości można np. wykorzystać DumpEVT, natomiast wpisy do rejestru można konwertować na bardziej czytelny format tekstowy za pomocą narzędzia Dumpreg.
pl
s.
Rys. 2. Szczegółowa informacja o błędzie aplikacji (źródło: opracowanie własne)
Dla systemów Windows 2000/XP/2003 opracowano program GFI LANguard Security
Event Log Monitor 5.0, który odfiltrowuje komunikaty normalnej pracy sieci i wszystkie
329
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Z. Mazur, T. Mendyk-Krajewska
w
dane umieszcza w specjalnej bazie. Pozwala to na szybkie wykrycie ataku lub próby niepowołanego dostępu, jednak przeszkodą dla powszechnego stosowania aplikacji jest jej wysoki koszt.
System Windows dostarcza też informacji o plikach, umożliwiając odczyt rozmiaru oraz
daty i czasu ich założenia wraz z ostatnią modyfikacją. Udostępniane przez system atrybuty
pliku (data i czas utworzenia/modyfikacji) można „ręcznie” zmienić, a wyprowadzane dane
w oknie Właściwości mogą zaskakiwać interpretacją wykonywanych na komputerze operacji. Na przykład data modyfikacji może wskazywać na wcześniejszy okres niż czas utworzenia pliku, co jest nielogiczne, a rejestrowana data ostatniego użytkowania pliku zawsze
oznacza bieżący czas (otwarcia okna), podczas gdy użytkownika interesuje ostatnie w sensie poprzednie (nie obecne) sięganie do danych zasobów (pozwalałoby to stwierdzić ewentualny nieupoważniony dostęp). Przykładową zawartość okna przedstawia rys. 3. W ten
sposób wyprowadzane informacje są właściwie nieprzydatne. Ponadto rozmiar plików jest
podawany w oknach folderów oraz w chwili potwierdzania zmiany pliku z pewnym zaokrągleniem. I choć można sięgnąć do Właściwości, by uzyskać jego dokładną wartość,
stanowi to pewną przeszkodę w szybkim dostrzeganiu modyfikacji pliku w razie jego
infekcji (poprzez dołączenie tzw. „złośliwego kodu” w momencie kopiowania pliku wykonywalnego, co było łatwo zauważalne podczas pracy w środowisku DOS).
Systemowe mechanizmy ochrony plików działają podczas pracy systemu, jednak po wyłączeniu komputera pliki nie są zabezpieczone. Dostęp do nich będzie możliwy (jeśli zawartość nie jest szyfrowana) po załadowaniu innego systemu operacyjnego lub przeniesieniu twardego dysku do innego komputera o słabych zabezpieczeniach. Przykładem bezpiecznego pod tym względem narzędzia monitorującego stan systemowych plików wykonywalnych jest Tripwire tworzący bazę danych o stanie systemu przechowywaną w postaci
zaszyfrowanej.
da
.b
w
w
pl
s.
Rys. 3. Podgląd właściwości pliku w systemie Windows XP (źródło: opracowanie własne)
Dla systemu operacyjnego Windows można wskazać trzy godne uwagi programy pozwalające monitorować zmiany na dyskach: MoniDIR 2000 firmy Contact Plus Corporation,
GFI LANguard System Integrity Monitor oraz File Monitor firmy Sysinternals. Pierwszy
program służy do monitorowania zawartości wskazanych folderów pod kątem usuwania,
modyfikowania i dodawania nowych plików, drugi przeznaczony jest do monitorowania
330
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Analiza stanu plików dla wzrostu bezpieczeństwa systemów bazodanowych
w
plików systemowych, których listę zdefiniowano w aplikacji, bądź plików wskazanych
przez użytkownika, trzeci program śledzi uruchomione aplikacje z uwagi na wykonywane
przez nie operacje na dyskach. Każde z narzędzi oferuje inne funkcje, ich działania w pewnym stopniu wzajemnie się uzupełniają.
Wadą dwóch pierwszych rozwiązań jest brak wskazania na źródło wywołujące dane zdarzenie, natomiast trzecie narzędzie rejestruje ogromną ilość informacji nie selekcjonując zebranego materiału pod kątem zagrożeń.
Dostępne narzędzia nie działają kompleksowo, skutkiem czego gromadzona informacja
nie jest dostatecznie wykorzystana. Programy antywirusowe czy antyszpiegowskie są powszechnie stosowane, a niezbędność ich używania jest niekwestionowana, natomiast programy monitorujące pliki nadal stanowią mało popularne narzędzie, mimo ich dużego znaczenia dla bezpieczeństwa systemu. Dla pełnej skuteczności podobnych narzędzi niezbędne
jest systematyczne ich używanie. Ponadto należy tworzyć kopie zapasowe, pomocne przy
odtwarzaniu struktur systemowych chronionych plików. Jest wiele programów przeznaczonych do tych zadań, stwarzających możliwość utrzymywania dwóch jednakowych katalogów w różnych lokalizacjach. Do takich programów należy np. SyncBack umożliwiający
umieszczenie kopii we wskazanym katalogu wybranego dysku (najlepiej nośniku zewnętrznym).
W przypadku baz danych, dostępne narzędzia pozwalają sporządzać kopie całej bazy,
wybranych plików, lub rejestrować różnice względem wcześniej utworzonych kopii. Przechowywana informacja zapasowa może umożliwić odtworzenie stanu plików po naruszeniu
ich integralności, jednak działanie takie musi być jak najszybciej podjęte.
da
.b
w
w
4
Założenia projektowe systemu analizy plików
pl
s.
„Upilnowanie” systemu to poważny problem każdego administratora i użytkownika Internetu. Dostępne mechanizmy do wykrywania i usuwania wirusów, oprogramowania szpiegowskiego, trojanów i tym podobnych zagrożeń są zawodne. Wymagają właściwej konfiguracji, systematycznego stosowania i regularnej aktualizacji (wraz z bazami sygnatur), a
wszelkie zaniedbania w tym względzie mogą okazać się katastrofalne w skutkach. Wyspecjalizowane firmy prześcigają się w promowaniu nowych narzędzi oferujących kompleksowe rozwiązania do ochrony systemów informatycznych i bezpiecznego nimi zarządzania,
jednak ich złożoność może stwarzać problemy konfiguracyjne i utrudniać ich optymalne
użytkowanie (gwarantujące możliwie maksymalny poziom ochrony).
Istotne znaczenie dla wzrostu bezpieczeństwa systemów informatycznych (w tym systemów baz danych) może mieć odpowiednio opracowany system analizy aktywności plików.
Wygodne w obsłudze i konfiguracji narzędzie pozwoli szybko rozpoznawać i usuwać niepożądane zmiany, które zostały dokonane w systemie w wyniku przeprowadzonego ataku,
pomimo stosowanych zabezpieczeń. Za główny cel jego zastosowań należy przyjąć wskazywanie zmian o kluczowym znaczeniu w strukturze plików, których nie wykrywają wykorzystywane mechanizmy ochrony. Kompletny system analizy plików istotnie wzmocni bezpieczeństwo systemu informatycznego, o ile w jego implementacji zostaną uwzględnione
określone wymagania dotyczące gromadzonej informacji oraz analizy zebranego materiału.
Testowania wymagają wszystkie pliki o strategicznym znaczeniu dla działania systemu
informatycznego stanowiące tym samym atrakcyjny cel destrukcyjnych działań. Będą to
więc pliki systemu operacyjnego oraz ważne pliki systemu bazy danych (przechowujące
dane konfiguracyjne, hasła administratorów itp.) Szczególną kontrolą należy objąć zawartość katalogów startowych (administratorów i innych użytkowników) oraz pliki rejestru
331
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Z. Mazur, T. Mendyk-Krajewska
s.
da
.b
w
w
w
systemu Windows. Ukryte katalogi systemowe często są przez intruzów wykorzystywane
do przechowywania narzędzi administracyjnych używanych podczas instalacji trojanów lub
innych programów hakerskich. Sprawnie działająca aplikacja powinna monitorować system
dokonując m.in. rejestracji następujących informacji:
− nazw nowo powstałych katalogów i plików,
− nazw plików, które uległy modyfikacji (dotyczy zapisów do plików i zmiany nazwy),
− nazw używanych plików (dotyczy odczytów),
− nazw usuwanych plików i katalogów.
Uzyskane wyniki muszą być odpowiednio analizowane i w razie potrzeby aplikacja ma
informować administratora systemu o występujących zagrożeniach. Realizacja wymienionych funkcji wymaga śledzenia aktualnie wykonywanych w systemie procesów i łączenia
rejestrowanego zdarzenia z procesem, który go wywołał. Takie podejście umożliwia podjęcie właściwej decyzji co do szkodliwości notowanych zmian.
Oczywiście program musi cechować się wykrywaniem każdej objętej rejestracją sytuacji
oraz umożliwiać krótki czas reakcji użytkownika na nieprawidłowe zdarzenie poprzez sygnalizację stanu zagrożenia w czasie jego identyfikacji.
Realizacja zadania wymaga współdziałania dwóch modułów: jednego do rejestracji wybranych danych, drugiego do analizy zebranej informacji i prezentacji wyników w określonej formie. Przetwarzanie rejestrowanych zdarzeń może odbywać się na bieżąco (wybrane
dane przekazuje się jednocześnie, w momencie ich zapisu w chronionym pliku, do modułu
analizującego) lub na żądanie, na podstawie tworzonej listy zapisów. Zaletą dokonywania
analizy w czasie rzeczywistym jest możliwość natychmiastowej reakcji administratora
(z zablokowaniem ataku włącznie), natomiast drugie rozwiązanie niesie mniejsze obciążenie systemu. Pożądane jest, by aplikacja uruchamiała się w momencie startu systemu, przy
czym, w przypadku identyfikacji stanu alarmowego, konieczne jest wyprowadzanie stosownych komunikatów wraz z generowaniem sygnału dźwiękowego. Schemat blokowy projektowanego systemu przedstawia rys. 4.
pl
Rys. 4. Schemat systemu analizy i raportowania stanu plików (źródło: oprac. własne)
Opracowany system musi wykazywać dużą odporność na ewentualne próby bezprawnej
modyfikacji. W tym celu można wykorzystać kryptograficzne metody ochrony integralności danych.
332
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Analiza stanu plików dla wzrostu bezpieczeństwa systemów bazodanowych
Dla odtworzenia stanu systemu sprzed ataku należy między innymi przechowywać kopie
właściwych ustawień systemowych, aby w każdej sytuacji można było przywrócić pierwotne parametry jego funkcjonowania. Stan systemu to między innymi parametry konfiguracyjne systemu operacyjnego, stan usług sieciowych, konfiguracja systemu plików i uprawnienia użytkowników. Rekonstrukcja systemu to zadanie tym bardziej pracochłonne, im
bardziej jest on rozbudowany; niekiedy całkowite odtworzenie stanu systemu sprzed ataku
w ogóle nie jest możliwe.
w
5
Raportowanie wyników
da
.b
w
w
Głównym zadaniem proponowanego systemu jest identyfikacja stanu zagrożenia systemu
informatycznego poprzez analizę rejestrowanych zmian w katalogach i plikach. Działanie
systemu analizy aktywności plików ma na celu wspomaganie dostępnych mechanizmów
ochrony dla osiągnięcia maksymalnego poziomu bezpieczeństwa. Monitorowanie systemu
plików może się okazać działaniem o fundamentalnym znaczeniu dla bezpieczeństwa systemu informatycznego, jeśli zebrany w wyniku monitoringu materiał zostanie umiejętnie wykorzystany. W tym celu należy przyjąć właściwy sposób filtrowania gromadzonej informacji. Wszak zarówno system operacyjny jak i różne aplikacje generują szereg plików tymczasowych o charakterze pomocniczym, których pojawienie się na dysku bądź rejestrowane
w nich zmiany nie powinny budzić podejrzeń. Zatem istotną rolę dla sprawności omawianego narzędzia będzie pełnił moduł analizujący zebrane dane i raportujący wyniki przeprowadzonej analizy rejestrowanych zmian.
Zostało opracowanych wiele narzędzi do prezentacji wybranych informacji bazy danych
w określonej postaci. Znane narzędzia raportowania (np. Oracle Reports Builder), niezwykle pomocne przy sporządzaniu raportów na podstawie dużej liczby danych, nie są odpowiednie do prezentacji wyników omawianego systemu. Dla potrzeb raportowania zmian
w systemie plików należy opracować mechanizm, którego podstawową funkcją będzie filtracja zebranych danych pod kątem niesionych zagrożeń. Ponadto system musi działać
w czasie rzeczywistym.
Wśród wszystkich monitorowanych plików należy wyróżniać pliki wykonywalne i podstawę sygnalizacji zagrożeń powinno stanowić przede wszystkim pojawianie się programów, których brak jest na liście bezpiecznych aplikacji systemu. Taką listę należy stworzyć
w momencie wdrożenia systemu analizy stanu plików, a powstałą bazę bieżąco aktualizować poprzez dopisywanie każdej nowo instalowanej aplikacji. Plik zawierający te dane musi być chroniony. Istotne znaczenie będą miały również nieuprawnione zapisy do pliku rejestru systemu Windows czy usunięcie plików systemowych. Do ważnych cech programu raportującego należy zaliczyć:
− czas generowania wyników,
− czytelność i estetykę raportu,
− wyróżnianie zdarzeń o priorytetowym znaczeniu,
− możliwość przeglądania treści raportu.
Niezwykle pożądaną cechą modułu raportującego będzie zdolność do wykrywania każdej krytycznej dla działania systemu sytuacji. Określenia wymaga również format pliku
wyjściowego (TXT, PDF, DOC lub inny). Parametryzowanie raportowania dopuszczające
np. indywidualne sortowanie danych i tworzenie raportów cząstkowych wydaje się nie
mieć uzasadnienia zważywszy na potrzebę optymalizacji narzędzia dla umożliwienia szybkiej reakcji w razie naruszenia bezpieczeństwa systemu, choć można by wprowadzić opcję
wyboru działania względem określonych parametrów dla bardziej zaawansowanych użyt-
pl
s.
333
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006
Rozdział monografii: 'Bazy Danych: Struktury, Algorytmy, Metody', Kozielski S., Małysiak B., Kasprowski P., Mrozek D. (red.), WKŁ 2006
Z. Mazur, T. Mendyk-Krajewska
kowników. Należy również opracować system ostrzegania o zagrożeniach przy pomocy
specjalnych komunikatów alarmujących. Omówione w podrozdziale 3 systemy analizy plików stosują powiadamianie użytkownika drogą mailową, co nie jest właściwym rozwiązaniem problemu.
6
Podsumowanie
w
Literatura
Beynon-Davis P.: Systemy baz danych, Warszawa, WNT, 2000.
Ferguson N., Schneier B., Kryptografia w praktyce, Gliwice, Wydawnictwo Helion, 2004.
Mendyk-Krajewska T.: Wspomaganie bezpieczeństwa systemów informatycznych, Wrocław,
W: Nowoczesne technologie informacyjne w zarządzaniu, Prace Naukowe Akademii
Ekonomicznej im. Oscara Langego we Wrocławiu, 2004.
4. Pipkin D. L.: TAO – Tajemnice – Atak – Ochrona. Bezpieczeństwo informacji, Warszawa,
WNT, 2000.
5. Schetina E., Green K., Carlson J.: Bezpieczeństwo w sieci, Gliwice, Wydawnictwo Helion,
2002.
6. Schneier B.: Kryptografia dla praktyków. Protokoły, algorytmy i programy źródłowe
w języku C, Warszawa, Wydawnictwa Naukowo-Techniczne, 2002.
7. Stokłosa J., Bilski T., Pankowska T.: Bezpieczeństwo danych w systemach informatycznych.
Warszawa – Poznań, Wydawnictwo Naukowe PWN S.A., 2001.
8. Strebe M., Perkins CH.: Firewalls ściany ogniowe, Warszawa, Wydawnictwo MIKOM, 2000.
9. www.microsoft.com/SQL/
10. www.securityfokus.com/infocus/1518
11. www.sqlsecurity.com
12. www.symantec.com/region/pl/resources/securityTriangle.html
pl
s.
1.
2.
3.
da
.b
w
w
Z powodu wzrostowej tendencji zjawiska zagrożenia sieciowego użytkowanie systemu analizy i raportowania stanu plików systemu informatycznego wydaje się niezbędne, niezależnie od innych stosowanych mechanizmów zabezpieczeń i sposobu połączenia komputera
z Internetem. Jego stosowanie wzmocni bezpieczeństwo i ułatwi ocenę stopnia zagrożenia
systemu informatycznego. Proponowane narzędzie może znaleźć zastosowanie m. in.
w ochronie systemu plików bazy danych małych i średnich firm pracujących ze słabo zabezpieczonym systemem operacyjnym Windows i z reguły nie wykorzystujących zaawansowanych metod kryptograficznych. Ocenia się, że przydatność proponowanego narzędzia
będzie znacząca ze względu na dużą częstotliwość pojawiania się nowych typów zagrożeń
i ich wysokie zaawansowanie techniczne (potrafią oszukać zapory sieciowe, maskują swoją
obecność w systemie, podejmują realizację zdalnie przydzielonych zadań itp.).
Warto wdrażać rozwiązania indywidualne wykazujące znaczną przewagę pod względem
bezpieczeństwa nad parametryzowanymi rozwiązaniami uniwersalnymi, pomimo wyższych
kosztów realizacji. Pozwalają one na lepsze uwzględnienie potrzeb danego systemu informatycznego, a ponadto nie budzą zainteresowania ze strony hakerów dostarczających narzędzi do działań destrukcyjnych dla powszechnie stosowanych standardów.
Bezpieczeństwo sieciowe będzie wyższe, jeśli wzrośnie świadomość potrzeby stosowania zabezpieczeń na wszelkich płaszczyznach, a systemy informatyczne będą lepiej chronione z wykorzystaniem coraz skuteczniejszych, łatwych w użytkowaniu narzędzi.
334
(c) Copyright by Politechnika Śląska, Instytut Informatyki, Gliwice 2006