Machine Learning to jedno z narzędzi sztucznej inteligencji, które sprawia, że komputery mogą się samodzielnie uczyć bez wsparcia programistów. Wykorzystuje się je do analizowania dużych ilości danych w czasie rzeczywistym, np. do wykrywania oszustw finansowych. Uczenie maszynowe znajduje zastosowanie też w obszarze bezpieczeństwa IT, umożliwiając wykrywanie zewnętrznych i wewnętrznych zagrożeń oraz ataków.

Zainteresowanie tą technologią wynika przede wszystkim z powodu przechowywania ogromnych i coraz większych ilości danych. Tak dużych, że tradycyjne techniki – w których analitycy przeglądają dane, aby opracować na ich podstawie reguły – przestały się sprawdzać. Uczenie maszynowe jest świetnych narzędziem, kiedy ilości danych zaczynają przerastać możliwości analityków. Jest to też rozwiązanie w sytuacji stałego niedoboru wysokiej klasy specjalistów od bezpieczeństwa IT.

1. Poznanie własnej sieci i wstępna selekcja analizowanych danych
Sytuacją, w której uczenie maszynowe nie będzie efektywne, jest zbyt mała ilość danych lub ich kiepska jakość. Jest duża różnorodność informacji, którymi można „karmić” system. Przykładowo, zaliczają się do nich pakiety sieciowe, wywołania systemowe w urządzeniach końcowych czy działania użytkowników w sieci. Dlatego w pierwszej kolejności to ludzie muszą ustalać, co będzie przekazywane do sztucznej inteligencji. Należy dobrze rozumieć, jakie są dane wejściowe i co otrzymuje się na wyjściu. Jaka jest natura danych przekazywanych do systemu? Jakie procesy i techniki są wykorzystywane do identyfikacji algorytmów? Jakie akcje może podjąć system?

Wyzwaniem jest dynamiczna natura tych technik. Nawet w podobnych warunkach nie można przyjąć, że otrzyma się te same wyniki. Dlatego, aby osiągnąć wysoką skuteczność, najpierw samemu należy dobrze poznać własną sieć i ustalić, co w niej jest anomalią. Nie można bazować na wynikach zebranych w innej sieci. Przy braku dobrej znajomości sieci rozwiązanie bazujące na uczeniu maszynowym może okazać się tak samo skuteczne, jak obecnie używane zabezpieczenia.

2. Więcej niż wyszukiwanie wzorców
Uczenie maszynowe kojarzy się przede wszystkim z wykrywaniem wzorców, ale w praktyce nie ogranicza się tylko do tego. Ta technologia umożliwia bardzo szybkie reagowanie na ataki i zagrożenia – nawet czasie rzeczywistym – ponieważ w proces decyzyjny nie jest zaangażowany człowiek. Czas reakcji jest bardzo ważny, aby, np. zapobiegać wyciekom danych. Algorytmy są w stanie analizować miliony zdarzeń w krótkim czasie, podczas gdy pojedynczy ekspert – w ciągu całej zawodowej kariery – przejrzy może 100 tys. incydentów.

3. Duża moc obliczeniowa
Przetwarzając duże zbiory danych, trzeba mieć do dyspozycji sporą moc obliczeniową, aby na ich podstawie wytrenować model sztucznej inteligencji. Wykorzystuje się konfiguracje klastrowe, ale nie trzeba mieć takiej infrastruktury u siebie. Można skorzystać z ofert dostawców usług chmurowych. Co istotne, mogą to być klasyczne klastry CPU lub klastry wykorzystujące moc obliczeniową kart graficznych. Wybór zależy od rodzaju modelowania, które chce się stosować.

Co istotne, duże zasoby obliczeniowe są potrzebne tylko podczas fazy uczenia. Kiedy modelowanie jest ukończone, otrzymanie informacji, np. o wykryciu ataku, wymaga znacznie mniejszych zasobów. Algorytmy mogą pracować nawet na zwykłym notebooku.

4. Nauczanie nadzorowane czy nienadzorowane
Eksperci zajmujący się uczeniem maszynowym są podzieleni na dwa obozy: zwolenników uczenia nadzorowanego i nienadzorowanego. W pierwszym przypadku analitycy pomagają w trenowaniu systemu. W drugim proces uczenia odbywa się całkowicie autonomicznie. Wybór zależy od dostępnych zasobów i środowiska. Metoda nienadzorowana jest łatwiejsza do wdrożenia. Po uruchomieniu mechanizmów uczenia maszynowego rozpoczynają one samodzielnie pracę, analizują sieć, tworząc wzorce i zaczynają wykrywać anomalie.

5. Ochrona przed zidentyfikowaniem malware
Firmy stosują wiele technik, aby chronić się przed szkodliwym oprogramowaniem – ochronę sygnaturową, mechanizmy typu sandbox czy uczenie maszynowe właśnie. Ten ostatni rodzaj zabezpieczenie umożliwia ochronę jeszcze przed zidentyfikowaniem szkodliwego kodu. Co istotne, wykrywanie zagrożeń odbywa się bez korzystania z sygnatur, dlatego w ten sposób można chronić się przed znanym i nieznanym szkodliwym oprogramowaniem.

Wykorzystując uczenie maszynowe, można stworzyć algorytmy, które będą wstanie rozpoznać zagrożenia zero day. W przeciwieństwie do sygnatur, uczenie maszynowe śledzi wszystkie dane przepływające przez sieć i błyskawicznie podejmuje decyzje w przypadku wykrycia anomalii. Innym poważnym problemem są zagrożenia typu APT (Advanced Persistent Threats), które umożliwiają dostęp do sieci przestępcom. Do ich wykrywania też można użyć technik uczenia maszynowego, które potrafią rozpoznać zagrożenia po tym, co atakujący próbuje zrobić z atakowanej sieci, niezależnie od tego, jakich używa narzędzi.

Podziel się na:
  • Facebook
  • Google Bookmarks
  • LinkedIn