W dzisiejszych czasach, gdy złośliwe oprogramowanie może zaszyć się dosłownie wszędzie, narzędzia typu sandbox są na wagę złota. W odizolowanych środowiskach możemy bez obaw uruchomić podejrzany plik i sprawdzić jak wpływa na system operacyjny. O platformie Sandbox od Microsoft dostępnej na Windows 10 pisaliśmy tutaj, a innych narzędziach do analizy malware tutaj. Jeśli do środowiska testowego dołożymy algorytmy automatycznie analizujące zachowanie wykonywalnego pliku to otrzymamy narzędzie o nazwie SNDBOX.
Możliwości narzędzia
Platforma ta została zaprezentowana 4 grudnia 2018r. na konferencji Black Hat przez izraelskich specjalistów zajmujących się cyberbezpieczeństwem i złośliwym oprogramowaniem. Celem było wsparcie użytkowników w identyfikowaniu nieznanych próbek złośliwego oprogramowania przed ich uderzeniem.
Po pierwsze narzędzie jest darmowe, działające w chmurze i dostępne online przez każdą przeglądarkę. Po drugie korzysta z algorytmów sztucznej inteligencji i analizy behawioralnej. Nie wymaga żadnej konfiguracji, poza założeniem darmowego konta. Określa się jako kompleksowe, 1-klikowe rozwiązanie do analizy malware.
Co do darmowej identyfikacji malware, na pierwszy ogień polecamy oczywiście VirusTotal, jednak rozwiązanie to korzysta ze znanych reguł i sygnatur, co nie zawsze pozwala stwierdzić czy dany plik jest szkodliwy. Przy nowych, wyszukanych technikach (link do artykułu) wskazanie VirusTotal może być błędem typu false negative. SNDBOX prawdopodobnie rozpozna taki malware wykonując ukryty w nim kod i dodatkowo przedstawi użytkownikowi szczegółową analizę zachowania niebezpiecznego pliku.
W ostatnich latach sztuczna inteligencja i technologia uczenia maszynowego rozwinęły się ogromnie i stały się jedną z najbardziej obiecujących technik wykrywania nieznanego wcześniej złośliwego oprogramowania poprzez badanie zachowania różnych próbek (więcej w artykule). To, że każdy plik przesłany przez użytkowników jest analizowany i zasila bazę danych narzędzia SNDBOX, pozwala cały czas rozwijać działanie algorytmów uczących.
Analiza malware w SNDBOX polega na wykonaniu przesłanych plików binarnych w kontrolowanym środowisku za pomocą niewidzialnego agenta jądra Kernel. Dzięki temu malware zostaje oszukany i wierzy, że znajduje się w rzeczywistym systemie, który chce zaatakować. Ponadto, agent znajdujący się pomiędzy warstwą użytkownika a warstwą sytemu wirtualnego nakłania złośliwe oprogramowanie do wykonania pełnego zakresu zamierzonych funkcji, ujawniając w ten sposób jego prawdziwy, złośliwy charakter i możliwości.
SNDBOX monitoruje zachowanie plików wykonywalnych, od prostych modyfikacji zasobów systemowych po zaawansowane działania sieciowe, a następnie wykorzystuje algorytmy uczenia maszynowego do przetwarzania dużej ilości zebranych danych. Dane dla jednego pliku binarnego o wielkości kilku kilobajtów mogą być rzędu kilkuset megabajtów. Wszystkie wyniki są jednak prezentowane w przemyślanym interfejsie graficznym.
Jak to wygląda w praktyce
Platforma dostępna jest pod adresem https://app.sndbox.com. Po utworzeniu darmowego konta i zalogowaniu się można przystąpić do analizy.
Główny pulpit umożliwia użytkownikom przesłanie próbki do automatyzowanego skanowania lub przeszukiwanie bazy danych narzędzia pod kątem wcześniej przeanalizowanych próbek złośliwego oprogramowania sklasyfikowanych po słowach kluczowych lub scoringu.
Interfejs z wynikami analizy został bardzo dobrze zaprojektowany. Jest zrozumiały i zapewnia wysoką widoczność oraz szybki dostęp do informacji. Składa się z panelu nawigacyjnego (po lewej stronie) oraz trzech zakładek:
1. Analiza statyczna:- Metadane
- Sekcje
- Tabele importu / eksportu
- Drzewo procesu
- Wskaźniki behawioralne (WMI, Anti-VM, anormalne zachowania itp.)
- API Windows
- Karty informacji i komentarzy społeczności
- Ruch sieciowy i ruch DNS z informacjami o ładunku
Faza analizy statycznej koncentruje się na pełnej analizie złośliwego oprogramowania bez jego uruchamiania. Badane są tutaj metadane pliku oraz wywoływane znane funkcje i komendy.
Faza analizy dynamicznej wyświetla pełne drzewo procesu, który po wykonaniu wykonuje na maszynie docelowej techniki świadczące o podejrzanym zachowaniu takie jak:
- stosuje dowolne techniki process injection lub process hollowing,
- usuwa pliki,
- sprawdza uruchomione procesy,
- używa jakiejkolwiek techniki anty-VM,
- modyfikuje zaporę Windows lub wpisy w rejestrze,
- kradnie poufne informacje, takie jak dane przeglądarki,
- szyfruje pliki tak, jak robi to oprogramowanie ransomware,
- stosuje techniki podwyższenia uprawnień,
- wykonuje wszelkie nienaturalne zachowania w systemie,
- i znacznie więcej.
SNDBOX przechwytuje także połączenia sieciowe i żądania DNS pochodzące z zainfekowanej maszyny wirtualnej podczas monitorowania przesłanych próbek i wyświetla wyniki w zakładce analizy sieciowej, ujawniając szczegółowe informacje o porcie źródłowym, docelowym adresie IP, porcie docelowym, usłudze protokołu, czasie trwania połączenia.
Poza tym analiza sieciowa ujawnia również podejrzane i dziwne działania oparte na sygnaturach i wektorach, np. wskazując, czy złośliwe oprogramowanie wykorzystuje sieć Tor do szyfrowanej komunikacji.
Przykład
Dla przykładu, z ciekawości przeanalizowaliśmy plik “PowerShdll.dll” używany przez nas w poprzednim artykule do wywołania komend Powershell bez uruchamiania Powershell’a. Wyniki analizy przedstawiamy poniżej:
Widzimy, że nasza biblioteka do ukrytego wykonywania Powershella’ otrzymała wynik 13%. Głównymi wskaźnikami analizy behawioralnej jest odczyt przez proces danych o naszej maszynie oraz zapisywanie plików tymczasowych.
Podsumowanie
SNDBOX wydaje się być świetnym narzędziem zarówno dla pasjonatów bezpieczeństwa IT, jak i dla pracowników SOC. W koncie premium mamy możliwość zastrzegania sobie praw i anonimowości do wysyłanych do chmury plików, co pozwala na komercyjne używanie platformy.