Jak Cylance ® korzysta z matematyki przeciwko atakom?

Czy można to zrobić lepiej?

„Matematyka jest najpotężniejszym narzędziem wiedzy spośród tych, które stworzyła ludzkość”— Kartezjusz, francuski filozof, matematyk i naukowiec Głównym problemem oprogramowania antywirusowego dla firm, choć niewiele osób to przyzna, jest fakt, że jego zadaniem jest obrona zamku pełnego dziur, sekretnych przejść, chronionego przez niedziałające bariery. Te słabe punkty powstają w rezultacie stosowania słabego oprogramowania antywirusowego, starego sprzętu, a w pewnych wypadkach tworzone są przez osoby z wewnątrz firmy o niejasnych intencjach. Na koniec musimy niechętnie przyznać, że strona atakująca wygrywa wojnę. Ataki przeprowadzane są z różnych powodów oraz z różnych miejsc na świecie. Ewoluują one i stają się coraz bardziej skomplikowane wraz z rozwojem technologii. Częścią tej ewolucji są techniki unikania zaprojektowane w celu ominięcia istniejących środków bezpieczeństwa. Wykrycie tych zaawansowanych zagrożeń po ich zaistnieniu nie wystarczy, potrzebna jest ochrona całej firmy, zanim do nich jeszcze dojdzie.

Czynnik ludzki

Aby dogonić współczesne metody ataki, technologia bezpieczeństwa musi ewoluować wraz z nimi, ale bez bazowania na interwencji ludzkiej. Na całe szczęście matematyka i uczenie maszynowe dają nam tutaj przewagę. Gdybyśmy mogli
obiektywnie podzielić pliki na „dobre” i „złe” na podstawie matematycznych czynników ryzyka, moglibyśmy nauczyć
maszynę podejmować odpowiednie decyzje na temat tych plików w czasie rzeczywistym. Zastosowanie matematyki i uczenia maszynowego w kontekście bezpieczeństwa komputerowego może fundamentalnie zmienić sposób, w jaki analizujemy, kategoryzujemy i kontrolujemy każdy plik. Produkty Cylance ®wykorzystują tę metodę, przez co tak bardzo różnią się e od każdego programu antywirusowego na rynku. Przez lata takie sektory gospodarki jak służba zdrowia, rynek ubezpieczeń czy handel wysokich częstotliwości wykorzystywał zasady nauki maszynowego do analizy gigantycznych ilości danych biznesowych w celu podejmowania autonomicznych decyzji. W sercu każdego zastosowanego rozwiązania Cylance leży niezwykle skalowalny, przetwarzający dane „mózg” zdolny do stosowania dopracowanych modeli matematycznych w stosunku do ogromnych ilości danych w czasie rzeczywistym.

Wykorzystanie uczenia maszynowego w klasyfikacji plików

„Uczenie maszynowe to dziedzina wchodząca w skład nauk zajmujących się sztuczną inteligencją oraz badaniem systemów, które uczą się na podstawie danych… Sercem uczenia maszynowego jest reprezentacja i generalizacja danych. Reprezentacja danych jest częścią wszystkich procesów nauki maszynowej. Generalizacja to proces, który system prawidłowo przeprowadza w stosunku do niewidzianych wcześniej danych; warunki, które to umożliwiają, są kluczowe dla tej dziedziny”

Przez ostatnie kilkadziesiąt lat stworzono miliardy plików, złośliwych jak i niezłośliwych. Podczas ewolucji tworzenia plików powstały wzorce, które dyktują, w jaki sposób powstaję konkretne ich rodzaje. We wzorcach tych istnieją zmienne oraz anomalie, ale ogólnie rzecz ujmując, procedury te są stałe. Stają się one jeszcze bardziej jasne i trwałe, gdy spojrzy się na prace konkretnych firm informatycznych, takich jak Microsoft®, Adobe® czy innych dużych dostawców oprogramowania. Wzorce te stają się jeszcze bardziej spójne, jeśli przyjrzy się wykorzystanemu procesowi produkcyjnemu stosowanemu przez konkretnych twórców oprogramowanie oraz stronę atakującą. Wyzwanie, które przed nami stało polegało na identyfikacji tych wzorców, zrozumieniu, w jaki sposób są one widoczne w milionach atrybutów i plików oraz uświadomieniu sobie, co te stałe wzorce mówią nam o naturze danych plików.

Ze względu na ilość danych, tendencję do braku obiektywizmu i wymaganą ilość siły obliczeniowej ludzki umysł nie jest w stanie przeanalizować tych danych w celu określenia, czy dany plik jest złośliwy, czy też nie. Niestety większość firm zajmujących się bezpieczeństwem w tym sektorze wciąż polega na ludzkich decyzjach. Firmy te zatrudniają legiony pracowników przeglądających miliony plików w celu określenia, które pliki są „dobre”, a które „złe”.

Ludzie nie posiadają wystarczającej mocy obliczeniowej ani wytrzymałości fizycznej, aby nie uginać się pod wszechogarniającym naporem i stopniem skomplikowania dzisiejszych zagrożeń. Poczyniono pewne postępy w analizie behawioralnej oraz analizie luk oraz w wykrywaniu ataków, ale te „postępy” mają jedną wadę. Wszystkie bazują one na ludzkim spojrzeniu i analizie problemu, a ludzie mają skłonność do zbytniego upraszczania. Maszyny jednak nie stosują takich skrótów myślowych, a systemy samouczące się i eksploracja danych idealnie do siebie pasują. Uczenie maszynowe skupia się na przewidywaniu na podstawie analizy wcześniejszych danych. Oto, jak Cylance wykrywa złośliwe oraz bezpieczne oprogramowanie. Eksploracja danych skupia się na wykrywaniu poprzednio nieznanych właściwości, aby w przyszłości mogły one być częścią decyzji bazujących na uczeniu maszynowym.

Uczenie maszynowe składa się z czterech faz: zbierania, pozyskiwania, nauki i szkolenia oraz klasyfikacji.

Zbieranie

Podobnie jak analiza DNA lub ocena ryzyka analiza plików zaczyna się od zebrania ogromnej ilości danych, w tym przypadku plików konkretnego pliku (plików wykonalnych, PDF-ów, dokumentów Microsoft Word ® , plików Java, Flash, etc.). Setki milionów plików są zbierane przez „podajniki” ze źródeł sektorowych, magazynów własnych czy poprzez działające połączenia z komputerami chronionymi przez agenta Cylance.1

Celem zbierania jest:

  • Zapewnienie próby o odpowiednim rozmiarze
  • Zapewnienie próbek o jak największej różnorodności typów i autorów (lub grup autorskich takich jak
  • Microsoft, Adobe, etc.)
  • Upewnienie się, że NIE zebrano zbyt dużej ilości próbek plików konkretnego typu

Po zebraniu plików, są one ocenione i przesłane do trzech grup: znane i zweryfikowane pozytywnie, znane i zweryfikowane jako złośliwe oraz nieznane. Kluczowym jest, aby podział ten został dokonany prawidłowo. Złośliwe pliki w grupie zweryfikowanej, a niezłośliwe w grupie złośliwej wpłynęłyby negatywnie na dalsze reguły.

Kolejną fazą uczenia maszynowego jest pozyskiwanie atrybutów. Proces ten różni się w kluczowych aspektach od identyfikacji behawioralnej lub analizy złośliwości, stosowanych w dzisiejszych czasach przez profesjonalistów zajmujących się bezpieczeństwem oprogramowania. Zamiast szukania elementów, które według ludzi sugerują złośliwą naturę elementu, Cylance wykorzystuje zdolności przetwarzania maszyn i techniki eksploracji danych w celu identyfikacji jak najszerszego zestawu cech pliku. Mogą to być tak podstawowe cechy jak rozmiar ekstentów fizycznych pliku lub zastosowany kompilator albo też tak skomplikowane problemy jak ocena pierwszej bramki logicznej w pliku binarnym. Cylance dostosowuje pozyskiwanie unikalnego zestawu cech do typu danego pliku (.exe, .dll, .com, .pdf, .java, .doc, .xls, .ppt, etc.). Poprzez identyfikację najszerszego możliwego zestawu atrybutów pliku Cylance unika subiektywizmu, który pojawia się przy manualnej klasyfikacji plików. Użycie tysięcy atrybutów zwiększa również koszt
ataku przez złośliwe oprogramowanie niezidentyfikowane przez Cylance. Rezultatem procesu identyfikacji i pozyskiwania atrybutów jest stworzenie genomu pliku, podobnego do tego, który naukowcy stworzyli w stosunku do człowieka. Genom ten staje się podstawą modeli matematycznych tworzonych w celu przewidzenia spodziewanych cech danych plików, podobnie jak ludzkie DNA wykorzystywane jest do przewidywania zachowań i cech komórek.

Nauka

Daje wyjściowe po pozyskaniu są normalizowane i konwertowane do wartości numerycznej, wykorzystanej do budowy modeli statystycznych. To na tym etapie do procesu włączona zostaje wektoryzacja oraz uczenie maszynowe w celu wyeliminowania ludzkiej słabości i przyspieszenia procesu analitycznego. Poprzez zastosowanie milionów atrybutów plików zidentyfikowanych do pozyskania matematycy Cylance opracowują modele statystyczne, które dokładnie przewidują, czy dany plik jest groźny czy też nie. Powstaje dziesiątki modeli z kluczowymi cechami w celu zapewnienia skuteczności predyktywnej końcowych modeli stosowanych przez produkty Cylance. Nieefektywne modele są kasowane, a efektywne modele przechodzą jeszcze przez kilka poziomów testów. Pierwszy poziom rozpoczyna się od sprawdzenia kilku milionów znanych plików, a następne etapy przeprowadzane są na całym zbiorze plików (dziesiątki milionów plików). Końcowe modele zostają zabrane ze zbioru testowego i wczytane do środowiska produkcyjnego Cylance w celu klasyfikacji plików. Należy pamiętać, że każdy plik oznacza tysiące przeanalizowanych atrybutów w celu wydania decyzji na temat jego złośliwości. W ten sposób Cylance identyfikuje złośliwe oprogramowanie, spakowane czy też nie, znane czy nieznane, osiągając wcześniej niedostępne niesamowite poziomy dokładności. Proces dzieli plik na wielką ilość atrybutów, następnie analizuje każdy z nich w porównaniu do setek milionów innych plików, aby ocenić standardowość każdej z cech.

Klasyfikacja

Po zakończonej budowie modeli statystycznych silnik Cylance jest gotowy do klasyfikacji plików, które są nieznane (to znaczy plików, które wcześniej nie zostały zauważone lub przeanalizowane przez inną białą lub czarną listę). Proces analizy zajmuje kilka milisekund i jest bardzo dokładny dzięki rozpiętości analizowanych atrybutów. Analiza dokonuje się poprzez wykorzystanie modeli statystycznych, więc klasyfikacja nie odbywa się na zasadzie czarnej skrzynki. W ramach procesu klasyfikacji Cylance informuje użytkownika o „poziomie pewności” plików. Ten
poziom przekazuje użytkownikowi dane, które mogą być wykorzystane do wybrania kolejnych etapów postępowania z danym plikiem, czy go zablokować, przekazać do kwarantanny, monitorować czy też analizować dalej. Tu leży istotna różnica pomiędzy stosowaniem systemów samouczących się a tradycyjnym badaniem plików. W przypadku podejścia matematycznego Cylance buduje modele, których celem jest określenie, czy plik jest prawidłowy, czy nieprawidłowy. Użytkownik informowany jest również o „podejrzanym” pliku, jeśli nasza pewność co do złośliwego charakteru danego pliku jest niższa niż 20% i nie występują w nim żadne inne przesłanki świadczące o jego nieprawidłowości. Poprzez takie działanie firma uzyskuje perspektywę holistyczną plików, które działają w jej środowisku. Eliminuje to również obecne problemy z oceną plików, wynikające z faktu, że badacze przesądzają tylko o złośliwości danej oprogramowania, a producenci oprogramowania wykorzystującego biały listy decydują tylko o prawidłowości plików.

Cylance kontra prawdziwy świat

Cylance powstluka micorosftrzymało atak z wykorzystaniem luki Microsoft Word RTF (CVE-2014- 1761), zanim jeszcze wiedziano, że możliwość wykorzystania tej słabości istnieje. Cylance odkryło i przeprowadziło kwarantannę tego zagrożenia w marcu 2014 roku, choć jego opis nie pojawił się na stronie malwr.com aż do kwietnia, a nawet w tym czasie zostało ono wykryte tylko przez 4 z 51 silników antywirusowych. Silnik Cylance odkrył to zagrożenie (a2fe8f03adae711e1d3352ed97f616c7) samodzielnie w sposób natychmiastowy bez potrzeby jakichkolwiek aktualizacji. Cylance powstrzymało proces od wykonania, jak widoczne jest to na zrzucie ekranu z programu CylanceV.

cylance-luka

Bezpieczeństwo przygotowane na przyszłość

Poprzez wykorzystanie modeli matematycznych w punktach końcowych silnik Cylance z łatwością wyprzedza tradycyjne metody wykrywania oraz powstrzymania złośliwego oprogramowania. Naszym celem jest zatrzymanie wykonywania nieprawidłowego pliku, zanim dokona on jakichkolwiek zniszczeń. Takie podejście zapewnia, że urządzenia końcowe są bezpieczne i nienaruszone, nawet jeśli dany plik pozostaje na dysku.

 

CylancePROTECT®
CylancePROTECT to nasz flagowy produkt dla firm, który wykorzystuje moc silnika Cylance w celu powstrzymywania wykonywania zaawansowanych zagrożeń w czasie rzeczywistym w każdym punkcie końcowym sieci.

Główne cechy:

  • Ochrona przed i wykrywanie wcześniej nieznanych, zaawansowanych zagrożeń
  • Współpracuje z chmurą, ale nie jest od niej uzależniony w przypadku wrażliwych środowisk
  • Brak codziennych aktualizacji .DAT eliminuje konieczność stałego połączenia z siecią
  • Niewielki wpływ na działanie, kontrola procesów znacznie obniża obciążenie systemów
  • ‎‎Łatwość instalacji oraz utrzymywania, specjalnie zaprojektowany interfejs webowy

CylancePROTECT zapewnia wykrywanie oraz ochronę przed złośliwym oprogramowaniem w czasie rzeczywistym. Działa poprzez analizę procesów pod kątem wykrywania złośliwego oprogramowania zarówno w systemie operacyjnym jak i w warstwach pamięci i powstrzymuje dostarczenie złośliwych pakietów. Ochrona pamięci została zaprojektowana tak, aby nie wpływać na jej działanie i nie prowadzi do przeciążeń systemów. W zamian ochrona pamięci wzmacnia tak podstawowe elementy ochrony systemu operacyjnego jak DEP, ASLR czy EMET przez dodanie nowej warstwy ochronnej zdolnej do wykrycia i zatrzymania procesów zazwyczaj powiązanych z lukam Te dwie podstawowe funkcje uzupełnione są przez zakres dodatkowych elementów potrzebnych do sprawnego
funkcjonowania firmy takich jak:

  • Wsparcie białych i czarnych list dla administracyjnych działań szczegółowych
  • Wyłączne wykrywanie (tryb audytu)
  • Samoochrona (ochrona przed działaniem użytkowników
  • Pełna kontrola nad ustawieniami, aktualizacjami i konfiguracjami z konsoli zarządzania

Podsumowanie

Cylance wierzy w modele matematyczne, sztuczną inteligencję oraz uczenie maszynowe, które są kluczowe dla bezpiecznej przyszłości. Każdy produkt i usługa jest nierozerwalnie związane z silnikiem Cylance, który zapewnia nieosiągalny przez inne firmy poziom dokładności oraz analizy współczesnego krajobrazu zagrożeń. A co lepsze, ciągła nauka i trening na podstawie nowych danych sprawia, że silnik Cylance jest gotowy na każdą przyszłość i z czasem nie straci swojej efektywności. Nawet, jeśli atakujący zmienią swoją strategię działania.