13
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR FAT16 datotečni sustav Marko Pacadi Voditelj: doc. dr. sc. Predrag Pale Zagreb, siječanj, 2019.

FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

SEMINAR

FAT16 datotečni sustav

Marko Pacadi

Voditelj: doc. dr. sc. Predrag Pale

Zagreb, siječanj, 2019.

Page 2: FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

Sadržaj

1. Uvod ..................................................................................................................... 3

1.1 Datotečni sustav............................................................................................ 3

2. FAT datotečni sustav............................................................................................ 5

2.1 Memorijska struktura s FAT sustava ............................................................. 5

3. Analiza FAT16 memorijskog prostora .................................................................. 6

3.1 MBR .............................................................................................................. 6

3.2 FAT16 Boot sektor (FAT16 Boot Record) ..................................................... 8

3.3 Korijenski direktorija ...................................................................................... 9

3.4 FAT tablica .................................................................................................... 9

3.5 Klasteri ........................................................................................................ 10

4. Razlike FAT16 i FAT32 standarda ..................................................................... 11

5. Zaključak ............................................................................................................ 12

6. Literatura ............................................................................................................ 13

Page 3: FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

3

1. Uvod

Računalna forenzika je znanost koja usko spada u područje digitalne forenzike. Sama digitalna forenzika bavi se skupljanjem, pretraživanje te analizom digitalnih tragova na nekom digitalnom mediju. Najjednostavniji digitalni medij za računalnu forenziku je tvrdi disk. Razlog njegove jednostavnosti je mogućnost trajnog pohranjivanja podataka i programa te njihovo očuvanje prilikom gašenja računala. Iako je na disku sve trajno sačuvano postoji par glavnih izazova s kojima se forenzičar suočava prilikom analize diska. Jedan izazov bi bio kako vratiti obrisane podatke te pronalazak i izvlačenje korisnih podataka s tvrdog diska. Iako je ovo konkretan izazov prilikom analize medija, zapravo je forenzičaru glavni izazov kako interpretirati strukturu zapisa na mediju. Za rješavanje ovog problema potrebno je znati s kojim tipom datotečnog sustava radi medij za pohranu podataka. Bez poznavanje te činjenice teško je i gotovo nemoguće analizirati bilo koji medij za pohranu podataka.

1.1 Datotečni sustav

Datotečni sustav je organizacijska shema napravljena za potrebe organiziranja, spremanja i dohvaćanja podataka iz memorije. Uz formalnu definiciju, datotečni sustav može se opisati i kao apstrakcija jer su podaci na mediju organizirani u apstrakcijska polja. Podaci koje korisnik vidi na računalu predstavljaju najvišu razinu apstrakcije dok sami medij za pohranu predstavlja najnižu razinu apstrakcije. Zbog toga je posao forenzičara da analizira i interpretira podatke od najniže prema višoj razini. Na slici 1 vidi se prikaz apstrakcijskih polja datotečnog sustava.

Slika 1 Apstracija datotečnog sustava [1]

Page 4: FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

4

Podaci na mediju uglavnom su sekvencijski ili nasumično spremljeni. Kod sekvencijskog spremanja podaci se nalaze jedan iza drugog dok su kod nasumičnog podaci nasumično raspoređeni na mediju. Primjer medija s nasumičnim spremanjem koji ujedno predstavlja najnižu raznu apstrakcije je tvrdi disk. Bitni dijelovi diska su:

• Glava → uređaj s kojim se podaci čitaju i pišu na disk

• Staza → cirkularni uzorak na ploči diska na kojoj se nalaze podaci

• Cilindar → sastoji se od paralelnih staza koje se nalaze na dvije ili više diskovnih ploča

• Sektor → zauzima dio podataka na traci i čini najmanju moguću količinu podataka koji se može zapisati na disk

Na slici 2 vidi se grafički prikaz fizičke organizacije podataka na disku.

Slika 2 Fizička organizacija podataka na disku [3]

Kod datotečnih sustava još treba napomenuti da su neovisni o mediju na kojem se nalaze. Također se na istom mediju i na različitim particijama mogu nalaziti različiti datotečni sustavi. Pojedini datotečni sustavi razlikuju se po svojstvima i po fizičkom rasporedu na mediju. Neki od poznatijih sustava za Windows OS su FAT12, FAT16, FAT32, exFAT te NTFS, dok se za Linux OS primjenjuju ext, ext2, ext3 te ext4.

Page 5: FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

5

2. FAT datotečni sustav

FAT (engl. File Allocation Table) je jednostavni datotečni sustav koji služi za održavanje i organizaciju podataka na disku. Ime je dobilo po bitnoj komponenti koja se nalazi u njegovoj strukturi, a to je tablica za alokaciju datoteka. Originalni FAT standard tj. FAT12 dizajniran je za organizaciju tvrdih diskova i koristi je ukupno 12 bitova. S porastom veličine memorije na tvrdim diskovima došlo je do potrebe da se dizajnira FAT16 standard koji koristi 16 bita. Taj standard se najčešće koristi kod prijenosnih memorija kao što su USB ili SD kartica za digitalnu kameru. Postoji još i FAT32 standard koji se upotrebljava kod većih memorija jer koristi 32 bita. Ovi standardi po svojoj izradi su vrlo jednostavni što rezultira njihovom smanjenom sigurnošću. Zbog toga se rijetko koriste kod većih memorija kod koji je bitno da su podaci sigurni te se najčešće koriste kod manjih prijenosnih memorija. Jedino se FAT32 još uvijek koristi kod većih memorija no i on se naknadno zamjenjuje uporabom NTFS datotečnog sustava koji je sigurniji i efikasnije iskorištava prostor memorije.

2.1 Memorijska struktura s FAT sustava

Strukturu memorijskog prostora s FAT datotečnim sustavom čine MBR(engl. Master Boot Record), FAT Boot sektor, FAT tablica, korijenski direktorij te klasteri s podacima. Tablica 1 prikazuje jednostavnu strukturu FAT sustava.

Tablica 1 FAT struktura [5]

Iz tablice 1 može se primijetiti da svaki blok ovisi o informacijama iz prethodnog bloka. Informacije u tim blokovima ovise o protokolima pojedinog FAT standarda. Svaki FAT standard određuje različite lokacije adresa i sadržaj u pojedinim blokovima te se zbog toga ti standardi razlikuju. Kroz analizu FAT16 standarda, u sljedećem je poglavlju prikazana jedna od mogućih struktura FAT datotečnih sustava.

Memorijski uređaj

Master Boot Record

FAT Boot sektor

FAT tablica

Korijenski direktorij

Klasteri

Page 6: FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

6

3. Analiza FAT16 memorijskog prostora

3.1 MBR

MBR (Master Boot Record) je memorijski sektor koji se uvijek nalazi na samome početku memorije (memorijska lokacija 0) i zauzima ukupno 512 bajta. To je prvi set podataka koje računalo pročita prilikom paljenja i zbog toga mu je glavna svrha pokretanje operacijskog sustava. U tablici 2 prikazana je struktura MBR.

Tablica 2 Struktura MBR [5]

Pomak Opis Veličina

000h Bootstrap kod 446 bajta

1BEh

Particijska tablica

Particija 1 16 bajta

1CEh Particija 2 16 bajta

1DEh Particija 3 16 bajta

1EEh Particija 4 16 bajta

1FEh Magični broj (55h AAh) 2 bajta

Bootstrap kod je izvršivi kod kojem je svrha pronaći aktivnu (bootabilnu) particiju na disku skeniranjem particijskih tablica. Tamo saznaje lokaciju početnog sektor aktivne particije i vrši kopiranje programa u memoriju računala. Zatim pokreče učitani program tj. pokreče operativni sustav na računalu. Sadržaj particijske tablice prikazan je u tablici 3.

Na kraju MBR nalazi se magični broj. To je polje od 2 bajta kojem je vrijednost 55h AAh. Njime se označava kraj MBR sektora na memorijskom prostoru.

Page 7: FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

7

Tablica 3 Stuktura particijske tablice [5]

Pomak Opis Veličina

00h Stanje particije 1 bajt

01h Početak pozicija glava 1 bajt

02h Početna pozicija cilindra/sektora

2 bajta

04h Tip particije 1 bajt

05h Kraj pozicije glave 1 bajt

06h Kraj pozicije cilindra/sektora

2 bajta

08h Početni sektor 4 bajta

0Ch Broj sektora u particiji 4 bajta

Kod particijske tablice treba napomenuti da su polja vezana uz glavu, cilindar i sektor relevantna samo ako se radi o mehaničkom tipu tvrdog diska. Flash memorije ili SSD diskovi ne sadrže ove dijelove.

Page 8: FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

8

3.2 FAT16 Boot sektor

MBR unutra FAT datotečnog sustava pruža informaciju gdje se nalazi prva particija pomoću particijske tablice. Na toj prvoj particiji nalazi se FAT16 Boot sektor koji sadrži izvršni kod operacijskog sustava te informacije korisne za izračunavanje veličine i položaja drugih regija u memoriji. Veličina boot sektora je 512 bajta i nalazi se na početku particije. Tablica 4 prikazuje strukturu FAT16 boot sektora.

Tablica 4 Struktura FAT16 boot sektora [5]

Pomak Opis Veličina

000h Naredba skoka 1 bajt

003h OEM naziv 8 bajta

00Bh Broj byte-ova po sektoru 2 bajta

00Dh Broj sektora po klasteru 1 bajt

00Eh Broj rezerviranih sektora 2 bajta

010h Broj FAT kopija 1 bajt

011h Broj korijenskih direktorija 2 bajta

013h Broj sektora <32MB 2 bajta

015h Opisnik medija 1 bajt

016h Broj sektora unutar FAT 2 bajta

01Ah Broj glava 2 bajta

01Ch Broj skrivenih sektora u particiji

4 bajta

020h Broj sektora >=32MB 4 bajta

024h Drive broj 2 bajta

026h Proširen Boot potpis 1 bajt

027h Serijski broj particije 4 bajta

02Bh Volume oznaka particije 11 bajta

036h FAT naziv (FAT16) 8 bajta

03Eh Izvršni kod 448 bajta

1FEh Magični broj (55h AAh) 2 bajta

Page 9: FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

9

3.3 Korijenski direktorija

Korijenski direktorija je područje memorije koju čini sektor (ili više sektora) koji sadrže 32 bajtne zapise o datotekama sadržanim u korijenskom direktoriju. Ti zapisi sadrže podatke vezane uz datoteke kao npr. naziv datoteke i ekstenzija datoteke. Maksimalno ograničenje je da se unutar korijenskog direktorija može nalaziti ukupno 512 zapisa. U tablici 5 je dan prikaz strukture datoteke zapisan u korijenskom direktoriju.

Tablica 5 Struktura datoteke [5]

Pomak Opis Veličina

00h Naziv datoteke 8 bajta

08h Ekstenzija datoteke 3 bajta

0Bh Atributi datoteke 1 bajt

16h Vrijeme stvaranja 2 bajta

18h Datum stvaranja 2 bajta

1Ah Početni klaste 2 bajta

1Ch Veličina datoteke 4 bajta

3.4 FAT tablica

FAT tablica sadrži lokacije svih dijelova datoteka i kako su ti dijelovi povezani. To je postignuto tako da tablica sadrži unos za svaki klaster na particiji koji sadrži podatake. Svaki klaster u sebi sadrži pokazivač na idući klaster u datoteci ili oznaku za kraj datoteke (FFFFh). Tako se stvara povezana lista kojom se tvori datoteka. Treba napomenuti da u memoriji uvijek postoje dvije (ili više) kopija FAT tablice kako bi se tablica očuvala u slučaju da se u njoj dogodi pogreška. Na slici 3 vidi se grafički prikaz FAT tablice.

Slika 3 Primjer FAT tablice [4]

Page 10: FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

10

3.5 Klasteri

Klasteri s podacima se u memoriji nalaze neposredno nakon korijenskog direktorija. Bitna stvar kod stvaranja novog upisa u FAT tablicu je da su u memoriji prva dva klastera rezervirana za FAT16 Boot sektor i korijenski direktorij. Također s 0000h se označava otvoreni klaster kako bi FAT tablica prilikom stvaranja novog upisa znala koji je klaster slobodan. Sve bitne informacije o značajkama klastera nalaze se u FAT boot sektoru. U tablici 6 nalazi se popis kodova koji se koriste prilikom unosa klastera u FAT tablicu.

Tablica 6 FAT kodovi za klaster [6]

FAT kod Značenje

0000h Slobodan klaster

0002h – FFEFh Iskorišten, sljedeći klaster datoteke

FFF0h – FFF6h Rezerviran klaster

FFF7h Loš klaster

FFF8h – FFFFh Iskorišten, zadnji klaster datoteke

Page 11: FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

11

4. Razlike FAT16 i FAT32 standarda

FAT32 standard je nastao nakon FAT16 standarda. Iako oba standarda pripadaju familiji FAT sustava postoje određene razlike među njima. FAT32 ima sličnu strukturu u memoriji kao FAT16, ali prije svega se razlikuju u strukturi FAT boot sektora. Kod FAT32 je porastao i broj zapisa unutar korijenskog direktorija. To je postignuto tako da se korijenski direktorij ne nalazi na fiksnom i ograničenom mjestu iza FAT tablice već se nalazi unutar prostora s podacima. Na slici 4 vidi prikaz struktura FAT16 i FAT32.

Slika 4 Usporedba struktura FAT16 i FAT32 [7]

Kod FAT32 je ograničenje za particiju 2 TB dok je kod FAT16 ograničenje 4 GB. Gledajući ova ograničenja, FAT32 standard prikladniji za korištenje na većim tvrdim diskovima dok je FAT16 prikladniji za korištenje kod malim memorijskih prostora kao flash memorija. Također se smatra da FAT32 iskorištava 10-15% efikasnije memoriju zbog toga što koristi manje klastere.

Page 12: FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

12

5. Zaključak

Za samu analizu FAT datotečnog sustava potrebno je pogledati nekoliko stvari. Prije svega potrebno je prvo analizirati MBR. Iz MBR-a je moguće saznati točnu lokaciju prve particije u memoriji. Daljnjim pozicioniranjem na particiju potrebno je analizirati FAT Boot sektor. Pomoću njega je moguće utvrditi o kojem se FAT datotečnom sustavu radi te ostale informacije vezane za taj sustav kao npr. broj sektora po klasteru. Forenzičaru je vrlo bitno da sazna o kojem se sustavu radi kako bi što detaljnije mogao iščitat Boot sektor. Nakon prikupljenih informacija iz Boot sektora, moguće je započeti samu analizu memorijskog prostora uz pomoć FAT tablica, korijenskog direktorija i klastera. Ovakvom analizom forenzičar unutar particije može detektirati sve datoteke i direktorije. Također ako je forenzičar upoznat s manama FAT sustava moguće je detektirati pojedina neiskorištena polja u memoriji. Ta polja mogu sadržavati tajne podatke koje bi osoba htjela sakriti. Provodeći ove korake, forenzičar ima mogućnost uspješnog detektiranja skrivenih podataka i otkrivanja tragova o potencijalno sumnjivim radnja koje su spremljene u memoriju.

Page 13: FAT16 datotečni sustav - LSSnevena.lss.hr/recordings/fer/predmeti/racfor/2018/seminari_2018_20… · 3.2 FAT16 Boot sektor MBR unutra FAT datotečnog sustava pruža informaciju gdje

13

6. Literatura

[1] Nuno Santos, File Systems Forensics, https://fenix.tecnico.ulisboa.pt/downloadFile/1689468335577710/csf-03-part2.pdf

[2] Luka Ruklić, Predrag Pale, Forenzika datotečnih sustava, https://www.fer.unizg.hr/_download/repository/RacFor-Filesystem-Slides-v10-pp.pdf

[3] Leonardo Jelenković, Datotečni sustav, http://www.zemris.fer.hr/~leonardo/os/dodatno/Osnovni_koncepti_OSa/OS_07_datotecni_sustav.pdf

[4] FAT File Systems. FAT32, FAT16, FAT12, http://www.ntfs.com/fat-systems.htm

[5] Allan Evans, Fat16 Interface for MSP430, http://www.digitalspirit.org/file/index.php/obj-download/docs/fat/appnote_fat16.pdf

[6] FAT16 Structure Information, http://home.teleport.com/~brainy/fat16.htm

[7] FAT12 FAT16 FAT32 Layouts Compared, http://www.c-jump.com/CIS24/Slides/FAT/F01_0050_fat12_fat16_fat32_lay.htm