Informatyka śledcza od podstaw: dowody po incydencie
Gdy dojdzie do włamania, integralność dowodów ma znaczenie. Poznaj podstawy zbierania dowodów, łańcucha dowodowego i dochodzenia kryminalistycznego dla niespecjalistów.
Spis treści
Dlaczego integralność dowodów ma znaczenie
Gdy dochodzi do incydentu bezpieczeństwa, pierwszym odruchem jest często natychmiastowa naprawa — odtworzenie z kopii, ponowna instalacja systemu, reset haseł. Ten odruch, choć zrozumiały, może zniszczyć kluczowe dowody potrzebne do ustalenia, co się stało, kto to zrobił, do jakich danych uzyskano dostęp i jak zapobiec powtórce. W sprawach wiążących się z obowiązkami regulacyjnymi lub postępowaniem prawnym nieprawidłowo zabezpieczone dowody mogą też zostać uznane za niedopuszczalne.
Informatyka śledcza (digital forensics) to dziedzina zajmująca się zbieraniem, zabezpieczaniem i analizą dowodów cyfrowych w sposób zachowujący ich integralność i dopuszczalność. Nie musisz być specjalistą, aby stosować jej podstawowe zasady podczas pierwszej reakcji — ale musisz wiedzieć wystarczająco dużo, by niczego nie pogorszyć.
Kolejność ulotności
Dowody cyfrowe mają różną ulotność — od bardzo ulotnych (znikają po odcięciu zasilania) po trwałe (przetrwają restart i wymianę dysku). Zbieraj je od najbardziej do najmniej ulotnych:
- Rejestry i pamięć podręczna procesora (tracone natychmiast po wyłączeniu)
- Zawartość pamięci RAM (tracona po wyłączeniu — zawiera działające procesy, połączenia sieciowe, klucze deszyfrujące, hasła otwartym tekstem)
- Połączenia sieciowe (bieżący stan TCP, pamięć ARP, tablica routingu)
- Działające procesy (lista procesów, otwarte uchwyty plików, załadowane moduły)
- Zawartość dysku (przetrwa wyłączenie — pliki, logi, artefakty)
- Zdalne dane z logowania i monitoringu (SIEM, syslog — już poza systemem)
- Nośniki fizyczne i kopie zapasowe
Nigdy nie wyłączaj podejrzanego o przejęcie systemu przed zebraniem danych ulotnych, chyba że dalsza praca systemu niesie niedopuszczalne ryzyko (np. aktywny ransomware szyfrujący pliki).
Zbieranie danych z działającego systemu
Zanim czegokolwiek dotkniesz, udokumentuj bieżący stan:
# Capture timestamp, logged-in users, network state, process list
date > evidence_$(hostname)_$(date +%Y%m%d%H%M%S).txt
who >> evidence.txt
netstat -antp >> evidence.txt
ps aux >> evidence.txt
lsof -n >> evidence.txt
arp -a >> evidence.txt
Te polecenia zapisują znacznik czasu, zalogowanych użytkowników, stan sieci i listę procesów.
Do pozyskania zawartości pamięci używaj dedykowanych narzędzi:
- Linux: moduł jądra
LiME(Linux Memory Extractor) - Windows:
WinPmem,DumpItlub narzędzia komercyjne, np. Magnet RAM Capture - macOS:
OSXpmem
Zapisuj zrzuty pamięci na nośnik zewnętrzny (pendrive lub udział sieciowy), nigdy na lokalny dysk badanego komputera — zapis danych zmienia system plików, który próbujesz zabezpieczyć.
Obrazowanie dysku: tworzenie kopii kryminalistycznych
Nigdy nie pracuj bezpośrednio na oryginalnych dowodach. Utwórz kryminalistyczny obraz bit po bicie i pracuj wyłącznie na kopiach:
# Create a forensic image with dd
dd if=/dev/sda of=/mnt/external/evidence.img bs=4M conv=noerror,sync status=progress
# Verify integrity with hash
sha256sum < /dev/sda > original.sha256
sha256sum < /mnt/external/evidence.img > copy.sha256
diff original.sha256 copy.sha256 # Must match
Pierwsze polecenie tworzy obraz, kolejne weryfikują integralność skrótem — sumy kontrolne oryginału i kopii muszą być identyczne. Haszowanie przez standardowe wejście (<) sprawia, że w wyniku nie ma nazw plików, więc diff porównuje wyłącznie sumy kontrolne.
Zamiast zwykłego dd wybieraj dcfldd lub dc3dd — obsługują wbudowane haszowanie podczas pozyskiwania i pokazują postęp. FTK Imager (Windows, bezpłatny) ma interfejs graficzny i tworzy poprawne kryminalistycznie obrazy w formacie E01.
Zapisz skrót w dzienniku dowodów przed i po obrazowaniu. Skrót to odcisk palca integralności dowodu — jeśli ktoś zakwestionuje dowód, udowodnisz, że nie zmienił się od chwili zabezpieczenia.
Łańcuch dowodowy
Łańcuch dowodowy (chain of custody) to udokumentowany ślad pokazujący, kto miał dostęp do dowodu, kiedy i co z nim zrobiono. Każdy dowód musi mieć:
- Unikalny identyfikator (numer sprawy, numer dowodu)
- Opis (marka, model, numer seryjny nośnika; nazwa hosta i adres IP serwera)
- Wartości skrótów (MD5 i SHA-256)
- Szczegóły zabezpieczenia: kto zabezpieczył, kiedy, gdzie i jakimi narzędziami
- Rejestr przekazań: każde przekazanie dowodu jest odnotowywane wraz z podpisem
Dla sprzętu używaj fizycznych worków na dowody z plombami ujawniającymi naruszenie. Dla dowodów cyfrowych prowadź dziennik w innym systemie niż badany.
Analiza logów: odtwarzanie historii
Gdy obrazy dysków i zrzuty pamięci są zabezpieczone, zaczyna się analiza. Kluczowe artefakty do zbadania:
- Logi uwierzytelniania:
/var/log/auth.log(Linux), dziennik zabezpieczeń Windows (identyfikatory zdarzeń 4624/4625 dla udanego/nieudanego logowania) - Logi serwera WWW: logi dostępu z adresami URL, user agentami, adresami IP źródła i kodami odpowiedzi
- Historia powłoki:
.bash_history,.zsh_history— atakujący często zapominają je wyczyścić - Mechanizmy utrwalania: zadania cron, usługi systemd, klucze Run w rejestrze Windows, foldery autostartu, subskrypcje WMI
- Pliki prefetch (Windows): zapis ostatnio uruchamianych programów — przydatny, by udowodnić, że dane narzędzie zostało uruchomione
- Artefakty przeglądarki: historia, pobrane pliki, zapisane dane logowania
Narzędzia takie jak Autopsy (open source), Volatility (analiza pamięci) i Plaso/log2timeline (tworzenie osi czasu) automatyzują dużą część wydobywania artefaktów.
Budowanie osi czasu
Najcenniejszym wynikiem analizy kryminalistycznej jest często oś czasu zdarzeń — chronologiczne odwzorowanie działań atakującego:
- Dostęp początkowy (e-mail phishingowy otwarty o 14:32 UTC)
- Uruchomienie złośliwego oprogramowania (cmd.exe uruchomiony z procesu Worda o 14:33)
- Rozpoznanie (polecenia net user, whoami o 14:34)
- Ruch boczny (połączenie z 10.0.0.15 przez RDP o 14:51)
- Eksfiltracja danych (duży transfer wychodzący do 203.0.113.42 o 16:20)
Plaso przyjmuje dziesiątki formatów logów i typów artefaktów, budując jednolite osie czasu. Dokładny pomiar czasu we wszystkich systemach wymaga spójnej konfiguracji NTP — rozbieżności zegarów utrudniają korelację.
Dokumentuj wszystko na bieżąco. Twoje notatki z analizy też są dowodem.