62
PRAKTYKA
HAKIN9 11/2009
Z ARTYKUŁU
DOWIESZ SIĘ
jak schematycznie wygląda
przebieg analizy danych z
punktu widzenia informatyka
śledczego.
CO POWINIENEŚ
WIEDZIEĆ
znać podstawowe polecenia i
komendy systemu Linux.
F
undamentalne zasady informatyki
śledczej można streścić w pięciu
punktach:
• udokumentowanie każdego kroku,
• skopiowanie dowodów bez ingerencji w
oryginalne źródło danych,
• upewnienie się, iż kopia jest idealnym
odpowiednikiem oryginału,
• dokładna analiza danych (aktywne, ukryte,
archiwalne informacje),
• sporządzenie dokładnego raportu,
zgodnego z systemem prawnym danego
kraju.
Każdy krok analizowania danych musi zostać
udokumentowany oraz zweryfikowany. Oryginał
nie może zostać naruszony, a cały proces
wykonywany jest na identycznej kopii.
Specjaliści szukają podejrzanych informacji
w trzech sferach.
• Aktywne dane : są to jawnie dostępne
dane, takie jak poczta elektroniczna,
dokumenty zachowane na dysku, pliki
tymczasowe, pliki kopii, logi, rejestry,
dane przeglądarki, pliki kolejkowania
wydruku, ciasteczka. Do tej sfery
zaliczamy również zaszyfrowane pliki
oraz wszystkie te, do których możemy
dostać się z poziomu systemu
operacyjnego.
NORBERT KOZŁOWSKI
• Ukryte dane: zawierają wszelkie usunięte
przez użytkownika pliki i informacje. W
procesie tym analizowana jest struktura
dysku. Badane są niezaalokowane klastry
(obszary oznaczone przez system jako
puste, jednak nie zapełnione przez nowe
dane), obszary slack (nieużywane klastry),
metadane (informacje na temat plików i
katalogów zapisanych w systemie plików
na dysku), ram-slack. Analiza tych danych
jest często najbardziej problematyczna i
wymaga dużego doświadczenia.
• Archiwalne dane: na tym etapie zostają
sprawdzone wszelkie podejrzane nośniki
danych, takie jak płyty CD, DVD, pendrivy.
Analizowane są również sieci, z którymi
łączył się komputer.
W procesie odzyskiwania danych będziemy
używać Linuksa. Dlaczego nie innego
systemu? Głównie z powodu ogromnego
dostępu do bezpłatnego oprogramowania,
które powinno w zupełności sprostać
naszym wymaganiom. Poza tym aplikacje
mają ogólnodostępny kod źródłowy, więc
możemy wiedzieć dokładnie jak dana
aplikacja działa. Są też negatywne strony
tego wyboru. Programy są darmowe, więc
nie możemy liczyć na jakiekolwiek wsparcie
techniczne. Nie będziemy mogli także w razie
potrzeby odwołać się w sądzie do autora
programu. Kolejną wadą jest fakt, iż wolne
Stopień trudności
Informatyka
śledcza
Informatyka śledcza jest gałęzią nauk sądowych, której celem
jest dostarczanie cyfrowych środków dowodowych popełnionych
przestępstw bądź nadużyć.
63
INFORMATYKA ŚLEDCZA
HAKIN9
11/2009
oprogramowanie może zawierać błędy
w kodzie źródłowym. Fakt ten może
zostać sprytnie wykorzystany przez
obrońców.
Oczywiście decydując się na
korzystanie z bezpłatnych aplikacji
rezygnujemy z profitów, takich jak
ładniejszy interfejs graficzny, bądź
większa liczba funkcji.
Jeżeli naszym priorytetem
jest bezpieczeństwo, powinniśmy
zaopatrzyć się w specjalne urządzenia
stosowane podczas analizy śledczej
zwane blokerem. Pozwala ono na
bezpieczne podłączenie dysku
twardego do interfejsu ATA komputera
ze 100% pewnością, że zawarte na
nim dane nie zostaną w jakikolwiek
sposób naruszone. Jego użycie nie
wymaga żadnej dodatkowej wiedzy ani
sterowników. Wszystkie komendy zapisu
są blokowane, a dysk widziany jest
przez system operacyjny jako normalny
napęd. Ceny blokerów znajdują się w
przedziale 200 – 800 euro.
Przygotowując się do stworzenia
duplikatu dysku będziemy potrzebowali
większy nośnik danych (dla
bezpieczeństwa około trzech razy, np.
zewnętrzny dysk twardy) sformatowany
w systemie ext3 oraz płytę z systemem
F.I.R.E (Forensic and Incident Response
Environment). Bootowalny obraz płyty
można za darmo pobrać ze strony
http://sourceforge.net/projects/
biatchux/.
Pierwszym krokiem będzie spisanie z
dysku dowodowego (etykiety lub ze strony
producenta) wielkości i liczby sektorów.
Następnie oczyścimy, opróżnimy dysk, na
którym zduplikujemy oryginał. W F.I.R.E lub
dowolnym innym systemie wydajemy np.
takie polecenia:
•
dcfldd if=/dev/zero of=/dev/
hda bs=8k conv=noerror,sync
(wypełnienie dysku zerami)
•
fdisk /dev/hda
(stworzenia nowej
partycji).
Po ponownym uruchomieniu komputera
należy również zmienić system plików na
ext3.
mkfs -t ext3 /dev/hda1
Zamontujmy nowo utworzony dysk, który
będzie mógł służyć jako dowód w sądzie.
W tym celu wykonujemy następujące
polecenie:
mount /dev/hda1 /mnt/hda1
Niekiedy wymagane jest także utworzenie
folderów z numerem sprawy i dowodu.
mkdir /mnt/hda1/case_no
mkdir /mnt/hda1/case_no/evidence_no
W katalogu tworzymy plik tekstowy, w
którym umieszczamy takie informacje
jak nasze dane, organizację, dla której
pracujemy, numer sprawy, jej opis, datę
badania, numer dysku twardego, numery
IP komputera itp. Po opisaniu wyżej
wymienionych informacji podłączmy oba
dyski do komputera. W biosie należy
zaznaczyć bootowanie tylko z napędu
CD, a w napędzie umieszczamy płytę z
systemem F.I.R.E.
Bardzo istotnym krokiem jest
prawidłowe rozpoznanie urządzeń.
Możemy do tego celu użyć polecenia:
dmesg | grep hd
W naszych dalszych badaniach
ustalimy, że /dev/hdc jest prawdziwym,
oryginalnym dyskiem, w którego strukturę
nie możemy ingerować, natomiast /dev/
Rysunek 1.
Zrzut ekranu podczas pracy Autopsy
Rysunek 2.
Autopsy. Widoczne wyniki wyszukiwania frazy drugs
64
PRAKTYKA
HAKIN9 11/2009
hda będzie jego kopią, którą będziemy
analizować.
Teraz zamontujemy /dev/hdc oraz
skopiujemy podstawowe informacje o
dysku do katalogu z dowodami.
mount /dev/hdc1 /mnt/hdc1
cd /mnt/hda1/case_no/evidence_no
dmesg | tee case_no_dmesg.txt
hdparm –giI /dev/hdc | tee case_no_
hdparm.txt
Później zahashujemy stworzone pliki oraz
dysk. Wykonujemy polecenia:
md5sum *.txt | tee case_no_txt_
hashes.txt
md5sum /dev/hda | tee serial_
no.original.md5.txt
Przystępujemy teraz do stworzenia
obrazu dysku /dev/hdc. Najlepiej
do tego celu wykorzystać odmianę
aplikacji dd, stworzoną przez U.S.
Department of Defense Computer
Forensics Lab – dcfldd. Szczegółową
pomoc uzyskamy wpisując w
terminalu dcfldd –help. Parametry,
które mogą okazać się przydatne to
np.
-conv sync,noerror -bs=8k
.
Noerror
spowoduje, iż proces
kopiowania danych nie zostanie
przerwany podczas napotkania
błędu odczytu.
Sync
z koleji zamiast
przeskakiwać uszkodzony sektor,
wypełni go zerami.
Bs
oznacza rozmiar
bloku danych. Domyślna wartość to
512 kb
. Dobierając ten parametr
można wzorować się wynikami
hdparm
. Większa wartość oznacza
większą wydajność procesu, jednak
w przypadku napotkania na błąd
odczytu tracony jest cały blok danych.
Przykładowe wywołanie programu
może wyglądać tak:
dcfldd if=/dev/hdc of=/mnt/hda1/case_
no/evidence_no/serial_no.dd
conv=noerror,sync
Po zakończeniu procesu wyłączamy
komputer i odłączamy dysk z
prawdziwymi danymi. Kolejnym krokiem
jest analiza danych.
Dużym ułatwieniem w
zamontowaniu stworzonego obrazu
dysku jest instalacja specjalnych
sterowników NASA Enhanced
Loopback.
Zminimalizują one liczbę poleceń
oraz zwiększą bezpieczeństwo całego
procesu. Można je pobrać ze strony
ftp://ftp.hq.nasa.gov/pub/ig/ccd/
enhanced_loopback/.
Po zainstalowaniu możemy
zamontować uprzednio stworzony obraz
dysku. W tym celu jako root możemy
wydawać takie polecenia:
losetup /dev/loopa serial_no.dd
W celu wylistowania tablicy partycji:
sfdisk -luS /dev/loopa
Natomiast po skończonej analizie
danych, by odinstalować obraz
wpisujemy:
losetup -d /dev/loopa
Przydatna także będzie baza hash
szkodliwego oprogramowania
opublikowana przez U.S. National
Institute of Standards and Technology
znana pod nazwą NSRL. Możemy ją
pobrać ze strony http://www.nsrl.nist.gov/
Downloads.htm#isos. Będzie nam
potrzebna aby korzystać z następnych
narzędzi.
Głównym narzędziem, który
udostępnia nam gotowe skrypty jest
pakiet The Sleuth Kit (TSK). Jest to zbiór
wcześniej przygotowanych poleceń
używanych podczas informatyki
śledczej. TSK zazwyczaj używany jest
wraz z graficznym interfejsem Autopsy.
Cały pakiet można za darmo pobrać
ze strony domowej projektu http:
//www.sleuthkit.org. Instalacja obu
programów przebiega standardowo.
Po jej zakończeniu w Autopsy należy
podać lokalizację TKS, bibliotek
Popularne linuksowe narzędzia stosowane w informatyce śledczej
• dd – kopiuje plik (domyślnie ze standardowego wejścia na standardowe wyjście), z wybieranymi przez użytkownika rozmiarami bloków
wejścia/wyjścia; podczas kopiowania opcjonalnie wykonuje na nim konwersje.
• dcfldd – bardziej zaawansowana wersja dd. M.in. pokazuje pasek postępu podczas kopiowania plików.
• sfdisk/fdisk – używane w celu określanie struktury dysku.
• md5sum/sha1sum – oblicza i sprawdza skróty plików w formatach MD5 lub SHA.
• grep – przeszukuje plik pod kątem podanego wzorca.
• file – określa typ pliku (text, executable, data).
• disktype – określa format dysku lub jego obrazu. Podobne działanie do polecenia file, lecz zawierające dużo więcej informacji
• xxd – tworzy zrzut heksowy podanego pliku na standardowe wyjście. Może także przetworzyć zrzut heksowy z powrotem do oryginalnej,
binarnej formy.
• fatback – odzyskuje usunięte pliki z systemu plików FAT.
• stegdetect – odnajduje próbę wykorzystania steganografii, czyli ukrywania informacji w plikach graficznych.
• galleta – Galleta (w języku hiszpańskim oznacza ciasteczko) analizuje pliki cookie IE.
• pasco – Pasco (po łacinie oznacza przeglądać) analizuje aktywność IE.
• LibPST – konwertuje pocztę w formacie Outlook/Outlook Express do linuksowego mboxa.
• chkrootkit – przeszukuje lokalny dysk w poszukiwaniu śladów rootkitów.
• PlainSight – bootowalne środowisko, pozwalające niedoświadczonym użytkownikom przeprowadzać pierwsze próby analizy
śledczej.
• Vinetto – narzędzie służące badaniom plików Thumbs.db.
66
PRAKTYKA
HAKIN9 11/2009
NSRL oraz tzw. evidence locker, czyli
miejsce, w którym przechowywane
będą dowody zebrane przez program.
Aplikacja może działać w dwóch
trybach: normal oraz live. W tym
pierwszym pobierany jest obraz dysku
lub partycji, w drugim analizowany
jest aktualnie działający system (bez
ingerencji w dane). Autopsy pozwala
nam w intuicyjny sposób analizować
takie dane jak:
• Files : możliwość przeglądania
struktury i zawartości plików i
katalogów. Również usunięte dane są
wyświetlane. Możliwość sortowania
wyników.
• Meta data: po podaniu adresu
struktury danych na dysku twardym
zostaną wyświetlone dokładne
informacje na temat tego miejsca.
• Data Unit : podobnie jak wyżej z
różnicą, iż podawany jest adres
bloku pamięci. Zwraca jego
zawartość w różnych postaciach
(ASCII, hex). Jeżeli w obszarze będą
jakiekolwiek pliki, aplikacja wyświetli
ich nazwy.
• Keyword Search: przeszukuje pamięć
pod kątem podanego ciągu znaków.
• File Type Categories : sortowanie
plików pod kątem ich typu. Np.
wszystkie pliki JPEG i GIF zostaną
zidentyfikowane jako obrazy.
Możliwość podawania wzorców z
NSRL
I kilka innych odrobinę mniej istotnych.
Dodatkowo każdy tryb potrafi generować
specyficzny raport, zawierający wszystkie
potrzebne informacje.
Przydatną aplikacją może okazać
się także Foremost. Jej założeniem
jest odzyskiwanie danych poprzez
analizę nagłówków, stopek i struktur
plików. Można ją pobrać ze strony http:
//foremost.sourceforge.net/. Przykładowe
użycie służące wyszukaniu plików GIF
oraz PDF:
foremost -t gif,pdf -i serial_no.dd
Po skończonej analizie możemy
zarchiwizować obraz na płytach CD.
Uprzednio jednak zabezpieczmy go i
stwórzmy sumę MD5.
•
chmod a-w serial _ no.dd
(przypisanie stanu read-only do pliku
z obrazem),
•
md5sum serial _ no.dd
(stworzenie
sumy MD5),
•
gzip –c serial _ no.dd | split
–b 699m – serial _ no.dd.gz
(kompresujemy i dzielimy plik na
części po 700MB),
•
md5sum serial _ no.dd* >>
serial _ no _ chunks.md5.txt
(hashujemy wszystkie części).
W celu rekonstrukcji całości wydajemy
polecenie:
cat serial_no.dd.gz* | gunzip - >
serial_no_out.dd
Podsumowanie
Podsumowując, informatyka śledcza
jest interesującą i często zaskakującą
gałęzią nauki. Należy sobie jednak
uświadomić, iż nie wszystkie dane da
się odzyskać w ten sposób. Istnieją
specjalne programy wielokrotnie
nadpisujące wskazane sektory na dysku
w sposób uniemożliwiający ich późniejszy
rekonesans.
Także fizyczne zniszczenie dysku
niesamowicie komplikuje sytuację
(choć istnieją firmy zajmujące się takimi
przypadkami).
Informacje dowodowe uzyskane
za pomocą informatyki śledczej mogą
okazać się decydujące dla sprawy
sądowej. Nie należy jednak zapominać,
iż osoby posiadające kompromitujące
je materiały na dyskach lub innych
nośnikach, są w stanie szybko się
ich pozbyć (zniszczyć), wtedy dalsza
analiza zostaje utrudniona, często
wręcz niemożliwa.
Rysunek 3.
Zależność ilości informacji od czasu który upłyną od ich usunięcia na
serwerze pracującym pod kontrolą systemu Unix
W Sieci
• http://www.opensourceforensics.org/tools/unix.html – darmowe narzędzia stosowane w informatyce śledczej,
• http://www.forensics.nl/presentations – darmowe prezentacje tematów powiązanych z informatyką śledczą.
Norbert Kozłowski
Student Automatyki i Robotyki na Politechnice
Wrocławskiej. Wolne chwile wykorzystuje na pogłębienie
wiedzy z zakresu bezprzewodowej wymiany danych,
elementów języków programowania (Perl, Python, Ansi
C). Członek grupy u-C.
Kontakt z autorem: khozzy@gmail.com