tsk alat za forenzičku analizu - lssnevena.lss.hr/recordings/fer/predmeti/racfor/2018/... · 2019....
TRANSCRIPT
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
RAČUNALNA FORENZIKA
SEMINARSKI RAD
TSK alat za forenzičku analizu
Andrea Petrović
Zagreb, siječanj 2019.
Sadržaj
1. Uvod ............................................................................................................................ 1
2. Alat TSK ...................................................................................................................... 2
3. Naredbe alata TSK ....................................................................................................... 3
3.1. Naredbe alata TSK vezane za datotečni sustav .................................................... 5
3.2. Ostale naredbe alata TSK ..................................................................................... 6
3.3. Sučelje Autopsy .................................................................................................... 8
4. Zaključak ..................................................................................................................... 9
5. Literatura ........................................................................................................................ 10
Sažetak ............................................................................................................................... 11
1
1. Uvod
Forenzika je znanost koja primjenom određenih metodologija i tehnika, utvrđuje činjenice
potrebne za sudski ili upravni postupak. Jedna od grana forenzike je digitalna forenzika, koja
prikuplja, analizira i prezentira podatke koji se nalaze na memorijskim uređajima.
Prije početka analize potrebno je zaprimljeni materijal prekopirati na drugi disk.
Zaprimljeni materijal ili disk je potrebno odložiti na sigurno mjesto, a nad kopijom se provodi
analiza. Popularan alat za analizu podataka je TSK (eng. The Sleuth Kit).
TSK (eng. The Sleuth Kit) je alata otvorenog koda s kojim je pojednostavljen proces
digitalne forenzike. Alat omogućuje korisniku analizu tvrdoga diska ili nekog drugog uređaja
za pohranu podataka, neovisno o operacijskom sustavu. Korisnik dobiva prikaz svih datoteka,
čak i ako su izbrisane. Uz detaljan popis datoteka korisnik može tražiti, posložiti, te pregledavati
meta podatke. Alat omogućuje i vremenski prikaz aktivnosti neke datoteke što je vrlo bitno
prilikom analize. Kako bi se uporaba samog programa olakšala i ubrzala, napravljeno je
grafičko sučelje pomoću kojeg korisnik, umjesto upisa naredbi, upravlja mišem.
Alat TSK je postavio temelje analize digitalnih podataka. Sastavni je dio mnogih Linux
distribucija za testiranje sigurnosti, te forenzičke analize. Primjenjuje se i na većim serverskim
sustavima kako bi se moguće nepravilnosti odmah zabilježile.
U ovom dokumentu će biti objašnjen rad TSK alata, komande pomoću kojih se izvršava
analiza nad podacima, te korisničko sučelje Autopsy.
2
2. Alat TSK
The Sleuth Kit (TSK) je alat otvorenog koda koji se koristi za forenzičku analizu slike
tvrdog diska. Tijekom analize se kreira diskovna hijerarhija , tj. popis svih direktorija i datoteka
te jednostavna navigacija nad njima. Alat automatski otkriva sve datoteke koje su bile
pohranjene na tvrdi disk, bile one izbrisane ili ne.
TSK je zapravo, skup alata otvorenog koda za provedbu digitalne forenzike. TSK
automatizira i pojednostavljuje određene korake te time omogućuje forenzičaru da se
koncentrira na same dokaze, a ne na rad samog alata. Alat TSK se sastoji od dva dijela:
• naredbe alata TSK,
• dodatnih biblioteka za programere.
Sam TSK alat ne posjeduje grafičko sučelje već se naredbe upisuju u komandnu liniju.
Kako bi se program prilagodio korisniku napravljen je TSK API. Također, kako bi se koristile
sve funkcije programa, napravljen je Autopsy, grafička verzija TSK alata.
Alat TSK ima sedam slojeva, a za svaki sloj se koriste različite naredbe:
Redni broj sloja Naziv sloja Naredbe
1 Sloj diska disk_sreset, disk_stat
2 Sloj slike datoteke img_stat
3 Sloj upravljanja medijem mmls
4 Sloj datotečnog sustava fsstat
5 Sloj meta podataka ils, icat, istat, ifind
6 Sloj podataka dls, dcat, dstat, dcalc
7 Sloj korisničkog sučelja fls, ffind
Tablica 1. Slojevi alata TSK i njihove naredbe
Neki diskovi mogu imati zaštićena područja, koja se ne mogu uvijek vidjeti. Zbog toga,
prilikom kopiranja diska sa zaštićenim područjima, ova područja se neće prekopirati. Zbog toga
se koristi naredba disk_stat, koja otkriva postojanje ovih područja, dok naredba disk_sreset
detektira i briše ova zaštićena područja.
lss@linux:~$ disk_stat /dev/sdb lss@linux:~$ disk_sreset /dev/sdb
3
Ako nismo sigurni koji je tip slika datoteke, tada se koristi naredba img_stat koja ispisuje
detaljne informacije o slici datoteke. U narednim poglavljima će biti detaljnije opisane neke
naredbe alata TSK.
3. Naredbe alata TSK
Datotečni sustav je skup alata odnosno biblioteka, koje forenzičaru omogućuju
pregledavanje datoteka na tvrdom disku. S ovim alatom je moguće pročitati datoteke koje
su izbrisane te datoteke kojima je izmijenjen format. Ovo poglavlje se bavi nekim naredbama
koje se koriste u sklopu alata TSK. Prije nego se započne sa samom analizom potrebno je
napraviti sigurnosnu kopiju zaprimljenog materijala. To se može napraviti s naredbom dd1
sljedećom naredbom:
Ova naredba će kopirati sve podatke s uređaja (npr. tvrdi disk) sdb u datoteku kopija.dd.
Podatke se može kopirati i na drugi tvrdi disk ili USB memoriju, ali je lakša uporaba programa
s datotekom. Nakon što je napravljena datoteka možemo je otvoriti sa alatom TSK. Za
otvaranje se koriste naredbe mmls i fls.
Mmls naredba prikazuje detaljan popis particija i praznog prostora. Naredba fls prikazuje
popis datoteka te stavlja posebnu oznaku na izbrisane datoteke. Svaki datotečni sustav sadrži
na svojem početku tablicu, odnosno popis svih datoteka koje se nalaze na njemu. Kada korisnik
izbriše neku datoteku, ona se ne uklanja s diska, već se samo miče s liste. Kada naredba fls čita
disk, ona ne čita tu listu, već na temelju posebnih oznaka za kraj, a time i početak iduće datoteke,
zaključuje da se radi o datoteci. Ako je korisnik na mjestu prijašnje datoteke zapisao novu, onda
će naredbi fls biti teže, ako ne i nemoguće pročitati prijašnju datoteku.
1 dd je Unix alat namjenjen kopiranju bitova podataka.
dd if=/dev/sdb of=/home/lss/kopija.dd
lss@linux:~$ mmls kopija.dd
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors
Slot Start End Length Description
00: ----- 0000000000 0000000000 0000000001 Primary Table (#0)
01: ----- 0000000001 0000000062 0000000062 Unallocated
02: 00:00 0000000063 0007823654 0007823592 Win95 FAT32 (0x0B)
03: ----- 0007823655 0007827455 0000003801 Unallocated
4
U ispisu naredbe fls može se zaključiti da je datoteka ekst.txt izbrisana, a ostale se nalaze
još uvijek na disku. Kako je u ispisu naredbe mmls vidljivo da je prostor do adrese 63 prazan,
naredbi fls je kao parametar zadan broj, koji predstavlja upravo tu adresu, pa naredba fls počinje
ispisivati datoteke od adrese 63.
Kako bi neku datoteku snimili na vlastiti medij za pohranu, koristimo naredbu icat. Ovoj
naredbi se može predati adresa s koje treba tražiti datoteku.
U ovom slučaju, gornja naredba pretražuje datoteku od lokacije 63. Svakoj datoteci je
dodijeljen broj, pa datoteka kopija.dd ima broj 4 koji se pretražuje u spomenutom prostoru i
kopira u novu datoteku kopija_tekst.txt. Naredba icat se može koristiti i za izbrisane datoteke,
samo ako ima pravilnu MD52 vrijednost.
Ako želimo provjeriti može li se neka datoteka spasiti, koristimo naredbu istat. Istat ispisuje
na kojoj se poziciji u diskovnoj hijerarhiji nalazi datoteka, prikazuje je li datoteka izbrisana ili
očuvana, koje je vrste datoteka, veličinu, ime, vrijeme zapisivanja, pristupa, te stvaranja
datoteke, prostor koji zauzima, te može li se datoteka spasiti ili ne.
2 MD5 – kriptografski algoritam s visokom razinom zaštite od napada. Prevodi podatke u 128-bitni sažetak.
lss@linux:~$ fls -o 63 kopija.dd
r/r * 3: _ekst.txt
r/r 4: tekst.txt
r/r 5: popis.txt
lss@linux:~$ icat –o 63 –r kopija.dd 4 > kopija_tekst.txt
lss@linux:~$ istat –o 63 kopija.dd 3 Directory Entry: 3
Not Allocated
File Attributes: File, Archive
Size: 0
Name: _ekst.txt
Directory Entry Times:
Written: Thu Feb 25 20:33:44 2010
Accessed: Thu Feb 25 00:00:00 2010
Created: Thu Feb 25 20:33:42 2010
Sectors:
Recovery:
File recovery not possible
5
Vrijeme pristupa, zapisivanja i stvaranja datoteke je vrlo bitna informacija. Ako je računalo
privremeno bilo kod druge osobe, a ne kod optuženika, te ako se to vrijeme preklapa s
vremenom ilegalne radnje, to znači da optuženik nije imao kontakta s njome. Također su bitni
i atributi datoteke. Ako je optuženik promijenio nastavak datoteke, npr. datoteku slika.jpg je
preimenovao u popis.txt, onda ćemo uz pomoć atributa doznati da se zapravo radi o slici. Atribut
datoteke se doznaje iz njenog zaglavlja, a ne imena, odnosno nastavka. Svaka datoteka na
svojem početku sadrži tablicu s podacima o autoru, vremenu nastanka, vrsti datoteke (atribut) i
ostale informacije. Vidljivo se ova datoteka ne može spasiti, ali se naredbom strings možda
može pročitati kao tekst. Kako se može vidjeti, naredba strings daje ispis cijele slike u obliku
teksta. Ako se ni s ovom naredbom ne uspije doznati sadržaj datoteka, onda se ona ne može
spasiti.
Ako je, za potrebe analize, nužno pregledati heksadecimalne vrijednosti datoteke, to se
može napraviti s naredbom hexdump, a naredba će ispisati heksadecimalne vrijednosti cijele
datoteke.
3.1. Naredbe alata TSK vezane za datotečni sustav
Osim naredbi koje su vezane uz datoteke, TSK alat sadrži i naredbe koje otkrivaju
informacije o samom datotečnom sustavu i vremenskoj aktivnosti računala. Tu spada naredba
fsstat.
lss@linux:~$ strings –tx kopija.dd 7e03 mkdosfs
7e46 K FAT32
7e77 This is not a bootable disk. Please insert a bootable floppy and
7eba press any key to try again ...
8000 RRaA
81e4 rrAa
8a03 mkdosfs
8a46 K FAT32
8a77 This is not a bootable disk. Please insert a bootable floppy and
8aba press any key to try again ...
77e601 EKST TXT
3 77e610 Y<Y<
77e620 TEKST TXT
77e630 Y<Y<
77f600 TEKST IZ DATOTEKE!!
lss@linux:~$ hexdump –C kopija.dd
6
Iz rezultata dobivenih ovom naredbom možemo zaključiti da se radi o FAT32, te se
dobivaju sve informacije o ovom datotečnom sustavu. Kako je FAT32 datotečni sustav dosta
opsežan, ovdje nećemo detaljno ulaziti u analizu ispisa ove naredbe.
3.2. Ostale naredbe alata TSK
Osim naredbi koje smo spomenuli u prethodnom dijelu, TSK ima i neke dodatne naredbe.
U nastavku su navedene ove naredbe uz kratki opis njihove funkcionalnosti.
Potpuno automatizirane naredbe su naredbe koje umjesto pojedinačnih datoteka uzimaju
cijeli disk i obrađuju sadržaj. U ovu skupinu spadaju sljedeće naredbe:
• tsk_comparedir – uspoređuje hijerarhiju lokalnog direktorija sa sadržajem slike,
lss@linux:~$ fsstat –o 63 kopija.dd
FILE SYSTEM INFORMATION
-------------------------------------------
File System Type: FAT32
OEM Name: mkdosfs
Volume ID: 0x4b871ef2
Volume Label (Boot Sector):
Volume Label (Root Directory):
File System Type Label: FAT32
Next Free Sector (FS Info): 15300
Free Sector Count (FS Info): 7808288
Sectors before file system: 0
File System Layout (in sectors)
Total Range: 0 - 7823591
* Reserved: 0 - 31
** Boot Sector: 0
** FS Info Sector: 1
** Backup Boot Sector: 6
* FAT 0: 32 - 7657
* FAT 1: 7658 - 15283
* Data Area: 15284 - 7823591
** Cluster Area: 15284 - 7823587
*** Root Directory: 15284 - 15291
** Non-clustered: 7823588 - 7823591
METADATA INFORMATION
--------------------------------------------
Range: 2 - 124932930
Root Directory: 2
CONTENT INFORMATION
--------------------------------------------
Sector Size: 512
Cluster Size: 4096
Total Cluster Range: 2 – 976039
FAT CONTENTS (in sectors)
--------------------------------------------
15284 - 15291 (8) -> EOF
15292 - 15299 (8) -> EOF
7
• tsk_gettimes – uzima sve podatke slike i kreira vremensku liniju,
• tsk_loaddb – učitava meta podatke slike u SQLite bazu podataka,
• tsk_recover – uzima izbrisane ili sačuvane datoteke sa slike diska i prebacuje ih u
lokalni direktorij.
Naredbe za pretragu datoteka po imenu su naredbe koje obrađuju strukturu imena
datoteka, koje su tipično smještene u roditeljski direktorij. Naredbu fls smo već obradili, a druga
naredba je ffind koja nalazi sačuvanu ili izbrisanu datoteku koja pokazuje na zadanu strukturu
meta podataka.
Naredbe za meta podatke su naredbe koje obrađuju strukture meta podataka, u kojima se
mogu pronaći informacije o datoteci. Spomenuli smo naredbe icat i istat. Ostale naredbe su:
• ifind – uzima jedinice podataka datoteke, koje su specificirane u adresi meta
podataka,
• ils – daje listu struktura meta podataka i njihov sadržaj.
Naredbe za podatke su naredbe koje obrađuju jedinice podataka kod kojih je sadržaj
pohranjen. Naredbe koje obrađuju podatke su:
• blkcat – uzima sadržaj dane jedinice podataka,
• blkls – lista informacija o jedinicama podataka. Ova naredba može prikazati i
izbrisani prostor datotečnog sustava,
• blkstat – ispisuje statistiku o danoj jedinici podataka,
• blkblkcalc – računa gdje postoje podaci u izbrisanom dijelu slike.
Naredbe dnevnika datotečnog sustava su naredbe koje obrađuju dnevnik onih datotečnih
sustava koji ga imaju. U ove naredbe spadaju:
• jcat – prikazuje sadržaj specifičnog dijela dnevnika,
• jls – lista unosa u dnevnik datotečnog sustava.
Naredbe volumena diska su naredbe koje uzimaju disk ili neki drugi medij za pohranu, i
analiziraju njegove strukture particija. Spomenuta je naredba mmls, a ostale naredbe su:
• mmstat – prikazuje detalje o volumenu sustava,
• mmcat – vraća sadržaj specificiranog volumena na izlaz STDOUT.
8
Spomenuli smo naredbu img_stat koja spada u naredbe za sliku datoteke, a druga ovakva
naredba je img_cat koja prikazuje „sirovi“ sadržaj slike datoteke.
3.3. Sučelje Autopsy
Kako bi se postupak digitalne analize ubrzao i olakšao naprevljen je alat Autopsy. Autopsy
je grafičko sučelje alata TSK, koje korisniku uz pomoć automatiziranih radnji prikazuje
cjelokupnu diskovnu hijerarhiju materijala za obradu. Korisnik uz pomoć izbornika pokreće
navedene naredbe, bez znanja o njihovim imenima te parametrima koje one primaju.
Ovim pojednostavljenjem, te automatiziranim naredbama, alat TSK je postao dostupan široj
javnosti. Na slici 1 je prikazan izgled Autopsy sučelja.
Slika 1 Izgled Autopsy korisničkog sučelja
9
4. Zaključak
Razvojem Interneta se razvija i računalni kriminal, čime se javlja potreba za razvojem alata
s kojima će se nelegalne aktivnosti moći uočiti i ukloniti. Digitalna forenzika je područje koje
nudi rješenje tih problema.
Alat TSK je jedan od najvažnijih alata za provođenje digitalne forenzičke analize. Program
je postavio temeljne algoritme za traženje izbrisanih datoteka, kao i prepoznavanje vrste
datoteka na temelju njenog zaglavlja. Objedinjavanjem velikog broja opcija, alat TSK je postao
brz i snažan alat za analiziranje sustava. Popularizaciji alata TSK je pridonio program Autopsy,
koji je zapravo grafičko sučelje alata TSK.
Alat TSK osim što može čitat i izbrisane podatke na temelju oznaka za početak i kraj
datoteke, može i iz pročitanih fragmenata obnoviti većinu datoteke. Najveći problem
predstavlja slučaj kada je korisnik izbrisao datoteku i na njeno mjesto nekoliko puta zapisao
novu. Tada takvu datoteku nije moguće spasiti, odnosno otkriti.
10
5. Literatura
[1] Laboratorij za sustave i signale, Fakulteta elektrotehnike i računarstva, Sveučilišta u
Zagrebu: TSK - The Sleuth Kit, 2011
[2] https://detektiv-mreza.hr/hr/usluga/digitalna-forenzika-27
[3] Centar informacijske sigurnosti., https://www.cis.hr/dokumenti/tsk-the-sleuth-kit.html
[4] https://www.sleuthkit.org/sleuthkit/desc.php
[5] Chris Marko: Introduction to The Sleuth Kit (TSK), 2005
[6] http://wiki.sleuthkit.org/index.php?title=TSK_Tool_Overview
[7] https://www.sleuthkit.org/autopsy/
11
Sažetak
U ovom seminarskom radu opisana je uloga TSK alata u digitalnoj forenzičkoj analizi, kao
i njegove naredbe pomoću kojih se izvršava forenzička analiza nad podacima sačuvanim na
nekom mediju za pohranu, ali i nad obrisanim podacima. Sastoji se od alata, a svaki od ovih
alata ima ugrađene naredbe koje se izvršavaju upisivanjem u komandnu liniju.
Pomoću ovih naredbi moguće je pronaći zaštićena područja diska, izbrisati ih, kopirati disk
u datoteku, čitati podatke i meta podatke datoteka, pregledavati particije diska i mnoge druge
naredbe pomoću kojih se vrši uspješna forenzička analiza.
Pogodan dodatak TSK alatu je korisničko sučelje Autopsy pomoću kojeg se uvelike
pojednostavljuje analiza.