Bez algorytmów dzisiejsze cyberbezpieczeństwo byłoby słabsze, ale łatwo przeoczyć ich prawdziwą wartość, wyolbrzymiając zarazem stawiane cele i nadzieje związane z algorytmami Artificial Intelligence/Machine Learning w obszarze bezpieczeństwa IT.
Wszystkie narzędzia stosowane w cyberbezpieczeństwie dostarczają tysiące alertów o niezbalansowanych priorytetach i niestety również sporą ilość fałszywych alarmów. Programista, otrzymawszy taki backlog, bardzo szybko przestałby przejmować się bezpieczeństwem. Jednak jest to idealny przypadek do zastosowania kontrolowanego uczenia maszynowego, z którym – po pewnym czasie rekurencyjnego dostarczania wzorcowych danych – całość zbioru można przefiltrować z 99-proc. precyzją oraz dokładnością, w dodatku uwzględniając kontekst aplikacji i stojące za nim ryzyka.
Kilka czynników wpływa na to, że Machine Learning jest coraz częściej stosowane w cyberbezpieczeństwie. Wzrasta dostępność chmury obliczeniowej. Elastyczne i łatwo skalowalne zasoby są więc dostępne za coraz mniejsze pieniądze. Z drugiej strony internetowe repozytoria są pełne narzędzi open source, z których można korzystać, rozwijać je, integrować. Nałożenie się tych dwóch okoliczności daje szansę matematyce i statystyce wszędzie tam, gdzie mówimy o przetwarzaniu ogromnej ilości danych.
Spotkałem wiele pomysłów i przykładów zastosowań Machine Learningu w cyberbezpieczeństwie – rozpoczynając od prewencji, przez detekcję, a kończąc na automatyzacji procesów reakcji lub testowania. Gdy jednak zażądamy konkretów i rozgonimy opary marketingu, często na placu boju nie zostaje zbyt dużo. Przytoczę natomiast dwa przypadki, które z powodzeniem zastosowaliśmy w naszej firmie.
AI na odsiecz DevSecOps
Pierwszy związany jest z automatycznymi procesami tworzenia i dostarczania aplikacji. Jak sama nazwa – i stojąca za nią idea – mówi, bezpieczeństwo należy dostarczyć również automatycznie. Jest to spore wyzwanie, bowiem zadaniem jest uchronienie programistów przed popełnieniem kardynalnych błędów, zachowując równocześnie ich samodzielność i swobodę. Na odsiecz przybywają rozliczne narzędzia do wykonywania automatycznych testów aplikacji, infrastruktury, kontroli poprawności konfiguracji, sprawdzania podatności wykorzystanych bibliotek itd.
Wszystkie te narzędzia dostarczają tysiące alertów o niezbalansowanych priorytetach i niestety również sporą ilość fałszywych alarmów. Programista, otrzymawszy taki backlog, bardzo szybko przestałby przejmować się bezpieczeństwem. Jednak jest to idealny przypadek do zastosowania kontrolowanego uczenia maszynowego, z którym – po pewnym czasie rekurencyjnego dostarczania wzorcowych danych – całość zbioru można przefiltrować z 99-proc. precyzją oraz dokładnością, w dodatku uwzględniając kontekst aplikacji i stojące za nim ryzyka.
Tylko AI rozpozna ulotną woń phishingu
Drugi z przykładów związany jest z naszą CyberTarczą, a konkretnie wykrywaniem domen służących przestępcom do tworzenia stron phishingowych. Z ich pomocą wyłudzane są dane ofiar, uwierzytelnienia do serwisów, w tym bankowych, autoryzacyjne kody, dane kart kredytowych itd. Im wcześniej zamiary przestępców zostaną wykryte, tym lepiej. W trakcie ataku jest już dla wielu ofiar zdecydowanie za późno.
Wszystkie dostępne tutaj źródła danych generują miliony zdarzeń dziennie. Wykrycie tych kilkudziesięciu, które będą wykorzystane w atakach na polskich internautów, jest nie lada wyzwaniem, zwłaszcza przy bardzo skąpej liczbie dostępnych, oprócz nazwy domeny, dodatkowych atrybutów. W zasadzie to przykład problemu, który rozwiązać można efektywnie tylko z pomocą matematyki i jeżeli w początkowej fazie nie da się idealnie wyfiltrować wyników, nie generując przy tym strat, to na pewno można zrobić porządną prefiltrację, przygotowując półfabrykaty do dalszego procesu.
Inteligentnie stosujmy sztuczną inteligencję
Zastosowanie Machine Learning – jak wszystko w cyberbezpieczeństwie – „zależy” i jest mocno uwarunkowane. Z pewnością obszar zastosowania musi być dokładnie zdefiniowany i trzeba być pewnym, że odpowiedni wzór uczący będzie dostępny. Uzyskamy wówczas szybszą i tańszą alternatywę lub chociaż bardzo wartościowy dodatek do innych metod. Jeżeli tych warunków nie spełnimy, to nasz projekt będzie bardzo inteligentnie i bez miłosierdzia pożerał nasze pieniądze i inne zasoby.
Zupełnie osobnym i ciekawym tematem są ataki na tzw. sztuczną inteligencję, gdzie manipulując zbiorem przetwarzanych danych, można osiągnąć nieoczekiwany wpływ na rezultaty funkcji, które go przetwarzają. To fascynujący temat na osobną rozmowę.
Przemysław Dęba, dyrektor cyberbezpieczeństwa w Orange Polska