Analiza złośliwego oprogramowania od podstaw: badanie podejrzanych plików
Analitycy bezpieczeństwa rozkładają złośliwe oprogramowanie na części, by zrozumieć jego działanie. Poznaj konfigurację piaskownicy, analizę statyczną i dynamiczną stosowane przez profesjonalistów.
Spis treści
- Po co analizować złośliwe oprogramowanie?
- Przygotowanie bezpiecznego środowiska analizy
- Analiza statyczna: badanie bez uruchamiania
- Identyfikacja pliku i haszowanie
- Wydobywanie ciągów znaków
- Analiza nagłówka PE
- Analiza dynamiczna: obserwowanie działania
- Zautomatyzowane piaskownice
- Wydobywanie wskaźników kompromitacji
Po co analizować złośliwe oprogramowanie?
Analiza złośliwego oprogramowania to proces rozbierania szkodliwego programu na części, aby zrozumieć, co robi, jak się rozprzestrzenia, z czym się komunikuje i jakie szkody może wyrządzić. Te informacje bezpośrednio zasilają reagowanie na incydenty (które systemy są dotknięte?), analizę zagrożeń (czy to znany sprawca?) i inżynierię detekcji (jak napisać sygnaturę, która wykryje to w przyszłości?).
Nie musisz odtwarzać każdego bajtu, by przygotować wartościową analizę. Umiejętność bezpiecznego uruchomienia próbki, obserwowania jej zachowania i wydobycia wskaźników kompromitacji (IOC) — domen, adresów IP, skrótów plików, kluczy rejestru — to praktyczna umiejętność, którą mogą rozwinąć także niespecjaliści.
Przygotowanie bezpiecznego środowiska analizy
To najważniejszy krok. Nigdy nie analizuj złośliwego oprogramowania na swoim głównym komputerze ani w sieci produkcyjnej. Prawidłowa izolacja wymaga:
- Dedykowanej maszyny wirtualnej (VMware lub VirtualBox) z włączonymi migawkami (snapshotami). Po każdej sesji analizy zawsze wracaj do czystej migawki.
- Karty sieciowej maszyny wirtualnej w trybie host-only lub izolowanej sieci. Nigdy nie mostkuj jej z prawdziwą siecią LAN.
- Osobnego systemu do analizy — Windows 10/11 jest idealny, bo większość złośliwego oprogramowania celuje w Windows. Używaj licencjonowanej kopii przeznaczonej wyłącznie do analizy.
- Wyłączenia folderów współdzielonych i współdzielenia schowka między hostem a maszyną wirtualną — niektóre złośliwe programy aktywnie szukają tych kanałów, by uciec z VM.
- Przy szczególnie zaawansowanych próbkach rozważ dedykowany komputer do analizy, fizycznie odizolowany.
Narzędzia takie jak REMnux (linuksowa dystrybucja do analizy) i FLARE VM (środowisko analizy dla Windows od Mandiant) mają preinstalowane narzędzia analityczne i są najszybszym sposobem na rozpoczęcie.
Analiza statyczna: badanie bez uruchamiania
Analiza statyczna bada plik złośliwego oprogramowania bez jego uruchamiania. Zacznij od niej — jest bezpieczna i często dużo ujawnia.
Identyfikacja pliku i haszowanie
Przed czymkolwiek innym oblicz skrót pliku:
sha256sum suspicious_file.exe
Wyszukaj skrót w VirusTotal, Malware Bazaar lub Hybrid Analysis. Jeśli to znana próbka, od razu otrzymasz nazwę rodziny, raporty o zachowaniu i wcześniejsze analizy. Skrót jest też Twoim podstawowym IOC do reguł detekcji.
Do identyfikacji typu pliku użyj polecenia file w Linuksie lub PEiD/Detect-It-Easy w Windows. Złośliwe oprogramowanie często używa mylących rozszerzeń — plik .pdf może być w rzeczywistości plikiem wykonywalnym PE.
Wydobywanie ciągów znaków
Polecenie strings uruchomione na pliku binarnym wydobywa wszystkie sekwencje drukowalnych znaków. Często znajdziesz:
- Wpisane na stałe nazwy domen i adresy IP (infrastruktura C2)
- Ścieżki plików i klucze rejestru, z którymi program wchodzi w interakcję
- Komunikaty błędów zdradzające język lub środowisko twórcy
- Klucze szyfrujące lub dane konfiguracyjne
strings -n 8 malware.exe | grep -Ei 'http|cmd|reg|powershell'
Analiza nagłówka PE
W przypadku plików wykonywalnych Windows narzędzia takie jak PE-bear, CFF Explorer czy biblioteka Pythona pefile ujawniają tabelę importów (które funkcje Windows API wywołuje plik), nazwy sekcji i ich entropię (wysoka entropia sugeruje pakowanie/szyfrowanie), znaczniki czasu kompilacji i osadzone zasoby. Plik importujący CreateRemoteThread, VirtualAllocEx i WriteProcessMemory niemal na pewno wstrzykuje kod do innych procesów.
Analiza dynamiczna: obserwowanie działania
Analiza dynamiczna uruchamia próbkę w odizolowanej maszynie wirtualnej, monitorując jej zachowanie. Uruchom narzędzia monitorujące przed uruchomieniem próbki:
- Process Monitor (Procmon): rejestruje każde zdarzenie dotyczące plików, rejestru i sieci według procesu
- Wireshark: przechwytuje cały ruch sieciowy
- Process Hacker: pokazuje działające procesy, wstrzyknięte wątki i załadowane moduły
- Regshot: wykonuje migawki rejestru przed i po uruchomieniu do porównania
Uruchom próbkę, odczekaj 2–5 minut, a następnie przejrzyj zebrane dane. Kluczowe pytania:
- Jakie procesy utworzyła lub do jakich się wstrzyknęła?
- Jakie pliki utworzyła, zmieniła lub usunęła?
- Jakie klucze rejestru ustawiła (mechanizmy utrwalania)?
- Jakie połączenia sieciowe próbowała nawiązać — domeny, adresy IP, porty, protokoły?
- Czy próbowała wyłączyć narzędzia bezpieczeństwa lub zmienić Zaporę Windows?
Zautomatyzowane piaskownice
Do szybkiej wstępnej oceny prześlij próbkę do zautomatyzowanej piaskownicy (sandboksa):
- Any.run (interaktywna, w przeglądarce)
- Hybrid Analysis (bezpłatna, oparta na CrowdStrike Falcon Sandbox)
- Joe Sandbox (szczegółowe raporty)
- Cuckoo Sandbox (do samodzielnego hostowania, open source)
Piaskownice automatyzują analizę dynamiczną i tworzą uporządkowane raporty z IOC, mapowaniem na MITRE ATT&CK i zapisem ruchu sieciowego — często w ciągu kilku minut. Ich ograniczeniem jest to, że zaawansowane złośliwe oprogramowanie aktywnie wykrywa środowiska piaskownic (sprawdzając nietypowe nazwy użytkowników, krótki czas działania systemu, ślady VM) i pozostaje uśpione, by uniknąć wykrycia.
Wydobywanie wskaźników kompromitacji
Praktycznym wynikiem analizy jest zestaw IOC do wykrywania i blokowania:
- Skróty plików (MD5, SHA-256) do sygnatur AV/EDR
- Nazwy domen i adresy IP do sinkholingu DNS i blokad na zaporze
- Adresy URL do blokowania na serwerze proxy
- Klucze rejestru do reguł detekcji
- Nazwy mutexów (złośliwe oprogramowanie często tworzy mutexy, by uniknąć podwójnej infekcji — to świetne IOC)
- Reguły YARA do wykrywania wzorców w kolekcjach plików
Dokumentuj wszystko w uporządkowanym formacie (STIX/TAXII, jeśli dzielisz się ze społecznością) i publikuj wyniki na platformach takich jak MISP czy OpenCTI, aby skorzystała z nich szersza społeczność bezpieczeństwa.