Ochrona niezupełnie doskonała

Z kolei sieciowy IDS (NIDS) może w typowym scenariuszu operować tylko w ramach podsieci, w której umieszczona jest sonda. Im więcej segmentów, tym więcej potrzeba sond. Istnieją rozwiązania umożliwiające instalację systemów IDS w miejscach, przez które przechodzi cały ruch (tzw. inline IDS) - specjalne sondy włączane są wtedy do portów typu mirror na przełącznikach. Trzeba jednak wiedzieć, że jest to pewna nowość i prawdopodobnie systemy te przejdą jeszcze wiele ewolucji, zanim osiągną satysfakcjonujący poziom funkcjonalny. Zamiast przełączników można też zastosować rozwiązania spełniające rolę inteligentnych routerów, podobne do tych działających na styku sieci z Internetem.

Problemy z efektywnością

Wykrywanie ataków na podstawie sygnatur w systemach IDS jest podejściem stosunkowo efektywnym. Niestety, ataki, których sygnatury nie zostały umieszczone w bazie, nie mogą być wykryte. Większość znanych ataków ma dużo mutacji, toteż istnieje konieczność tworzenia wielu wersji tej samej sygnatury. Ponadto wzorce tego samego ataku mogą wyglądać nieco inaczej w przypadku różnych systemów operacyjnych, a nawet różnić się w zależności od konkretnej wersji systemu czy aplikacji. Powoduje to kolejny wzrost liczb wzorców, co niewątpliwie ma wpływ na wydajność systemu IDS. Jednym z możliwych rozwiązań tego problemu jest podział bazy wzorców na kilka części, nadzorowanych przez różne systemy IDS.

Poważnym problemem systemów IDS są przeoczenia rzeczywistych ataków (false negative). Coraz bardziej złożone włamania wymuszają tworzenie coraz bardziej skomplikowanych algorytmów analizy zachodzących w sieci zdarzeń. W efekcie coraz trudniej jest utrzymać jeden z podstawowych wymogów działania systemów IDS - działanie w czasie rzeczywistym. Widać to szczególnie na przykładzie rozłożonych w czasie ataków wieloetapowych.

Innym problemem może być zbyt duża restrykcyjność systemu IDS, przejawiająca się w sygnalizowaniu ataku pod wpływem zdarzeń, które nie mają znaczenia z punktu widzenia bezpieczeństwa. O ile skutki przeoczenia ataku przez system IDS przekładają się wprost na poziom bezpieczeństwa, o tyle duża liczba fałszywych alarmów może okazać się trudnym problemem organizacyjnym, wpływając na bezpieczeństwo pośrednio. Administratorzy systemu codziennie obserwujący dużą liczbę niegroźnych, fałszywych alarmów, zaczynają się do tej sytuacji przyzwyczajać, co bardzo łatwo może prowadzić do przeoczenia rzeczywistych zagrożeń.

Jeżeli atak jest prowadzony zgodnie z charakterystykami zawartymi w sygnaturach, jego wykrycie następuje z reguły już na podstawie zawartości pierwszego wrogiego pakietu. Problemy pojawiają się, gdy dane służące do wykonania (nawet znanego) ataku są rozproszone w wielu pakietach (fragmentacja) i przesyłane w pozornie przypadkowej kolejności. Aby system IDS wykrywał próby oszukania go, musi umieć odpowiednio połączyć części pakietów przed ich analizą. Stwarza to oczywiście większe zapotrzebowanie na zasoby.

Największym wyzwaniem dla dostawców systemów IDS jest korelacja danych bieżąco analizowanych z przetworzonymi wcześniej. To od niej właśnie zależy skuteczność wykrywania niepożądanych zdarzeń. Dobry system IDS powinien umieć powiązać aktualne informacje z informacjami przetworzonymi podczas tej samej sesji, jednej z poprzednich sesji, sesji innego użytkownika, a nawet sesji z innego chronionego komputera. Im większe wymagania związane z korelacją danych przetwarzanych przez IDS, tym większe wymagania dotyczące jego efektywności.

Problemy z omijaniem systemu

Istnieją dwa sposoby na ominięcie systemu IDS: oszukać go, preparując pakiety w taki sposób, że nie wykryje on ataku, albo też bezpośrednio lub pośrednio zaatakować go.

Większość systemów IDS skanuje cały ruch sieciowy, można więc próbować odwrócić ich uwagę za pomocą ataków typu DoS, np. powodzi (flood) czy przepełnienia buforów (buffer overflow). Im bardziej system IDS będzie obciążony, tym większa szansa, że atak będzie nie zauważony - nawet mimo znanego wzorca. System też może sam zrezygnować z kontrolowania części pakietów, broniąc się przed przeciążeniem.

Oszukiwanie systemu IDS może się odbywać na kilka sposobów. Większość z nich polega na wykorzystaniu słabości tekstowego wyszukiwania sygnatur w odebranych pakietach. Włamywacze mogą np. skorzystać z kodowania adresów URL lub żądań HTTP za pomocą techniki URL encoding, stosując małe i wielkie litery, wysyłając w adresie URL komendy pozwalające na poruszanie się po drzewie katalogów itp. Innym sposobem jest dodawanie do pakietów nieznaczących i często pomijanych przez systemy IDS znaków lub rozkazów (tzw. kody polimorficzne). Napastnik ma do dyspozycji także bardziej finezyjne techniki. Może to być np. fragmentacja pakietów IP czy - jeszcze bardziej wysublimowane - dzielenie sesji (session splitting) na małe części i różne sposoby łączenia fragmentów. Niewykluczone jest wykorzystanie wszystkich tych technik jednocześnie lub ich mutacji, co zmniejsza efektywność systemów IDS.

IDS a zapora

Ustawienie systemu IDS względem systemu zaporowego ma istotny wpływ na podstawowe parametry jakościowe: efektywność i wydajność

  • Ustawienie IDS przed zaporą - system będzie analizował cały ruch kierowany do i wychodzący z organizacji, ale nie ruch wewnętrzny

  • Ustawienie IDS za zaporą - system będzie wykrywał tylko te ataki, którym udało się z sukcesem spenetrować zaporę oraz ewentualnie ruch wewnętrzny

  • Ustawienie IDS przed i za zaporą - pozwala na wykrycie ataków, które pomyślnie przeszły przez zaporę, oraz uzyskanie informacji dotyczących pakietów na niej zatrzymanych. System IDS w tym przypadku dysponuje także większą ilością informacji i ma (przynajmniej teoretycznie) większe możliwości korelacji danych

  • Ustawienie IDS równolegle do zapory - pozwala na wykorzystanie systemu wykrywania włamań jako dodatkowego mechanizmu wnioskowania dla zapory ogniowej. Nie blokuje to także ruchu w przypadku przeciążeń

  • Ustawienie IDS wewnątrz korporacyjnej sieci firmy - pozwala na wykrywanie ataków inicjowanych przez pracowników organizacji

TOP 200