Uczenie maszynowe w środowisku adwersaryjnym

Grey Wizard
GreyWizard
Published in
3 min readMar 24, 2017

Algorytmy uczenia maszynowego coraz częściej znajdują zastosowanie w aplikacjach związanych z cyberbezpieczeństwem, w szczególności w systemach służących do wykrywania oraz zapobiegania atakom sieciowym.
Działanie tych systemów często oparte jest na monitorowaniu ruchu sieciowego i wykrywaniu podejrzanych aktywności użytkowników. Uczenie maszynowe umożliwia wykrywanie takich aktywności bez konieczności manualnego tworzenia reguł eksperckich decydujących o tym jaka aktywność stanowi atak. Poprzez trening przeprowadzony na normalnym ruchu sieciowym, algorytm jest w stanie automatycznie stworzyć model predykcyjny, który będzie potrafił sygnalizować obserwacje odstające reprezentujące potencjalne ataki.

Wykorzystanie algorytmów uczenia maszynowego w takim problemie zakłada jednak ciągłe aktualizowanie stworzonych modeli. Jest to wymagane ze względu na tak zwany concept drift, czyli zjawisko pojawiania się zmian w danych strumieniowych. To, co dzisiaj uznajemy za obserwację odstającą, za tydzień może stać się typowym przykładem ruchu sieciowego. Przykładem takiej sytuacji może być znaczący wzrost popularności serwisu internetowego lub inna zmiana w charakterystyce jego ruchu. Aktualizacja modeli predykcyjnych, przeprowadzana bez należytej dbałości, może zostać jednak wykorzystana przez osoby starające się naruszyć stabilność chronionego systemu. Atakujący może na przykład starać się zanieczyścić dane treningowe i doprowadzić do pomyłek w działaniu modelu predykcyjnego. Sytuacja opisana powyżej stanowi przykład scenariusza, w którym teoretyczne założenia algorytmu uczenia maszynowego zostały naruszone poprzez przeciwnika starającego się zdestabilizować jego działanie.

Adwersaryjne uczenie maszynowe jest nową dziedziną naukową leżącą na przecięciu uczenia maszynowego i cyberbezpieczeństwa. Zajmuje się ona bezpiecznym wykorzystaniem algorytmów uczenia maszynowego w środowiskach adwersaryjnych (tj. w środowiskach, w których występuje przeciwnik starający się zakłócić działanie algorytmu). Prowadzone w ramach tej dziedziny badania dotykają takich zagadnień jak: identyfikacja potencjalnych zagrożeń bezpieczeństwa, symulowanie ataków i ewaluacja ich wpływu na atakowany algorytm oraz podejmowanie środków zaradczych w celu poprawy bezpieczeństwa algorytmów.

Poniżej prezentujemy podstawowe informacje o rodzajach ataków mogących dotknąć algorytmy uczenia maszynowego oraz przykłady dobrych praktyk, które mogą pomóc w ochronie przed nimi.

Klasyfikacja ataków przeciw algorytmom uczenia maszynowego

Ataki przeciw algorytmom uczenia maszynowego zostały sklasyfikowane ze względu na trzy czynniki: wpływ ataku, rodzaj naruszenia bezpieczeństwa oraz specyficzność ataku.

  1. Wpływ ataku
  • Atak przyczynowy — celem ataku przyczynowego jest wprowadzenie zmian do zbioru treningowego, które spowodują osłabienie działania algorytmu.
  • Atak eksploracyjny — ataki eksploracyjne nie wprowadzają zmian do zbioru treningowego, lecz testują działanie modelu predykcyjnego w celu uzyskania informacji o danych treningowych lub samym modelu.
  1. Rodzaj naruszenia bezpieczeństwa
  • Naruszenie integralności — skutkuje niewykryciem anomalii przez system predykcyjny (wzrost liczby predykcji fałszywie negatywnych)
  • Naruszenie dostępności — skutkuje spowodowaniem tak dużej liczby błędów systemu predykcyjnego, zarówno fałszywie negatywnych jak i fałszywie pozytywnych, że system przestaje nadawać się do użytku
  1. Specyficzność ataku
  • Atak ukierunkowany — oddziałuje na konkretny rodzaj zdarzenia (np. przeciwnik stara się stworzyć lukę dla konkretnego rodzaju ataku)
  • Atak ogólny — celem atakującego jest spowodowanie ogólnego błędu systemu, np. braku reakcji na wszystkie rodzaje ataków)

Zapobieganie atakom

Podczas tworzenia modelu predykcyjnego mającego działać w środowisku adwersaryjnym, krytycznym czynnikiem jest przeanalizowanie możliwości atakującego do wpływania na dane, tj. zdefiniowanie w jaki sposób atakujący może modyfikować dane w celu wprowadzenia algorytmu w błąd. Możliwości te są często bardzo zależne od konkretnej domeny zastosowania. Zdolność atakującego do zmiany danych może być ograniczona pod względem liczby przykładów uczących, na które atakujący ma wpływ, a także stopnia w którym jest on w stanie zmodyfikować pojedynczy przykład uczący. Istotne jest również przeanalizowanie do jakich informacji może mieć dostęp atakujący, np. czy na podstawie informacji zwrotnych uzyskiwanych z algorytmu jest on w stanie uzyskać informację o jego rodzaju lub wykorzystanej przestrzeni cech. Atakujący może mieć również dostęp do wiedzy o rozkładzie danych w całym zbiorze uczącym, w przypadkach domen gdzie jest to informacja jawna.

Dwoma najpopularniejszymi metodami obrony przez atakami przyczynowymi jest filtracja szkodliwych danych ze zbioru treningowego oraz wykorzystanie tak zwanych algorytmów odpornych, które potrafią być niewrażliwe na pewien ułamek szkodliwych danych w zbiorze treningowym. W przypadku ataków eksploracyjnych jedną z wykorzystywanych technik ochronnych jest próba przekazywania fałszywej informacji agresorowi, na przykład poprzez wprowadzenie elementu losowości do stworzonego modelu predykcyjnego niedaleko granicy decyzyjnej, co spowoduje zwiększenie wysiłku jaki musi zadać sobie atakujący w celu jej poznania.

Originally published at blog.greywizard.com.

--

--