background image

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ć. 

background image

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

background image

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.

background image

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