84
TALLINNA TEHNIKAÜLIKOOL AUTOMAATIKAINSTITUUT Automaatjuhtimise ja süsteemianalüüsi õppetool IAY34LT Terry London INFOTEHNOLOOGILISTE EKSPERTIISIDE UURINGUD Magistritöö Juhendaja: dots. R. Paluoja ……… Lõpetaja: Terry London ..…….. TALLINN 2008

Infotehnoloogiliste ekspertiiside uuringud

Embed Size (px)

DESCRIPTION

Infotehnoloogiliste ekspertiiside uuringud - magistritöö. Terry London 08.09.2008. Tallinna Tehnikaülikool. Käesolevas magistritöös antakse ülevaade infotehnoloogiaekspertiiside läbiviimisest ja tõendite esitlemisest kohtus, käsitletakse NT-põhiste Windows operatsioonisüsteemide ja NTFS failisüsteemi toimimist ning uuritakse süsteemi iseärasuste rakendamist ekspertarvamuse andmisel. Töös analüüsitakse operatsioonisüsteemi Microsoft Windows XP ja selle failisüsteemi NTFS kohtuinfotehnoloogilise ekspertiisi vaatenurgast. Magistritöö kirjutamist alustati Politseiameti halduses asuva Kohtuekspertiisi ja Kriminalistika Keskuse (KEKK) dokumendiosakonna infotehnoloogiavaldkonna ekspertiisilabori arendustööga paralleelselt. Töö tulemuseks on kõrgemal tasemel arvutiekspertide ning vaatluste läbiviijate juhendmaterjal ning uurimustöö NTFS failisüsteemist. Töö koosneb seletuskirjast 84 lehel ja sisaldab 2 lisa.

Citation preview

Page 1: Infotehnoloogiliste ekspertiiside uuringud

TALLINNA TEHNIKAÜLIKOOL

AUTOMAATIKAINSTITUUT

Automaatjuhtimise ja süsteemianalüüsi õppetool

IAY34LT

Terry London

INFOTEHNOLOOGILISTE EKSPERTIISIDE UURINGUDMagistritöö

Juhendaja: dots. R. Paluoja ………

Lõpetaja: Terry London ..……..

TALLINN 2008

Page 2: Infotehnoloogiliste ekspertiiside uuringud

Autorideklaratsioon

Olen koostanud antud töö iseseisvalt. Kõik töö koostamisel kasutatud teiste autorite tööd,

olulised seisukohad, kirjandusallikatest ja mujalt pärinevad andmed on viidatud.

Kuupäev:

Ees- ja perekonnanimi:

Allkiri:

2

Page 3: Infotehnoloogiliste ekspertiiside uuringud

Annotatsioon

Magistriõppe lõputöö

Lõpetaja T. London

Juhendaja R. Paluoja

Tallinna Tehnikaülikool 2008

Käesolevas magistritöös antakse ülevaade infotehnoloogiaekspertiiside läbiviimisest ja

tõendite esitlemisest kohtus, käsitletakse NT-põhiste Windows operatsioonisüsteemide ja

NTFS failisüsteemi toimimist ning uuritakse süsteemi iseärasuste rakendamist

ekspertarvamuse andmisel. Töös analüüsitakse operatsioonisüsteemi Microsoft Windows XP

ja selle failisüsteemi NTFS kohtuinfotehnoloogilise ekspertiisi vaatenurgast.

Magistritöö kirjutamist alustati Politseiameti halduses asuva Kohtuekspertiisi ja

Kriminalistika Keskuse (KEKK) dokumendiosakonna infotehnoloogiavaldkonna

ekspertiisilabori arendustööga paralleelselt. Töö tulemuseks on kõrgemal tasemel

arvutiekspertide ning vaatluste läbiviijate juhendmaterjal ning uurimustöö NTFS

failisüsteemist.

Töö koosneb seletuskirjast 84 lehel ja sisaldab 2 lisa.

3

Page 4: Infotehnoloogiliste ekspertiiside uuringud

Annot

Master's thesis

Graduate T. London

Supervisor R. Paluoja

Tallinn University of Technology 2008

The master's thesis gives overview processing forensic examinations and using the result of

examination in legal proceedings. Analyzes the performance of NT-based Windows operating

system and NTFS file system and explores using hidden artefacts as evidence in forensic

report.

Part of the master's thesis has been written during the work process of the questioned

document department's informational technology laboratory in the Forensic Service Centre of

Estonian Police. The result of thesis is guide for advanced level computer forensic

examinations and research paper of NTFS file system.

The work consists of text on 84 pages included 2 appendixes.

4

Page 5: Infotehnoloogiliste ekspertiiside uuringud

Sisukord

Annotatsioon...............................................................................................................................3

Annot..........................................................................................................................................4

Töös kasutatud lühendid.............................................................................................................7

Töös kasutatud terminid.............................................................................................................8

Sissejuhatus................................................................................................................................9

Hetkeseis kohtuinfotehnoloogia uuringutes.........................................................................10

1 .Läbilõige infotehnoloogilisest kohtuekspertiisist................................................................13

1.1 Arvuti kui tundlik asitõend...........................................................................................13

1.1.1 Andmete muutumatuse tagamine arvuti käitlemisel.............................................14

1.2 Andmete autentsuse tagamise üldised põhimõtted.......................................................15

1.3 Andmed andmekandjal - sissejuhatus failisüsteemidesse.............................................16

1.3.1 Andmete taastamine ja hävitamine.......................................................................17

1.3.2 Signatuurid – failide ja partitsioonide taastamine.................................................18

1.3.3 Digitaalsed fotod ja nende taastamine...................................................................19

1.4 Asitõendi esitlemine kohtuistungil...............................................................................20

2 .Tänapäevane operatsioonisüsteem.......................................................................................22

2.1 Kasutaja jäljed NT-põhistes operatsioonisüsteemides..................................................22

2.1.1 Operatsioonisüsteemi tüübi tuvastamine...............................................................23

2.1.2 Kasutajat kirjeldavad failid ja kataloogid..............................................................24

2.2 NT-põhise Windows'i register......................................................................................34

2.2.2 Registri kirjed........................................................................................................35

2.3 NT-põhise Windows'i logimissüsteem.........................................................................42

2.3.1 Sündmuste logimine..............................................................................................42

2.3.2 $LogFile................................................................................................................43

5

Page 6: Infotehnoloogiliste ekspertiiside uuringud

2.4 Failisüsteem NTFS........................................................................................................45

2.4.2 NTFS vormindamine.............................................................................................48

2.4.3 NTFS'i süsteemifailid............................................................................................50

2.4.4 Failisüsteemi struktuur..........................................................................................51

2.4.5 Peafailitabel MFT..................................................................................................53

2.4.6 Failid NTFS'is.......................................................................................................56

3 .Meetodid..............................................................................................................................64

3.1 Kettapartitsioonide taastamine......................................................................................64

3.1.1 Alglaadesektoril on partitsioonikirjed alles...........................................................64

3.1.2 Alglaadesektori partitsioonikirjed on vigased.......................................................65

3.1.3 Partitsiooni alglaadekirje analüüs partitsiooni taastamiseks.................................66

3.1.4 Partitsiooni alglaadekirje analüüs NTFS failitabeli leidmiseks............................67

3.2 Andmete taastamine partitsiooni failide poolt hõivamata alalt.....................................67

3.2.1 Faili andmete taastamine.......................................................................................67

4 .Rakendus andmekandjate madaltasemel sirvimiseks..........................................................70

Kokkuvõte................................................................................................................................73

Kasutatud kirjandus..................................................................................................................75

Lisad.........................................................................................................................................76

Lisa 1 – Rakenduse kettalugemise lähtekood......................................................................77

Lisa 2 – Täiendav info Windows süsteemi uurimisel..........................................................83

6

Page 7: Infotehnoloogiliste ekspertiiside uuringud

Töös kasutatud lühendid

LMA – loomise, muutmise ja viimati avamise ajad (ingl. k - created, modified, last accessed)

MFT – NTFS'i peafailitabel (Master File Table)

NTFS – Windows failisüsteem (New Technology File System)

FAT – failihõivetabel, Windows failisüsteem (File Allocation Table)

RAM – muutmälu, suvapöördusmälu

EMF – arendatud metafaili formaat (Enhanced Metafile Format)

SID – Turvaidentifikaator (Security Identifier)

UID – kasutaja identifikaator (User Identifier)

RID – suhteline identifikaator (Relative Identifier)

MBR – alglaadesektor (Master Boot Record)

VBR – partitsiooni alglaadesektor (Volume Boot Record)

NTLDR – operatsioonisüsteemi NT alglaadekood (NT Loader)

PS: – füüsiline sektor (Physical Sector)

SO: – sektori ofset (Sector Offset)

FO: – faili ofset (File Offset)

LE: – valitud lõigu pikkus baitides (Lenght)

7

Page 8: Infotehnoloogiliste ekspertiiside uuringud

Töös kasutatud terminid

Ofset – nihe baitides andmehulga, faili, sektori või klastri mõttelisest alguspunktist. Näiteks,

MBR'i sektori ofsetil (SO) 446 algab partitsioonitabel ning selle leidmiseks tuleb

andmekandja esimeselt sektorilt leida 446. bait.

Klaster (cluster) – NTFS ja FAT failisüsteemides sektoritest koosnev minimaalne andmeala,

mis on failisüsteemi poolt eraldatud ühe andmefaili hoidmiseks.

GUID – globaalselt unikaalne identifikaator. 128-bitine täisarv, mida kasutatakse sarnaste

objektide identifitseerimisel. Kasutusel põhiliselt Microsoft'i süsteemides ning Windows

registris. Esitatakse tihti kujul {3F2504E0-4F89-11D3-9A0C-0305E82C3301}

Dword – 32 biti suurune üksus x86 protsessoriplatvormidel (double word). Vastavalt qword

64 bitti (quadruple word).

8

Page 9: Infotehnoloogiliste ekspertiiside uuringud

Sissejuhatus

Arvuti on osutunud täiuslikuks infoallikaks erinevate kuritegude uurimisel. Tegu on

asitõendiga, mis tänu oma universaalsusele katab kõik valdkonnad, mis on seotud

andmevahetuse või infotöötlusega. Dokumendid, pildid, internetilehtede külastused,

jututubade logid võivad olla seotud mistahes kuritegudega alates lihtsate vargustega ja

lõpetades alaealiste väärkohtlemise, mõrvade ning narkokuritegudega. Arvutite kohtulik

ekspertuuring ei puuduta vaid arvutikuritegusid. Andmekandjal olemasolevate failide

esiletoomine ei ole iseenesest midagi keerulist. Oluline on, kuidas leiumaterjaliga kaasnevat

informatsiooni tõlgendada. Failid annavad leidjale küll mugavalt loetaval kujul

informatsiooni, kuid eksperdi tööks on siinkohal tuvastada, kas leitud digitaalne tõend

kinnitab või hoopis lükkab ümber menetluse osapoolte väited.

Käesoleva magistritöö eesmärgiks on NT-põhiste operatsioonisüsteemide ja NTFS

failisüsteemi toimimise uurimine ning rakendamine kohtuekspertiisitöös. Töö analüüsib

operatsioonisüsteemi Microsoft Windows XP ja selle failisüsteemi kohtuinfotehnoloogilise

ekspertiisi vaatenurgast. Windows XP väljastati 2001 aasta oktoobris ning tõenäoliselt on see

veel aasta või paar levinuim operatsioonisüsteem, kuni kasutajad MS Vista'ga kohanevad.

Failisüsteemi NTFS esmane tutvustus toimus juba 1993. aastal ning selle viimane viies

versioon numbriga v3.1 on primaarse failisüsteemina kasutusel operatsioonisüsteemides

Windows XP ja Vista [8]. Tõenäoliselt ei loobuta NTFS'ist veel niipea, sest

väljavahetamiseks puudub praktiline vajadus. Hoolimata failisüsteemi vanusest, pole

suurfirma Microsoft NTFS'i täpset spetsifikatsiooni avaldanud ning kogu teave selle

funktsionaalsuse kohta on saadud asjahuviliste poolt aeganõudvate analüüside tulemusena.

Praegused vabavaralised Linux ja FreeBSD draiverid võimaldavad küll NTFS failisüsteemi

lugemist, kuid sellele kirjutamine pole veel piisavalt veakindel ning failisüsteemile

kirjutamine on vabavaralistes süsteemides märgitud riskantseks. Autorit failisüsteemi

9

Page 10: Infotehnoloogiliste ekspertiiside uuringud

mehhanismi täpne taasloomine siiski ei huvita, vaid pigem mõistmine, kuidas NTFS

üleüldiselt toimib ning kuidas failisüsteemist andmeid lugeda .

Töö sissejuhatavas osas kirjeldatakse kohtuinfotehnoloogiliste uuringute hetkeolukorda ning

jätkatakse esimeses peatükis praktilise konspektiivse ülevaatega infotehnoloogilise

kohtuekspertiisi läbiviimisest kohtueelses menetluses ja kohtusaalis. Töös keskendutakse

eelkõige NTFS failisüsteemi selle osa toimimise tõlgendamisele, mis on vajalik

failisüsteemist andmete taastamiseks ja tõlgendamiseks, eesmärgiga tuvastada kasutaja

käitumine ning leida asitõendeid. Kuna NTFS failisüsteem ja Windows XP on oma

toimimisel seotud, kirjeldatakse töö teises peatükis Windows operatsioonisüsteemi kasutajale

näha olevaid eripärasid ning NT-põhisele Windows'le iseloomulikke peitekohti. Lisaks

kirjeldatakse Windows'i registrit ja logimissüsteemi, milles talletuvaid andmeid saab kasutada

asitõendite kogumiseks. Seejärel keskendutakse NTFS toimimise analüüsile. Kolmandas

peatükis rakendatakse eelmises peatükis kirjeldatud partitsioonide ja failisüsteemide omadusi

andmete taastamisel andmekandjalt, mille partitsioon või failisüsteem on hävinud.

Neljas peatükk kirjeldab töö kirjutamisega paralleelselt katsetamiste eesmärgil loodud

tarkvararakendust, mille peamisteks ülesanneteks on töötava Windows XP

operatsioonisüsteemiga arvuti andmekandja andmete madaltasemel sirvimine. MBR

partitsioonitabelite tõlgendamine, NTFS partitsiooni VBR tõlgendamine ning $MFT

leidmine selle abil. Lisaks võimaldab tarkvara üle andmekandja sektorite viia läbi etteantud

failisignatuuride skaneerimist ning selle abil kustutatud failide andmealade otsingut ja

kaardistamist, sh pildifailide otsingut ja taastamist failide poolt hõivamata alalt.

Hetkeseis kohtuinfotehnoloogia uuringutes

Infotehnoloogiaekspertiiside ja kriminalistikauuringute eesmärgiks on menetluses

tõendamiseseme asjaoludega seonduvate asitõendite tuvastamine digitaalsetelt

andmekandjatelt. 2003. aastal valmis käesoleva töö autori Tallinna Tehnikaülikooli (TTÜ)

bakalaureusetöö “Infotehnoloogiliste ekspertiiside kvaliteedi tagamine”. Tänaseks on

kohtuinfotehnoloogiliste uuringute tarkvarad jõudsalt arenenud. Loodud on erinevaid kõrgel

tehnilisel tasemel rakendusi, mis võimaldavad suhteliselt lihtsalt orienteeruda erinevate

operatsioonisüsteemide failisüsteemides, automaatselt avada levinud andmestruktuure ning

tõlgendada andmeid, nagu seda teevad operatsioonisüsteemid.

Kuna arvuteid kasutatakse menetluses üha enam asitõenditena, on ekspertiisitarkvara

tootmisest saanud laialdane ja tugeva konkurentsiga rahvusvaheline ärivaldkond. Turul

olevad tarkvaratootjad on üritanud leida oma nišši ning keskpärased on olnud sunnitud

10

Page 11: Infotehnoloogiliste ekspertiiside uuringud

taanduma. Olemasolevad tarkvarad võib üldjoontes jagada kahte leeri: tarkvara andmete

taastamiseks ja tarkvara süvauuringuteks.

Infotehnoloogiliste kohtuekspertiiside ja uuringute läbiviimiseks tuleb keskenduda

kvaliteedile ning ei tohi jätta otsustamist ainult masina hooleks. Andmete taastamine on küll

oluline osa kohtueksperdi tööst, kuid tarkvara poolt pakutav andmete taastamise funktsioon ei

ole alati piisav eksperdiarvamuse andmiseks. Täisautomaatsete taastamisvahendite olemasolu

ja kasutamine on vajalik, sest reeglina ei ole inimene võimeline ülevaatlikult tõlkima suvalist

failisüsteemi ja nägema seda nii, nagu operatsioonisüsteem meile näitab. Siiski -

infotehnoloogilise ekspertiisi puhul peab tulemust hindama ja arvamuse andma inimene oma

kogemustega ning võimega mõelda üheaegselt nii inimese kui arvutina.

Lihtsamatel, andmete taastamiseks mõeldud kriminalistikatarkvaradel on oma sihtgrupp.

Arvuteid ja andmekandjaid on praeguseks tavakasutuses niivõrd massiliselt, et keskmises

menetlusasjas leidub paratamatult mõni arvuti või andmekandja, mis vajab kiiret vaatlemist

nagu tavaline märkmik. Sellistel juhtudel piisab, kui menetlejal on olemas lihtne vahend

digitaalsete andmekandjate turvaliseks vaatlemiseks. Tavapärasest kodu- või kontoriarvutist

dokumentide ja e-posti vaatluseks ei ole vaja keerukat ekspertiisitarkvara ning kasutaja ei pea

teadma failisüsteemide iseärasusi. Piisab lihtsast väljaõppest, mis keskendub digitaalsete

andmekandjate korrektsele käitlemisele andmekandjatest koopiate tegemisel.

Oluline on, et vaatluse ettevalmistamisel oleks tagatud originaalsete andmete muutumatus

ning andmekandja kui asitõendi andmed oleks fikseeritud selliselt, et sama andmekandja

andmete korduval hõivamisel saadakse identne tulemus. Vastavat metoodikat käsitleb Kristel

Meikas tema 2006. aastal valminud TTÜ diplomitöö “Infotehnoloogiaekspertiiside metoodika

(KEKK'i näitel)”, mis kirjeldab arvutiekspertiisi ja vaatluse ettevalmistamise protseduure

Kohtuekspertiisi ja Kriminalistika Keskuse (KEKK) infotehnoloogiaekspertiiside laboris.

Eksperdi menetlusse sekkumise vajaduse digitaalsete andmete hõivamisel ja uurimisel tingib

olukord, kus andmekandjal olevad andmed on segaselt tõlgendatavad ning tavalistest

vahenditest vaatlemiseks enam ei piisa. Kohtusüsteemis on eksperdi roll pisut laiem ja

üldisem ning on defineeritud kriminaalmenetluse seadustikus. Kriminaalmenetluse seadustik

sätestab, et ekspert on isik, kes rakendab ekspertiisi tegemiseks mitteõiguslikke eriteadmisi

[5]. Sellest tulenevalt on ekspert vajalik kohtus ekspertarvamuse andmiseks.

Eksperdi ülesandeks ei ole otsida kurjategijat, nagu ekslikult arvatakse, vaid selgitada

võimalik tõde või tõe väljaselgitamise võimalused. Sellest tulenevalt ei saa ekspert

ekspertarvamuse andmisel pimesi usaldada ostetud ekspertiisitarkvarade raporteid ning

11

Page 12: Infotehnoloogiliste ekspertiiside uuringud

tulemused vajavad teadmiste ja kogemuste põhist hindamist.

Tahes-tahtmata tekib küsimus, et millal siis tarkvaralistest vahenditest ei piisa ning millisel

juhul on vajalik inimese sekkumine uuringuprotsessi? Vastus on lihtne - olukordades, kus

loetavad andmed on ebatavaliselt esitatud ning väljuvad tarkvara automaatse tõlgendamise

võimalustest või juhtudel, kui andmeid on loetamatuks muudetud. Näiteks saab kõvaketta

esimeses sektoris üheainsa baidi muutmisega muuta terve andmekandja tavaolukorras

kasutuskõlbmatuks, kuna alglaadesektorist MBR algab arvuti käivitamisel ülejäänud andmete

lugemine ja tõlgendamine. Sellistel juhtudel on tegemist lihtsa viisiga andmete varjamiseks.

Ning juba ongi vaja inimese sekkumist, et otsustada, milliste vahenditega andmed esile tuua.

Kokkuvõtvalt peab ekspert uuringuvahendite kasutamisel olema teadlik, kuidas need

toimivad. Probleem on, et uuritavad operatsiooni- ja failisüsteemid on avaldamata

lähtekoodiga ning nende käitumine on tegelikult teadmata. Lisaks vabavaralistele

tarkvaradele ja failiformaatidele eksisteerivad suletud süsteemid nagu Windows ja Mac ning

suletud failiformaadid, nagu Microsoft Office dokumendifailid ja MS Outlook'i PST-

konteinerfail. Lisaks on kõik turul olevad uuringutarkvarad suletud lähtekoodiga. Sellest

tulenevalt baseerub selliste tarkvarade kasutamine ostetud usaldusel. Ideaaljuhul peaks iga

uuringu läbiviimisel kasutama kõiki saadaolevaid uuringuvahendeid ning võrdlema saadud

tulemusi, mis on ajaliselt aga liialt ebaotstarbekas. Sellisest kontrollimatusest tulenevalt on

igal eksperdil arvamuse andmisel moraalne kohustus käsitletav teema endale võimalikult

arusaadavaks teha.

12

Page 13: Infotehnoloogiliste ekspertiiside uuringud

1 . Läbilõige infotehnoloogilisest kohtuekspertiisist

Järgnev peatükk on osa loengumaterjalist, mida kasutatakse menetluspoolte ja kohtunike

infotehnoloogiaekspertiiside koolitustel ning annab konspektiivse ülevaate minimaalsetest

tehnilistest teadmistest, mis on eksperdi, menetluspoolte ja kohtu jaoks vajalikud

ekspertiisiülesande püstitamisel, ekspertiisiakti lugemisel ning eksperdi tunnistajana

ülekuulamisel. Peatükis käsitletakse asitõendi käitlemise üldiseid põhimõtteid andmete

muutumatuse tagamisel ekspertiisitöö käigus. Selgitatakse, kuidas toimub andmete taastamine

ja hävitamine ning lahatakse digitaalse asitõendi kohtus esitlemise probleeme.

1.1 Arvuti kui tundlik asitõendInfotehnoloogiaekspertiis tegeleb digitaalmeedial olevate võimalike andmete uurimise ja

analüüsiga. Infotehnoloogiaekspertide peamine uurimisobjekt on arvuti andmekandjad, millel

olevaid andmeid võib arvuti käitlemise ohutuse vaatenurgast tinglikult jagada kaheks:

mittetundlikeks ja tundlikeks andmeteks.

Mittetundlikud andmed on failid, mille säilimist ei ohusta arvuti tavakasutamine, kui välja

arvata andmete tahtlik hävitamine. Sellised andmed on näiteks tavalised dokumendid,

pildifailid ja andmefailid, andmed, mis on mõeldud kasutajale vabalt vaatlemiseks ja

kasutamiseks. Kui ootamatut riistvarariket, viiruse või pahatahtliku kasutaja rünnakut ei

esine, siis ei pea kasutaja selliste andmete säilimise pärast muretsema.

Tundlikud andmed on vastupidiselt mittetundlikele andmetele arvuti töötamisel pidevas

kadumisohus ning tavakasutajal puudub nende üle kontroll. Sellised andmed on kustutatud

failid, ajutised failid ja failide poolt hõivamata ala. Tundlikud andmed on alalises hävimis-

ehk ülekirjutamisohus. Olgu selle põhjustajaks siis arvuti sisselülitumine,

operatsioonisüsteemi alglaadimine, väljalülitumine või lihtsalt töötav arvuti. Tänapäeva

13

Page 14: Infotehnoloogiliste ekspertiiside uuringud

arvutite operatsioonisüsteemid teevad alati midagi, millega kaasneb andmete kettale

kirjutamine ja vanade andmete üle kirjutamine ehk kustutamine, ohustades sellega alaliselt

ülalkirjeldatud tundlikke andmeid. Tavakasutajat loomulikult tundlike andmete mõiste ja

kadumine ei huvita, sest reeglina on tegu kasutajale ebavajaliku informatsiooniga. Eksperdi

jaoks sisaldavad sellised andmed aga olulist informatsiooni kasutaja toimingute kohta, mille

viideteks võivad olla viimati avatud dokumendid, internetikülastused, äsja kustutatud failid,

käivitatud programmid ning kõik sellega kaasnev.

1.1.1 Andmete muutumatuse tagamine arvuti käitlemiselInfotehnoloogiaekspert on huvitatud tundlike andmete fikseerimisest, mistõttu on oluline,

kuidas täpselt andmekandjad ja arvuti sündmuskohalt ära võetakse. Nagu võetavat DNA-

proovi ohustab saastumine, sõltub arvutis olevate andmete säilimine seadme äravõtmise

viisist. Selleks, et vältida sündmuskohal erinevate olukordade mõjutusi, on asitõendite

fikseerijaile kehtestatud vaikimisi reegel, et võimalikku asitõendit sisaldav arvuti tuleb

vooluvõrgust vahetult lahti ühendada vältides selle tarkvaralist väljalülitamist. Loomulikult

on alati erandeid, näiteks serverarvutite hõivamist või vaatlust tuleb planeerida eksperdi või

spetsialistiga.

Andmekandjate uuringu käigus täieliku originaalsete andmete muutumatuse tagamiseks

tehakse ekspertiisiks esitatud arvuti andmekandjatest esimesel võimalusel koopia. Ekslikult

arvatakse, et koopia moodustavad andmekandjalt üksikult kopeeritud failid. Väärarusaam

tuleneb tehnilisest keelekasutusest ning koopia asemel oleks korrektsem kasutada hoopis

tõmmise mõistet ning kopeerimise protsessi märkida hõivamisena (ingl. k acquire).

Ükshaaval kõiki faile kopeerides saame küll kätte andmekandja failide poolt hõivatud ala,

kuid saamata jäävad failide poolt hõivamata ala, failide lõpualad ja kasutajale nähtamatud

süsteemifailid ja -piirkonnad kettal. Tegelikult kasutatakse koopia tegemiseks spetsiaalset

tarkvara (näit. Guidance Software poolt toodetavat EnCase Forensic Edition) ning

kopeerimise eesmärgiks on saada andmekandja andmealast üksühene tõmmis, tagades

samaaegselt originaalse andmekandja andmete muutumatus. Originaalse andmekandja

andmete kaitseks kasutatakse riistvaralisi kirjutuskaitseid või tehakse koopia

tarkvarakeskkonnas, mis ei kirjuta iseseisvalt kopeeritavale andmekandjale.

Koheselt pärast koopia tegemist kontrollitakse tehtud koopia samasus originaalse

andmekandja andmetega ning koopiafailid arhiveeritakse. Koopiafailid moodustavad

tervikliku ja üksühese andmekandja koopia ehk ekspertiisikoopia (ingl. k forensic image), mis

sisaldab endas automaatset terviklikkuse kontrolli mehhanismi ning on vaadeldav vaid

spetsiaalse uuringutarkvaraga. Kogu edasine uuring ja ekspertiis tehakse ainult koopiafaile

14

Page 15: Infotehnoloogiliste ekspertiiside uuringud

kasutades.

1.2 Andmete autentsuse tagamise üldised põhimõttedEkspertiisilaboris kontrollitakse igal hõivamisel saadud andmete samasust originaalse

andmekandja andmetega. Kui võrdlemine on juba üsna väikeste tekstidokumentide puhul

vaevarikas, siis suuremate andmefailide ja andmete puhul on see mõeldamatu. Lahenduseks

on räsialgoritmid digitaalse andmehulga sõrmejälje arvutamiseks. Sõrmejälje mõiste on

paljudele segadust tekitav, sest mõistes keskendutakse jäljele ning unustatakse, et sõrmejälg

tähistab kriminalistikas unikaalsust. Peamiselt on kasutusel 128-bitine MD5-algoritm, mille

toimimise põhimõte on see, et identifitseeritav andmehulk ehk bitijada arvutatakse läbi

ühesuunalise algoritmiga, mis annab tulemuseks tagasi pööramatu unikaalse 32-baidise tähe-

ja numbrijada. Saadud MD5-räsi pikkus ega üldkuju ei sõltu originaalse läbi arvutatud sisend-

andmehulga pikkusest. Tõenäosus, et kaks erinevat faili ehk andmehulka, annavad ühesuguse

sõrmejälje, on üks võimalus 3,4x1038

vastu.

Näiteks toon mõned MD5-räsid eestikeelsetele sõnadele:

ekspert 73722ddb589540430c78521866e45918

kohtuekspertiis db977f9443447dc57af8d2d814d6d686

Nagu näitest näha, ei sisalda räsid endas informatsiooni originaalsete andmehulkade pikkuse

kohta. Kui kopeeritud andmehulgas muuta ka ühtainust märki, muutub räsisumma täielikult.

Sellest tulenevalt on ainult sõrmejälje alusel ilma täiendava informatsioonita praktiliselt

võimatu leida räsile vastav originaalne sõna või andmehulk.

Mõeldav oleks jõuga murdmine, kui näiteks teame, et tegu on 4-kohalise numbrilise PIN-

koodi MD5-räsiga. Selle viitega saame andmehulga üldkuju, mis PIN-koodi puhul on

enamasti 4-kohaline numbrikood, samuti kasutatud räsialgoritmi. Siis saame MD5-räsi

arvutajale pakkuda PIN-koode alates 0000 kuni 9999 ning võrrelda saadud räsiväärtusi

otsitava andmehulga räsiga ning ründamiseks jääb vaid 104 varianti. Seda meetodit

kasutatakse näiteks mõnede pihuarvutite PIN-koodide avamiseks. Mida pikem on kood ja

keerulisem on üldkuju, seda aeganõudvam selline jõuga koodi ründamise meetod on. Näiteks

6-kohaline PIN-kood nõuaks juba kuni 106 katset ning neljakohaline parool, mis koosneb

numbritest inglise tähestiku tähtedest ilma suurtähtedeta, vajab juba 364 ehk 1679616

maksimaalset proovimise võimalust. Siit on näha ka põhjus, miks soovitatakse kasutada

vähemalt 8-kohalist numbreid ning suur- ja väiketähti sisaldavat parooli. 628 võimalust

proovimiseks teeb juba rohkem kui 2x1014 varianti. Terve andmekandja andmete tagasi

15

Page 16: Infotehnoloogiliste ekspertiiside uuringud

arvutamine räsi järgi on füüsiliselt võimatu ning nõuab määramatut arvutus- ning ajaressurssi.

Kohtuekspertiisis on andmehulkade autentsuse kontroll vajalik, et veenduda andmekandja

vigadeta hõivamises. Kui pärast andmekandja tõmmise tegemist vastab originaalse ketta

andmete räsi tõmmise räsile, on tõmmis originaalsete andmetega identne. Andmehulkade

autentsuse kontroll ja dokumenteerimine on oluline, et tõmmise terviklikkuses saaks

veenduda ka aastate pärast, kui asitõend taas uurimist vajab. Vastavalt vajadusele on

omakorda võimalik arvutada ka tõmmisel olevate loogiliste andmehulkade, näiteks failide

räsid ning need hilisemaks kontrollimiseks dokumenteerida. Sellisel juhul on võimalik

tõmmise osalisel riknemisel kindlaks teha riknemata andmehulgad ning neid asitõendina

edasi kasutada.

Ekspertide kohtupraktikas on menetluses ette tulnud juhuseid, kus ühte kriminaalasja on

menetletud erinevate menetlejate poolt, mistõttu on materjalid, seal hulgas andmekandjad

ühelt menetlejalt teisele üle antud. Seetõttu on asitõendite puhul üritatud kahtluse alla seada

erinevate menetlejate käes olnud ja kohtuni jõudnud asitõendi originaalsus. Peamiselt on

väidetud, et asitõend võidi mingil hetkel fabritseerida. Siinkohal on sõltumatu eksperdi poolt

ekspertiisi käigus arvutatud andmete digitaalne sõrmejälje dokumenteerimine eriti oluline

ning eksperdi ülekuulamisel kohtus huvitutakse just eespool toodud selgitustest digitaalse

sõrmejälje unikaalsuse kohta. Digitaalset sõrmejälge kasutatakse ka suurte failikoguste

kiireks võrdlemiseks. Sellisel juhul arvutatakse kogu andmekanda failidest räsid ning

võrreldakse neid räsisid otsitavate failide räsidega. Näiteks kasutatakse seda kindlate

lapsporno kollektsioonide otsimiseks.

1.3 Andmed andmekandjal - sissejuhatus failisüsteemidesseAndmeid andmekandjaid saab vaadelda ülipika biti- või baidijadana, mis on jaotatud

võrdseteks adresseeritud andmesektoriteks. Sektori suurus on kõvaketaste ja välkmälu-ketaste

puhul reeglina 512 baiti, optilistel andmekandjatel aga 2048 baiti ning see on minimaalne

üksus, mille kaupa saab andmekandjal lugeda ja kirjutada. Sektoritega kaetud andmeala ainus

operatsioonisüsteemile normaaltingimustel nähtav ala.

Kuna andmekandjate miljonitel sektoritel olevaid andmeid tuleb kuidagi organiseerida, on

loodud kartoteegilaadne failisüsteem. Levinuimad failisüsteemid on FAT ja NTFS, mida

käsitletakse käesolevas töös põhjalikumalt. FAT'i peetakse hääbuvaks failisüsteemiks, sest

praktiliselt kõik uued Windows süsteemi kandvad andmekandjad on NTFS formaadis. Siiski,

tänu oma lihtsusele ja vastupidi NTFS'i kasutamise keerukusele jääb FAT veel pikaks ajaks

universaalseks kaasaskantavate andmekandjate ning eriseadmete failisüsteemiks.

16

Page 17: Infotehnoloogiliste ekspertiiside uuringud

Andmekandja andmeala jaotatakse üheks või enamaks loogiliseks kettaks ehk partitsiooniks,

ning igal partitsioon on vormindatud eraldi failisüsteemiga. Sellised loogilised kettad on

kasutajale nähtavad ning Windows süsteemis tähistatakse need suurtähtedega, näiteks „C:“ ja

„D:“. Infot failisüsteemi failide kohta hoitakse suures kasutajale nähtamatus tabelis, mis

hõivab ise osa partitsioonist. Ülejäänud partitsiooni ala on failide poolt hõivamiseks. FAT ja

NTFS failisüsteemid jaotavad partitsiooni failide ala omakorda klastriteks. NTFS

failisüsteemi omapära on, et see paikneb failidena iseenda failisüsteemil. Klastri suurus NTFS

partitsioonil on 8 sektorit, kuid see on soovi korral muudetav.

Failisüsteemi klastrite kasutamist võib võrrelda videoteegi kassettidega. Nii klastritel kui ka

kassettidel on kindel aadress või järjekorranumber, mille järgi selle üles leiab ja mis ise ei

sisalda infot salvestise sisu kohta. Viide sisule paikneb failisüsteemis. Oluline reegel on, et

ühele klastrile saab korraga salvestada vaid ühe loogilise salvestise ehk faili.

Kui fail on mahukam kui üks klaster, võetakse kettalt esimesed sobivad klastrid ning faili sisu

paigutatakse nendele, kusjuures klastrid ise ei pea asuma järjestikku. See tingib andmekandja

andmete tükeldumise, sest fail jaotatakse loogiliste lõikudena vabadele klastritele laiali ning

see ei koosne enam järjestikusest andmejadast. Failisüsteemi kui kartoteegi peamine ülesanne

on failiatribuudid kokku viia andmealadega, failide andmealad jaotada olemasolevatel

klastritel ning lisaks hallata keerukat failiatribuutide süsteemi.

1.3.1 Andmete taastamine ja hävitamineKustutatud andmete taastamine on andmete kustutamise vastandprotsess, mis toimib, kuni

andmed ise veel andmekandjal alles on ehk andmed on üle kirjutamata. Andmete taastamise

tulemus sõltub sellest, kas lisaks faili andmealale on alles failitunnused, mis näitavad ära faili

andmeala asukoha andmekandjal.

Mis juhtub faili kustutamisel? Kasutaja soovib vabaneda endale ebavajalikust failist. Näiteks

printimiseks kasutatud 500-kroonise pildist või tekstidokumendist. Reeglina kustutab ta selle

faili ära ning usub, et info on arvutist kaotatud. Tegelikult märgiti failisüsteemis kasutaja

poolt kustutatud faili hoidvad klastrid vabadeks. Analoogia videokassettidega, millele tegime

märke, et sellele võib uue filmi lindistada. Seda kõike haldab faili- ja operatsioonisüsteem

kasutajale märkamatult. Mingi aja vältel on kustutatud ehk ülekirjutamiseks vabaks märgitud

fail terviklikuna alles, kuid selle faili taastamiseks on tarvis eritarkvara, mis võimaldab näha

infot, mida operatsioonisüsteem tavajuhul ei näita.

Fail hävineb alles siis, kui luuakse uus fail, mis juhuslikult kirjutatakse kustutatud faili

sisaldanud klastrisse, kirjutades sellega meie kustutatud faili sisu üle.

17

Page 18: Infotehnoloogiliste ekspertiiside uuringud

Teame, et failid ei ole alati ühesuurused. Näiteks, võtame vabaks märgitud videokasseti

täispika filmiga ning salvestame selle algusesse 10-minutilise videolõigu. Sellega kirjutame

üle vaid esimesed 10 minutit oma kassetist, kuid kogu ülejäänud kassett sisaldab vana infot.

Kadunud on vaid 10 minutit infot kassetti algusest. Samamoodi on ka klastriga. Näiteks, kui

meie uus fail on vaid 512 baidi pikkune, on klastri ülejäänud 7x512 baiti selle faili poolt üle

kirjutamata. Seni, kuni me 512-baidist faili ära ei kustuta, on ülejäänud klastri andmeala

puutumatu, sest igas klastris saab korraga olla vaid üks fail. Kuigi tavavahenditega seda näha

ei ole, sisaldab see ülejäänud osa klastrist vana kustutatud faili andmeid. Seda ala nimetatakse

klastri faili poolt kasutamata alaks (ingl. k slack space) ning sellelt võib tekstikatketena leida

uurimises olulisi viiteid kustutatud meilidest või dokumentidest.

Siiski, peamine koht kustutatud info otsimiseks on partitsiooni failide poolt hõivamata ala

(ingl. k unallocated space). Sõltuvalt algsest failivormingust ning andmekandja

fragmenteerumisest võib sellelt alalt leida ka terviklikke andmekogumeid kindla alguse ja

lõpuga. Seda juhul, kui faili sisus on ära määratletud faili alguse ja lõpu tunnused. Näiteks

tekstidokument on tunnusteta, pildifailid on kindla algustunnusega ning kompileerimata

programmikood on äratuntava alguse ja lõputunnusega. Kuna failisüsteemis toimub faili

andmealadele viitavate kirjete ülekirjutamine üsna kiiresti ning failile, mille andmeala võib

olla terviklikult säilinud ei leidu failisüsteemis vastavat kirjet. Seetõttu puuduvad failide poolt

hõivamata alas olevatele andmetele vastavad failiatribuudid. Sellisel juhul ei ole failide poolt

hõivamata alal olevate andmete puhul enam tegu failidega, vaid ühe suure andmejadaga, mis

on märgitud vabaks uute failide salvestamiseks. Nii nagu meid ei huvita, mis asus meie poolt

ülelindistamiseks märgitud videokassettidel, nõnda pole ka failisüsteemil vaja kustutatud

failide kartoteeki alles hoida. Siinkohal märkuseks, et Windows töölaua prügikast on

süsteemikataloog, kuhu faili kustutamisel tekitatakse kartoteek kustutatud failidest, et

kasutaja saaks need vajadusel taastada.

1.3.2 Signatuurid – failide ja partitsioonide taastaminePaljudel failitüüpidel on andmeosa alguses kindel märgijada - signatuur. Näiteks on JPG

pildifail signatuur 16nd-süsteemis on (FF D8 FF). Võrreldes failide signatuure signatuuride

andmebaasiga, saab määrata reaalse failitüübi. Sarnaselt failidele on ka failisüsteemide

partitsioonidel signatuurid. Näiteks NTFS failisüsteemi signatuur on (EB 52 90 4E 54 46 53).

Kustutatud failide otsimine põhineb failisignatuuridel. Teades otsitava failitüübi signatuuri

otsitakse sama märgijada üle kõigi andmekandjal olevate andmete. Leides andmekandjalt

signatuuri eksisteerib tõenäosus, et leiti kustutatud faili algus. Lõpliku kinnituse annab

signatuurile järgnevate andmete täpsem analüüs. Partitsioonide otsimine toimub sarnaselt

18

Page 19: Infotehnoloogiliste ekspertiiside uuringud

failide otsimisega kasutades failisüsteemide signatuure. Partitsioonide kirjeldust sisaldav

kõvaketta sektor (esimene sektor) ülekirjutamisel, võib partitsioone otsides taastada puuduvad

andmed ja muuta kõvakettal olnud failid koheselt kättesaadavaks.

1.3.3 Digitaalsed fotod ja nende taastamineNagu eespool mainitud, leidub failide poolt hõivamata alalt lisaks loetavatele tekstikatketele

ka täiesti taastamiskõlbulikke pildifailide andmealasid. Pildifailide taastamine failide poolt

hõivamata alalt on kindel protsess, mille käigus otsitakse pildifailide signatuure või

algustunnuseid. Levinuim pildiformaat on JPEG, mida kasutatakse vaikeformaadina

digifotoaparaatides. Enamik digikaameraga tehtud pildifaile sisaldavad vastava fotoaparaadi

tootja ja mudeli tunnused ning pildi tegemise kellaaega vastavalt kaamera seadistusele.

Pildifaili taastamisel tekstikatkest on see väga oluline, sest kuigi meil läheb kaduma faili

nimi, saame me kätte tõenäolisel pildistamise aja ning isegi fotoaparaadi mudeli.

Ülaltoodud näites on näha tüüpilise JPG-pildifaili päis vaadatuna Notepad programmiga.

Märgistatud alal esineb viide Fujifilm FinePix A203 digifotoaparaadile. Teoreetiliselt

võimaldab JPG-pildifaili alguses olev EXIF 2.2 andmeväli salvestada fotoaparaadi

hetkekonfiguratsiooni pildistamise hetkel, kus on ära toodud näiteks välgu kasutamine pildi

tegemisel jne. Päises oleva info hulk sõltub muidugi aparaadi enda ehitusest ning

seadistustest. Siit tuleneb, et ekspertiisi peab koos andmekandjatega saatma ka need

digifotoaparaadid, mis mälukaarti ei sisalda, sest kaameratunnuste alusel saab otsida ning

võrrelda näiteks arvuti kõvakettal või teistel mälukaartidel olevaid pilte.

Näide ekspertiisist: Paljudel tänapäeva mobiiltelefonidel on küllalt kvaliteetsed sisseehitatud

digikaamerad, millega saab lisaks pildistamisele otse telefonis pilti ka töödelda. Ekspertiisist

on läbi käinud juhtum, kus narkootikumide käitlemises kahtlustatu üheks asitõendiks oli

telefoniga pildistatud tabletikuhja foto, mille kuupäev ja kellaaeg klappis uurimisandmetega.

Mõned nädalad pärast vahi alt vabanemist sattus kahtlustatu uuesti uurimise alla ning

telefonist leiti jälle tabletihunniku foto, mille kuupäev telefonis sattus ajavahemikku pärast

vabastamist. Kahtlusalune väitis, et pilt on tegelikult sama, mis leiti eelmisel telefoni

19

ÿØÿá*Exif··II*··············�···········�······················¬······(···········1···&···¼···2·······â···············��······ö···i�······ü···b···FUJIFILM··FinePix A203 ··H·······H·······Digital Camera FinePix A203 Ver1.00·2004:05:24 11:47:44Joonis 1: Näide JPG pildifaili päisest

Page 20: Infotehnoloogiliste ekspertiiside uuringud

vaatlusel ning tema oli seda telefonis vaid natukene töödelnud. Pildi loomise kuupäeva

väljaselgitamiseks saadeti telefon ekspertiisi. Ekspertiisi käigus selgus, et kahtlusaluse väide

oli õige. Kahtlustatava õnneks oli ta kasutanud telefonimudelit, mis pildistamisel salvestab

EXIF väljaga JPG failiformaadis ning sellelt leitud kuupäev ja kellaaeg klappis varasemaga.

Telefonis pildi töötlemisel salvestati fail üle juba töötlemise kuupäeva ja kellaajaga, kuid

telefoni pilditöötlustarkvara säilitas algse pildifaili EXIF andmevälja andmed.

Peab tõdema, et märkimisväärne hulk fotoaparaati sisaldavatest ekspertiisidest on seotud

alaealiste väärkohtlemisega. Tuleb ette, et lapsporno tootjad kasutavad sama fotoaparaati ka

nö perepiltide tegemiseks. Mõnede ekspertiiside puhul on selgunud, et ekspertiisiks esitatud

arvutite andmekandjatel on erineva sisuga pilte (näit. perepildid ja lapspornograafilise sisuga

pildid), mille failipäises sisalduvad sama tüüpi fotoaparaadi tunnused.

1.4 Asitõendi esitlemine kohtuistungilAeg-ajalt soovib kohtunik soovib istungil arvutit isiklikult kui asitõendit vaadata ning näha,

kuidas selle arvutiga kuritegu toime pandi. Näiteks, kuidas võltsiti rahatähte. Puudub küll

kindel tõde, kas selline teguviis on õige või vale, kuid pigem on see ebasoovitatav. Peatüki

alguses kirjeldasin, et ekspertiisi läbiviimisel on esmane ülesanne originaalse andmekandja

andmete muutumatuse tagamine ning arvuti käivitamine rikub asitõendi. Kui võrrelda enne

käivitamist kõvaketta räsi ja peale käivitamist, siis need on kindlasti erinevad. Samas on

eksperdil olemas ekspertiisikoopia, millelt saab vajadusel originaalse ketta andmeala

üksüheselt taastada.

Juhul, kui asitõendiks olev arvuti on vaja käivitada, peaks seda tegema viisil, mis ei muudaks

arvutis olevaid originaalseid andmeid. Kasutada võiks arvuti andmekandja üks-ühest koopiat

või virtuaalmasinat. Siiski võib arvuti käivitamine osutuda võimatuks, sest kuigi eksperte ei

takista asitõendi andmekandja uurimisel arvuti alglaadimisparool ja operatsioonisüsteemi

sisenemise parool, takistavad need töötava arvuti süsteemi sisenemist ja selle vaatlemist. Kui

arvutisse sisenemist ei takista paroolid, võivad takistuseks saada hoopis kustutatud andmed.

Näiteks, kuigi ekspertiisi käigus taastati andmekandjal olevad kustutatud rahatähtede

kujutised, siis töötava originaalse arvutiga ei saaks neid sellegi poolest vaadelda, sest

originaalsel ekspertiisiks esitatud andmekandjal on need andmed kustutatud olekus. Selliste

andmete vaatlemiseks on vajalik taastamistöö ekspertiisitarkvaraga. Analoogne probleem

tekib, kui failid on küll loetavad, kuid arvutist on eemaldatud failide töötlemise tarkvara,

näiteks Adobe Photoshop.

Soovitatav ja vajalik on konsultatsioon ekspertiisi läbi viinud eksperdiga enne, kui ekspert

kutsutakse istungile ütlusi andma või kui soovitakse kohtusaalis töötavat asitõendit vaadelda.

20

Page 21: Infotehnoloogiliste ekspertiiside uuringud

Olen kogenud, et ütluste andmine on olnud tulemuslikum, kui võimalike küsimusi eelnevalt

konsulteeritakse. Näiteks saab selliselt välja jätta või ümber sõnastada spekulatiivset või

statistilist vastust eeldavad küsimused ning selgitada, kas küsimus on ikka seotud konkreetse

ekspertiisiga.

21

Page 22: Infotehnoloogiliste ekspertiiside uuringud

2 . Tänapäevane operatsioonisüsteem

Tänapäevaseid operatsioonisüsteeme iseloomustab rahvusvaheline ja nägus kasutajaliides,

kasutamise mugavus ning töökindlus. Windows, Linux ja MacOS operatsioonisüsteemide

paigaldamine ei ole enam aastaid entusiastide pärusmaa ning tihti pääseb inimene arvutit

ostes vaid süsteemis kasutajaprofiili seadistamisega. Uute lisaseadmete paigaldamisel peab

harva mõtlema ühilduvusele ning väliste andmekandjate süsteemi ühendamine toimub

kasutajale sama lihtsalt nagu elektripistiku seinakontakti ühendamine. Arvutit kasutades on

enesest mõistetav paljude rakendustega korraga töötamine ning erinevate väliste

andmekandjate kasutamine ilma, et tööd tehes kuidagi eristaks, et tegu on mobiilsete

andmekandjatega. Enda dokumendikausta, töölauda, ja prügikasti kasutades pole vaja mõelda

rohkemale, kui vaid sellele, et tööfailid paiknevad arvutis, programmid töölaual ning

ebavajalik rändab virtuaalsesse paberikorvi. Internetis toimetamine on muutunud piisavalt

kiireks ja mugavaks, et puudub vahe, kas kasutame enda arvutisse paigaldatud rakendusi või

teadmata kaugusel asuva serveri omi.

Operatsioonisüsteemide kasutamise mugavus on kasvanud koos süsteemi keerukusega.

Keeruline süsteem aga jätab enda kasutamisest maha ka küllalt palju jälgi. Järgnevates

peatükkides vaatlemegi, kuidas tuvastada operatsioonisüsteemis Windows XP kasutaja

tegevuse jälgi.

2.1 Kasutaja jäljed NT-põhistes operatsioonisüsteemides

Windows XP on 2001. aastal välja lastud NT-põhine operatsioonisüsteem, milles ühildati

aastatepikkuste pingutuste lõpuks Windows NT/2000 turvaline ja töökindel arhitektuur ning

Windows 98 universaalne kasutusmugavus. XP järeltulijana on turul 2007. aasta algusest

kasutajatele saada olev Windows Vista, millega loodetakse veelgi tõsta arvuti kasutamise

turvalisust ning võrgurakendustega integreeritust. Vistale ennustatakse siiski veel 2 aastast

üleminekuaega enne, kui laiem kasutajaskond sellega täielikult harjub. Ka Windows 98

22

Page 23: Infotehnoloogiliste ekspertiiside uuringud

võidutses kodu- ja kontoriarvutites veel 2003. aastal. Windows Server 2003'le avaldati aasta

alguses järeltulija Windows Server 2008, mille üks huvitavamatest uuendustest on ilma

alglaadimise abita NTFS'i vigade parandamine ehk iseparanev NTFS.

NT-põhise Windows operatsioonisüsteemi kasutaja jälgede uurimiseks peab mõistma selle

tehnilisi eripärasid, kuidas hallatakse süsteemi kasutajaga seotud kataloogistruktuure ning

süsteemifaile, mis aitavad kirjeldada kasutaja toiminguid. Käesolevas peatükis käsitletakse

Windows XP lihtsamaid omadusi, millele süsteemi esmasel uurimisel tähelepanu pöörata:

kataloogistruktuuri, linkfaile, prügikasti ja printimise jälgi. Selgitatakse, saada kiire ülevaade

paigaldatud Windows operatsioonisüsteemist ning valmistutakse järgmises peatükis käsitletud

Windows registri analüüsiks.

2.1.1 Operatsioonisüsteemi tüübi tuvastamine

Operatsioonisüsteemi tehniliste eripärade otsimisele eelneb süsteemi identifitseerimine, mis

võimaldab edaspidiselt uuringu läbiviijal konkreetsemaid valikuid langetada. Allpool on

ülevaatlik tabel operatsioonisüsteemide kiireks tuvastamiseks vaikeseadete korral. Võrreldes

omavahel operatsioonisüsteeme Windows 95/98, Windows NT, Windows 2000 ja Windows

XP/2003 näeme, et aja jooksul on muutunud süsteemide kasutajakataloogi, süsteemikataloogi

ja prügikastikataloogi nimetused.

Operatsioonisüsteemil Windows 95/98 puudub kasutajaprofiili kataloog. Süsteemikataloogiks

on C:\Windows ning prügikasti kataloogiks C:\Recycled. Prügikasti taastamist käsitlevas osas

näeme, kuidas \Recycled kataloog on seotud FAT failisüsteemiga. NT-põhistes Windows

süsteemides NT, 2000, XP, 2003 ja Vista on prügikastikataloogi nimeks \Recycler. Võib-olla

seetõttu, et seal tegeletakse kasutaja põhiselt prügi sorteerimisega. Kõigil NT-põhistel

süsteemidel on ka kasutajaprofiilide kataloog. NT'l on selleks \WINNT\Profile, alates

Windows 2000'st on see aga kataloogis \Documents and Settings. Süsteemikataloogiks on

NT'l ja 2000'l \WINNT ning alates XP'st jälle \Windows.

Kataloogide nimede võrdlemine annab esimese ettekujutuse, millise operatsioonisüsteemiga

tegu on. Lisaks näitab Windows 2000 ja XP süsteemikettal paikneva faili C:\boot.ini sisu

vaikimisi seadistuste korral laetava operatsioonisüsteemi tüübi nime. Windows registri kirjete

järgi süsteemi tuvastamist käsitletakse peatükis NT-põhise Windows'i register.

Järgnevad peatükid keskenduvad eelkõige Windows XP omaduste kirjeldamisele, mis on

väga sarnased Windows Server 2003 ja kattuvad suures osas ka Windows 2000 omadustega.

23

Page 24: Infotehnoloogiliste ekspertiiside uuringud

2.1.2 Kasutajat kirjeldavad failid ja kataloogid

Esimese viite NT-põhiste Windows operatsioonisüsteemide võimaliku kasutaja kohta saame

kataloogistruktuurist, mis luuakse kasutaja esimesel süsteemi logimisel. Nii lokaalsel

logimisel kui läbi serveri autentides loodava kataloogistruktuuri juurkataloog ehk kasutaja

juurkataloog nimetatakse kasutajanime järgi ning paigutatakse see kasutajaprofiilide

kataloogi. Vastavalt Windows XP süsteemis kataloogi \Documents and Settings”.

Loodava kataloogi struktuur võetakse aga operatsioonisüsteemi paigaldamise käigus loodud

vaikimisi kontolt \Default User, mis samuti paikneb kasutajaprofiilide kataloogis. Tööjaama

läbi Windows domeenikontrolleri autentimisel kasutatakse kasutajaprofiili loomiseks vastava

serveri \Default User kataloogistruktuuri.

Kasutajaprofiilide kataloogi loodav kasutaja juurkataloog nimetatakse loodud konto nime

järgi ning reeglina seda ei muudeta. Siiski on tegu vaikeseadega, mida saab muuta süsteemi

administraatori. Kasutajaprofiilide kataloogide avamine on teistele kasutajatele piiratud ning

isegi kasutajaspetsiifilised süsteemifailid on iga profiili kataloogis eraldi. Olulisim neist on

kasutaja juurkataloogis paiknev registrifail NTUSER.DAT, mis sisaldab erinevaid kasutaja

seadeid, näiteks keeleseaded. Töötavas registris vastab sellele failile registrikogum

HKEY_CURRENT_USER. Teiste registriseadete uurimist käsitletakse peatükis NT-põhise

Windows register. Faili uuendatakse operatsioonisüsteemi poolt igal kasutaja väljalogimisel,

seega saab faili viimati muutmise aja järgi kindlaks teha, millal kasutaja viimati välja logis.

2.1.2.1 Kohalikud seaded

Kohalike seadete kataloog \Local Settings on kasutaja tegevuste jälgimisel oluline. Selle

alamkataloogi \History salvestatakse index.dat failidena MS Internet Explorer (IE)

veebikülastuste ajalugu.

Huvitav on, et Windows Explorer salvestab index.dat failidesse ka kasutaja failide avamise

viited. Salvestamine toimub kasutajale nähtamatult ning üldiselt sõltumata failibrauserist.

Failide avamist salvestatakse valikuliselt ning see ei toimi kõigi teksti- ja dokumendifailide

puhul. Katsel selgus, et avatud failide ajalukku salvestati viited TXT, DOC ja ODT failide

avamisele ning välja jäeti PDF-failid ning pildi- ja videofailid. TXT-failide viidete

salvestamine kõigil kordadel ei toimunud. Hoolimata logimissüsteemi segasusest on sellisel

viisil võimalik ühe päeva täpsusega vaadelda, milliseid dokumendifaile mingi kasutajanime

alt avati. Index.dat failide kirjed algavad URL signatuuriga ning kirje viimati muutmise ja

viimati vaatamise aja leiab kirje 9. baidilt 16 baidi pikkuse Windows Date/Time ajakirjena.

Lisaks \History index.dat failidele on kasutajaprofiili kataloogides veel kahte tüüpi index.dat

24

Page 25: Infotehnoloogiliste ekspertiiside uuringud

faile. Üks neist paikneb samas kataloogi \Local Settings alamkataloogis \Temporary Internet

Files ning peab arvet IE internetisessiooni käigus alla laetud ajutiste failide kohta. Teine

index.dat paikneb kasutaja juurkataloogi kataloogis \Cookies ning peab arvet külastatud

veebilehtede küpsiste (ingl. k cookies) üle.

Küpsiste kataloogi salvestavad internetilehed tekstifailidena enda seadistuse kohalikus

masinas. Näiteks lehekülje seaded, kasutajanime, külastuste statistika või isegi parooli. IE

küpsised asuvad tavaliselt kataloogis \Cookies tekstifailidena. Mozilla küpsised paiknevad

kasutaja juurkataloogi alamkataloogi \Application Data\Mozilla kataloogisüsteemis

cookies.txt failis tekstikirjetena.

2.1.2.2 Rakenduste andmed

Programmide kasutajapõhised tööfailid salvestatakse vajadusel kataloogis \Application Data.

Windows 95 ja 98 masinatel paikneb see \Windows kataloogis. Windows XP kasutaja

profiilide kataloogistruktuuris olemas on kaks \Application Data kataloogi, millest üks

paikneb otse kasutaja juurkataloogis, teine \Local Settings kataloogis. Kahe sarnase kataloogi

pidamise põhjus tuleneb võimalusest, et kasutaja kataloogi või profiili saab seadistada liikuva

kasutajaprofiilina, mis paikneb serveris ning laetakse masinasse alles kasutaja sisselogimisel.

Välja logimisel laetakse uuendatud profiiliandmed taas serverisse.

Arvuti ja interneti kasutamise käigus tekib suures koguses kasutajaga seotud informatsiooni,

näiteks veebibrauserite ja teiste tarkvarede vahemälufailid ning serveripõhiste meilikontode

allalaetud sisu. Sellise pidevalt kasvava infohulga edasi-tagasi transportimine muudaks

arvutisse logimise protsessi järjest aeglasemaks ning koormaks võrguliiklust. Seetõttu

hoitakse kõik sellised transportimist mitte vajavad kasutajaga seotud andmed \Local Settings

kataloogis.

2.1.2.3 Dokumendid ja töölaud

Kasutaja juurkataloogis on kaks süsteemikataloogi, mille sisu on täiesti kasutaja enda päralt:

dokumendikaust \My Documents ja töölauakaust \Desktop. Visuaalsel töölaual paiknevad

ikoonid pärinevad kahest erinevast kataloogist kasutajaprofiilide kataloogist: \All

Users\Desktop ja kasutaja enda \Desktop kataloogist. Kui viimane on tühi, tähendab see, et

kasutaja töölaual pole midagi kasutajale spetsiifilist ning kasutusel on üldised, kõigile

süsteemi kasutajatele nähtavad failid, mida saavad töölauale paigaldada vaid

administraatoriõigustes kasutajad.

Uuringu käigus tuleb kontrollida mõlemat töölaua kausta, nii kasutaja enda oma kui üldist

\All Users\Desktop kataloogi. Kasutaja töölauakataloog võib sisaldada viiteid failidele või

25

Page 26: Infotehnoloogiliste ekspertiiside uuringud

tarkvaradele, mille kasutaja on teinud otsetee-ikoonide ehk linkfailide abil hõlpsamini

kättesaadavamaks. Näiteks dokumentide võltsimise juhtudel võib töölaualt leida viiteid

trükifailide töötlemise tarkvarade kasutamisele

2.1.2.4 Linkfailid – Favorites, Recent, Send To, Start Menu

Töölaual hoitakse otsetee-ikoone dokumentide, programmide ja kataloogide mugavamaks

kasutamiseks. Mõned neist tekivad sinna tarkvarade paigaldamise käigus, mõned luuakse

kasutaja enda poolt. Selliseid LNK-laiendiga otseteefaile (ingl. k shotrtcuts) võib nimetada

faililaiendist tulenevalt ka linkfailideks või linkideks. Need on tavalised failid, mida saab

vastavalt vajadusele paigutada suvalistesse kataloogidesse. Linkfailide ülesanne on olla

otseteeks rakendustele, failidele, kataloogidele või seadmetele, et säästa kasutajat rutiinsest

kataloogide sirvimisest. Arvuti uuringu seisukohalt on oluline linkfailide omadus viidata

arvuti kasutaja toimingutele. Nimelt on kasutajaprofiilis peale töölaua olemas veel neli

peamist süsteemikataloogi, kuhu linkfailid arvuti kasutamise käigus automaatselt tekivad..

Tüüpiline kataloog, millesse kasutamise käigus sihtfailid tekivad on kataloog \Recent. Tegu

on süsteemikataloogiga, millesse salvestatakse automaatselt kasutaja poolt viimati vaadatud

failide lingid Kasutajale on kataloogi \Recent sisust nähtav Start-menüüs Dokumentide valiku

all viimased 15 avatud faili. Kataloogi \Recent jäävad alles aga kõigi vaadatud failide

linkfailid. Kataloogis registreeritakse vaid õnnestunud failde ja kataloogide avamised, mis

annab omakorda viite, et failid, mille linkfailid paiknevad \Recent kataloog viitab on kindlasti

avatud ja seega tõenäoliselt vaadatud. Näiteks, kui kasutaja kasutab dokumentide trükifailide

töötlemiseks pilditöötlustarkvara, hiljem eemaldab tarkvara ja failid arvutist ning väidab, et ei

tea pilditöötlusest midagi. Sellisel juhul annab \Recent kataloogist leitav

pilditöötlustarkvarale spetsiifilise dokumendifaili linkfail viite, et arvutis on kunagi edukalt

avatud pilditöötluse tööfaili tüüpi fail, mis annab omakorda põhjuse keskenduda vastava

tarkvara ja failide kohta viidete otsimisele.

Kataloog \Favorites sisaldab peamiselt veebibrauseri MS Internet Explorer kasutaja poolt

salvestatud URL-laiendiga linkfaile internetilehtedele. Internet Explorer'i ja Windows'i

süsteemse failibrauseri Windows Explorer'i integreerituse tõttu on mõlemas programmis

eelistuste (ingl. k favorites) menüü ja seega võimalus sinna lisaks URL-linkidele tekitada

linke ka LNK-failidena. Kasutajale on salvestatud eelistused nähtavad veel Start-menüüs

Eelistused valiku all. Kõik need kolm menüüd loevad oma sisu kataloogist \Favorites, kuhu

saab lisaks linkfailidele kopeerida suvalisi faile, mis muutuvad seejärel Eelistuste menüüdest

nähtavateks. Internetibrauser Mozilla Firefox hoiab oma eelistused ehk järjehoidjad (ingl. k

bookmarks) \Application Data kataloogis bookmarks.html failis.

26

Page 27: Infotehnoloogiliste ekspertiiside uuringud

Kataloog \Send To sisaldab tavaliselt vaid otseteid pakkimis- ja meilitarkvarale, töölauale ja

kasutaja dokumendikataloogi. Kasutaja saab \Send To kataloogi lisada otseteid kataloogidele,

partitsioonidele ja tarkvaradele. Saada-menüü kaudu (töölaual rippmenüüst käsk "Send To")

faili avamiseks kindla tarkvaraga piisab, kui eelnevalt kopeerida \Send To kataloogi tarkvara

linkfail või programm ise.

Windows kasutajale tuttava Start menüü (ingl. k start menu) objektid paiknevad kataloogis

\Start Menu. Kataloogi omapäraks on, et kasutaja kataloogis paiknev \Start Menu sisaldab

sarnaselt kasutaja \Desktop kataloogile vaid konkreetsele kasutajale spetsiifilisi objekte.

Paigaldatud tarkvarade otseteed, mis on tehtud kättesaadavaks kõigile kasutajatele, paiknevad

kataloogi \Documents and Settings üldiste kasutajaseadete kataloogis \All Users\Start Menu.

Reeglina paigaldatakse tarkvara kõigile arvutis registreeritud kasutajatele, kuid mitme

kasutajaga süsteemides lubatakse tarkvara paigaldada ka ainult paigaldajale. Sellisel juhul

luuakse linkfailid vaid paigaldaja kasutaja Start-menüü ja töölaua süsteemikataloogidesse.

Start menüüsse on võimalik igasuguseid otseteid tekitada ning lisaks otseteefailidele on Start

menüü kasutajale nähtavad kõik kataloogi kopeeritud failid. Reeglina on Start menüüs siiski

paigaldatud tarkvarade lingid ning tarkvarade eemaldamisel eemaldatakse automaatselt ka

vastavad linkfailid. Eemaldamata jäävad hiljem kasutamise käigus \Start Menu kataloogi

alamkataloogiidest ümber tõstetud või eraldi töölauale kopeeritud linkfailid, mille leidmine

annab viite arvutis eksisteerinud rakendustele ja failidele.

2.1.2.5 Teadlikkus failide ja tarkvarade olemasolust

Kuna otseteefailid on tavalised failid, mis sisaldavad endas suunamisfunktsiooni, on neil

failiatribuudid nagu teistelgi failidel, seal hulgas failisüsteemis loomise, viimati muutmise ja

viimati avamise ajad. Otseteefailide viimati muutmise failiaeg tavakasutuse käigus ei muutu,

kuid selle kaudu dokumendi või programmifaili avamisel muudetakse järjest otseteefaili ja

sihtfaili viimati vaatamise kuupäevad. Sihtfaili muutmisel ja ülesalvestamisel muudetakse ära

vaid sihtfaili viimati muutmise aja atribuut, kuid otseteefaili oma ei muudeta, sest seda faili ei

muudeta. Otseteefaili failiajad annavad meile viite otseteefaili loomise aja kohta, mis võib

viidata näiteks rakenduse paigaldamise ajale või siis ajahetkele, millal otsustati mingit faili

või programmi aktiivsemalt kasutama hakata ning loodi sellele otsetee töölauale. Kuigi

tarkvarade vaikeseadetega paigaldamisel luuakse otseteefailid töölauale tihtipeale

automaatselt, annab selle paiknemine kasutaja töölaual siiski viite kasutaja teadlikkusest

vastava faili või rakenduse kohta uuritavas arvutis, sest otseteefaili ikoon töölaual on küllalt

silmatorkav. Linkfaili ja sihtfaili failiaegade erinevus viitab aga teadlikule otsetee loomisele.

Sellise uuringu korral on siiski soovitatav vastava tarkvaraga läbi viia katse, et kontrollida,

27

Page 28: Infotehnoloogiliste ekspertiiside uuringud

kas vastava tarkvara paigaldamisel luuakse otseteefail töölauale automaatselt. Veelgi parem

viide kasutaja teadlikkusele mingist tarkvarast või failist on, kui kasutaja on otseteeikoonid

kopeerinud või tõstnud näiteks Start-menüüst või tekitanud \Program Files kaustast. Üldiselt

pakuvad tarkvarad paigaldamisel, et programm paigaldatakse ainult vastavale kasutajale või

kõigile kasutajatele. Viimasel juhul tekitatakse Start-menüü ja töölaua lingid ainult

vastavatesse \All Users kataloogidesse. Nüüd, kui administraatoriõigustes kasutaja otsustab

otsetee optimeerimiseks tõsta Start-menüü programmide alt programmile viitava lingi otse

töölauale, kaob see reeglina menüüst. Selline toiming mõjutab kõiki kasutajaid, sest

otseteefail eemaldatakse \All Users kataloogist ning tõstetakse juba konkreetsesse kasutaja

\Desktop kataloogi.

2.1.2.6 Teadlikkus kettapartitsiooni olemasolust

Nagu eespool mainitud, kasutatakse otseteefaile ka kettapartitsioonidele viitamiseks. Kuna

otseteefailid paiknevad enamasti süsteemiketta süsteemikataloogides, siis on võimalik, et nii

mõnigi link viitab failile ja kettale, mida uuritavas arvutis hetkel olemas ei ole. Nimelt

sisaldavad otseteefailid enda andmealas sihtfaili nime ning täispikka kataloogiteed.

Linkfailid, mis viitavad partitsioonile või kataloogile, sisaldavad vastava partitsiooni ja

kataloogi asukohta kataloogiteena. Füüsilise ketta puudumisel annab see viite, et arvutiga on

kunagi ühendatud eemaldatav ketas, ning näiteks tühja ketta korral vihjab see, et sihtfail võis

paikneda puhastatud kettal. Kuigi sellisel juhul ei leia uuringu läbiviija näiteks otsitavaid

andmefaile, võib ta leida viited nende failide nimedele ja kataloogikirjetele ning failide

loomise, muutmise ja viimati kasutamise ehk LMA aegadele, mis omakorda viitavad, et

uuritavas arvutis on kasutatud failide käitlemiseks välist andmekandjat.

2.1.2.7 Linkfailide tehnilised omadused

Otseteefailide huvitav omadus on, et nende loomisel salvestatakse otseteefaili andmealale

sihtfaili atribuutidele vastavad loomise, viimati muutmise ja viimati vaatamise ajamärgid

(LMA). Ajamärgid jäävad andmealal fikseerituks ning hilisema kasutuse käigus need muutu,

mis tähendab, et koos sihtfaili asukohaga kataloogipuus jäädvustatakse otseteefaili ka selle

faili ajatemplid. Otseteefaili loomise aja saame aga faili enda atribuutidest.

Otseteefaili andmealal olevad ajamärgid asuvad 8-baidiste kirjetena vastavalt otseteefailis

bait-ofsetil 28, 36 ja 44, moodustades selliselt 24-baidise kirje. Otseteefaili andmealal

paiknevate ajamärkide järjekord erineb failiatribuutides esitatust ning need tähistavad

vastavalt sihtfaili loomise, viimati avamise ja viimati muutmise aega (LAM). [3]

Mõnikord võib tekkida vajadus otsida viiteid failide kasutamisele, näiteks dokumendifailide

28

Page 29: Infotehnoloogiliste ekspertiiside uuringud

avamisele. Sellisel juhul on esimene võimalus pärast kustutatud kataloogikirjete taastamist

LNK-laiendi järgi failinimede sorteerimine. Selleks, et tuvastada võimalikke kustutatud ning

hävinud failitunnustega otseteefailide andmealasid, tuleb läbi viia otsing failide poolt

hõivamata alalt ning soovtavalt ka virtuaalmälufailist pagefile.sys. Otseteefailide andmevälja

otsingu teeb suhteliselt mugavaks faili päise üldkuju. Otseteefaili esimesed 7 baiti on

fikseeritud ning moodustavad 16-süsteemis signatuuri (4C 00 00 00 01 14 02) [3].

Otseteefaili andmeala suurus ei ületa reeglina kahte sektorit, mis annab võimaluse leitud

andmeala järgi otseteefaili taastamiseks. Järgnevalt on ära toodud otseteefailide sisu täpsem

kirjeldus.

FO Suurus Kirjeldus

0 Dword Alati 4C 00 00 00 ehk ‘L’

4h 16 baiti Otseteefaili GUID

20 Dword Lipud

24 Dword Faili atribuudid

28 Qword Time 1

36 Qword Time 2

44 Qword Time 3

52 Dword Faili pikkus

56 Dword Ikooni number

60 Dword ShowWnd väärtus

64 Dword „Hotkey“

68 Qword Reserveeritud, alati nullväärtustega

Joonis 2: Otseteefaili kirjed [11][12]

Järgnevalt on toodud otseteefaili kasutamisel failide kataloogikirjes olevate failiaegade

(LMA) ja otseteefaili andmealal paiknevate aegade käitumine erinevatel toimingutel:

Sihtfailile otseteefaili loomine:

•Otseteefaili LMA'le omistatakse ajad vastavalt süsteemikella näidule otseteefaili loomise

hetkel ning kõik kolm aega saavad sama väärtuse

•Otseteefaili kataloogikirje muutmise aeg saab sama väärtuse

29

Page 30: Infotehnoloogiliste ekspertiiside uuringud

•Otseteefaili andmealale kantakse sihtfaili LMA aegadele täpselt vastavad ajamärgid

järjestuses LAM

•Otseteefaili loomise muutub käigus sihtfaili viimati vaatamise aeg vastavalt süsteemikella

näidule loomise toimepaneku hetkel, mis on mõned sekundid varasem aeg, kui otseteefaili

LMA ajad. Kusjuures sihtfaili kirje muutmise aeg sellest ei muutu.

Otseteefaili kataloogipuus ümber tõstmine:

•Otseteefaili andmeala ajad ei muutu

•Otseteefaili LMA loomise ja viimati muutmise aeg ei muutu

•Otseteefaili LMA viimati avamise aeg muutub vastavalt süsteemikella näidule tõstmise

hetkel. Mõnel katsel võib see ka mitte juhtuda.

•Otseteefaili kataloogikirje muutmise aeg muutub vastavalt süsteemikella näidule kirje

muutmise hetkel ning võib olla mõned sekundit hilisem tõstmise hetkest

Sihtfaili avamine otseteefaili kaudu:

•Otseteefaili LMA ei muutu

•Otseteefaili andmeala ajad ei muutu

•Sihtfaili LMA ei muutu!

Avatud sihtfaili muutmine ning salvestamine:

•Sihtfaili LMA's loomise aeg ei muutu

•Sihtfaili LMA's viimati muutmise ja viimati avamise ajad muutuvad vastavalt

süsteemikellale ning saavad ühesuguse väärtuse

Kõik eespool nimetatud viited omavad vaid abistavat rolli edasiste viidete otsimisel, sest

ajamärke ei saa kunagi kindla tõendina kasutada, juba seetõttu, et kõik arvuti kasutamise

käigus loodavad ajamärgid sõltuvad süsteemikella õigsusest ajamärgi loomise hetkel. Isegi

juhul, kui saame olla kindlad süsteemikella täpsuses, on failiaegade ajamärkide loomisel alati

võimalus vastuoludeks, mis tulenevad erinevate tarkvarade kasutamisest. Lisaks on

failiatribuute suhteliselt lihtne muuta, näiteks Windows Explorer'ga konkureeriv tarkvara

Total Commander võimaldab korraga muuta terve kataloogitäie failide viimati muutmise

aega, muutes sellega ka viimati vaatamise ning atribuudi viimati muutmise ajamärgid.

30

Page 31: Infotehnoloogiliste ekspertiiside uuringud

2.1.2.8 Kasutaja prügikast

Ekspertiise tutvustavas peatükis mainisime, et failide kustutamine tähendab failide

ülekirjutamiseks vabaks märkimist ning faili prügikasti tõstmisel tekitatakse sellesse faili

taastamiseks eraldi kirje. Kõigil Windows operatsioonisüsteemi kasutajatel on töölaual

prügikasti (ingl. k Recycle Bin) ikoon. Prügikast on peidetud süsteemikataloog, millesse

luuakse faili kustutamise käigus koopia kustutatavast failist. Faili tavapärasel kustutamisel

kaob fail enda algsest kohast ning tekib taas prügikasti, kuid faile saab kustutada ka otse, ilma

prügikasti vahenduseta Shift-Del klahvikombinatsiooniga. Sellisel juhul märgitakse fail

kustutatuks ning prügikasti selle koopiat ei tekitata. Iga NTFS partitsiooni juurkataloogis

paikneb süsteemikataloog \Recycler ja vastavalt FAT partitsioonil \Recycled. Kataloogi

\Recycler omapära on, et seal luuakse igale sisseloginud kasutajale kustutatud failide jaoks

eraldi kataloog ehk kasutaja isiklik prügikast. Igas sellises kataloogis on eraldi peidetud

INFO2 süsteemifail prügikasti haldamiseks ning desktop.ini fail mille sisu määrab, et tegu on

prügikastiga. Kataloog luuakse esimesel kustutamisel ja nimetatakse kasutaja SID-numbri

järgi ning õigused selle lugemiseks on vaid kasutajal või administraatoril. Selleks, et arvuti

uuringu käigus teada, millisele arvutis registreeritud kasutajale mingi prügikast kuulub, tuleb

SID-numbrid kasutajanimeks teisendada. Seda protsessi käsitletakse käesoleva töö Windows

Registri peatükis.

Kuna igal arvuti kasutajal on \Recycler kataloogis eraldi SID-numbri järgi nimetatud

kataloog, siis üks kasutaja töölaua prügikastis teise kasutaja kustutatud faile ei näe. Seda

omadust saab ära kasutada andmete lihtsaks peitmiseks kataloogi, tavakasutuse käigus kunagi

ära ei kustutata. Kui \Recycler kataloogis olev kasutaja SID-kataloog ümber nimetada, siis

töölaua prügikastis neid enam näha ei ole. Siiski on need alles ümber nimetatud kataloogis

ning neid faile ei sa kustutada töölaua prügikasti tühjendamise käsuga. Sama moodi võib

prügikasti erinevatesse süsteemikataloogidesse otse faile kopeerida. Need pole küll nähtavad

ühegi kasutaja töölaua prügikastis, kuid neid ei mõjuta prügikasti tühjendamise protsess. Kui

kasutaja prügikasti kataloog ümber nimetada või otse Shift-Del käsuga kustutada, luuakse

järgmisel faili kustutamisel \Recycler kataloogi uus kasutaja SID-numbri järgi nimetatud

kataloog ning prügikast toimib edasi. Selle omaduse järgi saab tühja \Recycled kataloogi järgi

viite, et kasutaja pole ühtegi faili veel kustutanud või on faile kustutanud otse ning jälgi

jätmata.

2.1.2.9 Prügikasti toimimine

Faili prügikasti abil kustutamise protsess on järgmine. Kui kasutaja tõstab faili prügikasti,

kustutatakse MFT'st vastava faili kirje ning luuakse uus kirje selle sama faili uue nimega.

31

Page 32: Infotehnoloogiliste ekspertiiside uuringud

Süsteemifaili INFO2 lisatakse kustutatud faili kohta kirje, mis sisaldab faili kustutamise

kellaaja ja kuupäeva ning algse kataloogitee.

Kustutamisel salvestatakse faili järjekorranumber ehk indeks \Recycler kataloogis, mille

loendamine algab pärast iga prügikasti tühjendamist uuesti nullist ning kustutatud fail saab

MFT kirjes uue nime. Nime vorming on järgmine: D[partitsioon][indeks].[faililaiend].

Näiteks, kui \Recycler tühjendatakse ja seejärel kustutatakse fail Thumbs.db, mis paikneb

kataloogis F:\Pildid\Minupildid, siis nimetatakse see fail ümber nimega DF0.db. Faili algne

nimi, asukoht kataloogipuus, kustutamise aeg ja järjekorranumber lisatakse 800 baidise

kirjena INFO2 faili [7]. Kustutamine ja prügikasti tõstmine ei toimi eemaldatavate ketaste

(ingl. k Removable Disk) ning võrguketaste puhul, siis märgitakse fail otse kustutatuks ning

INFO2 kirjet ei looda. Kohaliku kettana (ingl. k local disk) süsteemis olevale välisele kettale

luuakse prügikasti kataloog vastavalt failisüsteemile FAT'i korral \Recycled ja NTFS puhul

kataloog \Recycler ning selles paiknevad kustutatud failid on näha kohaliku töölaua

prügikastis. Välise ketta eemaldamisel kaovad prügikastist ka selle vastavad kustutatud failid,

mis on taas ühendamisel uuesti nähtavad. Kui kasutaja tühjendab prügikasti, kustutab

Windows kõigi süsteemi ühendatud kohalike ketaste INFO2 failis registreeritud kustutatud

failid ning märgib INFO2 failid väiksemaks. Seetõttu jäävad faililõpualasse eelmise INFO2

faili kirjed alles.

2.1.2.10 Teadlikkus failide olemasolust kustutamisel

Järgnevalt kirjeldatud viidete kontroll on vajalik peamiselt lapspornoga seotud uuringutes,

kus on oluline kindlaks teha, kas ja kuidas kollektsiooni omanik faile käitles. Selliseid

uuringuid tehakse siis, kui on juba tõsised tõendid, et kahtlustatav tegeles süstemaatiliselt

materjalide kollektsioneerimise, tootmise või levitamisega.

INFO2 kirje viitab, et kasutaja võis kustutada faili teadlikult ning seega olla teadlik faili

olemasolust. Failid, mis kustutatakse operatsioonisüsteemi poolt, ei jäta kirjeid INFO2 faili.

Kui kasutaja väidab, et uuritav fail on tahtmatult internetist alla laetud, saab faili algse

asukoha kirje järgi INFO2 failist väite tõepärasust kontrollida. Kui fail asus enne kustutamist

veebibrauseris seadistatud allalaadimiste kataloogis või brauseri ajutiste failide kataloogis, on

väite õigsus tõenäolisem kui juhul, kus fail paiknes kasutaja dokumendikausta suvalises

alamkataloogis.

Kustutamise kuupäeva järgi saab kontrollida kasutaja väiteid failide kasutamise ja

kustutamise kohta. Näiteks saab kontrollida kasutaja väidet, et ta küll nägi arvutis keelatud

faile, kuid kustutas need ammu, kohe pärast nägemist.

32

Page 33: Infotehnoloogiliste ekspertiiside uuringud

2.1.2.11 Prügikasti taastamine

Kuna prügikasti tühjendamine on tavaline toiming, ei saa piirduda vaid \Recycler kataloogi

INFO2 failide analüüsiga ning viiteid failide kustutamise kohta tuleb otsida failide poolt

hõivamata alalt. Kirjete otsimisel on kolm keerukuse astet: kui INFO2 fail on osaliselt üle

kirjutatud, kui INFO2 faili failitunnused on hävinud ja kui INFO2 faili andmeala signatuur on

hävinud.

Esimesel juhul näeme ketast madaltasemel vaadeldes, et INFO2 faili algus on eksisteeriva

faili andmeala, kuid sealt edasi jätkuvad kirjed faililõpualal (ingl. k slack space) oleval

eelmise kustutatud faili andmealal.

Teisel juhul, kui kustutatud INFO2 fail ise on kustutatud ning hävinud on ka selle MFT kirje,

tuleb otsida INFO2 faili algustunnust, mille leidmisel saab jätkata juba faili kirjete

analüüsimisega.

Kolmandal juhul, kui on hävinud ka INFO2 faili andmeala algustunnus, jääb üle vaid katse-

eksituse teel otsida failide poolt hõivamata ala oletatava sisu järgi, näiteks kataloogitee või

failinime järgi.

NT-süsteemides on INFO2 faili kirje pikkus on 800 baiti, Windows 95/98

operatsioonisüsteemis 280 baiti. Windows XP INFO2 faili 12 baidi pikkune algustunnus on

16'nd süsteemis (05 00 00 00 00 00 00 00 00 00 00 00). Seejärel tuleb FO:12 LE:8 märge

kirjete pikkuse kohta, mis on 16'nd süsteemis esitatud 32-bitine Little-endian täisarv (20 03

00 00 00 00 00 00) ehk 800 baiti. Kirje ise algab täispika kataloogiteega, mis sisaldab

kustutatud faili algset failinime. Kirje algusest lugedes 261. baidil asub 4 baidi pikkune

kustutatud faili kustutamise järjekorranumber ehk indeks ning sealt edasi 265. baidil asub 4

baidi pikkune faili päritolupartitsiooni kood, mis C: ketta puhul on vastavalt 02. 269. baidist

algab 8 baidi pikkune kirje kustutamise kuupäeva ja kellaaja kohta. Siis tuleb 4 baidine Int32,

mis näitab faili füüsilist suurust ehk siis faili loogilise suuruse ja faililõpuala summat.

Näiteks, kui faili suurus on 10 baiti, siis on kirjes märgitud suuruseks klastri suurus ehk 4096

baiti. Ülejäänud osas on kataloogitee ära toodud unikood formaadis. [3]

33

Page 34: Infotehnoloogiliste ekspertiiside uuringud

2.2 NT-põhise Windows'i register

Windows operatsioonisüsteemi register on väga keeruline erinevatest failidest koosnev

kataloog, mis sisaldab operatsioonisüsteemi seadeid ning paigaldatud tarkvarade, riistvara ja

kasutajate seadistusi ning valikuid. Lisaks sisaldab register ajatsooni infot, mis on vajalik

failiaegade analüüsimisel. Nagu eespool mainitud, on registris määratud kasutajate SID-

koodid ning pääsuõigused ressurssidele. Registrifailid ise on omapärased sisemist

failistruktuuri sisaldavad failid ning nende lugemiseks läheb vaja spetsiaalset tarkvara, mille

erinevaid variante võib leida internetist.

Windows’i registril on kaks olekut: töötav register (ingl. k online registry) ja ootel register

(ingl. k offline registry). Töötava registri sisu saadaval vaid süsteem töötamisel ning süsteemi

väljalülitamisel läheb register ooteseisundisse. Viimane olek on ühtlasi register, mida arvuti

uuringu käigus vaadelda tuleb.

2.2.1.1 Töötav register

Töötavat registrit saab sisselülitatud arvutis otse vaadelda ja ümber seadistada regedit.exe

abil, mis ei ole soovitatav, kuna vale seadistus võib rikkuda terve süsteemi. Ekspertiisi

seisukohalt on aga igasugune töötava arvuti uurimine lubamatu juhul kui see pole vältimatu

ainuvõimalik lahendus arvuti uurimisel.

Windows 2000 ja XP register on jagatud nelja sektsiooni: võtmed, nimed, tüüp, ja andmed

(vastavalt ingl. k: key, name, type, data). Kasutajatele näidatakse võtmeid kataloogidena, mis

sisaldavad registriväärtusi, millel omakorda on nimi, tüüp ja andmeosa. Andmeosa jaguneb

esituse tüübi järgi üldiselt kolmeks stringitüübiks (tavaline, multistring ja laiendatav string),

binaarkujul esitatud andmeosaks ning numbriliselt esitatud andmeosaks, mida saab samuti

kahendsüsteemis esitada.

2.2.1.2 Ootel register

Ootel olekus registri vaatlemiseks tuleb välja lülitatud arvuti andmekandjalt üles otsida

registrifailid, mis asuvad operatsioonisüsteemi juurkataloogi alamkataloogis

\system32\config. Nagu operatsioonisüsteemi tuvastamise peatükis nimetatud, on NT ja 2000

juurkataloogiks \Winnt ja XP'l \Windows. Üles leiab need ka faili andmeala signatuuri regf

järgi, mis 16-nd süsteemis esitatuna on (72 65 67 66). Registrifailid on ilma faililaienditeta

ning neile vastad järgmised registrikogumid:

Sam – HKEY_LOCAL_MACHINE\SAM

Security – HKEY_LOCAL_MACHINE\SECURITY

34

Page 35: Infotehnoloogiliste ekspertiiside uuringud

Software – HKEY_LOCAL_MACHINE\SOFTWARE

System – HKEY_LOCAL_MACHINE\SYSTEM

Default – HKEY_USERS\.DEFAULT

Userdiff – ei ole seotud ühegi registrikogumiga, kasutatakse vaid

operatsioonisüsteemi uuendamisel

Lisaks paiknevad kasutajate juurkataloogides registrifailid:

Ntuser.dat – HKEY_USERS\<kasutaja-SID> (lingitud registrikogumiga

HKEY_CURRENT_USER)

\Local Settings\Application Data\Microsoft\Windows\UsrClass.dat – HKEY_USERS\<kasutaja-

SID>_Classes (lingitud registrikogumiga HKEY_CURRENT_USER\Software\Classes)

[3] [13]

2.2.2 Registri kirjed

Registrifailide analüüsimiseks on erinevaid tasuta tarkvarasid ning ekspertiisitarkvara poolt

pakutavaid otsinguskripte. Automaatse registriinfo tõlgendamise järel tuleks siiski tulemused

alati käsitsi üle kontrollida. Järgnevas peatükis on ära toodud loetelu registrialadest, mis

sisaldavad uurimisel kasulikku informatsiooni.

2.2.2.1 Turvainfo

Operatsioonisüsteemi turvainfot hallatakse kahes registrikogumis: SAM ja SECURITY.

Uurimisel tuleb vahet teha, kas vaadeldakse kasutaja seadeid serveris või kohalikus masinas.

Kohaliku masina SAM fail sisaldab ainult lokaalse NT-süsteemi kasutajate ja

kasutajagruppide andmeid, mitte domeeni loginud kasutajaid. Operatsioonisüsteemi

paigaldamisel luuakse kohalikus masinas kaks vaikimisi kontot: kohaliku administraatori

konto ja külalise konto. Need on lokaalsed kontod, mis ei ole seotud arvutivõrgu domeeni

kasutajatega. Kõik ülejäänud lokaalsed kontod registreeritakse samuti SAM registrifailis.

Tavaliselt on kohalikud kontod kasutusel koduarvutites.

Arvuti, mida kasutatakse arvutivõrgu domeeni kasutajaga tarvitsebki sisaldada vaid kaht

lokaalset vaikimisi kontot. Kui arvutit kasutatakse domeeni logimiseks, toimub kasutaja

autentimine domeeniserveris selle õnnestumisel annab server kohalikule masinale loa

sisselogimisega jätkamiseks.

Kuna domeenikontosid hoitakse domeeniserveri SAM failis, siis arvutivõrkudest arvutite

35

Page 36: Infotehnoloogiliste ekspertiiside uuringud

kaasa võtmisel tuleks hinnata, kas on vajalik eraldi ligipääs domeenikontrollerile sellest SAM

faili kättesaamiseks. Nimelt peab kasutajate, kasutajakontode, viimaste logimiskuupäevade,

kodukataloogide kohta info saamiseks hankima SAM faili serverist. Lokaalses tööjaamas on

palju informatsiooni, mille kasutajaõigustele viidatakse vaid kasutaja SID-numbriga ning SID

kasutajanimeks lahendamine on võimalik ainult autentimisserverist saadud SAM faili abil.

Kasutajakontod paiknevad registrikogumis HKEY_LOCAL_MACHINE\SAM võtme all

\SAM\Domains\Account\Users\Names. Võtme Names kohal on kataloogid nimedega, mis on

esitatud sarnaselt: 1F4. Kataloogid on otseses seoses kasutajanimedega, mis on võtme Names

all olevas nimekirjas. Iga nime tüübi (ingl. k type) välja identifitseerimisega luuakse link

katalooginime ja loetava kasutajanimega. [3]

Kataloogi nimi on kasutaja ID ehk UID (ingl. k user ID). Näites toodud UID on tegelikult 32-

bitine number Big-endian formaadis ehk siis 16-nd süsteemi arv (00 00 01 F4), mis teisendub

kümnendsüsteemis arvuks 500, mis omakorda esitab vaikimisi administraatori konto UID'd.

[3]

UID'd sisaldava võtme leiab võtme Names all olevate võtmete nimestikust. Võti sisaldab kaht

faili, milles on enamus infost talletatud binaarkujul:

„v“ fail sisaldab konto andmeid: kasutajanime SID'd, kodukataloogi, paroole jne

„f“ fail sisaldab kontoga seonduvaid kuupäevi.

Kasulik informatsioonikild „v“ failis on SID number, mida kasutatakse kasutaja

identifitseerimiseks arvutivõrgus ja mis eristab, milline server autendib kasutaja. Näiteks:

S-1-5-21-1911861664-3925631421-1273205461-3056.

SID number on lahendatav väiksemateks elementideks:

S – tegu turvaidentifikaatoriga (ingl. k security identifier)

1 – SID struktuuri versiooninumber. NT-põhistes süsteemides on alati 1.

5 – SID volituste taset. 1 viitab kõigile (ingl. k everyone), 5 viitab kindlale kasutajale.

21 - 1911861664-3925631421-1273205461 - unikaalne domeeni või arvuti identifikaator.

3056 – suhteline identifikaator RID (ingl. k relative identifier). Kasutaja või grupi ID.

Ülaltoodud näites vastab sellele vaikimisi administraatori UID 500. Kõik arvutisse ise loodud

kontode ID'd esitatakse alates numbrist 1000. [3]

36

Page 37: Infotehnoloogiliste ekspertiiside uuringud

2.2.2.2 SID numbrite kokkuviimine kasutajanimedega

Eelnevalt mainisin, et \Recycler kataloogi kasutajakataloogide nimede järgi saab tuvastada

kataloogi omaniku kasutajanime. SID numbrite domeeni kasutajanimedega kokkuviimine

toimub registrivõtme abil, mis paikneb ($$$PROTO.HIV) registrikogumis

HKEY_LOCAL_MACHINE\SOFTWARE võtme all \Microsoft\Windows

NT\CurrentVersion\ProfileList.

Võti ProfileList salvestab NT töömasinasse loginud kasutajatega seotud andmete asukoha

kataloogipuus ning omakorda kasutaja SID-numbrite järgi nimetatud alamvõtmeid. Iga

alamvõti sisaldab EXPAND_SZ (laiendatav string) tüüpi registriväärtust nimega

ProfileImagePath, mis näitab kasutaja kataloogi kohalikus süsteemis. Kuna kasutaja

juurkataloog on tavaliselt seotud kasutajanimega, saab selle järgi kindlaks teha,

kasutajanimedele vastavad SID'd NT 4.0 või Active Directory domeenis. Register sisaldab

täiendavat infot arvuti olemasolu kohta arvutivõrgus.

Registrikogumi HKEY_LOCAL_MACHINE\SECURITY võti \Policy\PolAcDmN\Default

sisaldab lokaalse masina võrgunime. Võti \Policy\PolAcDmS\Default sisaldab lokaalse

masina võrgu-SID. Võti \Policy\PolPrDmN\Default sisaldab arvuti peadomeeni nime, millega

kohalik masin ühendub ja läbi mille ta ennast vaikimisi võrgus autendib. [3]

Juhul, kui domeenis autentiv tööjaam peaks kaotama võrguühenduse, kasutab tööjaam

kasutaja autentimiseks logimise vahemälu. NT-põhised Windows'id salvestavad vaikimisi

seadistusena vahemällu viimased kümme sisselogimist. Alates Windows 2000'st salvestatakse

need logimised krüpteeritult. Krüpteerimata jäetakse logimise aeg ning UID. Vahemällu

salvestatud logimiskirjed leiab registrikogumi HKEY_LOCAL_MACHINE\SECURITY

võtme alt \Cache\NL$n, kus n tähistab vahemällu salvestatud logimise numbrit nullist

üheksani. [3]

Järgnevalt on toodud logimistega seonduvad täpsustused registris võtme alt:

\Software\Microsoft\WindowsNT\CurrentVersion\WinLogon\

CachedLogonsCount – vahemällu puhverdatud sisselogimiste summa unikoodis.

DefaultDomainName – domeeni nimi unikoodis, mille logimisi puhverdatakse.

DefaultUserName – viimati sisseloginud kasutaja nimi, seda näidatakse vaikimisi

järgmisel sisselogimisel.

Samas sektsioonis on järgnevalt veel kasulikku informatsioonikilde:

LegalNoticeCaption - märkuse pealkiri aknale, mis näidatakse korraks pärast

37

Page 38: Infotehnoloogiliste ekspertiiside uuringud

sisselogimist

LegalNoticeText – näidatava teate tekst.

ShutdownWithoutLogon – sulgemise valik sisselogimisaknas (1 lubab väljalülituse, 0

eemaldab valiku).

PasswordExpiryWarning – kasutajate hoiatamise päevade arv enne parooli kehtivuse

lõppemist. Salvestatakse binaarkujul 32-bitise integerina. Vaikimisi 14 päeva. [3]

2.2.2.3 Käivitatava süsteemi seaded

Register System sisaldab kontrollsätete võtmeid ControlSet, mis sisaldavad täielikku süsteemi

laadimiseks vajalikku informatsiooni. Vaikimisi on neid kaks: ControlSet001 ja

ControlSet002. Süsteemi laadimisel tehakse ühest neist koopia ning laetakse see töötava

registrina. Uurimise seisukohalt on olulisim kontrollsätete informatsioon ajaseaded. Windows

süsteemis salvestatakse ajaseaded reeglina binaarkujul universaalajas GMT. See tähendab, et

arvuti uurimisel on oluline teadvustada, millised on parasjagu uuritava arvuti ajatsooni

seadistused. Lahendus on uurimiseks kasutatav laboriarvuti seadistada uuritava süsteem

ajaseadete järgi, milleks omakorda peab teadma, milline ControlSet uuritavas arvutis viimati

kasutusel oli.

Vastavat infot sisaldavad registrikogumi HKEY_LOCAL_MACHINE\SYSTEM võtmed:

\Select – sisaldab vaikimisi ControlSet kontrollsätete seadistuste kogu.

\Select\Current - töötavas arvutis viimati kasutatud ControlSet kontrollsätte number.

\Select\Failed - viimase alglaadimisel rikke põhjustanud ControlSet kontrollsäte number.

Kui riket pole olnud, on selle väärtus 0.

\Select\LastKnownGood – teada olevalt töökorras oleva ControlSet kontrollsätte

number, mida kasutatakse, kui arvuti alglaadimisel hangub. [3]

2.2.2.4 Ajatsooni seaded

Kuupäevad ja kellaajad salvestatakse Windows süsteemis meediale universaalajana GMT

(Greenwich Mean Time) ajatsoonis mida nimetatakse ka UTC (Coordinated Universal Time).

Ajakirje salvestamisel kontrollib Windows registrist ajatsooni seadeid ehk arvuti ajanihet

(ingl. k bias ofset) GMT suhtes ning uuesti kirje lugemisel teisendab Windows või EnCase

ekspertiisitarkvara loetud GMT aja esitatavaks ajaks vastavalt kohaliku aja seadetele töötavas

masinas. Arvutiuuringu probleemiks on, et meedia võib pärineda erinevast ajatsoonist või

seadistatud valesse tsooni. Seetõttu peab alati kontrollima registrist ajatsooni ja aktiivset

38

Page 39: Infotehnoloogiliste ekspertiiside uuringud

ajanihet GMT suhtes ning seadma labori arvuti süsteemikella samasse aktiivsesse ajatsooni.

Kui viimati kasutuses olnud kontrollsätete number on kindlaks tehtud, tavaliselt 1 ehk

vastavalt registrivõti ControlSet001, leiab ajaseadete võtmed registrikogumist

HKEY_LOCAL_MACHINE\SYSTEM, kus need paiknevad väärtustena

\ControlSet001\Control\TimeZoneInformation võtme all:

ActiveTimeBias – nihe minutites GMT suhtes, hetkel kasutusel oleva ajaseade, millele

on juba liidetud DayLightBias väärtus. 32-bitine täisarv.

Bias – nihe minutites GMT suhtes ajatsooni seade jaoks. 32-bitine täisarv..

DaylightBias – minutite arv Bias väärtuse suhtes talve- ja suveaja seadistuse jaoks.

Tavaliselt FF FF FF 4C ehk –60 minutit

DaylightName – ajatsooni talve- ja suveaja seadete nimi unikoodis.

DaylightStart – vaata allpool

DisableAutoDaylightTimeSet – registriväärtus, mis näitab, kas talve- ja suveaja

automaatne seade on deaktiveeritud (1 – deaktiveeritud, 0 - aktiveeritud)

StandardBias – minutite arv Bias väärtuse suhtes standardse aja jaoks. Tavaliselt 0.

StandardName – standardse ajatsooni seadistuse nimi unikoodis.

StandardStart – vaata allpool [3]

ActiveTimeBias näitab hetkel aktiivset ajanihet GMT suhtes. Näiteks, kui ActiveBias kirje

madaltasemel esitatuna on Big-endian formaadis ehk 16-nd süsteemis (4C FF FF FF), mis

töötavas registris esitatakse 32-bitise Little-endian täisarvuna (FF FF FF 4C) ehk –180.

Järelikult on aktiivne nihe GMT suhtes –180 minutit ehk 3 tundi, mis tähistab suveaega

Eestis. Vastavalt tähendab (00 00 01 68), et nihe GMT suhtes on 360 minutit ehk –6 tundi,

mis on suveaeg Arizonas. Oluline on jälgida, kas süsteemis on aktiveeritud suveaeg, sest

talveajal on vastavad nihkeväärtused (FF FF FF 88) ehk +2 ja (00 00 01 A4) ehk –7.

Peale selle peab kindlaks tegema veel väärtused StandardStart ja DaylightStart, mille üldkuju

esitatakse little-endian formaadis: päev, kuu, nädal, tund:

Päev – nädalapäev, kuna nädal algab pühapäevaga ning see on ka kellakeeramise päev,

siis on selle 16-bitise täisarvu väärtus 0.

Kuu – kuu esitus 16-bitise täisarvuna 1-12, vastavalt on märtsi väärtus 3.

Nädal – nädala number kuus, 16-bitise täisarv, mis algab väärtusega 1.

39

Page 40: Infotehnoloogiliste ekspertiiside uuringud

Tund – 24-tunnise päeva kellakeeramise tund. [3]

Näiteks 2008. aastal keerati kell 30. märtsi öösel kell 3:00 suveajale minekuks ühe tunni võrra

edasi. Vastav DaylightStart väärtus registris on (00 00 03 00 05 00 03 00) ehk pühapäev,

kolmas kuu, viies nädal, kolmas tund.

2.2.2.5 Veel olulisi registriseadeid

Võtmed registrikogumist HKEY_LOCAL_MACHINE\SOFTWARE:

\Microsoft\Windows\CurrentVersion\Uninstall – nimekiri paigaldatud rakendustest

\Microsoft\Windows\CurrentVersion\AppPaths - nimekiri paigaldatud rakendustest ja

kataloogiteed rakenduste programmifailidele

\Microsoft\Windows\CurrentVersion\Run – alglaadimisel käivitatavad failid.

\Microsoft\Windows\CurrentVersion\RunOnce – järgmisel arvutisse sisselogimisel

ühekordselt käivitatavad failid.

\Microsoft\Windows\CurrentVersion\RunOnceEx – rakenduste paigaldamisel või

seadistamisel ühekordselt käivitatavad failid.

\Microsoft\Windows\CurrentVersion\Setup – sisaldab süsteemi alglaadimise kataloogi,

tavaliselt C:\ ja teisi süsteemi seadistuse väärtusi

\Microsoft\WindowsNT\CurrentVersion – süsteemi paigaldamise info. Sisaldab

registreeritud kasutaja andmeid, paigaldamise kuupäeva, süsteemi versiooni jne.

\Microsoft\WindowsNT\CurrentVersion\Network Cards – paigaldatud võrgukaardid

\Microsoft\WindowsNT\CurrentVersion\Profile List – viimati laetud profiilid.[3]

Võtmed registrikogumist HKEY_LOCAL_MACHINE\SYSTEM:

\Current:ControlSet001\Control\ComputerName – lokaalse arvuti nimi

\Current:ControlSet001\Control\Windows\ShutDownTime – viimane registreeritud

arvuti väljalülitamise aeg. Ekspertiisi läbiviimisel on oluline kontrollida, millal võetud

arvuti välja lülitati. Kui aegade võrdlemine viitab sündmuskohal väljalülitamisele, võib

oletada, et arvutit vaadeldi juba kohapeal ning ekspertiisi läbiviimisel tuleks konsulteerida

vaatlejaga arvutiga läbiviidud toimingute osas.

\Current:ControlSet001\ENUM\IDE – IDE ketta informatsioon. ENUM võtme all on

lisaks info erinevate paigaldatud seadmete kohta.

\Current:ControlSet001\Services\lanmanserver\Shares – teistele kasutajatele välja

40

Page 41: Infotehnoloogiliste ekspertiiside uuringud

jagatud kataloogid ja partitsioonid.

NTUSER.DAT failist registrikogumi HKEY_CURRENT_USER võtmed:

• \Software\Microsoft\Windows\CurrentVersion\Explorer\RecentDocs – hiljuti avatud

failid grupeerituna failitüüpide kaupa.

• \Software\Microsoft\Windows\CurrentVersion\Explorer\Map Network Drive MRU –

kasutaja poolt arvutivõrgust külge võetud võrguketaste nimi.[3]

Peatükis kirjeldatud registriseaded moodustavad suhteliselt väikese osa kogu NT-põhiste

Windows operatsioonisüsteemide registrist. Kõiki registri lugemise reegleid ei olegi võimalik

ette anda, sest igal paigaldatud tarkvaral oma viis andmete salvestamiseks registris. Windows

registris vabalt orienteerumine ning registriseadete uurimine ja tõlgendamine on pidevat

süvenemist ja aega nõudev töö.

41

Page 42: Infotehnoloogiliste ekspertiiside uuringud

2.3 NT-põhise Windows'i logimissüsteem

Järgnev peatükk käsitleb NT-põhiste Windows operatsioonisüsteemide kaht erinevat

logimissüsteemi. Esimene neist, süsteemi sündmuste logimine toimub operatsioonisüsteemi

tasandil, teine aga on seotud NTFS failisüsteemi toimimisega.

2.3.1 Sündmuste logimine

Sündmuste logimine (ingl. k event log) võeti kasutusele esimese Windows NT’ga. See on

süsteem, kus tarkvarad ja operatsioonisüsteemi komponendid saavad kasutada

tsentraliseeritud logimisteenust, et raporteerida sündmustest, mis on aset leidnud, nagu

näiteks rikked, komponendi käivitamine või tegevuse lõpetamine. NT-põhised Windows

operatsioonisüsteemid tekitavad kolme tüüpi sündmuste logisid:

1. süsteemi logi (ingl. k system log)

2. rakenduste logi (ingl. k application log)

3. turvalogi (ingl. k security log)

Süsteemi logi sisaldab operatsioonisüsteemi sündmuste kirjeid, näiteks vigade kohta

süsteemikomponentide käivitamisel. Rakenduste logi sisaldab kirjeid rakenduste

operatsioonide kohta. Süsteemi- ja rakenduste logides salvestatud sündmused jagunevad tüübi

järgi: veaks, hoiatuseks ja infoks. Veasündmused on tõsised rikked, hoiatavad sündmused

teavitavad võimalikest probleemidest ning infosündmused on lihtsalt märkused. Turvalogi

sisaldab operatsioonisüsteemi sisse- ja väljalogimiste kirjeid, logimiste ebaõnnestunud

katseid, ligipääsuõiguste muudatusi ning süsteemi käivitamist ja väljalülitamist. Turvalogi

saab täita vaid lokaalse süsteemi volitatud teenus lsass.exe. Turvalogi kasutab kahte

sündmuse tulemuse hindamistüüpi: õnnestumine (ingl. k success) ja ebaõnnestumine (ingl. k

failure). Millegipärast on Windows NT/2000 süsteemides turvalogimine vaikimisi sisse

lülitatud vaid operatsioonisüsteemi serveriversioonis kõigil ülejäänud versioonidel on

turvalogi aktiivne.

2.3.1.1 Logide lugemine

Logide lugemiseks on NT-põhises Windows süsteemis programm Event Viewer. Sündmuste

logifailid on Evt-laiendiga ning paiknevad vaikimisi operatsioonisüsteemi juurkataloogi

alamkataloogis \System32\Config: SecEvent.Evt, AppEvent.Evt ja SysEvent.Evt.

Laborimasinas vaatlemiseks saab failid välja kopeerida ning avada Event Viewer

rakendusega eventvwr.exe.

Järgnevalt on toodud turvalogi informatsioon vaadelduna programmiga Event Viewer:

42

Page 43: Infotehnoloogiliste ekspertiiside uuringud

• Type –sündmuse hindamise tüüp

• Date, Time – sündmuse toimumise aeg

• Source – sündmuse loginud protsess või rakendus

• Category – sündmuse kategooria või toiming

• Event – sündmuse numbriline ID unikaalsete sündmuste identifitseerimiseks.

• User – kasutaja SID

• Computer – sündmusi logiva arvuti nimi

Logifailide vaatlemisel Event Viewer programmiga on oluline, et lokaalse arvuti regiooni- ja

ajaseaded vastaksid süsteemi seadetele, millest logi pärineb. Töötava arvuti turvalogi

vaatlemiseks peab kasutaja olema sisseloginud administraatorina. Teisest arvutist kopeeritud

turvalogi vaatlemise saab teha tavalise kasutajaga.

Sündmuste logid avatakse logimisteenuse käivitamisel operatsioonisüsteemi laadimisega.

Logifailide avamisel teeb teenuste kontrollhaldur (ingl. k service control manager) faili päises

turvamärke, mille tulemusena annab avatud logifaili kopeerimise ja Event Viewer’ga avamise

katse teate vigase faili kohta. Ekspert saab Event Viewer’it kasutada töötavast või

voolukatkestusega välja lülitatud arvutist kopeeritud failide vaatlemiseks alles pärast faili

päise modifitseerimist.

2.3.2 $LogFile

Järgnevalt uurime madaltasemel logimissüsteemi, mis on seotud vaid NTFS failisüsteemi

toimimisega. NTFS on tehingutepõhine failisüsteem, kus iga failisüsteemi toiming logitakse

failis $LogFile. See on kasutajale nähtamatu NTFS'i kolmas süsteemifail partitsiooni

juurkataloogis, mis luuakse NTFS failisüsteemi loomisel. Selle loogiline ja füüsiline suurus

on võrdsed. $LogFile failiajad on tekitatakse süsteemi paigaldamisel ning edaspidise kasutuse

käigus need ei muutu, mis võimaldab kontrollida partitsiooni NTFS failisüsteemiks

vormindamise aja.

$LogFile sisaldab failisüsteemi muudatuste logi, et tagada metaandmete terviklikkus ning

sellega süsteemi taastamisvõime. $LogFile's salvestatakse kindlad tegevused vastavalt nende

esinemisele süsteemis selliselt, et tegevusi saaks korrata või tagasi võtta. [3]

Logimise tsükkel koosneb järjestikustest sündmustest. Näiteks faili loomine koosneb kolmest

43

Page 44: Infotehnoloogiliste ekspertiiside uuringud

sündmusest: NTFS tekitab loodava faili jaoks vastava MFT kirje, märgib faili andmeala

kaardistamiseks vastavad bitid $BitMap faili ja lõpuks teeb sissekande indeks-kirjetesse,

millega luuakse faili kataloogikirje. Iga tsükkel märgitakse lõpetatuks alles siis, kui kõik

tsükli sammud lõpetatakse. Kui tekib viga ja näiteks viimane sündmus jääb lõpetamata,

märgitakse terve toimingutsükkel mittelõpetatuks. [3]

$LogFile salvestab iga toimingutsükli sammud, et neid vajadusel korrata või tagasi pöörata.

Lisaks peetakse failis arvet süsteemi järjestikuste toimingutsüklite kohta, et vea korral teada,

kui kaugele tagasi tuleb terviklik failisüsteemi taastamiseks minna. Süsteemivea taastamisel

otsustatakse $LogFile järgi, toimingutsüklite kordamine ja tagasivõtmine vastavalt sellele, kas

tsükkel on lõpetatud või mittelõpetatud. Lõpetatud tsükli korral korratakse logitud samme

ning mittelõpetatud tsükli sammud võetakse tagasi:

Tekkis süsteemiviga

Toiming lõpetamata – tsükkel võetakse tagasi

Toiming lõpetatud – tsükkel korratakse

Toiming lõpetatud – tsükkel korratakse

Toiming lõpetatud – tsükkel korratakse

Toiming lõpetamata – tsükkel võetakse tagasi

Toiming lõpetatud – tsükkel korratakse

Viimane süsteemi terviklik olek

2.3.2.1 $LogFile lugemine

$LogFile esimesed kaks kirjet on signatuuriga RSTR, ülejäänud kirjed algavad signatuuriga

RCRD. Ühe kirje pikkus on 4096 baiti ehk vaikimisi klastri suurus NTFS failisüsteemis. Faili

kirjed $LogFile's ei muutu prügikasti tõstmisel ega ka prügikasti tühjendamisel. Need

kirjutatakse üle alles süsteemi vajadusel. Võimalusel saab $LogFile'st taastada faili MFT

kirjed (mis MFT's endas on juba üle kirjutatud), indeks-puhvri ja seonduvad linkfailid. MFT

kirjed leiab signatuuriga FILE0 ehk (46 49 4C 45 30). Windows NT/2000 süsteemis vastavalt

signatuuriga (46 49 4C 45 2A). Indeks-puhvrid leiab signatuuriga INDX ehk (49 4E 44 58).

44

Page 45: Infotehnoloogiliste ekspertiiside uuringud

2.4 Failisüsteem NTFS

NTFS on väga huvitav failisüsteem, mille tunnuslauseks on: kõik andmed on failid ja kõik

failid on atribuutide kogum. See on disainilt keerukas ja võimaldab tugevaid turvatingimusi

ning on võimeline iseseisvaks veaparanduseks. Võrreldes FAT failisüsteemiga, mis on lihtne,

erilise turvalisuseta ning väga puuduliku veaparandusvõimalustega, ületab NTFS seda pea

kõiges. Siiski on NTFS'il üks miinus FAT'i ees. Kuna tegu on väga keerulise ja

failisüsteemiga, mille dokumentatsioon on suletud, ei ole seda võimalik usaldusväärselt

kasutada väljaspool NT-põhiste Windows operatsioonisüsteeme. Tänu entusiastide

uurimistööle on suudetud Linux operatsioonisüsteemides luua toimiv failisüsteemi lugemise

ja sellele kirjutamise funktsionaalsus, kuid täiesti usaldusväärseks seda pidada ei soovitata.

Sama moodi on NTFS suletud ka kohtuekspertidele. Veel 3 aastat tagasi toetasid

ekspertiisitarkvarad NTFS'i vähesel määral ning taastamisfunktsioonid sellelt failisüsteemilt

olid piiratud.

Nagu eespool mainitud, võib ekspert rutiinse töö vältimiseks automatiseeritud vahendeid,

kuid peab olema võimalikult teadlik, kuidas automatiseerimine ja info tõlgendamine toimib.

Käesolevas peatükis käsitletakse NTFS'i toimimise uuringut möödudes analüüsitarkvara

abistavast kihist.

2.4.1.1 Ülevaade FAT failisüsteemist

Selleks, et mõista NTFS'i toimimist tuleks eelnevalt üle vaadata, kuidas toimib FAT

failisüsteem. FAT on lihtne failisüsteem, mille funktsionaalsus on tuntud juba aastaid ning on

muutunud mõningal määral failisüsteemide alustaladeks. FAT kasutusala

operatsioonisüsteemide failisüsteemina on alla jäämas NTFS failisüsteemi levikule, kuid tänu

oma lihtsusele on sellel rakendus portatiivsetel andekandjate ning erinevate seadmete

failisüsteemina.

Failisüsteemi kirjeldamisel on oluline, et kõik failisüsteemid peavad täitma vähemalt nelja

ülesannet:

1.Faili nimi ja kellaaja/kuupäeva templid peavad kuhugi salvestatud saama

2.Faili alguspunkt peab kuhugi salvestatama

3.Faili fragmenteerumise info peab kuhugi salvestatama

4.Faili poolt kasutatavad klastrid peab kuhugi salvestatama

Näiteks FAT süsteem salvestab faili nime kataloogistruktuuri koos algusklastriga. FAT

45

Page 46: Infotehnoloogiliste ekspertiiside uuringud

failihõive süsteemi nimetataksegi tema organiseerimise meetodi järgi failihõive tabeliks, mis

paikneb partitsiooni alguses. Failihõivetabel salvestab fragmenteerumise informatsiooni ja

identifitseerib selleks kasutatud klastrid. Partitsiooni loogilise ketta kaitsmiseks hoitakse

tabelist kaht koopiat juhuks, kui üks neist peaks viga saama. Lisaks paiknevad failihõive

tabelid fikseeritud asukohas selliselt, et failid, mida vajatakse süsteemi käivitamisel, leitakse

alati üles.

Failihõivetabel sisaldab loogilise ketta iga klastri kohta järgnevat tüüpi võimalikku infot

(näide FAT16 kohta).

•Hõivamata klaster (00 00)

•Faili poolt hõivatud klaster

•Riknenud klaster (FF F7)

•Faili viimane klaster (FF F8 kuni FF FF)

FAT'i kataloogisüsteemis puudub organiseeritus ning kõigile failidele antakse loogilisel kettal

esimene vaba asukoht. Algusklastri number on aadressiks esimesele klastrile, mis on

kasutusel faili poolt ning iga faili poolt hõivatud klaster sisaldab viita faili järgmisele klastrile

failis või siis märget (FFFF), mis tähistab faili lõpuklastrit. Järgnevas näites on ära toodud

need viidad ja lõpumarker:

Joonis 3: Failid FAT failisüsteemis [8]

Joonisel on näha kolm faili. File1.txt on fail, mis hõivab kolm klastrit. Teine fail, File2.txt on

fragmenteerunud fail ning hõivab samuti kolm klastrit. Kolmas fail mahub ära ühte klastrisse.

Kõigil juhtudel viitab kataloogistruktuur faili esimesele klastrile. [8]

Järgnevalt vaatleme eespool nimetatud nelja failisüsteemi põhiomadust NTFS süsteemi puhul

koos täpsema failisüsteemi kirjeldusega.

2.4.1.2 Ülevaade NFTS failisüsteemist

NTFS on uus failisüsteem, mis arendati spetsiaalselt Windows NT jaoks ja mida kasutatakse

kõigi NT-põhiste operatsioonisüsteemide vaikimisi failisüsteemina. NTFS kasutab 64-bitist

46

Page 47: Infotehnoloogiliste ekspertiiside uuringud

kettaadresseerimist ning võimaldab teoreetiliselt tekitada kuni 264-baidiseid partitsioone.

Siiski Windows XP piirab selle 232 baidise uuruseni. [9]

Failinimed on NTFS'is piiratud 255 märgi pikkuseks ja täispikad kataloogiteed 32767 märgi

pikkusega [9]. Failinimed on unikoodis, mis võimaldab kasutada erimärgilisi tähestikke.

NTFS toetab tõusutundlikke nimesid, st Hei ja hei on kaks erinevat failinime. Kahjuks ei

toeta seda täielikult Win32 API, mistõttu on see omadus tänu Windows 95/98 toele ka

Windows XP's kadunud. NTFS'i fail ei ole lihtsalt lineaarne baidijada nagu FAT32 fail vaid

keerukas atribuutide kogum ning siinkohal erineb atribuudi mõiste täielikult FAT

failisüsteemis kasutusel olevast failiatribuudi mõistest.

2.4.1.3 Partitsioon ja alglaadesektor

NTFS failisüsteemi paigaldamisele eelneb partitsiooni loomine andmekandjale. Partitsiooni

loomine toimub universaalse fdisk-programmiga, mille tulemusena luuakse partitsioonitabel.

Tabelis määratakse vaid algussektori aadress ja sektorite arv partitsioonis nii, et selle saab

vormindada suvaliseks failisüsteemiks: FAT16, FAT32, NTFS, EXT2 jne. Partititsiooni

loomisega luuakse andmekandja esimesele sektorile alglaadesektor MBR, mis sisaldab

partititsioonitabelit ofsetil 446. Partitsioonitabelis saab olla maksimaalselt neli kirjet, igaüks

pikkusega 16 baiti.

Alglaadesektor koosneb ühest sektorist, mis on 512 baiti ning on ülesehitatud järgnevalt:

PS:0 SO:0 LE:446 baiti - alglaadimiskood

PS:0 SO:446 LE:16 baiti - esimene partitsioonikirje

PS:0 SO:462 LE:16 baiti - teine partitsioonikirje

PS:0 SO:478 LE:16 baiti - kolmas partitsioonikirje

PS:0 SO:494 LE:16 baiti - neljas partitsioonikirje

PS:0 SO:510 LE: 2 baiti - alglaadekirje signatuur (hex 55 AA)

Partitsioonikirje kirjeldus (PO: partitsioonikirje ofset):

PO:0 LE:1 bait - praegune olek: 80h alglaadiv, 00h ei alglae

PO:1 LE:1 bait - partitsiooni algus (lugemispea algus)

PO:2 LE:2 baiti - silindri/sektori algus

PO:4 LE:1 bait - partitsiooni tüübi/failisüsteemi indikaator

47

Page 48: Infotehnoloogiliste ekspertiiside uuringud

PO:5 LE:1 bait - lugemispea lõpppunkt partitsioonil

PO:6 LE:2 baiti - partitsiooni (silindri ja sektori) lõpp

PO:8 LE:4 baiti - sektorite arv MBR'i ja partitsiooni 1. sektori vahel

PO:12 LE:4 baiti - sektorite arv partitsioonil [4]

Partitsioonitabeli lugemisel madaltasemel on oluline tähele panna, et Intel protsessori, DOS ja

Windows süsteemide andmed on esitatud little-endian formaadis, kus kirjeid tuleks lugeda

tagumisest baidist ettepoole. Näiteks sektorite arv partitsioonil on esitatud little-endian

Laiendatud partitsioon on tabel, mis sisaldab lingitud nimekirja loogilistest partitsioonidest.

Kõvakettal saab korraga olla vaid üksainus laiendatud partitsioon, mida saab seejärel jaotada

loogilisteks partitsioonideks. Laiendatud alglaadimiskirjel, mida sellisel juhul kasutatakse, on

vaid kaks partitsioonikirjet. Laiendatud partitsiooni on vajalik 5 või enama loogilise ketta

tekitamiseks ühele füüsilisele kettale. Loogiliste ketaste arv on piiratud vaid Windows

süsteemis tähtede arvuga C kuni Z, mis võimaldab ühes arvutis luua kuni 24 kasutatavat

loogilist ketast.

2.4.2 NTFS vormindamine

Partitsioon vormindamine NTFS failisüsteemi toimub NT-põhise operatsioonisüsteemi

paigaldamisel. Võimalikud on järgmised valikud: Windows NT kasutab FAT16 või NTFS

failisüsteemi. Windows 2000 kasutab kas FAT32, mis on vaikimisi valitud või NTFS'i koos

FAT32. Windows XP kasutab FAT32 või NTFS'i, mis on vaikimisi valitud. NTFS

partitsiooni saab luua ka Windows NT, 2000 või XP keskkonnas ning vastavate eritarkvarade

abil.

NTFS failsüsteemi põhistruktuur luuakse vormindamise käigus. NTFS versioon 5 klastri

vaikimisi suurus on 8 sektorit. NTFS saab klastreid hõivata 32-bitises süsteemis, mis

võimaldab kokku luua 4 miljardit klastrit [3]. Selline suutlikkus võimaldaks NTFS'i

konfiguratsiooniga 1 sektor klastri kohta luua partitsiooni, mis on kuni 2 terabaidi suurune.

See on mõistlik muidugi juhul, kui oluline on ketta maht ning hallatakse enamuses faile, mis

on väiksemad kui 512 baiti. Järeleandmised tuleb teha vastavalt jõudluses, kui kasutusel on

suuremad failid ning arvestada tuleb suurema fragmenteerumisega. NTFS kasutab

automaatseks klastrisuuruse valimiseks järgmist tabelit.

48

Page 49: Infotehnoloogiliste ekspertiiside uuringud

Partitsiooni suurus Sektoreid klastris Klastri suurus

Väiksem kui 513 MB 1 512

513 – 1024 MB 2 1024

1025 – 2048 MB 4 2048

2049 – 4096 MB 8 4096

4097 – 8192 MB 16 NT3 / 8 8192 / 4096

8193 – 16384 MB 32 NT3 / 8 16384 / 4096

16385 – 32768 MB 64 NT3 / 8 32768 / 4096

Suurem kui 32768 MB 128 NT3 / 8 65536 / 4096

Joonis 4: Partitsiooni ja klastri suuruse vastavustabel [3]

Tabelist on näha, et NTFS3 klastrisuurus kasvab kahe astmetena vastavalt kõvaketta mahu

kasvule, NTFS4 tipneb suurusega 8. Kasutaja saab tabelit ignoreerida ning määrata

klastrisuuruse ka ise.

Vormindamisel luuakse partitsiooni alglaadesektor VBR ehk NTFS süsteemifail $Boot, mis

reserveerib 16 sektorit. VBR'i esimene sektor sisaldab informatsiooni vastavalt partitsioonile

ja viita laadurprogrammile NTLDR. Teisest sektorist alates järgneb kood NTLDR

käivitamiseks. Ketta taastamise eesmärgil on VBR koopia ka partitsiooni viimasel sektoril.

See on väga oluline omadus. Ketta taastamisel otsitakse partitsiooni lõpusektorit VBR

algustunnusega. VBR sektorite arv on esitatud little-endian vormingus.

Järgnevalt on toodud VBR esimese sektori kirjeldus. PS aadress sõltub MBR tabeli viidast,

reeglina paikneb partitsiooni esimene VBR ketta sektoril PS:63. Oluline on, et 64. sektorist

algab ka esimene klaster – CL:0:

PS:63 SO:0 LE:3 baiti - signatuur (.R.)

PS:63 SO:3 LE:8 baiti - OEM ID (NTFS_...)(LONGLONG)

PS:63 SO:11 LE:25 baiti - BPB

PS:63 SO:36 LE:48 baiti - Laiendatud BPB

PS:63 SO:84 LE:426 baiti - laadimiskood

PS:63 SO:510 LE:2 baiti - Sektori lõpumarker (WORD) [3]

49

Page 50: Infotehnoloogiliste ekspertiiside uuringud

BPB ja laiendatud BPB kirjeldus (SO: sektori ofset):

SO:11 LE:2 baiti –Baite sektorite kohta (00 02), kasutus küsitav (FAT)

SO:13 LE:1 bait – Sektoreid klastri kohta (FAT)

SO:14 LE:2 baiti – Reserveeritud sektor (00 00)

SO:16 LE:3 baiti – nullid (00 00 00)

SO:19 LE:2 baiti – pole NTFS'is kasutusel (00 00) (FAT)

SO:21 LE:1 bait – Meediumi kirjeldaja (F8), tähendus teadmata

SO:22 LE:2 baiti – nullid (00 00)

SO:24 LE:2 baiti – Sektorite arv raja (ingl. k track) kohta (FAT)

SO:26 LE:2 baiti -Lugemispeade arv (FAT)

SO:28 LE:4 baiti -Peidetud sektorid (DWORD)

SO:32 LE:4 baiti -pole NTFS'is kasutusel (00 00 00 00)

SO:36 LE:4 baiti -pole NTFS'is kasutusel (00 00 00 00)

SO:40 LE:8 baiti -Partitsiooni sektorite summa

SO:48 LE:8 baiti -Loogilise klastri aadress faili $MFT jaoks

SO:56 LE:8 baiti -Loogilise klastri aadress faili $MFTMirr jaoks

SO:64 LE:4 baiti -Klastreid failikirje segmendil (F6 00 00 00) - 246 klastrit

SO:68 LE:4 baiti -Klastreid indeksiploki kohta (01 00 00 00) - 1 klaster

SO:72 LE:8 baiti -Partitsiooni seerianumber

SO:80 LE:4 baiti -Kontrollsumma (00 00 00 00) [3]

2.4.3 NTFS'i süsteemifailid

Partitsiooni NTFS failisüsteemiks vormindamise käigus luuakse 16 spetsiaalset kirjet, mis

reserveeritakse NTFS süsteemifailide jaoks. Need süsteemifailid on meta-andmefailid, mis

moodustavad süsteemi alustalad. Reaalselt on kasutusel 10 süsteemifaili, mis on 10 esimese

kirjena kantud pea-failitabelisse MFT. Ülejäänud kuus kirjet on reserveeritud. Ära tuleb

märkida, et kirje number 9 saab sõltuvalt NTFS versioonist olla kas $Quota (NTFS v4) või

$Secure (NTFS v5 – Windows 2000/XP). Oluline on mõista, et need failid kuuluvad

failisüsteemi, mitte partitsioonile paigaldatud operatsioonisüsteemile.

50

Page 51: Infotehnoloogiliste ekspertiiside uuringud

Faili nimi Kirje nr Otstarve

$MFT 0

$MFTMirr 1 Esimese 4 MFT kirje koopia

$LogFile 2 Süsteemi taastefail

$Volume 3 NTFS versioon ja partitsiooni nimi

$AttDef 4 Atribuutide info

$. 5 Juurkataloog

$Bitmap 6 Bitmapfail klastrite hõivatuse haldamiseks

$Boot 7 Partitsiooni alglaadesektor

$BadClus 8 Riknenud klastrite asukohad partitsioonil

$Quota 9 Kvooditabel kasutajatele. Pole kasutusel.

$UpCase 10 Teisendab väiketähemärgid unikoodiks

$Secure 9 Windows 2000 failiõigused. Asendab $Quota kirje.

Joonis 5: NTFS süsteemifailid [9]

Kõik NTFS'i süsteemifailide nimed algavad märgiga $ ning kõigil on sama LMA kuupäeva-

aja tempel. Lisaks veel ajamärge kirje muudetud (ingl. k entry modified), mis tähistab MFT

kirjete uuendamise aega. Need ajatemplid luuakse partitsiooni NTFS vormindamisel ning

operatsioonisüsteemi paigaldamine neid aegu ei mõjuta. Ekspert saab siit kaks eraldi viidet,

millal partitsioon vormindati ning millal paigaldati süsteem. Neid aegu saab omavahel

võrrelda ning süsteemi loomisest järeldusi teha, sest reeglina käib Windows'i paigaldamisega

kaasas ka ketta vormindamine. Kuna need süsteemifailid kuuluvad NTFS süsteemile ja

tegemist ei ole tavaliste operatsioonisüsteemi poolt peidetud failidega, siis saab neid näha

vaid eritarkvara abil või lugeda nende andmeala madaltasemel, mida käsitletakse peatükis

hiljem.

2.4.4 Failisüsteemi struktuur

NTFS'i failisüsteem käsitleb failide hõivamist viisil, mis on täiesti erinev FAT süsteemist.

Peamine erinevus on, et kõik NTFS partitsioonil on fail. Peafailitabeli fail $MFT on kõige

tähtsam fail NTFS failisüsteemis. See jälgib kõiki faile partitsioonil, kaasaarvatud iseennast.

MFT fail ise kannab kirjet number 0 ja on esimene fail süsteemis. Reeglina on üks MFT kirje

2 sektori suurune ehk siis 1024 baidi pikkune. MFT'd analüüsitakse lähemalt edaspidi.

Järgmine fail identifikaatoriga 1 on $MFTMirr, mis on MFT esimese nelja kirje koopia ning

51

Page 52: Infotehnoloogiliste ekspertiiside uuringud

kannab endas taastamise eesmärki.

Sellele järgnev $LogFile, sisaldab endas nimekirja salvestatud toiminguid, millega tagatakse

failisüsteemi taastamisvõime süsteemivea korral. Ülesmärkimine tehakse süsteemi olekutena

siis, kui salvestatakse toimingud. Fail sisaldab ka MFT kirjete fragmente, indeks puhvrit ja

linkfaile. Faili toimimist käsitleti töö varasemas osas.

Fail $Volume sisaldab partitsiooni identifitseerivat informatsiooni nagu NTFS'i versioon ja

partitsiooni nimi. Failil puudub reaalne andmeala ning see on MFT resident, mis tähendab, et

kõik faili atribuudid paiknevad MFT 4. kirjes, kirjes number 3. Fail ise on tühi, sest selle

MFT kirje koosneb vaid atribuutidest ning ei sisalda andmeala. Fail $Volume paikneb

füüsilisel sektoril 101, mis on MFT failile kuuluv ala. Faili nimi MFT kirjes on näha

unikoodis SO 210 pikkusega 14 baiti.

MFT koosneb atribuutidest, mis igaüks omab unikaalset päist. Hilisemas osas käsitletakse

täpsemalt MFT atribuute ja residentset ning mitteresidentset andmeala. Siiski on $Volime

failil atribuut, mida ei leidu teistes MFT kirjetes, nimelt loogilise ketta nimi (ingl. k volume

name). Selle atribuudi päis on kuueteistkümnend süsteemis 60 00 00 00. Päis on leitav MFT

kirjes SO 392. Atribuudi dekodeerimisel on näha, et see on pikkusega 24 baiti ning sellele

lisandub nime osa 18 baiti.

NTFS partitsiooni nimi loetakse EnCase poolt ning esitatakse raportis, millele lisatakse

draiveri info ja kontrollseis (näiteks NTFS 3.0 Chkdsk 0). Chkdsk 0 tähendab, et vigu pole

ning see operatsioonisüsteem sulgeti ettenähtud viisil. Voolukatkestuse tekitamisel oleks

väärtus 1. See võimaldab kontrollida, kas sündmuskohal võeti ära töötav arvuti või kuidas

suleti enne mittetöötava arvuti äravõtmist see konkreetne arvuti.

Fail $ATTRDef ehk atribuutide defineerimise nimekiri sisaldab nimekirja kõikides

atribuutidest, mida partitsioonil kasutatakse. Iga MFT kirje koosneb atribuutidest nagu päis,

faili nimi, andmejooksud (ingl. k – data runs) ehk faili fragmenteerumisinfo jne. NTFS

failisüsteemis tähistab atribuudi mõiste keerukat faili osiseid erinevalt FAT süsteemi

atribuutidest read-only, system, hidden jne. Fail $ATTDef iga kirje pikkus on 160 baiti.

Juurkataloog ehk MFT kirje number 5 osutab kataloogipuu tipule. See on on kõigi

kataloogide vanem ning juurkataloogil puudub nimi. Vastavalt on selle kirje sisu nähtav MFT

tabeli 6. kirjes.

$Bitmap fail peab arvet partitsiooni klastrite üle. Iga klastri jaoks on eraldatud üks bit - 1

tähistab kasutamist ja 0 vaba klastrit. Vastavalt peetakse ühe baidiga arvet 8 klastri hõivatuse

üle. Näiteks 16-nd süsteemi väärtus 03 ehk binaarkujul 0000 0011 tähendab, et esimesed kuus

52

Page 53: Infotehnoloogiliste ekspertiiside uuringud

klastrit on hõivamata ja viimased kaks klastrit on failide poolt hõivatud ehk MFT poolt

eraldatud failile või kahele failile.

$Boot fail koosneb 16 sektorist, mida kasutatakse partitsiooni alglaadekirje VBR poolt.

Laadekood NTLDR (ingl. k NT Loader) paikneb $Boot faili teisel sektoril.

$BadClus fail haldab riknenud klastreid (ingl. k bad clusters). See on sarnane FAT

failisüsteemis klastrite riknenuks (B – bad) märkimisega. Faili andmed on residentsed ja

algavad sektorilt 111.

Fail $Quota pole veel kasutusele võetud. Seda faili kavatseti kasutada, et arvet pidada

kasutajate poolt kasutatava ruumi üle. Selle faili asukoht MFT's asendati Windows 2000 ja

XP süsteemides failiga $Secure.

Fail $Secure on kasutuses NTFS versioonis 5 ning see jälgib turvakirjelduse atribuuti. Failil

on kolm andmevoogu, mida kirjeldatakse selle peatüki hilisemas osas.

$Upcase fail teisendab suur- ja väiketähed vastavateks unikoodi suurtähtedeks. Unikood on

rahvusvaheline märgisüsteem, mis baseerub 16-bitisel kodeerimisel ja millega on võimalik

esitada praktiliselt kõikide keelte kirjamärke.

2.4.5 Peafailitabel MFT

NTFS süsteemis puudub lihtsasti kirjeldatav viis, mis jälgiks andmekandjal failile kuuluva ala

hõivamist ja faili fragmenteerumist. MFT on struktureeritud selliselt, et see saab viidata

failidele või kataloogidele või siis see saab sisaldada faile või katalooge. Faili asukoht,

kaasaarvatud selle fragmenteerumine sõltub MFT'st. MFT on jagatud 1024 baidisteks

kirjeteks. Iga fail NTFS partitsioonil omab eraldi kirjet MFT's. Tegelikult võib ka üks MFT

kirje olla terve fail. Sellest sõltuvalt jagatakse MFT andmeid residentseteks ja

mitteresidentseteks andmeteks.

2.4.5.1 Residentsed andmed

Igal MFT kirjel on struktuur ja sõltuvalt selle sisust ka ala, millele salvestada andmed. See

andmeala saab olla ainult andmete säilitamiseks, kui on täidetud kindlad tingimused:

1.Andmed peavad kuuluma vastavale MFT kirjele

2.Andmed peavad mahtuma olemas olevasse alasse. Fail ei saa alata näiteks andmealalt,

seejärel fragmenteeruda suvalisele kohale kõvakettal.

FAT failisüsteemi põhireegel on, et kõik failid algavad klastri algusest ja vastav fail,

hoolimata enda suurusest, hõivab terve klastri. See tekitas kolm ala:

53

Page 54: Infotehnoloogiliste ekspertiiside uuringud

1.Loogilise andmeala

2.Sektori slack-ala

3.Faili slack-ala

Residentsed andmed on küllaltki erinevad. Need ei alga klastri algusest. Tegelikult ei alga

need isegi sektori algusest. Need andmed algavad suvalisest kohast, kus vastav MFT kirje neil

seda käsib. Residentsetel andmetel puudub ka sektori ja faili slack. Kui residentseid andmeid

vaadelda EnCase tarkvaraga, näidatakse ainult loogilist andmeala ning puudub slack-ruum.

Tüüpilisteks residentseteks andmeteks on lühikesed failid nagu internetiküpsised (ingl. k

cookies), mis on piisavald väikesed, et mahuvad ära MFT kirjesse.

2.4.5.2 Mitteresidentsed andmed

Mitteresidentsed andmed toovad meid tagasi tuntud viisi juurde andmete salvestamiseks.

Mitteresidentsed andmed:

1.Algavad klastri algusega

2.Üks klaster saab olla korraga hõivatud vaid ühe faili poolt

3.On olemas sektori ja faili slack

Meetod andmete jälgimiseks on FAT süsteemist küll tunduvalt erinev, kuid seda käsitletakse

hiljem.

Andmed ei saa olla korraga residentsed ja mitteresidentsed. Kui andmed on liialt suured, et

mahtuda MFT kirjesse, siis salvestatakse need klastrisse ning andmete asemel salvestatakse

MFT kirjesse viidad. Kui fail on algselt residentne, kuid kasvab seejärel mitteresidentseks,

siis tõstetakse kõik andmed klastrisse ja MFT kirje uuendatakse vastavalt.

2.4.5.3 Kirje määramine

MFT kirjed on määratud igale failile kõvakettal ja kirjeid nummerdatakse tabelis ülalt alla.

MFT kirjed NTFS failisüsteemis, mis loodud Windows XP ja Windows 2003 Server all,

sisaldavad viidet nende oma kirjenumbrile, kusjuures need, mis loodud NT/2000 all, ei

sisalda seda viidet. Kirjed on leitavad nende positsiooni järgi tabelis. Kui kõik kirjed MFT's

on hõivatud, mitte kustutatud, siis MFT tabel kasvab, kui faile luuakse juurde. Sellel põhjusel

võib leida fragmenteerunud MFT.

Kui uus kirje määratakse, siis MFT paigutab selle esimesele vabale positsioonile. Uut kirjet ei

lisata tabelile juurde, kui eksisteerib kustutatud kirje tabelis. Kustutatud kirje kirjutatakse üle.

See protsess tekitab NTFS süsteemides erilise olukorra. Kustutatud failid, mis on ikka veel

54

Page 55: Infotehnoloogiliste ekspertiiside uuringud

saadaval taastamiseks, on tavaliselt väga hiljutised failid (sõltuvalt süsteemis kasutusest paari

päeva tagused). Samuti, kui erinevad failid luuakse, mis põhjustab MFT tabeli

märkimisväärse kasvu ja seejärel need failid kustutatakse, võivad need alles jääda näiteks

aastateks, kuni MFT jõuab samasse suurusesse tagasi. Peamiselt on sellisel juhul residentsete

kirjetega.

2.4.5.4 Kirje struktuur

MFT kirje sisemine struktuur jaguneb kaheks alaks, päiseks ja failiatribuutide alaks.

Päis võtab ära esimesed 48 baiti Windows NT ja 2000 süsteemides. Windows XP ja 2003

Serveri puhul on päise pikkus 56 baiti. Seda kasutatakse just MFT kirje kontrollimiseks, mitte

faili jaoks. Informatsioon, mis paikneb kirje päises sisaldab:

1.Ofset 10h[2] ehk 16 pikkusega 2: Näitab, mitu korda MFT kirjet on kasutatud. Pärast

esimest kirjutamist seatakse number 01h. Pärast, kui kirje on kustutatud või üle kirjutatud

uue kirjega, number muutub vastavalt 02h, siis 03h jne

2.Ofset 16h[2] ehk 22 pikkusega 2: Kasutatakse MFT kirje lippude jaoks. Näiteks

märkimiseks, kas MFT kirjes on fail või kataloog. See on asukoht, mis määratleb, kas

kirje on kustutatud jne. Näiteks:

Hex 00 – binaarkujul 0000 0000 – fail, kustutatud

Hex 01 – binaarkujul 0000 0001 – fail, hõivatud

Hex 02 – binaarkujul 0000 0010 – kataloog, kustutatud

Hex 03 – binaarkujul 0000 0011 – kataloog, hõivatud

3.Ofset 18h[2] ehk 24 pikkusega 2: MFT kirje hõivatud suurus. Seda kasutatakse, et

kontrollida MFT kirjet või slack'i. Eelmine sisestus võiv sisaldada residentseid andmeid,

mis kirjutati üle väiksema kirje poolt. Tulemuseks on slack MFT kirje sees.

4.Ofset 1Ch[2] ehk 28 pikkusega 2: MFT kirje täielik suurus.

5.Ofset 2Ah[6+] ehk 42 pikkusega alates 6 baidist: Tegu on kontrollsüsteemiga, mis

toimib MFT kontrollsummana ja hoolitseb MFT kirje terviklikkuse eest. Selle märgivälja

olemasolu põhjustab andmete ümbertõstmise kirje sees, mis madaltasemel vaadatuna võib

esialgu segadust tekitada. Windows XP puhul kontrollkood asub ofsetil 30h[48+]. [3]

Kontrollkoodid paiknevad iga MFT kirje poolt kasutuses oleva sektori lõpus (ning sektori

lõpus olevad viimased kaks baiti on tõstetud sektor ofsetile 44). Faili mällu laadimisel

vahetatakse baidid selliselt, et need oleks lugejale õiges asukohas.

55

Page 56: Infotehnoloogiliste ekspertiiside uuringud

2.4.6 Failid NTFS'is

Tavaliselt kujutletakse faili kui andmekogumit, mis on kindla loogilise suurusega. Kuid

NTFS failisüsteemis koosneb fail enamast, kui lihtsalt loogilisest andmehulgast. Erinevus

seisneb pigem tehnilisel tasandil ning ei paista kasutaja poolelt välja. Harilik arvutikasutaja

loob, kasutab ja muudab faile samal viisil nagu teistegi failisüsteemidega. Taustal toimuv

muutub oluliseks, kui tekib vajadus tõestada konkreetsete andmete olemasolu või taastada

osaliselt hävinud andmeid MFT failitabelis.

Iga MFT kirje algab päisega, mis peab järge informatsiooni kohta, mis on salvestatud MFT

kirjesse. Järelejäänud hõivatud ala MFT kirjes sisaldab failiatribuute. Kõik failid NTFS'is

koosnevad atribuutidest ning ei ole olemas ühtegi osa failist, mis poleks atribuut. Atribuudid

NTFS'is ei ole tüüpilised read-only, hidden, archived atribuudid. Tegu on väikeste

andmealadega, mis kirjeldavad faili koostisosasid. Näiteks on eraldi atribuut olemas faili

nime hoidmiseks. Tuleb mõista, et atribuudid on osa failist. Seda aitab mõista residentsete

failide olemus.

Kui fail on residentne, on kõik tema atribuudid residentsed. Järelikult sisaldub kogu faili info

MFT kirjes. Residentse faili loomisel luuakse ka kõik selle atribuudid. Faili kustutamisel

kustutatakse kõik selle faili atribuudid.

Eelnevalt käsitlesime residentseid ja mitteresidentseid andmed seoses MFT tabeliga.

Siinkohal vaatame neid faili vaatenurgast. Faili andmed moodustavad faili atribuudi, kuid

mõned, liiga mahukad atribuudid võidakse salvestada mitteresidentsetena. Samas on mõned

atribuudid on alati residentsed ja alati samas järjestuses.

56

Joonis 6: Mitteresidentne MFT kirje

Page 57: Infotehnoloogiliste ekspertiiside uuringud

2.4.6.1 Atribuudi päis

Iga MFT atribuut algab sama informatsiooniga ehk atribuudi päisega. Nagu eespool mainitud,

algab iga atribuut atribuudi tüübi identifikaatoriga. Järgnevalt on toodud 16-nd süsteemis

MFT atribuutide identifikaatorid ja neile vastavad nimetused:

10 00 00 00 - standard-informatsioon

20 00 00 00 - atribuudi nimekiri

30 00 00 00 – faili nimi

40 00 00 00 – partitsiooni versioon

50 00 00 00 – turvakirjeldus

60 00 00 00 – partitsiooni nimi

70 00 00 00 – partitsiooni informatsioon

80 00 00 00 – andmed

90 00 00 00 – indeks ruut

A0 00 00 00 – indeks hõive

B0 00 00 00 – bitmap

C0 00 00 00 – sümlink

D0 00 00 00 – HPFS laiendatud atribuudi informatsioon

57

Joonis 7: Residentne MFT kirje

Page 58: Infotehnoloogiliste ekspertiiside uuringud

E0 00 00 00 – HPFS laiendatud atribuudid [3]

Identifikaatorile järgneb atribuudi pikkus. Järgmine bait viitab lipule, mis identifitseerib, kas

atribuudi sisu on residentne või mitteresidentne. Väärtus 00 näitab, et sisu on residentne ja

vastavalt väärtus 01 näitab, et tegu on mitteresidentsete andmetega. Sellest järgmine bait

määrab atribuudi nime pikkuse. Kui see on andmeatribuut ja selle bait on 00, siis on see

samas ka primaarne andmeatribuut. Kui selle bait oli midagi muud, siis on tegu alternatiivse

andmevooga. Need kuuluvad nimega atribuutide hulka. [3]

Järgnevad tabelid aitavad interpreteerida üksikuid MFT kirje atribuute. Tabeli lugemine:

näiteks andmeatribuudi algusest 40 baiti, siis 8 järgmist näitavad, little-endian vormingus

atribuudi füüsilist suurust.

Atribuudi päise info, nii residentsete kui ka mitteresidentsete atribuutide kohta

Ofset Pikkus Kirjeldus

0 4 Atribuudi identifikaator (10 00 00 00, 20 00 00 00, 30 00 00 00 jne

4 4 Atribuudi pikkus

8 1 Atribuudi residentsuse lipp: 00 – residentne; 01 - mitteresidentne

9 1 Atribuudi nime pikkus

10 2 Ofset atribuudi nimele, kui see eksisteerib. Kui ei, eksisteeri ning andmed

on residentsed, võib viidata iseendale

12 2 Lipud: 01 00 – pakitud; 00 40 – krüpteeritud; 00 80 - hõre

14 2 Atribuudi ID

Lisa päiste info, mis on kasutusel residentsete atribuutide puhul

16 4 Atribuudi andmete pikkus

20 2 Ofset atribuudi andmete alguseni

22 1 Indekseeritud lipp

23 1 Täiendus

24 muutuv Atribuudi nimi, kui tegu on nimega atribuudiga

24 muutuv Atribuudi andmete algus, kui tegu on nimeta atribuudiga

Lisa päiste info, mis on kasutusel mitteresidentsete atribuutide puhul

16 8 Virtuaalse klastri algusnumber (VCN – Virtual Claster Number)

24 8 VCN'i lõpp

58

Page 59: Infotehnoloogiliste ekspertiiside uuringud

32 2 Ofset andmejooksudeni

34 2 Pakkimisüksuse suurus

36 4 Täiendus

40 8 Atribuudi füüsiline suurus

48 8 Atribuudi loogiline suurus

56 8 Atribuudi initsialiseeritud suurus

64 muutuv Atribuudi nimi, kui tegu on nimega atribuudiga

64 muutuv Atribuudi andmete algus, kui tegu on nimeta atribuudiga

Joonis 8: Atribuudi päise info residentsete ja mitteresidentsete atribuutide korral [3]

2.4.6.2 Standard-informatsiooni atribuut

Esimene atribuut kõigi failide jaoks on standardne informatsiooni atribuut, mis on alati

residentne. See atribuut järgib alati MFT päist. Sisaldab loomise, vaatamise, kirjutamise ja

muutmise kuupäevi ja aegu ning MS-DOS faili õigused salvestatakse alati pärast kuupäevi ja

kellaaegu. NTFS v5 puhul sisaldab see atribuut viidet turvafailile, mis sisaldab faili

turvakirjeldust. Standard-informatsiooni atribuut algab alati nelja-baidise signatuuriga (10 00

00 00), nii nagu eespool toodud. [3]

2.4.6.3 Failinime atribuut

Failinime atribuut järgneb alati standard informatsiooni atribuudile. See sisaldab ka faili

vanemat, mida kasutatakse selle faili asukoha määramiseks kogu failisüsteemis. Nagu

standard informatsiooni atribuut, sisaldab ka faili nime atribuut nelja kuupäeva ja kellaaega.

Selles hoitakse faili loogilist suurust, mis on faili andmeala loogiline suurus ilma faili

atribuutideta. Faili õiguste lippe hallatakse siin sarnaselt DOS'le. Õiguste lipud on: read-only,

hidden, system, compressed, directory. Isegi kui need näivad väga sarnased DOS'i

failiatribuutidele, kasutatakse neid vaid NTFS'i poolt. Neid lippe ei tohi segamini ajada faili

õigustega turvakirjelduste atribuudis. [3]

Ülejäänud osa atribuudist moodustab faili nimi koos nime tüübi ja faili nime suurusega. Nime

hoitakse reeglina unikoodis. Faili nime atribuut algab alati 16-nd süsteemis identifikaatoriga

(30 00 00 00) ja sellele järgneb atribuudi suurus. Tihti leidub ühes MFT kirjes mitu failinime

atribuuti, kus esimene atribuut on pikk failinimi ja teine nimi DOS versioonis.

Faili nime atribuut sisaldab:

59

Page 60: Infotehnoloogiliste ekspertiiside uuringud

Juurkataloogi MFT kirje numbrit, mis sisaldab seda nime

Faili muutmise aegu

Hõivatava ala suurust

Atribuudi suurust

Lippe: read-only, hidden, system, archive, compressed, directory

Failinime pikkust sõnades

Failinime tüüpi: 0 – Posix; 1 – unikood; 2 – DOS (8.3); 3 – unikood ja DOS

Faili nime pikkust unikoodis [3]

Seejärel tuleb juba andmeatribuut, mis sisaldab kas andmeid, kui tegu on residentse failiga

või viita andmetele.

2.4.6.4 Turvakirjelduse atribuut

Turvakirjelduste atribuut on kasutusel NTFS versioonides enne v5. Tavaliste failide puhul

paikneb see kohe pärast failinime atribuuti. Turvakirjelduste identifikaator 16-nd süsteemis

on (50 00 00 00), millele järgneb atribuudi suurus. Kui on tegu NTFS versiooniga 5, siis

hallatakse turvakirjelduse atribuuti $Secure süsteemifailis. Sellisel juhul salvestatakse

atribuudi number standard informatsiooni atribuudis. Edasiselt vaatlemegi $Secure faili.

$Secure süsteemifail jaguneb kolmeks alamosaks: Secure.SDH, Secure.SDS ja Secure.SII

Tegu on andmevoogudega, millest kaks on indeksivood ning üks andmevoog. Indeksivooge

kasutatakse andmevoo infole ligipääsemiseks. Secure.SDH indeksivoogu kasutatakse

turvaatribuute uute turvaatribuutide võrdlemiseks vanematega. Kui failile või kataloogi

turvataset muudetakse, arvutatakse uue turvaatribuudi räsi ning kontrollitakse olemasolevate

turvaatribuutide räsidega. Räside kattumisel puudub vajadus nende topelt salvestamiseks ning

selle asemel tagastatakse MFT kirjele atribuudi ID-number, mis annab faili või kataloogi

kasutamiseks ligipääsuõiguse. Uue atribuudi puhul määratakse uus ID-number ning

turvaatribuut salvestatakse SDS-andmevoos. Atribuudi räsi salvestatakse SDH indeks voos

koos ID-numbriga, mis omakorda edastatakse MFT kirjele ning salvestatakse standard

informatsiooni atribuudis. Secure.SDS andmevoog sisaldab tegelikke turvainfo atribuute.

Seda kasutataksegi vaid atribuutide salvestamiseks. Indeksivood vastutavad uute atribuutide

sisestamise ja olemasolevatele ligipääsemise eest, samal ajal kui SDS andmevoog lihtsalt

hoiab informatsiooni. Secure.SII indeksivoogu kasutatakse, et saada kätte turvalisuse

kirjelduse atribuuti faili või kataloogi jaoks, mille poole pöördutakse. Selles voos

salvestatakse ainult ID-numbrid ja ofsetid. Ofsetid on baitide arvud SDS'is, kus

60

Page 61: Infotehnoloogiliste ekspertiiside uuringud

turvakirjeldused asuvad. Standard informatsiooni atribuut saadab ID-numbri sellele

indeksivoole. Ofset asub SDS failis ja turvalisuse kirjeldus loetakse. Selline keeruline meetod

võtab vähem ruumi võrreldes sellega kui salvestada sama turvakirjeldust igas MFT kirjes. [3]

2.4.6.5 Andmeatribuudid ja andmejooksud

Andmeatribuut on viimane atribuut tüüpilises MFT kirjes. Andmeatribuut järgneb alati

failinime atribuudile või turvakirjelduse atribuudile, sõltuvalt kas, tegu on NTFS v5 või

varasemaga. Andmeatribuudi signatuur on alati (80 00 00 00) ning sellele järgneb atribuudi

suurus.

Atribuut sisaldab faili andmeala informatsiooni ehk siis tegelikke faili admeid, mida kasutaja

faili avades näeb. Nagu eespool mainitud, saavad need andmed olla residentsed või

mitteresidentsed. Kui andmed on residentsed, paikneb andmeatribuut atribuudi sees ja

vastupidisel juhul sisaldab andmeatribuudi päis viidet andmete alguspunktile.

Mitteresidentne fail andmeatribuudis salvestatakse atribuudist väljapoole partitsiooni

vabadele klastritele. See atribuut sisaldab siis viitasid faili andmete poolt hõivatud klastritele.

Neid viitasid nimetatakse andmejooksudeks (ingl. k data runs). Andmejooks on kompaktne

väärtuste kombinatsioon, mis näitab ära andmete asukoha kettal. Andmejookse seotakse

failidega, millel on liiga palju andmeid, et mahtuda enda MFT kirjesse. Kuid reaalselt on need

kasutusel kõigi atribuutide puhul, mis on liiga mahukad, et mahtuda enda MFT kirjesse. [3]

Esimene andmejooks salvestab alati andmete alguspunkti ja klastrite arvu, mida selles lõigus

kasutatakse. Näiteks, kui fail algab klastrist number 13500 ja kasutab 300 järjestikkust

klastrit. Järgnevad andmejooksud sisaldab vahemaad eelmistest andmejooksust ja samuti

klastrite arvu, mida iga segment hõivab. Vahemaa eelmise klastriga saab olla kas positiivne

või negatiivne arv. Näiteks, kui andmejooks algab klastrist 13500 ja kasutab järgnevat 300

klastrit. Seejärel hüppab edasi 5000 klastri võrra ja kasutab 15 klastrit. Siis see teeb

järgmiseks alguspunktiks 13500+500=18500. [3]

Andmejooksud on kõik lingitud kokku üheks jadaks, mis algab andmeatribuudi päise järel

reeglina baidiga 31. Järgnev näide demonstreerib 16-nd süsteemis esitatud andmejooksu, mis

koosneb kolmest osast: 31 0A D0 01 01 21 08 88 13 22 01 01 58 02. [3]

Iga andmejooks järgneb kohe eelmisele. Viis, kuidas leida erinevaid andmejookse on liita

kokku kaks numbrit esimesest baidist. Kuna esimene bait on 31, siis 3+1=4. Järelikult

järgmised neli baiti on kasutusel andmejooksu kirjeldamisel. Seejärel liida järgmise baidi

mõlemad numbrid, mis teeb 2+1=3, mis tähendab, et järgmised kolm baiti on kasutuses selle

andmejooksu kirjeldamiseks. See jada jätkub, kuni andmejooksude lõpuni. Näites saame selle

61

Page 62: Infotehnoloogiliste ekspertiiside uuringud

tulemusena järgmised andmejooksud:

31 0A D0 01 01

21 08 88 13

22 01 01 58 02. [3]

Iga andmejooks on omakorda jagatav väiksemateks osadeks esimese baidi piltlikul

poolitamisel. Näiteks, esimene bait selles andmejooksus on 31 ning poolitamisel saame 3 ja 1.

Parempoolne number näitab meile baitide arvu, mille peab teisendama little-endian kujule, et

välja võtta järgnevate kasutuses olevate klastrite arv selles andmesegmendis. Sellisel juhul

viitab 1 järgmisele baidile 0A, mis tähendab, et esimese andmejooksu kasutuses on 10

andmeklastrit. Vasakpoolne number näitab meile baitide arvu, mille peab teisendama little-

endian kujule, et saada algusklaster. Esimene andmejooks viitab algusklastrile ja kõik

järgnevad andmejooksud arvestavad vahemikuga eelmisest andmejooksust. Sellisel juhul on

järgmised kolm baiti D0 01 01 little-endian kujul 66000. [3]

See protsess näitab, kuidas toimub NTFS failisüsteemis fragmenteerumise haldamine.

Algusklaster tehakse kindlaks esimese andmejooksuga ja seejärel loetakse ülejäänud

andejooksud, kuni andmejooksu lõpumärgini 00. Kui fail ei ole fragmenteerunud, siis on

atribuudis vaid üks andmejooks.

2.4.6.6 Alternatiivsed andmevood

Ühel failil saab olla rohkem kui üks andmeatribuut. See võib olla segadust tekitav, sest

tavaliselt sisaldab fail vaid iseenda andmeid. Selliseid lisa andmeatribuute nimetatakse

alternatiiv-andmevoogudeks ning igal failil võib neid olla määramata kogus.

Tavaliselt kasutatakse neid faili lisainfo hoidmiseks. Näiteks pildi või dokumendifaili

eelvaade või ikooni jaoks. Sellised andmevood kuuluvad samuti selle sama faili juurde ning

tuvastada saab neid MFT kirjest. Fail ise nimetatakse failinime atribuudi järgi ning faili

andmeatribuudid paikneva samas MFT kirjes, sellest tulenevalt on neil sama faili nimi.

62

Joonis 9: Andmejooksu lugemine

Page 63: Infotehnoloogiliste ekspertiiside uuringud

Alternatiivsed andmevood saab tuvastada nime järgi. Igal atribuudil on bait, mis näitab ära

selle atribuudi nime pikkuse. See saab olla ka tühi. Primaarne andmeatribuut faili jaoks ei

oma nime. Kõik alternatiivsed andmeatribuudid sellele failile omavad aga nime ning see on

tuvastatav nime pikkuse alas.

63

Page 64: Infotehnoloogiliste ekspertiiside uuringud

3 . MeetodidKäesolevas peatükis rakendame eelmises peatükis kirjeldatud partitsioonide ja failisüsteemide

omadusi andmete taastamisel andmekandjalt, mille partitsioon või failisüsteem on hävinud.

Kuna operatsioonisüsteem näitab kasutajale vaid ketta faile ja kaustu, tuleb andmekandja

partitsiooni ja failisüsteemi andmete analüüsimiseks kasutada tarkvara, mis suudaks

andmekandjaid vaadelda madaltasemel ehk siis sektoriandmete tasemel. Vaid vaatlemiseks

sobib lisaks kommertstarkvaradele nagu EnCase Forensic ja HexWorkshop ka vabavaraline

DiskView. Käsitsi taastamiseks on vajalik näiteks HexWorkshop või mõni muu vahend,

millega saab otse andmekandjale kirjutada.

3.1 Kettapartitsioonide taastamine

Kettapartitsioonide taastamise meetod kasutab käesoleva töö peatüki „Partitsioon NTFS“

alateemades „Partitsioon ja alglaadesektor“ ning „NTFS vormindamine“ toodud andmeid

andmekandjate partitsioonide taastamise kirjeldamiseks.

3.1.1 Alglaadesektoril on partitsioonikirjed alles

Kui andmekandja ei lae operatsioonisüsteemi või mõni partitsioon on kadunud, tuleks

kadunud andmete otsinguid alustada andmekandja alglaadesektorist ehk MBR'ist. Esimene

asi on veenduda, kas partitsioonikirjed korrektsed ning viitavad partitsioonile. Selleks on

vajalik leida: partitsiooni staatus, tüüp, suhteline asukoht ning partitsiooni suurus:

1. Leia alglaadesektor MBR, mis on andmekandja esimene sektor ehk sektor 0.

2. Veendu, et andmekandja esimene bait oleks 16-nd süsteemis 33h.

3. Leia esimese partitsioonikirje algus baidil 446 ehk sektori 447. baidilt ja vali koos

sellega 16 baiti, mis on partitsioonikirje pikkus.

4. Kontrolli partitsiooni staatus, et selgitada, kas partitsioon seadistatud alglaadivaks.

Partitsioonikirje esimese baidi väärtus näitab olekut: 80h – alglaadiv, 00h – ei alglae.

64

Page 65: Infotehnoloogiliste ekspertiiside uuringud

5. Kontrolli partitsiooni tüüp, et selgitada, milline failisüsteem on partitsioonil.

Partitsioonikirje 5. baidi väärtus näitab tüübikoodi. Näiteks 07 – NTFS, 06 – FAT, 05

– laiendatud partitsioon, 00 – tühi partitsioonikirje.

6. Leia partitsiooni suhteline asukoht. Partitsioonikirje baidid 9-12 näitavad sektorite

arvu MBR'i ja partitsiooni esimese sektori vahel. Käivita HexWorkshop Base

Converter. Seadista baitide järjestuseks Intel ning andmetüübiks long ning sisesta

väärtus 16-nd arvuna. Näiteks väärtus 3F 00 00 00 esitub kümnendarvuna 63, mis

tähendab, et partitsiooni alglaadesektor paikneb 64. sektoril.

7. Leia partitsiooni suurus. Partitsioonikirje baidid 13 – 16 näitavad partitsiooni suuruse

baitides. Väärtuse 10-nd süsteemi teisendamiseks kasuta eelmises punktis kirjeldatud

viisi.

8. Kontrolli samal viisil üle MBR'i ülejäänud 4 partitsioonikirjet vastavalt baitidel 462,

478, 494.

9. Laiendatud alglaadekirje leidmisel näitab partitsiooni suhteline asukoht järgmise kirje

asukohasektori, mille analüüsimisel piisab esimese kahe kirje uurimisest. Seda seni,

kuni viimane laiendatud kirje viitab konkreetsele partitsioonile. Partitsiooni

alglaadesektori tunneme reeglina ära sõnade NTFS või MSWIN4.1 järgi.

Kontrolli tulemusena saame teada:

1. Mitu peamist partitsiooni on andmekandjal.

2. Kas andmekandjal on laiendatud partitsioon ja laiendatud alglaadekirjed.

3. Millised võimalikud failisüsteemid leiduvad andmekandjal.

4. Millistel sektoritel partitsioonid paiknevad.

5. Kui suured on andmekandjal paiknevad partitsioonid.

3.1.2 Alglaadesektori partitsioonikirjed on vigased

Eelmises punktis toodud meetodi järgi saame tuvastada, kas andmekandja alglaadesektoril on

partitsioonitabel korrektne. Kui analüüsitud väärtused ei anna mõistlikku tulemust või on

nullid, saab lisaks kontrollida alglaadesektori lõpus olevat alglaadekirje signatuuri, mis peab

olema 16-nd süsteemis 55 AA.

Sellisel juhul puudub meil küll korrektne partitsioonikirje, mis viitaks otsitava partitsiooni

koordinaatidele, kuid teades või aimates, milline on partitsiooni tüüp, on võimalik see üles

leida.

65

Page 66: Infotehnoloogiliste ekspertiiside uuringud

1. Kuna reeglina paikneb andmekandja esimene partitsioonikirje 64. sektoril, leiab sellelt

tihti esimese partitsiooni alglaadekirje VBR.

2. Partitsiooni alglaadesektori tunneme reeglina ära sõnade NTFS või MSWIN4.1 järgi.

3. Kui 64. sektorilt VBR'i ei leitud või on alust arvata, et andmekandjal paikneb rohkem

partitsioone, tuleks andmekandjalt otsida alglaadesekirje tunnuseid nagu .R.NTFS

(EB 52 90 4E 54 46 53), MSWIN4.1 (EB 58 90 4D 53 57 49 4E 34 2E 31) ning

alglaadekirje lõpusignatuuri 55 AA.

4. Kasutades partitsioonide omadust kopeerida VBR partitsiooni viimasele sektorile,

võib VBR'i leida näiteks andmekandja viimaselt sektorilt.

Vigaste partitsioonikirjete korral saab partitsioone taastada vaid virtuaalselt eritarkvaraga,

mitte käsitsi, sest meil puudub info kuue baidi kohta, mis kirjeldavad ketta lugemispea,

silindri ja sektori algus- ning lõpp-punkte. Ketta esimese partitsiooni alguspunktid on reeglina

teada (01 01 00), kuid lõpp-punktid sõltuvad partitsiooni suurusest ja ketta parameetritest

ning nende tagasiarvutamine ei ole teada.

3.1.3 Partitsiooni alglaadekirje analüüs partitsiooni taastamiseksUurides VBR'i koopiaid saab juba teada oleva partitsiooni järgi kontrollida teiste

partitsioonide olemasolu ning riknenud partitsioonikirje taastada leitud VBR koopia järgi,

seda juhul, kui on teada partitsiooni algussektor, millele VBR'i koopia taastada.

Alglaadesektori järgi partitsiooni asukohta tuvastamiseks ja taastamiseks on vajalik leida:

failisüsteemi tunnus ID ja partitsiooni suurus sektorites:

1. Leitud VBR'i baidid 4 – 11 sisaldavad partitsiooni failisüsteemi tunnust. Näiteks

NTFS või MSWIN4.1.

2. VBR'i baidid 41 – 49 sisaldavad partitsiooni suuruse sektorites. Suuruse 10-nd

süsteemi teisendamiseks tuleb kasutada eespool nimetatud Base Converter tarkvara.

VBR'i koopiast loetud partitsiooni suuruse järgi saab leida partitsiooni alguse arvestusega, et

partitsiooni esimene ja viimane sektor on identsed VBR'id ning originaalse VBR'i sektori

aadress on leitav lihtsa valemiga (VBR_koopia_aadress – partitsiooni_suurus + 1)

Partitsiooni failisüsteemi tunnuse abil saab veenduda, et leitud VBR'i koopia kirjeldab

otsitavat partitsiooni. Kui tunnus on NTFS ning leitud riknenud VBR'ist järgmine sektor

sisaldab loetavat tunnust NTLDR, võib eeldada, et VBR'i koopia kuulub leitud riknenud

kirjele ja selle taastamisel taastub partitsiooni töö, kui MBR on korrektne.

66

Page 67: Infotehnoloogiliste ekspertiiside uuringud

3.1.4 Partitsiooni alglaadekirje analüüs NTFS failitabeli leidmiseksNagu peatükis „Peafailitabel MFT“ kirjeldatud, sisaldab NTFS'i metafail $MFT

informatsiooni failisüsteemi failide ja kataloogide kohta ning teatud juhtudel ka failide

andmeala. Alapeatükis „Andmeatribuudid ja andmejooksud“ on kirjeldatud, kuidas MFT

kirjetest leida ja taastada mitteresidentseid failiadmeid nagu mahukamate failide andmealad.

MFT analüüs on keeruline ja aeganõudev ning suuremahuliseks NTFS'i taastamiseks on

mõistlik muretseda tarkvara, mis failisüsteemi tervikuna automaatselt analüüsib.

NTFS failisüsteemiga partitsiooni korrektsuse ja MFT olemasolu kontrollimiseks piisab meile

aga vaid kahest täiendavast kirjest VBR'is: partitsiooni klastrisuurus ja MFT asukoha aadress.

1. VBR'i baidilt 14 leiab partitsiooni klastrisuuruse sektorites

2. Baitidel 49 – 56 sisaldub $MFT loogiline klastri aadress

Faili $MFT algussektor on leitav lihtsa valemiga (VBR_aadress + MFT_klastri_aadress *

klastrisuurus). VBR_aadress on partitsiooni originaalse alglaadekirje VBR sektori aadress.

3.2 Andmete taastamine partitsiooni failide poolt hõivamata alaltPartitsiooni failide poolt hõivamata ala on andmekandja piirkond, mille andmetele puudub

failisüsteemis viide. Selline ala on partitsiooni vaba ruum, millelt võib leida eelnevalt

kasutuses olnud failide andmeid. Analoogne on olukord, kui failisüsteem on riknenud või

andmeandjalt on kadunud viited partitsiooni algusele ja lõpule. Sellisel juhul tuleb andmeid

otsida andmete sisu järgi. Partitsiooni kataloogisüsteemi taastamiseks on olemas automaatsed

vahendid (GS EnCase jne), kuid kui failitabel on riknenud või FAT partitsiooni kõik failid

paiknesid vaid hävinud juurkataloogis, siis pole automaatsetest vahenditest kasu.

3.2.1 Faili andmete taastamineKadunud failiandmete taastamiseks peab kõigepealt teadma, mida otsida soovitakse. Failide

poolt hõivamata alal asuvad enamasti faili andmealad ehk siis faili sisu ning puuduvad viited

nimedele, kataloogiteedele ning failiaegadele. Tinglikult saab failide andmealad jagada kolme

sisutüübi järgi: tekstiandmed (TXT, INI, EML jne), erivormingus tekstiandmed (HTML,

DOC) ja erivormingus andmed (JPG, ZIP, EXE, AVI jne). Otsingul tuleb lähtuda

võimalustest ning otsida andmeid loogilise sisu, failisignatuuri või mõlema tunnuse järgi:

1. Tekstiandmeid saab otsida vaid teada oleva sisu järgi – sõnad, märgikombinatsioonid,

sest sellistel failidel puudub konkreetne failisignatuur.

2. Erivormingus tekstiandmeid saab otsida nii sisu kui ka failisignatuuri järgi. Otsingul

67

Page 68: Infotehnoloogiliste ekspertiiside uuringud

loogiliste märksõnadega tuleb enne kontrollida, kas failitüüp hoiab andmeid unikood

formaadis (DOC)

3. Erivormingus andmeid saab üldiselt otsida vaid signatuuri järgi, kui me just ei tea

konkreetset mustrit või loogilist tekstilõiku, mis sisaldub otsitavates andmetes.

Otsingu tulemusena leitud andmealade taastamisel on kõige lihtsam tekstiandmetega, sest

nende sisu on inimesele loetav ülejäänud andmeala tüüpide lugemine on keeruline ja kohati

võimatu.

1. Tekstiandmete otsingu tulemusena saab taastada loogilise tekstikatke ilma

failiandmeteta, mille saab salvestada uue failina.

2. Erivormingus tekstiandmeid on võimalik osaliselt taastada sõltuvalt vormingu

keerukusest. Näiteks paljud HTML-failid on salvestatavad uue failina, kuid DOC faili

uue failina taastamine on segase lõputunnuse tõttu keerukas.

3. Erivormingus andmete taastamine on tundmatute lõputunnuste tõttu väga keeruline

ning sõltub kunagise kustutatud faili andmeala suurusest ning võrdlusmaterjalist.

Ainuke failitüüp, mille taastamine on suhteliselt lihtsalt automatiseeritav, on

pildifailid.

Töö esimeses peatükis on kirjeldatud digipiltide taastamise võimalusi ja kuidas digitaalseid

fotosid tõendamisvajadusel analüüsida saab. Otsingu tüüpprotsess on järgmine:

1. Veendu otsingu ulatuse vajaduses, liiga palju failitüüpe võivad anda liiga palju

vasteid süsteemipiltidest.

2. Veendu otsitavate pildifailide andmete maksimaalses suuruses ehk millise

maksimaalse suurusega võisid olla taastamist vajavad pildid.

3. Vali välja pildifaili signatuurid otsitava tüübi järgi. Näiteks JPG failisignatuur 16nd-

süsteemis on (FF D8 FF).

4. Alusta signatuuri otsingut.

5. Kasutades omadust, et pildifailide failisignatuurid asuvad alati sektori või klastri

alguses, saab oletatava pildifaili suuruse järgi kõikidele leitud signatuuridele

järgnevad andmealad välja kopeerida.

6. Salvesta välja kopeeritud andmealad otsitava signatuuri laiendiga. Näiteks JPG.

7. Failide ükshaaval avamisel alustab pildiprogramm (näit IrfanView) taastatud

failiandmete lugemist signatuurikontrolliga kuni arusaadava andmeala lõpuni.

68

Page 69: Infotehnoloogiliste ekspertiiside uuringud

8. Kui näidatav pilt vajalik, salvesta see uue failina.

Tulemuseks on taastatud või osaliselt taastatud pildid, mida saab sisu järgi edasi sorteerida.

Juhul, kui pildid on EXIF vormingus infoga, saab võimalusel taastada pildi tegemise suhtelise

ajamärgi.

69

Page 70: Infotehnoloogiliste ekspertiiside uuringud

4 . Rakendus andmekandjate madaltasemel sirvimiseks

Käesoleva magistritöö kirjutamisega paralleelselt loodi töös kirjeldatu katsetamise ning

omandamise eesmärgil Win32 API liidest kasutav tarkvararakendus süsteemis töötavate

andmekandjate madaltasemel sirvimiseks.

Töö kirjutamise ajal puudus avatud lähtekoodiga tarkvara, mis võimaldaks töötavas Windows

süsteemis füüsilist andmekandjat madaltasemel vaadelda ning mustriotsinguid teha ning mida

vajadusel täiendada saaks. Vabad või erialastel koolitustel jagatavad tarkvarad on piirdunud

failisüsteemist failide taastamisega või failisüsteemi baasil pildifailide otsinguga, mis pole

piisav andmekandjate uurimiseks.

Tarkvararakenduse peamisteks ülesanneteks on töötava Windows XP operatsioonisüsteemiga

arvuti andmekandja andmete madaltasemel sirvimine, esitamine paralleelselt 16-nd süsteemis

ja ASCII interpretatsioonina, andmekandja sektorite loendamine ning sirvimine. MBR

partitsioonitabelite tõlgendamine, NTFS partitsiooni VBR tõlgendamine ning $MFT

leidmine selle abil. Lisaks võimaldab tarkvara üle andmekandja sektorite viia läbi 16-nd

süsteemis etteantud signatuuride skaneerimist ning selle abil kustutatud failide andmealade

otsingut ja kaardistamist, sh pildifailde otsingut ja taastamist failide poolt hõivamata alalt.

Programm kirjutati Microsoft Visual Studio 2003 Visual C# arendusvahendit kasutades ning

töötab platvormil .NET Framework 1.1.

Loogilistest ketastest ei loeta süsteemiketast arendusplatvormi kitsenduste tõttu.

Süsteemiketast kandva füüsilise ketta lugemisega probleeme pole. Lisaks võimaldab

programm analoogselt ketastega vaadelda faile.

Kuna sektori kaupa kõvaketaste lugemine on sektorite skaneerimiseks ebaoptimaalne, leiti

katsete tulemusena optimaalseks korraga loetavaks ploki suuruseks 1024kB ehk 2048

70

Page 71: Infotehnoloogiliste ekspertiiside uuringud

sektorit. Katsete tulemusena saadi kõvaketta keskmiseks lugemiskiiruseks üle skaneeritud

ketta 16916 kB sekundis. Lugemiskiiruste vahe üle ketta väiksemate lõikude kaupa oli kuni

30 kordne ning loetavate lõikude suurendamisel esines aeglustumisi. Programm teeb

andmekandjalt mustriotsinguid ette antud plokkide kaupa, kuni viimase ketta lõpus oleva

lõiguni, mida skaneeritakse sektori kaupa.

Tarkvara toimingud käivitamisel:

1. Loeb füüsiliste ja loogiliste andmekandjate arvu süsteemis.

2. Kontrollib füüsiliste ketaste \\.\PhysicalDrive mahud sektorites

3. Avab järjekorras esimese füüsilise ketta ning loeb ning esitab selle esimese sektori

4. Jagab ketta mõttelisteks plokkideks ning arvutab ketta lõpus olevast viimasest plokist

järele jäänud sektorite arvu.

5. Kasutajale näidatakse laetud 512 baidise sektori andmeid

6. Logib kellaajaliselt programmi avamise andmed ja leitud kettad

Ketaste sirvimine:

1. Kasutajale näidatakse sektori andmeid paralleelselt kahes aknas 16-nd süsteemis ja

tekstikujul

2. 16-nd kujul või tekstikujul esitatud andmete märgistamisel hiirega kajastub see

vastavalt teises aknas.

3. Näidatakse aknas märgistatud ala ofseti ja märgistuse pikkust.

4. Üle kogu ketta sektorite saab liikuda kerimisribaga

5. Pöörduda saab otse suvalise olemas oleva sektori poole.

6. Valitud sektorist saab teha faili binaarkoopiaga

MBR ja VBR andmete analüüs:

1. Suvalist valitud sektorit saab analüüsida, kas sellel on alglaadekirje MBR tunnused ja

partitsioonitabel.

2. Programm väljastab leitud partitsiooni tüübi, suhtelise asukoha partitsioonitabeli

sektorist ja partitsiooni suuruse.

3. Suvalist valitud sektorit saab analüüsida, kas sellel on partitsiooni alglaadekirje VBR

tunnused.

71

Page 72: Infotehnoloogiliste ekspertiiside uuringud

4. Programm väljastab leitud partitsiooni tüübi ID, klastri suuruse, partitsiooni suuruse

sektorites, NTFS'i metafailide $MFT ja $MFTMirr klastri ning sektori aadressi.

5. Suvalise MFT failitabeli kirje puhul esitab kirje oleku ja järjekorranumbri.

Mustriotsing ja tulemuste kuvamine:

7. Programm arvutab etteantud väärtuse järgi keskmise andmekandja skaneerimise aja

vastavalt valitud ketta mahule. Väärtus on saadud katsete tulemusena 1025kB ploki

suurusega.

1. Mustriotsinguks saab väärtuse sisestada 16-nd süsteemis käsitsi või valida

konfiguratsioonifailist etteantud signatuur faili tüübi järgi.

2. Kasutaja saab katsetamiseks valida andmeploki suuruse, mille kaupa ketast lugema

hakatakse. Valik on 0,5kB kuni 1024kB sammuga 0,5kB ehk üks sektor.

8. Mustriotsingu käivitamisel logib programm skaneeritava ketta andmed – loetud ketas

ja selle suurus

9. Logib otsitava mustri 16-nd süsteemis

10. Logib valitud ploki suuruse, millega otsingut alustati

11. Genereerib kettanimelise logifaili, milles on ära toodud sektorite aadressid, mis

vastasid mustriotsingule.

12. Otsingu lõppedes laetakse tulemuste sirvimiseks leitud signatuuride aadressifail.

13. Tulemusi saab edasi-tagasi sirvida. Kui tegu on pildifailiga, kuvatakse see.

14. Kui pildifailil on EXIF väli , siis kuvatakse selle info.

15. Kasutaja saab sisse lülitada kuvatud piltide automaatse salvestamise, mis salvestab

ette antud suurusega andmeploki automaatselt kujule „sektori_aadress.jpg“

72

Page 73: Infotehnoloogiliste ekspertiiside uuringud

Kokkuvõte

Käesolev magistritöö käsitleb NT-põhiste operatsioonisüsteemide ning NTFS failisüsteemi

toimimist ning uurib süsteemi iseärasusi kohtuinfotehnoloogilise ekspertiisi vaatenurgast

ekspertarvamuse andmisel.

Infotehnoloogiliste kohtuekspertiiside ja uuringute läbiviimisel ei saa usaldada ainult masina

taastamistöö tulemusena saadut. Andmete taastamine on oluline osa kohtueksperdi tööst, kuid

tarkvara poolt pakutav andmete taastamise funktsioonist ei tarvitse piisata eksperdiarvamuse

andmiseks ning alati on võimalus, et arvuti tegi vea. Infotehnoloogilise ekspertiisi puhul peab

tulemust hindama ja arvamuse andma kogenud spetsialist võimega analüüsida üheaegselt nii

inimese kui arvutina.

Töö sissejuhatavas osas kirjeldatakse kohtuinfotehnoloogiliste uuringute hetkeolukorda ning

jätkatakse praktilise konspektiivse ülevaatega infotehnoloogilise kohtuekspertiisi

läbiviimisest kohtueelses menetluses ja kohtusaalis. Töös analüüsitakse Windows

operatsioonisüsteemi kasutajale näha olevaid eripärasid ja iseloomulikke andmete peitekohti.

ning NTFS failisüsteemi selle osa toimimise tõlgendamist, mis on vajalik andmete

taastamiseks.

Töö jätkab 2003. aastal valminud bakalaureusetööga alustatut, mis tol hetkel oli mõeldud

algmaterjaliks infotehnoloogiavaldkonna ekspertidele ning võimaldas läbi viia lihtsamaid

ekspertiise. Käesolev magistritöö on mõeldud keskmisel tasemel arvutiekspertiisidega

kokkupuutuvate menetluspoolte koolitamiseks ja kõrgemal tasemel NT-põhiste Windows

operatsioonisüsteemide vaatluste läbiviijatele ja ekspertidele juhendmaterjaliks ning teejuhiks

keerulises NTFS failisüsteemis orienteerumisel.

Töö kirjutati Politseiameti halduses asuvas Kohtuekspertiisi ja Kriminalistika Keskuse

(KEKK) dokumendiosakonna infotehnoloogiavaldkonna ekspertiisilabori arendustööga

73

Page 74: Infotehnoloogiliste ekspertiiside uuringud

paralleelselt ning lõpetati AS Proekspert kvaliteediinseneri ameti kõrvalt seose allakirjutanu

lahkumisega 2008. aastal loodud ühend-ekspertiisikeskusest. Töö autor tegeleb jätkuvalt

menetluspoolte konsulteerimise ja koolitamisega infotehnoloogilisi asitõendeid puudutavates

küsimustes ning viib läbi infotehnoloogilisi ekspertiise.

74

Page 75: Infotehnoloogiliste ekspertiiside uuringud

Kasutatud kirjandus

[1] EnCase Introduction to Computer Forensics. Pasadena: Guidance Software,

2005.

[2] Tanenbaum, A. S. Modern Operating Systems, Second Edition, Prentice Hall, 2001

[3] EnCase Advanced Computer Forensics. Pasadena: Guidance Software, 2005

[4] Sammes, T., Jenkinson, B. Forensic Computing. A Practitioner's Guide, Springer, 2004

[5] Kriminaalmenetluse seadustik — Riigi Teataja I, 2004, 46, 329.

[6] London, T. Infotehnoloogiliste ekspertiiside kvaliteedi tagamine :

bakalaureusetöö. Tallinna Tehnikaülikool, Tallinn, 2003.

[7] Casey, E. Digital Evidence and Computer Crime: Forensic Science, Computers, and the

Internet, Second Edition, Academic Press, 2004

[8] Active@ Data Recovery Software koduleht http://www.ntfs.com

[9] Wikipedia artikkel NTFS failisüsteemist http://en.wikipedia.org/wiki/Ntfs

[10] Wikipedia artikkel alglaadekirjest http://en.wikipedia.org/wiki/Extended_Boot_Record

[11] Hager, J. The Windows Shortcut File Format – uurimus linkfailidest http://www.i2s-

lab.com/Papers/The_Windows_Shortcut_File_Format.pdf

[12] Stdlib.com artikkel linkfailidest http://www.stdlib.com/art6-Shortcut-File-Format-

lnk.html

[13] Wikipedia artikkel Windws registrist http://en.wikipedia.org/wiki/Windows_registry

75

Page 76: Infotehnoloogiliste ekspertiiside uuringud

Lisad

76

Page 77: Infotehnoloogiliste ekspertiiside uuringud

Lisa 1 – Rakenduse kettalugemise lähtekood

Järgnevalt on ära toodud osa töö kirjutamise käigus katsetusteks koostatud programmi

lähtekoodist failist PhysicalDisc.cs, mille abil teostatakse NT-põhises Windows

operatsioonisüsteemis andmekandja andmete poole otse pöördumine ning etteantud sektorilt

andmejada puhvrisse lugemine:

using System;

using System.Runtime.InteropServices;

using System.Collections;

namespace SectorView

{

public class PhysicalDisk

{

#region Muutujad

public struct Muutujad

{

public static string driveType = "PhysicalDrive";

public static int driveNr;

public static string driveName; //Hoiab draivi nime näit. \\.\PhysicalDrive1

public static ArrayList driveArray = new ArrayList(); // Hoiab olemasolevaid PhysicalDiskide numbreid

// LoeSektorPuhvrisse kasutuses

public static long sektorNr;

public static uint iBlockSize; // vaikimisi Seadme ploki (sektori) suurus baitides

// sektoriPuhver hoiab endas loetud sektorit, sektoriPikkus - loetud sektori pikkus

public static byte[] sektoriPuhver; //HexBuffer

public static uint sektoriPikkus; //HexBytesRead

// viitBaidile hoiab "viitSektorile" väljastatud väärtust, ehk mitmendast baidist sektorit loetakse

//(baidi lugemist alustatakse nullist)

public static IntPtr viitBaidile;

public static long kettaMaht; // Ketta maht baitides

public static long kettaViimaneSektor; //Ketta viimase sektori aadress ehk "kettaMaht/512-1"

// Faili suurus

public static long failiSuurus; // Faili suurus baitides?

}

#endregion

#region Public constnts

//DesiredAccess values

public const uint GENERIC_READ = 0x80000000;

public const uint GENERIC_WRITE = 0x40000000;

public const uint GENERIC_EXECUTE = 0x20000000;

public const uint GENERIC_ALL = 0x10000000;

77

Page 78: Infotehnoloogiliste ekspertiiside uuringud

//Share constants

public const uint FILE_SHARE_READ = 0x00000001;

public const uint FILE_SHARE_WRITE = 0x00000002;

public const uint FILE_SHARE_DELETE = 0x00000004;

// DeviceIoControl

public const uint IOCTL_DISK_GET_LENGHT_INFO = 0x7405c; // IOCTL_DISK_GET_LENGHT_INFO kood

//CreationDisposition constants

public const uint CREATE_NEW = 1;

public const uint CREATE_ALWAYS = 2;

public const uint OPEN_EXISTING = 3;

public const uint OPEN_ALWAYS = 4;

public const uint TRUNCATE_EXISTING = 5;

public const short INVALID_HANDLE_VALUE = -1;

public const uint FILE_BEGIN = 0;

public const long DISK_BLOCK_SIZE = 512;

#endregion

#region CreateFile

//CreateFile

[System.Runtime.InteropServices.DllImport("kernel32.dll", SetLastError=true)]

public static extern IntPtr CreateFile

(

string Filename, //In order to read CD data FileName must be "\\.\\D:" where D is the CDROM drive letter

uint DesiredAccess, // Must be GENERIC_READ for CDROMs

uint ShareMode, // means exlusive access, FILE_SHARE_READ allow open the CDROM

IntPtr lpSecurityAttributes, // See Platform SDK documentation for details. NULL pointer could be enough

uint CreationDisposition, // Must be OPEN_EXISTING for CDROM drives

uint dwFlagsAndAttributes, //0 in fine for this case

IntPtr hTemplateFile // NULL handle in this case (IntPtr.null)

);

#endregion

#region CloseHandle

//CloseHandle

[System.Runtime.InteropServices.DllImport("Kernel32.dll", SetLastError=true)]

public extern static int CloseHandle(IntPtr hObject);

#endregion

#region SetFilePointerEx

//SetFilePointerEx

[System.Runtime.InteropServices.DllImport("Kernel32.dll", SetLastError=true)]

public static extern bool SetFilePointerEx

(

IntPtr driveHandle, //[in] Handle to the file whose file pointer is to be moved. The file handle must have been created with the GENERIC_READ or GENERIC_WRITE access right.

78

Page 79: Infotehnoloogiliste ekspertiiside uuringud

long liDistanceToMove, //[in] Number of bytes to move the file pointer. A positive value moves the pointer forward in the file and a negative value moves the file pointer backward.

out IntPtr lpNewFilePointer, //[out, optional] Pointer to a variable that receives the new file pointer. If this parameter is NULL, the new file pointer is not returned.

uint dwMoveMethod //[in] Starting point for the file pointer move. This parameter can be one of the following values:

//FILE_BEGIN The starting point is zero or the beginning of the file. If this flag is specified, then the liDistanceToMove parameter is interpreted as an unsigned value.

//FILE_CURRENT The start point is the current value of the file pointer.

//FILE_END The starting point is the current end-of-file position.

);

#endregion

#region ReadFile

//ReadFile

[System.Runtime.InteropServices.DllImport("Kernel32.dll", SetLastError=true)]

public static extern bool ReadFile

(

IntPtr driveHandle, //[in] A handle to the file to be read.

byte[] lpBuffer, //[out] A pointer to the buffer that receives the data read from a file.

uint nNumberOfBytesToRead, //[in] The maximum number of bytes to read. (512)

out uint lpNumberOfBytesRead, //[out] A pointer to the variable that receives the number of bytes read. ReadFile sets this value to 0 (zero) before doing any work or error checking.

IntPtr lpOverlapped //[in] A pointer to an OVERLAPPED structure.(NULL)

);

#endregion

#region GetFileSizeEx

//GetFileSizeEx

[System.Runtime.InteropServices.DllImport("Kernel32.dll", SetLastError=true)]

public static extern bool GetFileSizeEx

(

IntPtr driveHandle, //[in] Handle to the file whose size is to be returned.

out long lpFileSize //[out] Pointer to a LARGE_INTEGER structure that receives the file size.

);

#endregion

#region AvaFyysilineDraiv: CreateFile

public static int AvaFyysilineDraiv(string driveName, out IntPtr hDevice)

{

hDevice = CreateFile

(

driveName,

GENERIC_READ,

FILE_SHARE_READ,

IntPtr.Zero,

OPEN_EXISTING,

0,

IntPtr.Zero

79

Page 80: Infotehnoloogiliste ekspertiiside uuringud

);

if (hDevice.ToInt32() == INVALID_HANDLE_VALUE)

{

return 0;

}

return 1;

}

#endregion

#region ViitSektorile: SetFilePointerEx, CloseHandle

public static IntPtr ViitSektorile(IntPtr driveHandle, long liDistanceToMove, uint dwMoveMethod)

{

bool Tulem;

IntPtr lpNewFilePointer;

Tulem = SetFilePointerEx(driveHandle, liDistanceToMove*DISK_BLOCK_SIZE,out lpNewFilePointer, dwMoveMethod);

if (Tulem == false)

{

CloseHandle(driveHandle);

}

return lpNewFilePointer;

}

#endregion

#region LoeSektor: AvaFyysilineDraiv, ViitSektorile, HexTabel.JoonistaTabel, CloseHandle

public static int LoeSektor(string driveName, long sektorNr, bool joonistaHexTabel)

{

IntPtr driveHandle;

uint lpNumberOfBytesRead=0;

AvaFyysilineDraiv(driveName, out driveHandle);

ViitSektorile(driveHandle, sektorNr, FILE_BEGIN);

byte[] puhver = new byte[Muutujad.iBlockSize];

if (ReadFile(driveHandle, puhver, Muutujad.iBlockSize,out lpNumberOfBytesRead, IntPtr.Zero))

{

byte[] outPuhver = new byte[lpNumberOfBytesRead];

Array.Copy(puhver, outPuhver, lpNumberOfBytesRead);

if (joonistaHexTabel)

{

HexTabel.JoonistaTabel(lpNumberOfBytesRead,outPuhver);

}

else

{

Muutujad.sektoriPuhver = outPuhver;

Muutujad.sektoriPikkus = lpNumberOfBytesRead;

}

}

80

Page 81: Infotehnoloogiliste ekspertiiside uuringud

PhysicalDisk.CloseHandle(driveHandle);

return 1;

}

#endregion

#region driveName

public static int driveName(string driveType, int driveNr)

{

Muutujad.driveName = string.Format("\\\\.\\{0}{1}", driveType ,driveNr);

return 1;

}

#endregion

#region checkDriveNames()

// Kontrollitakse olemasolevad füüsilised kettad ja salvestatakse draivi nimed massiivi Muutujad.driveArray

public static int checkDriveNames()

{

IntPtr driveHandle;

ArrayList myObjArray = new ArrayList();

for (int i=0; i<10; i++)

{

driveName(Muutujad.driveType, i);

if (AvaFyysilineDraiv(Muutujad.driveName,out driveHandle) != 0)

{

myObjArray.Add(i);

}

}

Muutujad.driveArray = myObjArray;

return 1;

}

#endregion

#region DeviceIoControl

[System.Runtime.InteropServices.DllImport("Kernel32.dll", SetLastError=true)]

public static extern bool DeviceIoControl

(

IntPtr driveHandle, // [in] handle to device (HANDLE)

uint dwIoControlCode, // [in] IOCTL_DISK_GET_LENGHT_INFO

IntPtr lpInBuffer, // NULL (IntPtr.Zero)

uint nInBufferSize, // 0

out long lpOutBuffer, // [out] output buffer, (LPVOID)(byte[])

long nOutBufferSize, // [in] size of output buffer, (DWORD)

out uint lpBytesReturned, // [out] number of bytes returned, (LPDWORD)

IntPtr lpOverlapped // [in] OVERLAPPED structure, (LPOVERLAPPED)

);

#endregion

#region LoeSektoriteSumma: AvaFyysilineDraiv, DeviceIoControl, CloseHandle

// Kontrollitakse ketta sektorite arvu ja salvestatakse tulem muutujasse "long Muutujad.kettaMaht"

81

Page 82: Infotehnoloogiliste ekspertiiside uuringud

public static int LoeSektoriteSumma(string driveName)

{

IntPtr driveHandle;

long DiskSize = 0; // long lpOutBuffer

long nOutBufferSize = Marshal.SizeOf(typeof(long));

uint lpBytesReturned = 0;

AvaFyysilineDraiv(driveName, out driveHandle);

Console.WriteLine( "\nDrive handle {0}", driveHandle);

DeviceIoControl(driveHandle, IOCTL_DISK_GET_LENGHT_INFO,IntPtr.Zero,0,out DiskSize,nOutBufferSize,out lpBytesReturned,IntPtr.Zero);

Muutujad.kettaMaht = DiskSize;

Console.WriteLine( "Disk Size {0} bytes", DiskSize);

// Kui ketta suurus on 0, siis tekib probleem aadressiga (vol C)

Console.WriteLine( "Disk {0} Size {1} sectors", driveName ,Muutujad.kettaMaht/512);

CloseHandle(driveHandle);

return 1;

}

#endregion

//Loetakse avatud faili suurus ja salvestatakse tulem muutujasse "long Muutujad.kettaMaht"

public static int LoeFailiSuurus(string driveName)

{

IntPtr driveHandle;

long lpFileSize;

AvaFyysilineDraiv(driveName, out driveHandle);

Console.WriteLine( "File handle {0}", driveHandle);

GetFileSizeEx(driveHandle,out lpFileSize);

Muutujad.kettaMaht = lpFileSize;

Console.WriteLine( "File size {0} bytes", lpFileSize);

CloseHandle(driveHandle);

return 1;

}

}

}

82

Page 83: Infotehnoloogiliste ekspertiiside uuringud

Lisa 2 – Täiendav info Windows süsteemi uurimisel

Printimistööde tuvastamine

Printimistööde poolimine (ingl. k spooling) on trükiandmete ettevalmistamine printerisse

saatmiseks töötava rakenduse taustal. Poolifialid paiknevad NT-põhistes Windows

süsteemides vastavalt kataloogide \Winnt või \Windows alamkataloogis

\system32\spool\printers. Iga printimistöö jaoks luuakse SHD ja SPL-failid, mis kustutatakse

printimise lõpetamisel. Trükitavaid kujutisi esitatakse EMF ehk täiustatud metafaili (ingl. k

enhanced metafile) või RAW pildiformaadis.

SHD-fail ehk varifail (ingl. k shadow) sisaldab printimistööga kaasnevat informatsiooni:

kasutajakonto kasutajanime, printeri tüübi, programmi nime, faili nime, trükimeetodi (EMF

või RAW) ja mõnikord ka täielikku teed kataloogipuus. SPL-fail sisaldab RAW formaadi

puhul vaid prinditavaid andmeid, EMF-formaadi korral aga prinditava faili nime ja EMF-

trükikujutisi. Iga trükitava lehekülje kohta luuakse üks EMF-kujutis, mis paiknevad järjest

ühes või enamas SPL-failis.

SPL-failide viited võivad eksisteerida ka failide poolt hõivamata alal ja virtuaalmälufailis

ning leida saab neid EMF-signatuuride otsimisel, mille lõpuosa võib erinevates Windows

süsteemides erineda. Mõned näited 16-nd süsteemis:

01 00 00 00 18 17 (NT, 2000)

01 00 00 00 D8 17 (2000)

01 00 00 00 58 6E (2000)

01 00 00 00 5C 01 (XP)

Tavapärane päise algus on alati (01 00 00 00) ning võimalusel tasub kataloogist

\system32\spool\printers\ tuvastada üldkujulise signatuuri otsimise abil süsteemis levinud

EMF päis, et kitsendada otsingutulemusi. Otsingutulemuste sirvimist lihtsustab oluliselt, et

EMF-formaat sisaldab ka tähist EMF, mis paikneb FO: 41 EMF-kujutise signatuurist lugedes.

Trükifailide tuvastamine on oluline just dokumentide ning rahatähtede võltsimise juhtumitel,

kus arvutist leitav poolifail või EMF-formaadis kujutis on otsene viide vastava kujutise

printimisele.

Windows ajamärgi teisendamine

Windows salvestab ajamärgid FILETIME ehk Windows Date/Time formaadis. FILETIME

formaat koosneb 100 ns intervalliga tiksudest., mida liidetakse alates kellaajast 00:00 ja

83

Page 84: Infotehnoloogiliste ekspertiiside uuringud

kuupäevast 1 jaanuar 1601 UTC's. Kuna ülejäänud maailm kasutab Unix aega, mis loendab

sekundeid alates kellaajast 00:00 ja kuupäevast 1 jaanuar 1970, peab FILETIME formaadi

teisendama Unix ajaformaadiks, mida saab teha järgmise valemi abil:

(Unixaeg) = A * (NT aeg) + B

Kuna tiksud FILETIME formaadis on 100 ns intervalliga, teame me, et A on 10. Probleem on

B väärtuse leidmisega. B on sekundite arv 01.01.1601 ja 01.01.1970 vahel, milleks on

MSDN.com info järgi 11644473600.

Arvusüsteemid

Intel protsessorid ja sellest tulenevalt Windows kasutavad masinkoodis little-endian

arvuformaati. Näiteks Motorola kasutab big-endian formaati. Little-endian andmevälja

lugemisel tuleb arvestada, et madalamad numbrid loetakse enne. Piltlikult on kuupäeva

formaat little-endian ehk pp.kk.aaaa. Big-endian formaadis oleks see aaaa.kk.pp. Arvude

puhul tähendab see aga, et 10-nd süsteemi arvud, mida inimesed lugema on harjunud, on nö

big-endian formaadis ning little-endian kujul oleks 2008 esitatud kujul 8002. Big-endian

vormingut nimetatakse ka raw hex.

84