eAuditor V7 WEB
DATASHEET

Klasyfikowanie procesów z wykorzystaniem
Machine Learning

Machine learning w systemie eAuditor V7 WEB dokonuje analizy treści stron www oraz przypisuje odpowiednią kategorię.

Machine learning w klasyfikacji procesów w systemie eAuditor V7 WEB

Klasyfikacja procesów i aplikacji może być przydatna w każdym podmiocie, gdzie nadzór i kontrola aktywności użytkowników może mieć realny wpływ na bezpieczeństwo oraz ocenę produktywności użytkowników. Zaimplementowanie algorytmu uczenia maszynowego pozwala na sprawne i szybkie klasyfikowanie dowolnego procesu pod kątem i przypisania (sklasyfikowania) do odpowiedniej kategorii. Moduł klasyfikacji procesów w systemie eAuditor V7 WEB przygotowany jest na występowanie różnych zdarzeń losowych w taki sposób, aby mimo błędu po stronie serwera nie przerywał działania i poprawnie wykonywał swoje zadanie, przypisując procesy do odpowiednich kategorii.

Klasyfikator procesów w systemie eAuditor V7 WEB

Klasyfikator bayesowski, który bazuje na twierdzeniu Bayesa, nadaje się w szczególności do rozwiązywania problemów o bardzo wielu wymiarach na wejściu. Mimo prostoty metody, często działa ona lepiej od innych, bardzo skomplikowanych metod klasyfikujących. Wspomniany klasyfikator można uczyć w trybie uczenia z nadzorem. Oznacza to, że do poprawnego i jeszcze lepszego działania algorytmu konieczny jest nadzór człowieka, który na bieżąco będzie analizował i poprawiał ewentualne błędy algorytmu. Klasyfikacja jest tak długo poprawna, jak długo poprawna kategoria jest bardziej prawdopodobna od innych.

W praktyce zdarza się, że algorytm wskaże inną kategorię, niż się tego spodziewamy. Dzieje się to zwłaszcza na stronach informacyjnych, które składają się z wielu artykułów o wielu tematykach i branżach. Wtedy algorytm może wskazać chybioną kategorię.

Czas klasyfikacji procesów w systemie eAuditor V7 WEB

Klasyfikacja pojedynczego procesu trwa około 1 sekundy. W praktyce osiąga się wysoką wydajność z uwagi na wielowątkową obsługę procesów klasyfikacji (jednoczesne klasyfikowanie nawet setki procesów).

Poprawność klasyfikacji procesów i aplikacji komputerowych w systemie eAuditor V7 WEB

W ramach testu machine learningu w eAuditor V7 WEB skategoryzowano 1000 losowych i mało popularnych procesów. Poprawność przypisania kategorii dla tych stron wynosi około 85%. Problem z osiągnięciem lepszych rezultatów nie stoi po stronie algorytmu, gdyż ten stwierdza największe prawdopodobieństwo wystąpienia danej kategorii. Problematyczny jest fakt, że każdy proces jest wyszukiwany w przeglądarce internetowej, a ta z kolei nie zawsze zwraca odpowiednie wyniki wyszukiwania. Zdarza się także, że wyszukiwane procesy mogą odnosić się do różnych programów z różnych kategorii.

Przykładowo proces win_driver_installer.exe może być skategoryzowany zarówno jako proces systemowy, jak również jako sterowniki.

Jak działa machine learning w klasyfikacji procesów i aplikacji komputerowych w systemie eAuditor V7 WEB?

Etapy klasyfikacji procesów:

  • nasłuchiwanie użytkownika i wykrywanie uruchamianego procesu,
  • zbieranie informacji na temat procesu, takich jak: nazwa procesu, opis procesu, nazwa produktu, opis produktu,
  • pobranie zawartości konkretnej strony www uzyskanej za pośrednictwem przeglądarki Bing oraz strony file.net (w formie tekstowej),
  • oczyszczenie pobranej strony ze zbędnych informacji takich jak:
    • analiza tekstu pod kątem występowania wyrażeń w liczbie mnogiej,
    • analiza tekstu pod kątem słów, które nie mają żadnego znaczenia przy kategoryzacji stron www (przykładowo: yes, that, where, when oraz gdy, dokąd, kiedy),
    • odrzucanie znaków interpunkcyjnych, dodatkowych spacji
  • uruchomienie algorytmów klasyfikacyjnych.
Widok na informacje o procesach z poziomu systemu
BTC eAuditor V7 WEB Machine Learning procesy systemowe cmd

Jak widać na powyższym zdjęciu, nie ma możliwości otrzymania z poziomu systemu wystarczających informacji o procesie. Oprócz samej nazwy procesu, pobieramy i analizujemy takie parametry, do jakiego produktu należy proces, jakiej firmy, oraz krótki opis procesu. Jednakże chcąc uzyskać szczegółowe dane opisujące dany proces musimy symulować zachowanie człowieka, który w takiej sytuacji szukałby informacji o procesie, programie za pomocą wyszukiwarki internetowej.

Uzyskane wyniki dla procesu wireshark.exe za pomocą przeglądarki Bing
BTC eAuditor V7 WEB Machine Learning wyniki procesu wyszukiwarki bing wireshark

Program obsługuje wyjątki, gdy np dany proces nie będzie rozpoznany zarówno w bazie file.net oraz wyszukiwarce Bing. Wtedy program przypisze brak kategorii oraz uzna dany proces za niebezpieczny i nieznany lub też gdy ilość wyników będzie mniejsza niż 10. Wtedy z bardzo dużym prawdopodobieństwem można uznać, że wyniki wyszukiwania dla takiego procesu będą chybione. W praktyce często zdarza się, że gdy mamy do czynienia z takim procesem to wyszukiwarka wyświetli rekordy pochodzące z azjatyckich stron.

Wyszczególnia się podział na 15 kategorii
BTC eAuditor V7 WEB Machine Learning podział procesów na 15 kategorii

Każda z kategorii przyjmuje pewną bazę słów związanych z daną branżą. Algorytm analizuje słowa zebrane poprzednio ze strony internetowej jak i bazę słów wszystkich kategorii. Wynikiem tej analizy jest wybranie tej najbardziej pasującej. Wybór najlepszej możliwy jest dzięki zastosowaniu algorytmu uczenia maszynowego, w tym wypadku Naive Bayes Classifier.

Założono dodatkowe dwa parametry określające czy dany proces jest produktywny oraz bezpieczny. Wyszczególniono:

  • proces produktywny/nieproduktywny/nieznany,
  • proces bezpieczny, niebezpieczny oraz bardzo niebezpieczny.

Procesy nieznane z natury są procesami niebezpiecznymi, gdyż cechą wszystkich procesów blisko związanych z wirusami jest, aby pozostać niewidocznymi oraz jak najbardziej nazwą przypominać proces powszechnie uznany za bezpieczny.

Procesy związane z programami antywirusowymi są określone jako niebezpiecznie ze względu na fakt, że słowa kluczowe w praktyce bardzo często pokrywają się ze słowami, które mogą zostać wczytane gdy mamy do czynienia z wirusem. Zdanie: “Program, który rozpoznaje wirusy, malware, trojany” oraz zdanie “Ten proces jest przez użytkowników deklarowany jako malware, ochroń swój komputer przed wirusami ” są bardzo zbliżone do siebie, ale ich sens jest całkowicie odmienny. Algorytm niestety analizując słowa nie wie jaki jest sens zdania i może się zdarzyć, że potraktuje dany proces jako virus, gdy w praktyce ten proces należy do programu antywirusowego.

Wynik przeprowadzonej klasyfikacji dla poszczególnych procesów

BTC eAuditor Machine Learning Obsługa 32 języków
BTC eAuditor Machine Learning Obsługa 32 języków

Podział na produktywne/nieproduktywne jest ustalony na stałe dla każdej z kategorii, gdyż w praktyce nie zdarza się, aby np program graficzny był produktywny, a inny nieproduktywny, tak samo program kalkulacyjny, prezentacyjny, edytor tekstu. Ustalono, że gry oraz multimedia są traktowane jako procesy nieproduktywne, gdyż o ile tylko firma nie jest związana blisko z tworzeniem gier lub multimediów, to w większości przypadków takie procesy będą to programy odciągające użytkowników od pracy. Znając profil firmy, która korzysta z klasyfikatora procesu można zmodyfikować kategorie pod kątem jakie procesy są produktywne w danej firmie, a jakie nie.

Zaimplementowano szereg mechanizmów odrzucających procesy, które z dużą pewnością nie zwrócą poprawnych wyników. Pozwala to zaoszczędzić czas i nie angażować algorytmu klasyfikacyjnego do klasyfikowania błędnych procesów.

Odrzucane są procesy bardzo długie, do których dodatkowo nie ma żadnych informacji o nazwie firmy, produktu i opisu,

  • [00gg7fsNLaTbXS0002cZsM]Internet Explorer 9 PL x64 Windows7.exe

Odrzucane są procesy krótkie, o których nie ma żadnych dodatkowych informacji,

  • !.exe

Odrzucane są procesy zawierające sekwencje pewnych znaków, o których nie ma żadnych dodatkowych informacji

  • 5.7.4.exe lub 1_5_7_4.exe

Odrzucany proces,

  • uninstall.exe

Pomijany proces, ale analizowana reszta (Bitnami oraz XAMPP).

  • uninstall.exe,Bitnami,XAMPP

Kategoria zwrócona na podstawie tych dwóch nazw

Wyniki sklasyfikowanych procesów

BTC eAuditor Machine Learning Obsługa 32 języków

Dlaczego wprowadziliśmy machine learning do systemu eAuditor V7 WEB?

Oto kilka powodów, dla których zastosowaliśmy w systemie eAuditor V7 WEB machine learning, zamiast statycznej bazy danych procesów:

  • tworzona jest baza danych z informacjami o procesach, które dotyczą przypisanej kategorii wraz z oceną produktywności i bezpieczeństwa,
  • zastosowanie gotowej statycznej bazy danych może obejmować jedynie najbardziej popularne procesy uruchamiane przez naszych klientów, zyskujemy możliwość stałej rozbudowy bazy procesów,
  • procesy mogą zmieniać swoją kategorię w sytuacji, gdy informacje o tych procesach będą zwracać za pomocą przeglądarki inne, uaktualnione informacje,
  • bazy danych wymagają stałej aktualizacji, co jest kosztowne oraz pochłania mnóstwo czasu,
  • machine learning kategoryzuje procesy i aplikacje indywidualnie pod potrzeby każdego użytkownika.

Korzyści z machine learningu dla użytkowników systemu eAuditor:

Monitoring uruchamianych procesów systemowych i aplikacji komputerowych pozwala na bieżąco analizować ruch użytkowników pod kątem jakiego typu programy są uruchamiane. Dzięki klasyfikatorowi procesów firma ma możliwość blokować procesy ze względu na produktywność, bezpieczeństwo czy zwracaną kategorie, oraz rozpoznawać z jakiej dziedziny jest to program. Klasyfikator procesów potrafi wykrywać potencjalne zagrożenia rozpoznając potencjalne wirusy, a także trafnie wskazuje procesy nieproduktywne np. z dziedziny gier komputerowych czy multimediów.

  • automatyczne przypisanie kategorii do dowolnego procesu,
  • wysoka skuteczność klasyfikacji,
  • automatyczne dostosowanie do każdego użytkownika systemu eAuditor,
  • brak bazy danych kategorii procesów i konieczności jej aktualizacji,
  • automatyczna reklasyfikacja w przypadku modyfikacji algorytmu lub modyfikacji strony www,
  • niezależność od zewnętrznych dostawców takiej bazy,
  • redukcja kosztów eksploatacji systemu,
  • możliwość integracji z systemem Hyprovision DLP pod kątem blokowania. np gdy chcemy zablokować procesy nieproduktywne, niebezpieczne lub z pewnych kategorii.

System do zarządzania IT – poznaj funkcjonalności programu eAuditor!

Dowiedz się więcej o możliwościach eAuditor – skontaktuj się z nami!