Szklisto-metalowy android z mieczem plazmowym i tarczą atakowany przez trójpalczaste, mechaniczne łapy.

Cyberbezpieczeństwo: Wojny maszynowe

Fot. Piotr Sokołowski
Sztuczna inteligencja to pojęcie, którego znaczenie mass mediom, nie specjalizującym się w technologiach nieco umyka. Również konsumenci postrzegają to pojęcie raczej przez pryzmat coraz większej gamy "inteligentnych" smart-produktów. Nie wątpię, że "inteligentnie" upiększony portret w smartfonie jest dla wielu istotny, ale dla wszystkich istotne są nowoczesne techniki cyberbezpieczeństwa. Bez nich po prostu przepadniemy w cyfrowej anarchii. Dzięki firmie ESET mogliśmy zajrzeć "pod maskę" najnowszych technik cyberobronnych.

Maszynowe uczenie stało się „modne” dopiero w tej dekadzie. Tymczasem technika budowy algorytmów, kodowania i rozwiązywania problemów obliczeniowych za pomocą sieci neuronowych i uczenia maszynowego jest znana od dziesięcioleci. W branży cyberbezpieczeństwa potencjał machine learningu jest olbrzymi choć przez zwykłych zjadaczy chleba niedoceniany. Nie obawiamy się zagrożeń, nie doceniamy rozwiązań ochronnych. Tymczasem dziś z możliwości jakie daje uczenie maszynowe korzystają zarówno cyberprzestępcy i agresorzy w cyberprzestrzeni, jak i obrońcy, którzy nas przed atakami mają chronić.

Cyber higiena, naprawianie słabych punktów, myślenie o bezpieczeństwa już w fazie projektowania, polowanie na zagrożenia oraz sztuczna inteligencja oparta na uczeniu maszynowym to obowiązkowe warunki wstępne cyber obrony przed zagrożeniami nowej generacji.
James Scott, starszy współpracownik, Institute for Critical Infrastructure Technology

Maszynowe uczenie to nie nowość

W powszechnej świadomości uczenie maszynowe istnieje od kilku lat. Termin ten jest nierozerwalnie związany z pojęciem „sztuczna inteligencja”, gdyż rozwiązania określane przez ich twórców jako sztuczna inteligencja to kod powstały właśnie w wyniku maszynowego uczenia. W ostatnich latach o „inteligentnych” algorytmach czy urządzeniach słyszymy niemal na każdym kroku – sztuczna inteligencja poprawi selfie we flagowym smartfonie, odnajdzie interesujące cię treści w telewizorze czy zadzwoni i zarezerwuje stolik w restauracji dla ciebie i twoich znajomych. O zastosowaniach maszynowego uczenia w branży cyberbezpieczeństwa mówi się niewiele. Znacznie częściej słyszymy o zagrożeniach, które większość z nas ignoruje, tak długo, dopóki sami nie stajemy się celem ataku.

Zmierzam do tego, że firmy specjalizujące się w opracowaniu rozwiązań ochronnych doskonale orientują się, czym jest i jak można wykorzystać uczenie maszynowe. Na przykład ESET korzysta z algorytmów maszynowego uczenia i sieci neuronowych już od ubiegłego wieku. Pierwsza sieć neuronowa pojawiła się w produktach tej firmy dokładnie w 1997 roku. Od tamtej pory wiele wewnętrznych projektów wykorzystywało uczenie maszynowe i sieci neuronowe w automatycznej analizie zagrożeń, czy w narzędziach, które analitykom firmy pomagały odpowiednio kategoryzować badane próbki kodu.

Przykładem rozwiązania, które wykorzystuje maszynowe uczenie i jest wykorzystywane przez analityków zagrożeń, był uruchomiony przez słowacką firmę już w 2006 roku zautomatyzowany system ekspercki. W momencie uruchomienia był on jeszcze stosunkowo prosty, ale już wówczas okazał się bardzo pomocną technologią, pomagającą przetworzyć część stale rosnącej liczby próbek kodu i zmniejszyć obciążenie pracą analityków zagrożeń. Rozwiązanie to od momentu wdrożenia było stale rozwijane i stało się jedną z kluczowych technologii odpowiedzialnych za wstępne sortowanie oraz klasyfikację setek tysięcy próbek, które analitycy codziennie otrzymują z takich źródeł, jak kolektywna sieć Live Grid, czy sieć wymiany danych pomiędzy różnymi firmami specjalizującymi się w cyberbezpieczeństwie.

Jak powiedział jeden z inżynierów Google Translate, dopiero, kiedy przejdziesz od 10 000 przykładów do 10 miliardów przykładów, wszystko zacznie działać.
Garry Kasparov, Deep Thinking: Where Machine Intelligence Ends and Human Creativity Begins

Innym przykładem projektu, który nie istniałby bez maszynowego uczenia jest uruchomiony przez ESET i działający od 2012 roku moduł lokalizujący i umieszczający wszelkie zagrożenia na „mapie cyberbezpieczeństwa” i dodatkowo oznaczający próbki, które mogą wymagać szczególnej uwagi analityków. To właśnie ten system wykonał znakomitą pracę podczas nie tak dawnej, globalnej inwazji szkodnika WannaCry, ostrzegając ekspertów firmy w najwcześniejszej fazie działania tego szkodnika. Jak być może pamiętacie, WannaCry nie byłby tak skuteczny w swoich działaniach, gdyby nie był kodem opartym o wyrafinowany exploit EternalBlue opracowany przez NSA. Co ciekawe firma już wówczas posiadała sieć wykrywania zagrożeń opartych na EternalBlue, ale właśnie system analizujący zagrożenia i umieszczający je na mapie cyberbezpieczeństwa pomógł opracować dodatkowe moduły wykrywania złośliwego kodu, co jeszcze bardziej poprawiło ochronę użytkowników.

Maszynowe uczenie i bezpieczeństwo? Tak, ale…

Nie wszystkie projekty opracowywane przez inżynierów i programistów, wykorzystujące uczenie maszynowe okazały się sukcesem. O porażkach nikt głośno nie mówi, ale są one cenną nauką, bo pozwalają przekonać się, że pewne interesujące rozwiązania o olbrzymim potencjale (tu: uczenie maszynowe) nie zawsze stanowią remedium na wszelkie kłopoty. Machine learning to dość wymagająca bestia. Warto wspomnieć o jednym z nowszych projektów ESET: Augur ML Engine, czyli maszynowo wyuczonym silniku detekcji zagrożeń. Skąd taka nazwa? W starożytnym Rzymie augurzy byli kapłanami, których rolą było odczytywanie woli bogów ze zjawisk atmosferycznych czy lotu ptaków. Augur ML Engine nie czyta z lotu ptaków, lecz jest rozwiązaniem opartym na matematyce, ale pozwala wyłapywać niebezpieczne zjawiska krążące w chmurze danych, w cyberprzestrzeni.

Reklama

Jak podkreśla ekspert ds. cyberbezpieczeństwa Ondrej Kubovič, silnik Augur nie powstałby, gdyby nie trzy kluczowe czynniki: po pierwsze – ekonomia. Maszynowe uczenie dzięki pojawieniu się dużej ilości danych i tańszego sprzętu stało się po prostu bardziej przystępne cenowo. W projektach biznesowych trzeba patrzeć na to, czy w ogóle dane rozwiązanie jest ekonomicznie uzasadnione. W każdym razie duża ilość danych oraz tańszy i jednocześnie coraz bardziej wydajny sprzęt obliczeniowy umożliwił dynamiczny rozwój projektów wykorzystujących maszynowe uczenie – nie tylko w branży cyberbezpieczeństwa, ale również w medycynie czy np. autonomicznym transporcie. Druga kwestia to popularność machine learningu. Gdyby była to bardzo wąska dziedzina wiedzy, stosowana jedynie przez nielicznych specjalistów, trudno byłoby oczekiwać szybkiego pojawienia się na rynku efektywnych i skutecznych rozwiązań komercyjnych. Tymczasem im więcej jest różnego typu projektów, tym większa baza wiedzy dla wszystkich, którzy chcieliby wykorzystać maszynowe uczenie do własnych pomysłów. Wreszcie trzeci i najbardziej istotny czynnik umożliwiający budowę systemu Augur to doświadczenie. 30 lat walki z „czarnymi kapeluszami” i ich „produktami” pozwoliło zbudować gigantyczną bazę danych zawierającą miliony wyodrębnionych funkcji i procedur, czy też tzw. „genów DNA” wszystkich złośliwych kodów, jakie kiedykolwiek były analizowane w przeszłości. Tak bogaty zestaw informacji pozwolił przygotować odpowiednio dopasowany zestaw treningowy maszynowego uczenia dla Augura.

 

ESET Augur ML Engine
Schemat działania opracowanego przez ESET Augur ML Engine (graf. ESET).

Augur wykorzystuje sieci neuronowe, głębokie maszynowe uczenie oraz skonsolidowane wyniki sześciu precyzyjnie dobranych algorytmów klasyfikacji. Jak to działa w praktyce? Załóżmy, że system otrzymuje próbkę podejrzanego kodu do analizy. Najpierw Augur naśladuje działanie analizowanego kodu i uruchamia podstawową analizę, której zadaniem ma być wyodrębnienie pewnych cech numerycznych, sprawdzenie jakie procesy dany kod chce uruchomić oraz porównanie wyników z wspomnianą wcześniej bazą DNA wszystkich, kiedykolwiek analizowanych zagrożeń, aby zdecydować do jakiej kategorii przypisać analizowany plik: bezpieczny plik, potencjalnie niechciany program (np. adware czy specjalistyczne narzędzia, które same w sobie nie są złośliwe, ale mogą takie się stać w rękach odpowiednio zdeterminowanego agresora), czy złośliwy kod.

Współpraca wspomnianych sześciu algorytmów klasyfikacji przypomina nieco jasnowidzów z „Raportu mniejszości”. Algorytmy te „głosują” czy dana próbka jest szkodliwa czy też nie. Wynik głosowania jest zależy od tego, jak skonfigurowane są algorytmy klasyfikacyjne. W przypadku tych wykorzystywanych przez Augura, możliwe są dwa ustawienia. W trybie agresywnym, analizowana próbka będzie oznaczana jako złośliwa, jeżeli większość z sześciu algorytmów klasyfikacyjnych określi dany kod jako złośliwy. To ustawienie zalecane jest głównie dla specjalistów IT, kompetentnych administratorów, którzy np. za pomocą ESET Enterprise Inspectora mogą oznaczyć wszystkie podejrzane pliki i samodzielnie je analizować. W przypadku łagodniejszej konfiguracji, czystość próbki jest deklarowana jeżeli przynajmniej jeden z sześciu algorytmów klasyfikacyjnych dojdzie do takiego wniosku.

Wykrywanie szkodliwego oprogramowania opartego na sygnaturach nie działa. Uczenie maszynowe i sztuczna inteligencja to najsilniejsza obrona.
James Scott, starszy współpracownik, Institute for Critical Infrastructure Technology

Najciekawszą informacją jaką warto tu przekazać jest to, że techniki maszynowego uczenia i zaawansowanej heurystyki są rozwijane również przez polskich ekspertów. To właśnie dzięki ich wiedzy mamy dziś na rynku wspomniany wcześniej produkt dla profesjonalnych użytkowników i działów IT – ESET Enterprise Inspector. To rozwiązanie intensywnie wykorzystujące potencjał głębokiego maszynowego uczenia jest w całości efektem pracy polskich ekspertów.

Gdy byłem czarnym kapeluszem (…), nie było czegoś takiego jak pentesting. Może uniwersytety miały tego rodzaju programy badawcze, ale ogólnie nie było takich usług, a firmy z nich nie korzystały.
Kevin Mitnick, w wywiadzie dla InnPoland.pl

No dobrze, ale jaka jest zaleta podejścia wykorzystującego uczenie maszynowe? Przede wszystkim to, że rozwiązania takie jak Augur, a także ESET Enterprise Inspector są w stanie wykryć zupełnie nieznane i wcześniej nie odnotowane szkodliwe oprogramowanie. Wykrywanie w takich sytuacjach opiera się wyłącznie na informacjach użytych z bazy wykorzystanej do maszynowego uczenia, a nie na założeniu, że dany kod, gdzieś już na świecie się pojawił. To duży krok naprzód, bo pozwala zablokować ataki wykorzystujące nieznane wcześniej luki i stosujące zupełnie nowe metody.


Na kolejnej stronie o uczeniu maszynowym po „ciemnej stronie mocy”.

Zamknij

Choć staramy się je ograniczać, wykorzystujemy mechanizmy takie jak ciasteczka, które pozwalają naszym partnerom na śledzenie Twojego zachowania w sieci. Dowiedz się więcej.