2. SYSTEMY WYKRYWANIA WŁAMAŃ (IDS)

2.4. Typowe rozwiązania i przykłady systemów wykrywania włamań

Obecnie dostępnych jest wiele rozwiązań do wykrywania włamań, niektóre z nich są płatne, a niektóre darmowe. Również wiele rozwiązań zintegrowanych, przynosi już mechanizm wykrywania włamań w ramach swojego oprogramowania, jednak są one ograniczone do miejsca jego implementacji.

W zależności od rodzaju wdrażanego systemu IDS istnieją również różne rozwiązania, które można zastosować. W tym miejscu można wyróżnić powszechnie znane SNORT IDS oraz Suricata IDS.

Skupiając się na pierwszym z nich, SNORT, jest to płatne rozwiązanie open-source, które może być zainstalowane nie tylko przez pojedynczych użytkowników, ale także przez firmy i organizacje. Ten IDS jest skoncentrowany na zestawie reguł określających, jaki ruch sieciowy powinien być zbierany i co należy zrobić z wykrytymi złośliwymi pakietami. Działa on w oparciu o znane sygnatury podatności i ataków, aby zbudować swoją bazę reguł IDS i zidentyfikować możliwe włamania do sieci.

Wśród jego funkcji można podkreślić analizę i monitorowanie w czasie rzeczywistym, gdzie administrator sieci ma możliwość sprawdzenia wszystkich wyników monitorowania IDS w czasie rzeczywistym, identyfikując detekcje włamań i działając zgodnie z potrzebami. Dodatkowo zawiera analizę protokołów dla lepszej wydajności identyfikacji. Analizuje protokoły poprzez proces sniffingu, który przechwytuje dane w warstwach protokołu, umożliwiając administratorom dalsze badanie potencjalnie złośliwych pakietów. Ponadto SNORT gromadzi reguły według protokołów, takich jak IP i TCP, następnie według portów, a następnie według tych z zawartością lub bez. Reguły z zawartością wykorzystują multi-pattern matcher, który zwiększa wydajność, szczególnie w przypadku protokołów takich jak HTTP (Hypertext Transfer Protocol). Reguły bez zawartości są zawsze analizowane, co zmniejsza wydajność.

SNORT jest systemem IDS zdolnym do inspekcji i monitorowania nie tylko nagłówka pakietu, ale także jego ładunku, co pozwala na zmniejszenie współczynnika fałszywych pozytywnych detekcji. Jest również w stanie dostarczać alerty oraz elastyczne logi pakietów i analiz, dostarczając wszelkich informacji administratorom sieci do właściwej analizy i działania. Jego instalacja może odbywać się w systemach Unix, Windows i MacOSx, o ile pozwalają one na kompilację i instalację biblioteki lipcap, wykorzystywanej jako baza do analizy pakietów. SNORT posiada również elastyczną architekturę, pozwalającą na różne sposoby instalacji i dostosowanie do potrzeb sieci.

Podobnie jak poprzedni, również Suricata IDS to open-source'owy silnik wykrywania zagrożeń sieciowych, który jest darmowy i zapewnia różne możliwości, w tym wykrywanie włamań i monitorowanie bezpieczeństwa sieci, poprzez głęboką inspekcję pakietów i dopasowywanie wzorców.

Główną cechą wyróżniającą Suricatę w porównaniu do SNORT jest to, że Suricata zawiera dynamiczną ochronę protokołów, która jest niezależna od portów. Dzięki temu IDS może identyfikować niektóre z najbardziej popularnych protokołów warstwy aplikacji, w tym HTTP, DNS (Domain Name System), TLS (Transport Layer Security), między innymi, gdy te komunikują się przez niestandardowe porty. Zastosowany tutaj język reguł pozwala administratorowi na budowanie warunków dopasowania w protokole warstwy aplikacji, zwiększając wydajność i wykrywalność IDS.

Suricata monitoruje ruch sieciowy, korzystając z rozbudowanej bazy reguł, podobnie jak SNORT, i opiera swoje reguły również na znanych sygnaturach podatności i ataków. Chociaż Suricata została zbudowana w innej architekturze i jest znacznie nowsza niż SNORT, oba rozwiązania mogą korzystać z sygnatur zagrożeń. Kluczową różnicą jest fakt, że Suricata posiada wielowątkową architekturę, pozwalającą na wykorzystanie wielu rdzeni CPU jednocześnie, co w konsekwencji przekłada się na większą wydajność w porównaniu z innymi rozwiązaniami. Wykorzystanie wielu CPU umożliwia Suricata przetwarzanie wielu zdarzeń w tym samym czasie, bez konieczności przerywania innych żądań lub narażania innych analiz, obciążając równowagę pomiędzy CPU i poprawiając wydajność w analizie ruchu sieciowego.

To rozwiązanie IDS może być używane w trzech różnych rolach, gdzie najprostszą z nich jest skonfigurowanie go jako host-based IDS, monitorując ruch pojedynczego komputera. Można go również zaimplementować jako pasywny IDS, monitorujący cały ruch przechodzący przez sieć i powiadamiający administratora sieci, gdy natrafi na coś złośliwego. Trzecia i ostatnia rola to taka, w której Suricata jest wdrożona jako aktywny inline IDS i IPS (Intrusion Protection System), monitorujący ruch przychodzący i wychodzący, umożliwiający blokowanie złośliwego ruchu jeszcze przed jego wejściem do sieci, jednocześnie alarmując o tym administrację sieci.

Podobnie jak SNORT, Suricata jest dostępna również dla systemów UNIX, Windows i MacOSx.

Jak wspomniano wcześniej, nie wszystkie rozwiązania IDS są odpowiednie dla każdego systemu lub sieci, gdzie administrator sieci musi wybrać najlepsze rozwiązanie, aby dopasować swoje potrzeby sieciowe i pojedyncze cechy.

Poprzednie przykłady nadają się w większości do implementacji w zwykłej sieci komputerowej, będąc jednocześnie najczęstszymi rozwiązaniami stosowanymi obecnie przez organizacje i firmy. Jednakże, gdy w centrum uwagi znajduje się wykrywanie włamań w infrastrukturach krytycznych, które opierają swoją funkcję na konkretnych protokołach sieciowych i gdzie proste przerwanie komunikacji może spowodować drastyczne skutki, systemy IDS muszą być starannie dobrane i wdrożone.

Niektórzy uczeni twierdzą, że dedykowane rozwiązanie jest koniecznością, a State-Based wraz z machine learning IDSs mogą być przyszłością dla ochrony infrastruktury krytycznej. Dobrym przykładem jest rozwiązanie opracowane przez (Al-Malawi et al., 2016) które skupia się na technice grupowania danych w celu wyodrębnienia reguł opartych na stanie i wykrycia ataków w sieciach Modbus/TCP, bez wcześniejszej znajomości specyfikacji systemów. Należy jednak podkreślić, że wrażliwe i krytyczne systemy, takie jak SCADA w WDS (water distribution systems), zawsze posiadają w pełni szczegółową dokumentację.