Stało się, długo zapowiadana przez Sophos modyfikacja flagowego produktu do ochrony przed exploitami i oprogramowaniem ransomware czyli InterceptX właśnie stała się ogólnie dostępna. Nowa wersja została wyposażona w jeszcze potężniejszy arsenał pozwalający walczyć z oprogramowaniem szkodliwym wśród którego znajdziemy Deep Machine Learning i nie tylko. Przybliżę Wam jego możliwości i to w jaki sposób pomaga chronić stacje robocze przed zagrożeniami z którymi nie poradzi sobie skaner sygnaturowy.
Na początek kilka słów o samym InterceptX, szerzej pisaliśmy o nim i o historii ransomware w tym artykule. Produkt ten może być wykorzystany jako dodatek do istniejącego rozwiązania Endpoint Protection Sophos zarządzanego z konsoli wyniesionej Sophos Central lub jako dodatek do rozwiązania antywirusowego innego producenta.
Głównym zadaniem InterceptX jest ochrona przed zagrożeniami typu „Zero Day” dla których silniki antywirusowe nie posiadają jeszcze sygnatur. Moduł do tej pory skupiał się na analizie zachowania procesów uruchomionych na stacji roboczej poprzez wykrywanie dobrze znanych technik wykorzystywany przez tzw. Exploity kity, czyli zbiory narzędzi pozwalające atakującemu wykorzystać luki w systemie operacyjnym lub przeglądarce.
InterceptX radził sobie z 24 rozpoznanymi, najpopularniejszymi technikami w razie wykrycia których, podejmuje próbę zablokowania procesu który z nich korzysta (zainteresowanych szczegółami proszę o kontakt, wszystkie rozpoznawane techniki mamy udokumentowane i chętnie się podzielimy tą wiedzą).
Oprócz ochrony przed exploitami, mamy na pokładzie dedykowane funkcjonalności Cryptoguard i Wipeguard do ochrony przez oprogramowaniem szyfrującym dane. Cryptoguard monitoruje procesy uzyskujące dostęp do naszych plików, w momencie odczytu pliku przez dany proces, tworzy jego kopię zapasową, aby w momencie zapisu pliku, porównać utworzoną kopię z zapisywanym plikiem, jeżeli na podstawie tego porównania, nie jest w stanie dłużej rozpoznać charakterystyki pliku (np. oryginalnie plik txt, a później pseudolosowy ciąg znaków binarnych) pozostawia kopię zapasową w swoim repozytorium i nadal monitoruje proces.
Podobnie dzieje się z kolejnymi plikami które są szyfrowane, aż do momentu, gdy Cryptoguard podejmie decyzję o zatrzymaniu procesu szyfrującego i przywróceniu plików ze swojego repozytorium do oryginalnej lokalizacji.
Wipeguard z kolei odpowiada za ochronę Master Boot Record, czyli wydzielonej przestrzeni na dysku na której przechowywane są instrukcje niezbędne do uruchomienia systemu operacyjnego. Niektóre wersje oprogramowania ransomware podejmują próbę zaszyfrowania również tej przestrzeni uniemożliwiając użytkownikowi uruchomienie stacji po ataku.
Ostatnim, ale nie mniej ważnym, elementem składowym InterceptX jest Root Cause Analysis, mechanizm ściśle współpracujący z konsolą zarządzania, który w momencie gdy atak nastąpił pozwala nam sprawdzić jakie procesy były uruchamiane w jego trakcie, jakie pliki lub klucze rejestru zostały dotknięte, z jakimi adresami komunikował się szkodliwy proces, co w rezultacie daje nam możliwość odtworzenia przebiegu ataku i poprawienia konfiguracji narzędzi ochrony.
To krótkie podsumowanie pokazuje, że InterceptX już był napakowany narzędziami których nie spotkamy w wielu typowych produktach antywirusowych, a okazuje się, że to dopiero początek.
Próbowaliście kiedyś swoich sił w zabawie „Dog or Bagel”, jeżeli tak to czytajcie dalej, jeżeli nie to najpierw odsyłam Was tu. Dla wprawnego oka nie stanowi to wyzwania, ale dla małego dziecka to może stanowić problem, ponieważ pewne cechy charakterystyczne dla „psa” lub „bajgla” nie są dla dziecka oczywiste.
Zastanówcie się teraz jak nauczyć tego odróżnienia swój komputer? W bardzo uproszczonym ujęciu, wybieramy cechy charakterystyczne i dzielimy je na dwie grupy, w jednej wrzucamy cechy charakteryzujące psa(np. sierść, uszy, oczy, łapy, ogon), a w drugiej bajgiel(np. faktura, obły kształt, dziurka w środku), następnie wykorzystując algorytmy do analizy obrazu, instruujemy je aby poszukiwały cech charakterystycznych dla jednej i drugiej grupy, im więcej cech algorytm rozpozna i przypisze je do danej grupy tym większe prawdopodobieństwa poprawnego rozpoznania.
Pozwalamy więc dla algorytmu nadawać punktację dla każdej rozpoznanej cechy, a po przekroczeniu określonego poziomu stwierdzić, że rzecz na obrazku jest psem lub bajglem.
Aktualnie wyróżniamy dwa główne trendy w algorytmach uczenia maszynowego, algorytmy tradycyjne oraz algorytmy głębokiego uczenia maszynowego, nazywane również sieciami neuronowymi. Najprostszy przykład obrazujący jak maszyna potrafi na końcu analizy podjąć jednoznaczną decyzję przedstawia algorytm o charakterystyce drzewa, na którym kolejne kroki warunkują wybór jednej z gałęzi i docelowo doprowadzają nas do rozwiązania umieszczonego na jednym z jej końców.
W wypadku algorytmów typu Deep Machine Learning mamy do czynienia z sytuacją, w której w danym momencie analiza prowadzona jest równolegle na wielu płaszczyznach w tzw. neuronach. Wynik analizy z danego neuronu jest przekazywany do kolejnego poziomu algorytmu, jednak w odróżnieniu od algorytmu drzewa nie trafia na określoną gałąź, ale również na wiele równoległych płaszczyzn (neuronów) gdzie może być analizowany pod kątem kolejnych cech charakterystycznych, często bardziej złożonych.
Na podstawie analizy przeprowadzanej w kolejnych neuronach pod kątem zawartości cech charakterystycznych i ich zależności, próbce nadawana jest punktacja, uzyskanie określonego progu definiuje nam wynik.
Zadanie które stawiamy przed algorytmami uczenia maszynowego w Sophos to rozpoznanie czy plik wykonywalny który analizujemy jest nieszkodliwy czy może być potencjalnie niebezpieczny. Istotnym czynnikiem w procesie tworzenia algorytmów typu deep learning jest nauczenie algorytmu, w jaki sposób rozpoznawać które cechy są istotne, a które nie, służy do tego proces uczenia poprzez dostarczanie do algorytmu ogromnych ilości danych testowych.
Na podstawie danych testowych algorytm uczony jest cech charakterystycznych oprogramowania szkodliwego, jak wygląda struktura kodu, w jaki sposób atakujący próbują uniknąć detekcji, jakie zadania stoją przed oprogramowaniem i jaki kod pozwala na ich realizację, gdy już algorytm potrafi je rozpoznawać to ponownie testowany jest na nowych zbiorach danych i w razie potrzeby udoskonalany.
Można śmiało powiedzieć, że algorytm jest więc tym lepszy im więcej danych wejściowych otrzymał w trakcie procesu uczenia i testowania, ponieważ to pozwala mu lepiej odróżnić aplikację szkodliwą od normalnych plików.
Doświadczenie. Sophos poszukując kolejnych rozwiązań do walki z zagrożeniami typu „Zero Day” na początku 2017 roku przejął firmę Invincea, a oryginał opracowanego przez nią algorytmu który teraz znajdziemy w InterceptX został opracowany już w 2010 roku czerpiąc z technologii wykorzystywanej przez agencje amerykańskiego departamentu obrony (DARPA) i był udoskonalany przez wiele lat. To czyni go rozwiązaniem dojrzałym pod kątem programistycznym.
Nieskończone źródło danych. Sophos Labs analizuje codziennie ponad 400 tyś. nowych plików szkodliwych co stanowi nieskończone źródło wiedzy pozwalające z jednej strony jeszcze lepiej nauczyć algorytm właściwego odróżniania plików szkodliwych poprzez ekstrakcję ich cech, z drugiej strony pozwala dokładniej przetestować algorytm na żywych próbkach. Dostarczenie takich ilości danych pozwala rzadziej szkolić algorytm i wprowadzać do niego poprawki ze względu na już i tak bardzo wysoką skuteczność.
Wydajność. Typowe algorytmy uczenia maszynowego potrafią zajmować wiele miejsca, nawet po kilkaset MB, co często przekłada się na wydłużony czas analizy. Algorytm Deep Learning w InterceptX waży poniżej 20 MB, a czas jego reakcji zazwyczaj zajmuje około 20 ms.
Sprawdzony. Model algorytmu wykorzystany w InterceptX był wielokrotnie prezentowany na różnych konferencjach (np. Black Hat) i testowany przez firmy trzecie jak NSS Labs zyskując uznanie i najwyższe noty. Od sierpnia 2016 roku jest modelem testowanym również na popularnym serwisie VirusTotal.
Model DL zaimplementowany w InterceptX dedykowany jest do rozpoznawania oprogramowania szkodliwego w plikach wykonywalnych przeznaczonych na platformy Windows. Wbudowany algorytm poszukuje w pliku cech charakterystycznych dla oprogramowania szkodliwego i na ich podstawie podejmuje odpowiednią decyzję. Aplikacja może zostać sklasyfikowana jako szkodliwa, nieszkodliwa lub potencjalnie niepożądana (aplikacje które mimo że nie zawierają szkodliwego kodu, mogą być niebezpieczne dla standardowego użytkownika).
Decyzja jest podejmowana w czasie około 20 ms. W wypadku wykrycia przez model uczenia maszynowego ataku, aplikacja jest blokowana i trafia do kwarantanny, zbierane są dane dla Root Cause Analysis opisanego wcześniej i generowany jest alert. Gdyby okazało się, że mamy do czynienia z tzw. false positive możemy autoryzować aplikację na podstawie sumy SHA, certyfikatu lub nazwy pliku i jego ścieżki dostępu.
Zarządzanie odbywa się przy użyciu sprawdzonej konsoli Sophos Central która pozwala zarządzać z jednego miejsca wieloma produktami Sophos z użyciem wyłącznie przeglądarki internetowej. Od strony stacji roboczej potrzebujemy tylko jednego agenta, który może jednocześnie nadzorować pracę antywirusa, zarządzać InterceptX oraz zarządzać szyfrowaniem na komputerach wyposażonych w mechanizm Bitlocker.
Możliwość tworzenia polityk per użytkownik lub stacja robocza pozwala w elastyczny sposób dostosować poziom ochrony, na podstawie komputera lub aktualnie zalogowanego użytkownika, dając więcej możliwości administratorom.
Dodanie modelu Deep Machine Learning to jednak nie jedyna zmiana, wśród pozostałych mechanizmów zaprezentowanych w nowej odsłonie produktu znajdujemy również:
- Nowe techniki zapobiegające wykorzystaniu exploitów takie jak wykrywanie i blokowanie zdalnej iniekcji bibliotek pozwalające atakującemu przełączać się między procesami; blokowanie eskalacji uprawnień dla procesów o niskich uprawnieniach, taktyka stosowana do uzyskania uprawnień systemowych.
- Mechanizmy zabezpieczające przed wyłudzaniem informacji takich jak hasła uwierzytelniania przetrzymywane w pamięci i rejestrze.
- Techniki blokowania ataków takich jak: Code cave utilization – wykorzystanie pustych przestrzeni w kodzie programów nieszkodliwych poprzez dodanie w te miejsca kodu złośliwego; Application Procedure Call protection – wykrywanie i ochrona przed wykorzystaniem aplikacyjnych wywołań procedur, jako techniki służącej do instruowania prawidłowych procesów do wykonania szkodliwego kodu.
- Ograniczanie uprawnień aplikacji takie jak blokowanie dostępu do PowerShella z przeglądarek internetowych, blokowanie aplikacji HTML HTA poprzez stosowanie do nich technik ograniczających możliwości takich jak dla samej przeglądarki.
- Dodatkowa ochrona rejestru, zapobiegająca zmianom w sposobie uruchamiania prawidłowych procesów, np. oprogramowania antywirusowego.
InterceptX do tej pory był jednym z niewielu na rynku, jeżeli nie jedynym produktem chroniącym przed zagrożeniami bez wykorzystania sygnatur na tak wielu płaszczyznach, jego nowa odsłona dzięki opisanym powyżej technikom i algorytmowi Deep Machine Learning przenosi to rozwiązanie na kolejny poziom. Niezależnie od tego w jakim środowisku i kontekście rozważamy zastosowanie tego produktu na końcu zawsze chodzi o ochronę danych, których wartość najczęściej poznajemy, gdy je utracimy.
- Wypełnić formularz: https://secure2.sophos.com/en-us/products/intercept-x/free-trial.aspx
- Aktywować konto (mail przyjdzie na adres podany przy wypełnieniu formularza). W trakcie aktywacji mamy możliwość wybrania centa danych w którym przechowywana będzie nasza instancja konsoli zarządzania i dane.
- Zainstalować moduł InterceptX: ftp://ftp.fen.pl/Producenci/Sophos/Instrukcje/Manual%20-%20Sophos_InterceptX_instalacja.pdf
- Skonfigurować politykę Threat Protection z włączoną opcją Deep Learning.
Uruchomienie Machine Learningu, podobnie jak innych zaawansowanych technik ochrony, to najczęściej w wypadku Sophos Central przełączenie kolejnego przełącznika!
[simple-author-box]