Wstęp

Obecnie żyjemy w czasach, w których ataki systemowe na systemy są codziennością. Według danych z F-Secure szacuje się, że w samej Polsce, dochodzi do ok. 700 ataków na godzinę. Dane osobiste czy firmowe są narażone na kradzież jak nigdy dotąd. Informowanie o zagrożeniach oraz zasadach postępowania przestało być wystarczające. Oprócz wiedzy ogólnie dostępnej, która potrafi być ulotna, należy podjąć niezbędne czynności mające na celu uzbrojenie się w dodatkowe zabezpieczenia.

Na rynku istnieje wiele rozwiązań poprawiających nasze bezpieczeństwo. Są to m. in. antywirusy lub etui RFID . Zabezpieczenia te chronią użytkownika przez zagrożeniami cybernetycznymi. Jednakże wektor ataku może być również skierowany w cały system, infrastrukturę teleinformatyczną, serwery. O ich bezpieczeństwo można zadbać stosując systemy takie jak IDS oraz IPS. W dzisiejszym artykule postaram się przybliżyć zasady funkcjonowania wraz z istniejącymi różnicami, jakie występują w wyżej wymienionych systemach.

IDS w pigułce

Zacznijmy w takim razie od początku.

IDS (skr. System Wykrywania Intruzów, ang. Intrusion Detection System) jest to system, którego zadaniem jest monitorowanie ruchu sieciowego pod kątem podejrzanych aktywności. Zazwyczaj występuje w postaci aplikacji, która skanuje sieć lub system poszukując nietypowego zachowania, bądź przekraczania uprawnień użytkowników lub plików. Każdy taki incydent jest niezwłocznie zgłaszany do administratora systemu lub jest zbierany w sposób scentralizowany za pomocą systemu zarządzania informacjami i zdarzeniami bezpieczeństwa (ang. Security information and event management, SIEM). SIEM zbiera wszystkie informacje z wielu źródeł, by odróżnić groźną aktywność od alarmów typu false positive.

false positive - zdarzenie, które uznajemy za prawdziwe, mimo że jest fałszywe. Przykładem mogłaby być sytuacja, w której lekarz mówi do otyłego mężczyzny, że jest w ciąży.

false negative - zdarzenie, które uznajemy za fałszywe, mimo że jest poprawne. Przykładem mogłaby być sytuacja, w której lekarz, mówi do kobiety w ciąży, że nie jest w ciąży.

System wykrywania intruzów możemy porównać do działania systemu chroniącego dom przed napaścią. Podczas włamania, nie zatrzyma on złodziei, lecz włączy alarm, wyśle stosowne ostrzeżenia do domowników, ochrony lub policji. Tak samo podczas włamania do sieci, po wykryciu ataku system wykrywania intruzów uruchomi wyśle ostrzeżenia do administratora lub do SIEM’u. Zazwyczaj jest on stosowany razem z firewall’ami, ale nie wolno mylić tych pojęć – zapory sieciowe służą wyłącznie do ochrony systemu przed niepowołanymi osobami. Można to porównać do ochrony stojącej przed budynkiem. Firewall pełniłby funkcję bramkarza, który wpuszcza do budynku uprawnione osoby. IDS natomiast byłby ochroniarzem, który chodzi po sali i wyszukuje osoby na podstawie tego jak wyglądają, a następnie sprawdzał, czy mogą one przebywać w budynku.

IDS-y są wykorzystywane do uzupełnienia całości dobrze zorganizowanego systemu bezpieczeństwa, na który powinny również składać się:

  • polityka bezpieczeństwa,
  • szyfrowanie danych,
  • weryfikacja użytkowników,
  • kontrola dostępu,
  • zapory sieciowe.

Rodzaje IDS

IDS możemy podzielić na dwa główne rodzaje - NIDS i HIDS.

Network Intrusion Detection System (NIDS)

Polega on na sprawdzaniu pakietów poruszających się po sieci. Wykonuje obserwacje ruchu przechodzącego na całej podsieci i dopasowuje go, a następnie jest przekazywany na podsieciach do zbioru znanych zagrożeń. Kiedy atak lub niestandardowe zachowanie jest wykryte, ostrzeżenie może zostać wysłane do administratora. NIDS wykonuje to wszystko pasywnie, przez co utrudnia intruzom wykrycie tego, że zostali zauważeni. Działa on w trybie bezładnym, czyli analizuje każdy pakiet. Jeżeli ustawimy kilka z nich w dobrze zlokalizowanych miejscach w sieci firmowej, to są one w stanie doskonale monitorować cały ruch. Niestety NIDS nie jest w stanie analizować szyfrowanych pakietów.

Host Intrusion Detection System (HIDS)

Działa na niezależnych urządzeniach (ang. host) lub urządzeniach w sieci. Monitoruje wchodzące i wychodzące pakiety, a następnie wysyła ostrzeżenie jeżeli zauważy złośliwą aktywność. Robi migawkę istniejących plików i porównuje ją z poprzednio zrobioną. Jeśli jakiekolwiek pliki zostały edytowane lub usunięte, ostrzeżenie jest wysyłane do administratora w celu sprawdzenia. Pozwala to na wykrywanie np. koni trojańskich. W związku z tym, że znajduje się on na urządzeniu jest w stanie wykryć ataki niewidoczne dla NIDS. Zaszyfrowane pakiety nie stanowią dla niego większego problemu. Niestety wymgają one bardzo często sporej ilości wolnego miejsca na dysku, obciążają system oraz są nie są najłatwiejsze w zarządzaniu. Kolejną wadą jest fakt, że może zostać wyłaczony podczas ataku DoS.

NIDS oraz HIDS mimo że znacznie różnią się od siebie, w połączeniu doskonale się uzupełniają. Dobrym pomysłem jest wprowadzenie tzw. rozproszonej sieci agentów, z których każdy działa jakby był gospodarzem systemu i wymienia się informacjami z innymi. Takie działanie, powoduje stworzenie bardzo dużej oraz szczegółowej bazy danych z sygnaturami, o czym później.

Network Node Intrusion Detection System (NNIDS)

Istnieje również trzeci, mniej znany, rodzaj IDS - Network Node Intrusion Detection System (NNIDS). Jest to system hybrydowy, połączenie NIDS oraz HIDS. Udało się w nim wyeliminować niektóre wady podanych wyżej rodzajów IDS. Podczas gdy NIDS pracuje w trybie bezładnym, NNIDS ogranicza się jedynie do wybranych pakietów krążących po sieci, co powoduje szybsze i wydajniejsze działanie. Jest on również niezależny od topologii sieci. Zaszyfrowane dane nie stanowią dla niego problemu, lecz powoduje to obciążenie procesora maszyny. Niestety konieczne jest zainstalowanie całego zestawu pakietów, gdyż każdy z nich musi przesyłać raporty do centralnej konsoli. Istnieje możliwość, że zostanie on wyłączony w trakcie ataku.

IPS w pigułce

Drugim systemem jest IPS (skr. System zapobiegania intruzom, ang. Intrusion Prevention System), nazywany także IDPS (ang. Intrusion detection and prevention system). Działa on na bardzo podobnej zasadzie co IDS, z tą różnicą, że jest w stanie od razu zatrzymać atakującego. Skanuje również sieć w poszukiwaniu niepokojącego zachowania lub przekraczania uprawnień użytkowników lub plików z tą różnicą, że w razie naruszenia jakiejkolwiek polityki bezpieczeństwa jest w stanie:

  • zamknąć sesję TCP, która została narażona i zablokować odpowiedni adres IP lub zablokować użytkownikowi dostęp do aplikacji oraz innych źródeł internetowych,
  • przeprogramować lub przekonfigurować firewall, by zapobiec takim atakom w przyszłości,
  • usunąć lub wymienić szkodliwą zawartość, która została w sieci po ataku,
  • uruchomić ponownie połączenie.

IPS stoi zaraz za firewall’em i zapewnia kompletną analizę niebezpiecznej zawartości pakietów. Jest umieszczony pomiędzy bezpośrednią komunikacją nadawcy i odbiorcy. Każdy pakiet, który jest przesyłany, jest dokładnie analizowany pod kątem bezpieczeństwa. Można powiedzieć, że IPS jest połączeniem zapory sieciowej oraz IDS.

Wróćmy do wcześniej przytoczonego przykładu z ochroną budynku. Firewall, czyli wcześniej wspomniany bramkarz wpuszcza tylko osoby, które mogą tam przebywać. IDS, który jest ochroniarzem chodzącym po sali, sprawdzałby osoby przebywające w pomieszczeniu, natomiast IPS pełniłby funkcję kierownika ochroniarzy, który jest w stanie dodatkowo wyprosić osobę z budynku.

Ponadto IPS-y są systemami skalowalnymi, co oznacza, że bez problemu można zwiększyć lub zmniejszyć ich ilość w sieci. Natychmiastowo podejmuje decyzje czy należy zaakceptować przychodzące pakiety czy odrzucić. Niestety idzie za tym pewna niedogodność. W związku z tym, że każdy pakiet musi być przeanalizowany, IPS nie sprawdza się w sieciach, w których przepływ danych jest większy niż 1GB/s, ponieważ może to spowodować sytuację, w której nie będzie możliwe poprawne sprawdzenie całej zawartości, co w konsekwencji może spowodować albo false positive’y albo stworzenie tzw. wąskiego gardła, które jest w stanie zakłócić optymalną funkcjonalność sieci teleinformatycznej.

Rodzaje IPS

Podobnie jak w przypadku systemów wykrywania intruzów, IPS-y możemy podzielić na dwa główne rodzaje - NIPS i HIPS.

Network-based Intrusion Prevention System (NIPS)

Wchodzi on w skład monitorowania urządzeń w sieci. Zazwyczaj jest skonfigurowany w taki sposób, aby blokował dostęp do niepotrzebnych usług sieciowych. Zapewnia on analizowanie infrastruktury teleinformatycznej w czasie rzeczywistym. Jeżeli NIPS uzna jakiś pakiet za szkodliwy, aktualny i wszystkie następne pakiety należące do podejrzanego przepływu są pomijane;

Host-based Intrusion Prevention System (HIPS)

Jego zadaniem jest skanowanie logów oraz plików hosta. Znaczącą zaletą tego rozwiązania jest to, że jest w stanie monitorować procesy urządzenia oraz chronić go przed krytycznymi problemami, jak np. usunięcie plików. Można dostosować HIPS do konkretnego urządzenia (komputer, serwer). Sprawdzanie plików zazwyczaj opiera się na wsadzeniu ich do tzw. piaskownicy . Tam pliki są analizowane pod kątem gotowych sygnatur i wzorców. Jeżeli okaże się, że jest to szkodliwe oprogramowanie, sprawdzanie zostaje zatrzymane, a jego wykonanie w normalnym systemie jest zabronione. HIPS stanowi połączenie funkcji antywirusowych, antyszpiegowskich, antyspamowych oraz zapór sieciowych.

Trzecim, nieoficjalnym rodzajem IPS są systemy rozproszone (hybrydowe), łączące dwa powyższe rozwiązania. Gromadzi się w nich dane z wielkiej liczby hostów oraz czujników sieciowych i przekazuje wyniki do centralnego systemu analizującego, który potrafi korelować i analizować dane, a następnie zwracać zaktualizowane sygnatury i wzorce zachowań, aby umożliwić wszystkim skoordynowanym systemom reagowanie i obronę przed szkodliwym zachowaniem.

Budowa i działanie

Każdy IDS oraz IPS składa się z trzech komponentów logicznych:

  • czujników (sensorów)
  • analizatorów
  • interfejsu użytkownika

Czujniki odpowiadają za gromadzenie danych. Wejściem czujnika może być dowolna część systemu, która może zawierać dowody włamania. Do rodzajów danych wejściowych należą pakiety sieciowe, pliki dzienników i ślady wywołań systemowych. Czujniki gromadzą i przekazuję te informacje analizatorowi.

Analizatory otrzymują dane od jednego lub więcej czujników albo od innych analizatorów. Jest on odpowiedzialny za ustalenie, czy doszło do włamania. Na wyjściu tego komponentu jest wskazanie (sugestia), że mogło dojść do włamania. Analizator może zawierać fakty przemawiające za tym, że włamanie miało miejsce. Może również dostarczać wskazówek co do działań, które należy wykonać w reakcji na włamanie. Dane z czujnika mogą być również przechowywane do późniejszej analizy i przeglądu w komponencie magazynującym lub w bazie danych.

Interfejs użytkownika umożliwia użytkownikowi obejrzenie wyników z systemu lub pokierowanie zachowaniem systemu. W niektórych systemach interfejs użytkownika może pokrywać się z komponentem zarządcy, kierownika instalacji lub konsoli operatorskiej.

Metody detekcji

Metody detekcji zarówno IDS i IPS nie różnią się znacznie. Bazują one na tych samych sposobach z tą różnicą, że IPS niezwłocznie po wykryciu nieprawidłowości podejmują działania zapobiegawcze. Najczęściej spotykane metody wykrywania prób włamania są oparte na sygnaturach lub o anomalie w systemie.

Systemy oparte na sygnaturach analizują konkretne wzorce ataków, które zaistniały w przeszłości. Pod uwagę brane są np. liczby bajtów, liczba ‘0’ lub ‘1’ przepływających przez sieć. Metoda ta doskonale radzi sobie z zagrożeniami, które miały miejsce, lecz ma ogromne trudności z wykrywaniem ataków, które nie są wpisane w sygnatury lub które jeszcze nie są znane. Sygnaturami są np. trzykrotna próba zalogowania się lub połączenie się z usługą potencjalnie niebezpieczną.

Drugą możliwością są systemy oparte na anomaliach w systemie. Zostały one wprowadzone, by wyszukiwać nieznane ataki, które są tworzone w bardzo szybkim tempie. Gromadzą one zbiór zachowań typowych dla użytkownika. Używają do tego uczenia maszynowego, by tworzyć godne zaufania modele aktywności, które nie zostały zaimplementowane w sygnaturach. Metoda ta posiada własność, która pozwala na wytrenowanie się według aplikacji i ustawień sprzętowych. Anomalie niekoniecznie muszą być związane z nietypowym ruchem w sieci. Przykładowym dziwnym zachowaniem jest próba zalogowania w nocy do hosta, na którym normalnie logowanie jest dostępne jedynie w godzinach otwarcia biura. W tym przypadku polega to na wcześniejszym opracowaniu modelu zachowań użytkowników przez zgromadzone dane i przetworzone dane z czujników. Odbywa się to zazwyczaj przez ciągłe lub okresowe monitorowanie danego celu. Po utworzeniu takiego modelu, w fazie wykrywania zachowanie jest obserwowane na bieżąco i porównywane z modelem aby klasyfikować czy jest ono dopuszczalne, czy wskazuje na anomalię.

Do porównywania obserwacji z modelem używa się reguł:

  • Statystycznych – analizuje obserwowane zachowanie z użyciem modeli jedno albo wieloczynnikowych lub modeli szeregów czasowych obserwowanych metryk. Początkowo używane były jedynie modele jednoczynnikowe, lecz z czasem naukowcy doszli do wniosku, że ich analiza jest zbyt powierzchowna i utworzyli modele wieloczynnikowe. Zdecydowaną zaletą takiego podejścia jest jego prostota, niski koszt obliczeniowy oraz brak założeń dotyczących zachowania. Największą wadą jest trudność w doborze odpowiednich miar umożliwiających uzyskanie rozsądnej równowagi między false positive i false negative.
  • Oparte na wiedzy – używane jest przez systemy eksperckie, które obserwują zachowanie według zbioru reguł modelujących. Reguły są wypracowywane w fazie ćwiczebnej, w której obserwowane dane są zaliczane do różnych klas. Następnie dane te wykorzystywane są do klasyfikowania obserwowanych danych w fazie wykrywania. Zaletami takiego podejścia są jego odporność i elastyczność. Wadami są trudność i czas wymagany do wypracowania wysokiej jakości wiedzy na podstawie danych oraz niezbędna pomoc ekspertów
  • Uczenie maszynowe – metody automatycznego określania odpowiedniego modelu klasyfikacji na podstawie danych treningowych, z użyciem technik eksploracji danych. Wykorzystywane są techniki eksploracji danych w celu automatycznego zbudowania modelu z użyciem etykietowanych, zwykłych danych ćwiczebnych. Nadaje się on do obserwowania danych jako normalnych i odbiegających od normy. Zaletą takiego podejścia jest elastyczność, adaptowalność i zdolność do wychwytywania współzależności między obserwowanymi metrykami. Zasadniczą wadą jest ilość czasu i zasobów obliczeniowych wymaganych w tym procesie. Jednakże po wygenerowaniu modelu, dalsza analiza jest dość wydajna.

Wykrywanie ataków z wewnątrz sieci, np. firmy, jest dużo trudniejsze, gdyż różnice między zachowaniami standardowymi i nietypowymi mogą być nieznaczne. Wykrywanie naruszeń tylko za pomocą analizowania anomalii w systemie nie jest wystarczalne, dlatego podjęto pracę nad innym, skuteczniejszym, wydajniejszym sposobem wykrywania ataków.
I tak oto powstała metoda sygnaturowa (heurystyczna), która opiera się na obserwowaniu zdarzeń w systemie i stosowaniu zbioru sygnatur lub zbioru reguł charakteryzujących niechcianą ingerencję. Jest to idealne dopełnienie metody anomalii. Sygnatury muszą być na tyle duże, by zminimalizować odsetek fałszywych alarmów z utrzymaniem wystarczającego dużego odsetka wykrywania danych szkodliwych. Metoda ta jest powszechnie stosowana w programach antywirusowych. Zaletami są niskie koszty zasobów oraz powszechna akceptacja. Do wad należy ciągłe uaktualnianie i identyfikacja malware w celu wytworzenia sygnatur nadających się do wykrywania ataków dnia zerowego , dla których sygnatury nie istnieją.

Systemy zapobiegania intruzom (IPS) posiadają jeszcze jeden sposób detekcji. Rozpoznają one różnice różnice w protokołach, poprzez analizę z wcześniej zaobserwowanymi zdarzeniami.

Dodatkowe możliwości IPS

HIPS zazwyczaj oferuje ochronę komputera biurkowego w obszarach:

  • wywołania systemowe – może zostać skonfigurowany tak, aby sprawdzał każde wywołanie systemowe pod kątem złośliwych charakterystyk,
  • dostęp do systemu plików – może zagwarantować, że wywołania systemowe dotyczące dostępu do plików są nieszkodliwe i spełniają zasady przyjętej polityki,
  • ustawienia w rejestrze systemowym – może zagwarantować, że rejestr systemowy nie zostanie naruszony,
  • wejście-wyjście hosta – może sprawdzać i wymuszać właściwą interakcję klienta z siecią i jego odpowiednie współdziałanie z innymi urządzeniami.

Do metod stosowanych w NIPS do identyfikowania szkodliwych pakietów można wymienić:

  • dopasowywanie wzorców – skanuje przychodzące pakiety pod kątem występowania w nich określonych ciągów bajtów zapamiętanych w bazie danych znanych ataków,
  • dopasowywanie stanów– poszukuje się znamion ataków w kontekście strumienia ruchu, a nie indywidualnych pakietów,
  • anomalie protokołowe – poszukuje się odchyleń od standardów przyjętych w dokumentach RFC,
  • anomalie ruchu – obserwuje się ruch doszukując się w nim nienormalnych aktywności, takich jak zatapianie pakietami UDP lub pojawienie się nowej usługi w sieci,
  • anomalie statystyczne – opracowuje wzorce normalnego zapotrzebowania na ruch i przepustowość i ogłasza alarmy w przypadku odchyleń od normy.

Podsumowanie

Ciężko jest mówić o IDS, nie mówiąc o IPS. Mimo, że są do siebie bardzo podobne, nieznacznie się różnią. Zadaniem IDS jest jedynie wykrywanie zagrożeń i zgłaszanie incydentów w wyznaczone do tego miejsce, natomiast IPS jest w stanie dodatkowo zablokować połączenie lub usunąć szkodliwy plik. Obydwa rozwiązania można umieścić albo w sieci (NIDS, NIPS), albo na urządzeniu końcowym (HIDS, HIPS). Network-based analizują pakiety przepływające w sieci, natomiast Host-based kontrolują aplikacje lub logi w systemie użytkownika. Istnieją rozwiązania hybrydowe, które łączą obydwa powyższe rozwiązania. Złośliwe oprogramowanie lub nietypowe zachowanie jest wykrywane za pomocą porównania ze wzorcami (metoda sygnaturowa) lub za pomocą anomalii w systemie (metoda statystyczna, heurystyczna). Systemy zapobiegania intruzom dodatkowo są w stanie analizować protokoły pod kątem poprawności. Coraz częściej stosuje się nazewnictwo IDPS (Intrusion Detection Prevention System), zamiast osobno IDS i IPS. Można by pisać jeszcze długo, jednak ze szczegółowych mógłby powstać osobny artykuł. Każdy pragnący wejść w świat BlueTeam’ingu powinien zapoznać się z tym i samemu pogłębić swoją wiedzę, ponieważ każde narzędzie jest na swój sposób unikatowe.

Przydatne linki

W Interncie można znaleźć mnóstwo materiałów o tych systemach omówionych przeze mnie w tym artykule. Wybrałem zatem te ciekawsze i które moim zdaniem zasługują na większą uwagę.

Intrusion Detection System Intrusion Prevention system
Barracuda Barracuda
Csonline ComputerWorld
Searchsecurity DigitalGuardian