29 maja 2023

Jaki kierunek obrać dla uczenia maszynowego w cyberbezpieczeństwie?

Narzędzia i metody ataku wykorzystywane przez hakerów, umożliwiają przenikanie do organizacji i poruszanie się w zaatakowanej sieci przez tygodnie a nawet miesiące, w poszukiwaniu cennych i poufnych danych. Tradycyjne rozwiązania do wykrywania anomalii opierają się głównie na monitorowaniu ruchu sieciowego i stosowaniu wcześniej zdefiniowanych reguł detekcji. Ograniczeniem tych narzędzi jest to, że nie są w stanie odpowiednio zidentyfikować zagrożeń, które nie zostały poznane. W przypadku ataków sieciowych lub włamań podejście to nie zawsze jest wystarczające do wykrywania, zwłaszcza podczas analizy zrekonstruowanych przepływów sieciowych. Podejście do wykrywania anomalii wykorzystujące techniki uczenia maszynowego może odegrać rolę, istotnego rozszerzenia metod klasycznych.

Czym jest wykrywanie anomalii?

Z definicji anomalia to wszystko, co nie jest regularne. Jest to rzadkie zdarzenie, które wyróżnia się od pozostałych. W kontekście wykrywania anomalii w sieci chodzi o sesje DNS, http, itp., których charakterystyka znacznie różni się od tych, które zwykle obserwujemy. Jednak nie zawsze znalezienie anomalii oznacza włamanie lub atak. Dlatego ważnym etapem wdrożenia narzędzi bazujących na uczeniu maszynowym, jest zbalansowane dobranie technologii uczącej się. Dzięki temu systemy IT zyskują kolejną warstwę zabezpiczeń, a efekty analiz można dodatkowo wykorzystać do optymalizacji wydajności infrastruktur oraz można zbadać każdy aspekt działalności.

Podczas budowania modelu opartego na wykrywaniu anomalii możliwych jest kilka podejść, z których dwa główne to:

  • Podejście nienadzorowane, które odbywa się poprzez wykrywanie odchyleń.
    W tym przypadku nie ma klucza odpowiedzi. System bada dane wejściowe, z których większość nie jest oznaczona ani uporządkowana, i zaczyna identyfikować wzorce oraz korelacje, wykorzystując do tego wszystkie dostępne informacje. Pod wieloma względami podejście nienadzorowane przypomina sposób, w jaki ludzie obserwują świat. Posługujemy się intuicją i doświadczeniem i w miarę jak napotykamy kolejne przykłady, rośnie nasza zdolność do dokładniejszego kategoryzowania i identyfikowania pojęć. W przypadku maszyn nabywane w ten sposób „doświadczenie” definiuje się ilością danych wejściowych i udostępnionych. Typowymi przykładami zastosowania uczenia nienadzorowanego w praktyce są funkcje rozpoznawania twarzy, analiza sekwencji genów, badania rynkowe i mechanizmy bezpieczeństwa cybernetycznego.
  • Podejście częściowo nadzorowane, które odbywa się poprzez wykrywanie nowości.
    Obejmuje wprowadzanie do systemu małych ilości oznakowanych danych w celu wzbogacenia zbiorów danych bez etykiety. Oznakowane dane mają za zadanie uruchomić proces. Mogą też znacznie poprawić szybkość i dokładność uczenia się. Z drugiej strony to podejście wiąże się z ryzykiem identyfikowania przez system błędnych informacji.

Dla obu podejść istnieją specyficzne algorytmy uczenia maszynowego, oparte lub nie na głębokich sieciach neuronowych. W przypadku podejścia nienadzorowanego popularnym przykładem jest algorytm lasu izolacyjnego, który tworzy drzewa decyzyjne na podstawie różnych cech podanych w zbiorze danych. Algorytm ten opiera się na zasadzie obserwacji odpowiadającej anomalii, która wymaga wyizolowania krótkiej ścieżki w drzewie decyzyjnym. W przypadku podejścia częściowo nadzorowanego dwa najbardziej znane algorytmy to One Class SVM i autoencoder. Autoencoder opiera się na sieciach neuronowych. Część przyjmuje początkowe dane jako dane wejściowe i generuje skompresowaną wersję, w przestrzeni utajonej, o niższym wymiarze niż przestrzeń początkowa. Część dekodera przyjmuje skompresowaną wersję jako dane wejściowe i próbuje zrekonstruować dane w oryginalnej przestrzeni. Autoencodery mogą być używane do wykrywania anomalii, jeśli część dekodera ma trudności z rekonstrukcją oryginalnych danych z przestrzeni utajonej.

We wszystkich przypadkach model identyfikacji anomalii jako informację zwrotną zapewnia klasyfikację poziomu odchylenia od normy. Po zakończeniu szkolenia konieczne jest wybranie progu maksymalnego odchylenia  dla którego nowa próbka do analizy zostanie uznana za anomalię lub nie. Ten krok stanowi dodatkową trudność we wdrożeniu narzędzia bazującego na ML, gdyż trudno oszacować jaki poziom odchylenia świadczy o wystąpieniu realnego zagrożenia.

Przykłady zastosowań wykrywania anomalii w rozwiązaniach Network detection and response (NDR)

W rozwiązaniu Gatewatcher, dane przetwarzane przez system monitorowania sieci to głównie zrekonstruowane metadane przepływu sieci. Zespół uczenia maszynowego opracował kilka modeli detekcji ataków z podejściem wykrywania anomalii. Poniżej znajduje się opis dwóch, które zostaną zintegrowane w przyszłej wersji AIONIQ.

Pierwszy model koncentruje się na wykrywaniu ransomware. W rzeczywistości większość oprogramowania ransomware nie tylko szyfruje pliki lokalnie na zainfekowanym komputerze, ale także próbuje zaszyfrować pliki dostępne za pośrednictwem udziałów sieciowych. W wielu przypadkach wykorzystują protokół Server Message Block (SMB), służący udostępnianiu zasobów komputerowych, m.in. drukarek czy plików. Oczekuje się, że sesje SMB z infekcji ransomware będą zachowywać się zupełnie inaczej niż normalne sesje SMB. Na przykład pod względem liczby poleceń odczytu i zapisu plików, co idealnie pasuje do naszej definicji anomalii. W związku z tym został opracowany model wykrywania ransomware oparty na tej zasadzie przy użyciu podejścia częściowo nadzorowanego. Na jego podstawie model uczy się normalnego ruchu sieciowego, a następnie może być wykorzystywany do prognozowania, po starannym dobraniu wartości progowej dla wyniku anomalii, aby uzyskać bardzo niski współczynnik wyników fałszywie dodatnich. Wydajność modelu została oceniona poprzez odtworzenie ruchu SMB generowanego przez próbki ransomware.

Powstał również model wykrywania Kerberoastingu, tym razem wykorzystując podejście nienadzorowane. Rzeczywiście, atak ten charakteryzuje się przede wszystkim dużą liczbą żądań Kerberos Service Tickets (TGS) powiązanych z różnymi usługami w krótkim okresie czasu. W związku z tym spodziewamy się zobaczyć dużą liczbę żądań protokołów uwierzytelniania i autoryzacji w sieci komputerowej powiązanych z dużą liczbą różnych usług. W rzeczywistości przeciętny użytkownik nie może zażądać tak wielu usług w tak krótkim czasie.

Jednak w niektórych przypadkach można znaleźć maszyny skonfigurowane do automatycznego żądania dużej liczby usług w ramach ich normalnej aktywności. Maszyny te nie będą różnić się od prawdziwego Kerberoastingu pod względem cech, więc nie możemy być pewni, że dane, na których nasz model będzie trenowany, nie zawierają żadnych anomalii. Dlatego też podejście nienadzorowane wydaje się być najbardziej odpowiednie do rozwiązania problemu wykrywania. Model został zaprojektowany tak, aby przypisywać wyższe wyniki rzeczywistym kampaniom Kerberoasting niż anomaliom zbliżonym do tego rodzaju ataku, które można znaleźć w infrastrukturze.

Oba modele wykrywania zostały przetestowane na rzeczywistym ruchu sieciowym. Najpierw w celu szkolenia, a następnie prognozowania. Na koniec zespół uczenia maszynowego Gatewatcher przetestował oba modele na ruchu pochodzącym z ataków, aby zapewnić ich dobrą zdolność wykrywania. W tym celu wykorzystali dla pierwszego modelu przechwytywanie sieci (PCAPS) pochodzące z wykonywania oprogramowania ransomware, a dla drugiego modelu przepływy Kerberoasting pochodzące z narzędzi używanych przez atakujących do przeprowadzenia ataku.

Autorem tekstu jest Joanna Świerczyńska

Mateusz Nowak

Mateusz Nowak
product manager Gatewatcher / Sekoia

Masz pytania?
Skontaktuj się ze mną:
nowak.m@dagma.pl
32 793 11 19