Analiza złośliwego oprogramowania to proces badania próbki wirusa, która trafiła w nasze posiadanie. Celem takiej operacji jest zrozumienie typu, funkcji, kodu, zachowania oraz potencjalnych skutków ataku malware. Najczęściej analizę przeprowadzają wykwalifikowane w tym kierunku zespoły specjalistów, jednak warto znać podstawy i samą metodykę badania. Na „niskim poziomie wtajemniczenia” wszystkie kroki analizy może przeprowadzać samodzielnie w swoim środowisku testowym każdy z nas.

Co otrzymujemy po przeprowadzeniu udanej analizy:

  • Wiemy, jak działa złośliwe oprogramowanie – jeśli zbadamy kod i poznamy jego algorytm, będziemy w stanie powstrzymać go przed zainfekowaniem całego systemu.
  • Znamy charakterystykę programu – dzięki temu możemy poprawić wykrywanie w oparciu o wersję, nazwy i rozszerzenia plików itp.
  • Wiemy, jaki jest cel danego oprogramowania – po uruchomieniu malware w testowym środowisku odwzorowującym produkcję
  • Mamy informacje o tym, kto stoi za atakiem – adresy IP, pochodzenie, używane TTP i inne artefakty ukrywane przez hakerów.

Rodzaje analizy malware

Możemy wyróżnić dwie główne kategorie przeprowadzania analizy malware – statyczną i dynamiczną. Poniżej podajemy szczegółowe czynności przeprowadzane podczas tych operacji oraz ich cechy.

Analiza statyczna:

  • zrozumienie złośliwego kodu,
  • czytanie i wykrycie sygnatur malware,
  • pomaga tylko przy prostych atakach i znanych rodzinach oprogramowania,
  • wymaga użycia narzędzi AV, „odcisków palców”, zrzutów pamięci, metadanych plików.


Analiza dynamiczna:

  • obserwacja zachowania malware w środowisku wirtualnym,
  • wykrywanie malware, bazując na jego zachowaniu,
  • pomaga przy nowych i zaawansowanych atakach,
  • uruchomienie malware i obserwowanie wykonywanych przez nie czynności: tworzenie procesów, wywołania API, zmiany w rejestrze.

Etapy analizy

W ramach opisanych poniżej pięciu kroków głównym celem dochodzenia jest uzyskanie jak największej ilości informacji o złośliwej próbce, algorytmie wykonania oraz sposobie działania szkodliwego oprogramowania w różnych scenariuszach.

Oczywiście najskuteczniejszą metodą analizy złośliwego oprogramowania jest łączenie metod statycznych i dynamicznych. Poniżej krótki przewodnik, jak przeprowadzić taką analizę:

Krok 1. Postaw maszynę wirtualną
Na początku niezbędne będzie czyste środowisko wirtualne z określonymi wymaganiami, takimi jak przeglądarka, pakiet Microsoft Office, bitowość systemu operacyjnego i ustawienia regionalne. Dodaj narzędzia do analizy i zainstaluj je w swojej maszynie wirtualnej: FakeNet, proxy MITM, Tor, WireShark, ProcessHacker itp.

Krok 2. Sprawdź właściwości statyczne
Sprawdź plik wykonywalny bez uruchamiania go: sprawdź stringi, aby zrozumieć działanie złośliwego oprogramowania. Skróty, ciągi i zawartość nagłówków zapewnią przegląd intencji malware.

Krok 3. Monitoruj zachowanie złośliwego oprogramowania
Uruchom próbkę malware w bezpiecznym środowisku wirtualnym. Wejdź w bezpośrednią interakcję ze złośliwym oprogramowaniem, aby program działał i by można było obserwować jego zachowanie. Sprawdź ruch sieciowy, modyfikacje plików i zmiany w rejestrze, a także wszelkie inne podejrzane zdarzenia.

Krok 4. Rozgryź kod
Jeśli cyberprzestępcy zaciemnili lub spakowali kod, użyj technik odciemniania i inżynierii wstecznej, aby przeczytać jego zawartość. Zidentyfikuj możliwości, które nie zostały ujawnione podczas poprzednich kroków. Nawet szukając nazwy funkcji wykorzystywanej przez złośliwe oprogramowanie, można wiele powiedzieć o jej funkcjonalności. Na przykład funkcja „InternetOpenUrlA” informuje, że to złośliwe oprogramowanie nawiąże połączenie z jakimś zewnętrznym serwerem. Na tym etapie wymagane są dodatkowe narzędzia, takie jak debugery i deasemblery.

Krok 5. Napisz raport
Połącz wszystkie ustalenia i dane, które znalazłeś. Podaj następujące informacje:
  • podsumowanie badań z nazwą, pochodzeniem i kluczowymi cechami szkodliwego programu,
  • ogólne informacje o typie złośliwego oprogramowania, nazwie pliku, rozmiarze, wartościach skrótów i możliwościach wykrywania przez AV,
  • opis złośliwego zachowania, algorytmu infekcji, technik rozprzestrzeniania się, gromadzenia danych i sposobów komunikacji С2,
  • ustawienia systemu operacyjnego, oprogramowanie, pliki wykonywalne i pliki inicjujące, biblioteki DLL, adresy IP i skrypty,
  • przegląd działań związanych z zachowaniem, takich jak miejsce, z którego kradnie poświadczenia, czy modyfikuje, usuwa lub instaluje pliki, odczytuje wartości i sprawdza język,
  • wyniki analizy kodu, dane nagłówków,
  • zrzuty ekranu, dzienniki, linie tekstowe, fragmenty itp.,
  • IOC.


Podsumowanie

Z powyższej instrukcji możemy dowiedzieć się, że do przeprowadzenia podstawowej analizy złośliwego oprogramowania nie potrzebujemy zaawansowanej wiedzy ani narzędzi. Wystarczy znajomość technik używanych przez malware, dobra znajomość systemu operacyjnego oraz ciekawość i precyzyjność, aby samodzielnie przeprowadzić dochodzenie i wyłuskać najciekawsze informacje.

Podziel się z innymi tym artykułem!