Na początku tego artykułu zadajmy sobie pytanie: czy ktokolwiek jeszcze wierzy, że klasyczne firewalle i reguły w IDS naprawdę wystarczają?
Jeśli jest taka osoba, to być może nadal trzyma hasła na żółtych karteczkach przyklejonych do monitora. Świat technologiczny już dawno przeskoczył do epoki, w której topologia sieciowa nie przypomina uporządkowanej biblioteczki jak w latach 90. W tym chaosie, wykrycie anomalii bez odpowiedniej metodyki staje się zadaniem praktycznie niemożliwym do wykonania.
Dlatego z pomocą przychodzą wszelkiej maści systemy oparte na AI. Mowa tutaj np. o uczeniu maszynowym, o którym już wielokrotnie pisaliśmy na blogu.
Anomalia – co to dokładnie jest?
Zanim przejdziemy do sedna, ustalmy jedno: czym właściwie jest ta „anomalia sieciowa”? Można to nazwać w zasadzie każdym odstępstwem od normy, od dziwnego piku ruchu w środku nocy po pakiety, które zachowują się jakby zwariowały. Problem w tym, że definicja „normy” zmienia się bardzo szybko i to, co dziś jest jeszcze zwyczajne, jutro może być już nienormalne. I oczywiście odwrotnie. Dlatego wykrywanie każdej anomalii stało się nieosiągalne dla klasycznych systemów opartych na regułach.
Weźmy na przykład sytuację, w której pracownik codziennie loguje się do systemu firmowego między 8:00 a 16:00 z lokalizacji w Warszawie i zwykle korzysta z kilku aplikacji. Model ML (nazwijmy go roboczo X) nauczył się, że to jest standardowy wzorzec zachowania. Nagle jednak ten sam użytkownik loguje się o 2:50 w nocy z adresu IP zlokalizowanego w Nigerii, pobiera gigabajty danych z serwera produkcyjnego i kończy sesję po dwóch minutach. Klasyczny IDS może to przegapić, bo samo hasło było poprawne, a reguła nie przewiduje żadnych odstępstw od normy. „X” natomiast momentalnie wyłapuje ten wzorzec jako anomalię dlatego, że rozumie, jak ten użytkownik normalnie się zachowuje.
Machine learning (uczenie maszynowe)
Machine learning potrafi przetwarzać tony danych w czasie rzeczywistym, wyłapując niuanse, które dla ludzkiego oka są absolutnie niewidoczne. Rdzeniową techniką w detekcji anomalii jest tu tzw. uczenie nienadzorowane, gdzie dany model nie dostaje listy “złych” i “dobrych” zachowań, a sam musi zrozumieć, co jest normalne, a co nie na podstawie sumy już przeanalizowanych zachowań.
Tutaj można przeczytać więcej na temat samego ML.
Uczenie maszynowe w cyberbezpieczeństwie – jak to działa w praktyce? – Grupa E
Dane
Aby uczenie maszynowe miało sens, trzeba je nakarmić różnej maści danymi. Najlepiej takimi, które nie zostały sztucznie wygenerowane, bo algorytmy uczone na danych laboratoryjnych w realnym świecie potrafią za bardzo panikować, przez co wyrzucają ogromną ilością tzw. false positive. Dlatego praktyka zaczyna się od logowania każdego ruchu, połączeń, nietypowych zapytań, zachowania użytkowników itp.
Weryfikacja
Pamiętajmy, że ML potrafi dużo, ale nie zawsze rozumie kontekst. Dany system wykryje “coś dziwnego”, ale nie powie nam konkretnie czy to jest atak, czy może zwykła aktualizacja systemu, która nie została ogłoszona. Dlatego warto traktować machine learning jako asystenta, a nie panaceum na wszystkie problemy.
Zresztą, bądźmy szczerzy – które zespoły SOC mają czas, żeby godzinami patrzeć w tylko strumienie logów? Muszą mieć do dyspozycji systemy, dzięki których mogą skupić się na tym, co naprawdę wymaga człowieka czyli interpretacji oraz decyzji.
Wróć