Wczesne wykrycie zagrożenia w sieci informatycznej jest kluczową sprawą, jeśli chodzi o ewentualne szkody i łagodzenie skutków ataku. Można pomyśleć, że szybkość wykrycia ataku jest składową całej polityki i wszystkich systemów bezpieczeństwa w organizacji. I tak i nie. Systemy IDS wychodzą temu na przeciw i działają w imię zasady: „Najpierw alarmuj, a potem sprawdzaj”.


Definicja IDS

IDS (ang. Intrusion Detection System) to urządzenie lub oprogramowanie, które monitoruje i analizuje ruch sieciowy w celu wyszukania podejrzanych aktywności wysyłając powiadomienia o ich znalezieniu.
Ogólnym założeniem IDS jest wczesne poinformowanie zespołu bezpieczeństwa IT, że doszło lub może dojść do włamania w sieci. Informacje zawarte w takim alarmie będą na ogół zawierać:

  • Źródło ataku – host
  • Rodzaj ataku – skanowanie sieci, brute-force, eksfiltracja danych, itd.
  • Typ komunikacji sieciowej – protokół, port, częstotliwość połączeń, itd.
  • Cel ataku – urządzenie, host, konto, witryna, domena, itd.

Każdy system IDS powinien mieć jak najlepszą widoczność sieci. Im więcej ruchu jest w stanie obserwować, tym więcej zagrożeń jest w stanie wykryć. Wykrywanie włamań w narzędziach IDS jest technologią pasywną. To oznacza, że system rozpoznaje zagrożenie, ale nie ucina przepływu ruchu sieciowego. Tak jak wspominano, celem jest tylko identyfikacja i ostrzeżenie o widocznym zagrożeniu. Dlatego właśnie systemy IDS nie powinny być porównywane do technologii różnego rodzaju rozwiązań IPS (ang. Intrusion Prevention System) czy firewall’i.


Podział systemów IDS

Istnieje kilka klasyfikacji IDS pod względem architektury oraz sposobu działania. Jednym z najbardziej podstawowych jest rozdzielenie systemów IDS na te, które są fizycznymi urządzeniami wpinanymi w sieć oraz na te, które działają jako software i są instalowane na serwerach i urządzeniach sieciowych jako agenty/sondy. Technologia pozostaje taka sama – analiza ruchu sieciowego i wykrywanie nieprawidłowości.

Innym kryterium podziału IDSów jest sposób detekcji. Rozróżniamy dwa główne:

  1. Oparty o sygnatury – wykrywa zagrożenia i ataki na podstawie określonych wzorców, którymi mogą być na przykład konkretne instrukcje i polecenia, sekwencja pakietów sieciowych, liczba 0 i 1 w pakiecie czy protokół poprzez niestandardowy port. Taka metoda może z wysoką skutecznością wykryć znane ataki i techniki często używane przez cyberprzestępców, ale trudno jest jej wykryć nowe zagrożenia. Charakteryzuje się także mniejszą ilością alarmów false-positive.
  2. Oparty o anomalie – został wprowadzony w celu wykrywania nieznanych zagrożeń i nowego złośliwego oprogramowania. Ponieważ w ostatnich latach malware szybko ewoluuje i zmienia swoje zachowanie, metoda ta jest dzisiaj bardziej skuteczna. W IDS opartym o wykrywanie anomalii sieciowych wykorzystuje się uczenie maszynowe do tworzenia zaufanych modeli aktywności i porównywanie wszystkiego z istniejącym modelem. Jeśli zachowanie jakiegoś urządzenia, aplikacji czy użytkownika odbiega od normy, to generowany jest alert. Metoda ta jest bardziej ogólna i wykrywa więcej zagrożeń, jednak cechuje się większą ilością zdarzeń false-positive.

Najlepsze systemy IDS na rynku wykorzystują obie metody detekcji i są nazywane hybrydowymi rozwiązaniami IDS.

Warto jeszcze przedstawić podział systemów IDS pod względem monitorowanej infrastruktury. Główne rodzaje to:

  1. NIDS (ang. Network Intrusion Detection System) – takie systemy są najczęściej urządzeniem umiejscowionym w konkretnym punkcie w sieci w celu badania ruchu ze wszystkich urządzeń. Dobrym miejscem do takiego monitoringu jest główny firewall w sieci i analiza wszystkiego co przez niego przechodzi w obu kierunkach.
  2. HIDS (ang. Host Intrusion Detection System) – działa na niezależnych hostach i urządzaniach sieciowych. Monitoruje wychodzące pakiety tylko z konkretnych urządzeń. Agent instalowany na maszynie wykonuje również migawkę plików systemowych przed i po analizowanej aktywności sieciowej i w razie potrzeby alarmuje o wykrytych nieprawidłowościach.
  3. PIDS (ang. Protocol-based Intrusion Detection System) – monitoruje konkretny ruch sieciowy między serwerem a klientem. Zwykle używany jest do obserwowania zagrożeń na serwery www. Monitoruje wtedy strumień HTTP i HTTPS i sprawdza jego zawartość oraz weryfikuje czy ruch sieciowy nie zawiera innych zbędnych protokołów.
  4. APIDS (ang. Application Protocol-based Intrusion Detection System) – identyfikuje włamania do konkretnych aplikacji, jak na przykład zdalne ataki na SQL.

Jakie zagrożenia wykrywają?

  • Skanowanie sieci – każdy atak rozpoczyna się od rozpoznania sieciowego, poznania topologii, aktywnych hostów, otwartych portów
  • Ataki DDoS – widoczne w sieci jako ogromne zwiększenie ilości połączeń przychodzących do konkretnego hosta bądź usługi
  • Buffer Overflow – widoczne w pakiecie sieciowym jako ogromna ilość losowych stringów lub liczb powodujące przepełnienie bufora przy próbie wpisania do pamięci
  • Ataki oparte o konkretne protokoły:
  • Rozprzestrzenianie się malware – najczęściej jest to ransomware próbujący rozprzestrzenić się na inne hosty w sieci i zaszyfrować jak największą ilość plików, przykładem jest znany atak WannaCry
  • Komunikacja z C2 – praktycznie każdy malware będzie chciał prędzej czy później skomunikować się ze swoim serwerem Command & Control
  • Brute-Force – wszystkie próby nieudanych uwierzytelnień do zasobów sieciowych są widoczne dla systemów IDS i mogą być alarmowane
  • Infiltracja i eksfiltracja danych – Pobieranie niebezpiecznych plików lub kradzież plików na zewnętrz z organizacji
  • Błędy konfiguracji sieci – błędy takie jak na przykład asymetryczny routing czy otwarte porty mogą być wykorzystane przez hackerów
  • Kopanie kryptowalut, Torrenty, sieć TOR

Można więc rzec, że systemy IDS są wszechstronnie uzdolnione. Są w stanie wykryć każde zagrożenie, które polega na specyficznej komunikacji sieciowej. Wszystkie malware działające lokalnie, zaszyte w pamięci komputera i nierozprzestrzeniające się na zewnątrz są dla IDS niezauważalne.


Podsumowanie

Istnieje wiele opinii specjalistów dotyczących przydatności IDS w organizacji. Coraz rzadziej przedsiębiorstwa kupują systemy IDS jako oddzielny produkt. Bardziej skupiają się na tzw. „kombajnach” do bezpieczeństwa, które zawierają kilka funkcjonalności i jedną z nich jest właśnie wykrywanie zagrożenia w ruchu sieciowym.

Chociaż system IDS nie zatrzymuje złośliwego oprogramowania, technologia ta nadal powinna mieć swoje miejsce w każdej większej sieci informatycznej. Z narzędzia IDS nie będzie jednak pożytku, jeśli do obsługi generowanych przez niego incydentów, nie przydzielimy wystarczająco dużo zasobów ludzkich (bądź ew maszynowych). Wszystko to dlatego, gdyż sporą wadą systemów IDS jest generowanie dużej ilości alarmów false-positive. Dodatkowo osoby obsługujące incydenty, muszą posiadać niezbędną, minimalną wiedzę o środowisku, aby poprawnie zdiagnozować problemy.

IDS nie powinien być porównywany z innymi technologiami do bezpieczeństwa operującymi na ruchu sieciowym. Szczególnie chodzi o firewall’e. Możemy wyobrazić sobie, że firewall działa jak brama chroniąca naszą posesję, a IDS to alarm przeciwwłamaniowy. I jeden i drugi system jest potrzebny, ale również i jeden i drugi system przestępca jest w stanie obejść : )