Skuteczność naszych produktów przypisujemy koncepcji o nazwie „HuMachine Intelligence”. Ogólnie HuMachine Intelligence łączy trzy aspekty: wielkie zbiory danych, uczenie maszynowe i analizy przeprowadzane przez naszych ekspertów. Co się za tym kryje? Spróbuję to wyjaśnić, pomijając szczegóły techniczne.
Wielkie zbiory danych i wykrywanie zagrożeń
Określenia wielkich zbiorów danych (ang. big data) nie należy rozumieć dosłownie — nie są to ogromne rzesze przechowywanych gdzieś informacji, lecz baza danych połączona z technologiami, które umożliwiają nieustanne przetwarzanie ogromnych objętości danych w celu uzyskania informacji na temat zagrożeń. W tym przypadku dane odnoszą się do wszystkich obiektów i dostarczają informacji, czy są one czyste, szkodliwe czy potencjalnie można je wykorzystać do szkodliwych działań. Dla nas big data oznacza tu przede wszystkim duży zbiór szkodliwych obiektów. Po drugie, termin ten obejmuje również rozproszoną usługę Kaspersky Security Network, która nieustannie dostarcza informacji o nowych szkodliwych obiektach i różnych cyberzagrożeniach z całego świata. Po trzecie, big data odnosi się do rozmaitych narzędzi pomocnych w kategoryzacji, które przetwarzają dane.
Zbiór szkodliwych obiektów
Bezpieczeństwu komputerowemu poświęcamy się już od ponad 20 lat. W tym czasie przeanalizowaliśmy mnóstwo obiektów. Informacje na ich temat są bezpiecznie przechowywane w naszych bazach danych. „Obiektami” nazywamy nie tylko pliki czy fragmenty kodu, lecz także adresy internetowe, certyfikaty i rejestr działań zarówno na czystych, jak i szkodliwych aplikacjach. Dane te mają nadane etykiety „niebezpieczny” lub „bezpieczny”, a do nich dołączone są także informacje na temat ich powiązań między obiektami: z jakiej strony został pobrany określony plik, jakie inne pliki zostały z niej pobrane itp.
Kaspersky Security Network (KSN)
KSN to nasza usługa ochrony w chmurze. Jedną z jej funkcji jest szybkie blokowanie nowych zagrożeń po stronie klienta. Dzięki niej każdy może wnieść swój wkład w zwiększanie bezpieczeństwa na świecie poprzez wysyłanie do chmury zdepersonalizowanych metadanych na temat wykrytych zagrożeń. Każde wykryte zagrożenie jest przez nas badane na wiele sposobów, a jego cechy charakterystyczne są dodawane do bazy zagrożeń. Dzięki temu nasze systemy eksperckie mogą dokładnie wykrywać nie tylko te zagrożenia, ale także im podobne. Sprawia to, że nasza kolekcja dysponuje najnowszymi danymi w czasie rzeczywistym.
Narzędzia do kategoryzacji
Narzędzia do kategoryzacji to nasze wewnętrzne technologie, które umożliwiają nam przetwarzanie gromadzonych informacji i rejestrowanie wspomnianych wyżej zależności między szkodliwymi obiektami.
Technologia uczenia maszynowego
Trudno napisać pokrótce, czym jest uczenie maszynowe i w jaki sposób wykorzystuje je firma Kaspersky Lab. Na początku należy wyjaśnić, że wykorzystujemy podejście wielowarstwowe. Dzięki temu algorytmy uczenia maszynowego są wykorzystywane w różnych podsystemach na różnych warstwach.
Wykrywanie statyczne
Każdego dnia nasze systemy wykrywają setki tysięcy obiektów, które wymagają szybkiej analizy i kategoryzacji (oznaczenia jako szkodliwe lub czyste). Już ponad 10 lat temu wiedzieliśmy, że konieczna jest tu automatyzacja tego zadania. Na początku musieliśmy dowiedzieć się, czy podejrzany plik przypominał jakiś szkodliwy, który już mieliśmy. Z pomocą przyszło uczenie maszynowe: napisaliśmy program, który analizował cały zbiór, a gdy pojawił się nowy plik, nasi analitycy otrzymywali informację o najbardziej podobnym obiekcie z całej kolekcji.
Wkrótce potem stało się oczywiste, że wiedza, czy obiekt przypomina inny szkodliwy obiekt, nie wystarczy. Potrzebowaliśmy technologii, która umożliwiłaby systemowi wydanie natychmiastowego werdyktu. W związku z tym utworzyliśmy technologię wykorzystującą drzewa decyzyjne. Uczona na podstawie naszego dużego zbioru szkodliwych obiektów, wykrywała ona wiele kryteriów i określonych kombinacji, które mogły jednoznacznie definiować nowy plik jako niebezpieczny. Podczas analizowania pliku model matematyczny „zadawał pytania” silnikowi antywirusowemu, takie jak:
- Czy plik jest większy niż 100 kilobajtów?
- Jeśli tak, to czy jest on skompresowany?
- Jeśli nie, czy nazwy jego sekcji mógł nadać człowiek, czy nie mają one sensu?
- Jeśli poprawna jest pierwsza odpowiedź…
I tak ciągnęła się lista pytań.
Po udzieleniu wszystkich odpowiedzi model matematyczny wysyłał swój werdykt do silnika antywirusowego: „plik jest czysty” lub „plik jest niebezpieczny”.
Behawioralny model matematyczny
Wykorzystując zasadę bezpieczeństwa wielowarstwowego, nasze modele matematyczne są wykorzystywane również do detekcji dynamicznej. W rzeczywistości model matematyczny może analizować zachowanie pliku już podczas jego wykonywania. Istnieje zatem możliwość zbudowania i wytrenowania modelu zgodnie z tymi samymi zasadami, które zostały zastosowane w modelach matematycznych detekcji statycznej, z wykorzystaniem plików dziennika wykonywania jako „materiału szkoleniowego”. Jest jednak jedna, istotna różnica: warunkach polowych nie można sobie pozwolić na czekanie, aż kod zakończy się wykonywać. Decyzja powinna zostać podjęta po przeanalizowaniu jak najmniejszej liczby działań. Obecnie wersja pilotażowa tej technologii, oparta na procesie głębokiego uczenia się, przynosi doskonałe wyniki.
Wiedza ludzka
Eksperci od uczenia maszynowego są zgodni, że nie jest ważne, jak „mądry” jest model matematyczny — człowiek zawsze będzie od niego lepszy, zwłaszcza jeśli jest kreatywny i może przyjrzeć się działaniu tej technologii lub poświęci wystarczająco dużo czasu na eksperymenty i testy. Z tego powodu każda część modelu musi umożliwiać wprowadzanie aktualizacji, infrastruktura musi działać idealnie, a człowiek musi nadzorować robota.
Zespół Anti-Malware Research
Jakieś 20 lat temu nasz zespół odpowiedzialny za badania nad walką ze szkodliwymi programami — Anti-Malware Research (AMR) — nie korzystał z pomocy asystentów automatycznych. Obecnie większość zagrożeń jest wykrywana przez systemy eksperckie, które zostały wytrenowane przez naszych badaczy. W niektórych przypadkach system nie może wydać jednoznacznego werdyktu lub uważa, że obiekt jest szkodliwy, lecz nie może powiązać go z żadną znaną rodziną. Wówczas wysyła on ostrzeżenie do dyżurnego analityka AMR, wraz z pełnym zestawem informacji, dzięki czemu analityk może podjąć ostateczną decyzję.
Zespół Detection Methods Analysis Group
W obrębie zespołu AMR istnieje specjalny zespół badaczy, o nazwie Detection Methods Analysis Group, który został utworzony w 2007 roku na potrzeby pracy nad naszymi systemami uczenia maszynowego. Aktualnie jedynie szef tego działu jest doświadczonym analitykiem wirusów, pozostali pracownicy są naukowcami zajmującymi się danymi.
Globalny Zespół ds. Badan i Analiz
Należący do tego zespołu badacze przeprowadzają analizy w związku z najbardziej skomplikowanymi zagrożeniami, do których należą: ataki APT, kampanie cyberszpiegowskie, pojawienie się groźnych szkodliwych programów, oprogramowanie żądające okupu czy trendy w podziemiu cyberprzestępczym na całym świecie. Dzięki ich unikatowemu doświadczeniu w zakresie technik, narzędzi i schematów cyberataków możemy tworzyć nowe metody ochrony, które potrafią powstrzymać nawet najbardziej zaawansowane ataki.
W swoim poście nie omówiłem nawet połowy technologii i działów odpowiedzialnych za rozwój naszych produktów. W celu zapewnienia optymalnej ochrony współpracuje wielu innych ekspertów i różne metody uczenia maszynowego, jednak dziś chciałem skupić się na podejściu HuMachine Intelligence.