I026 - Kevad 2017 - Arvutikriminalistika

From ICO wiki
Revision as of 17:33, 12 May 2017 by Moldja (talk | contribs)
Jump to navigationJump to search

Arvutikriminalistika

Sissejuhatus [1]

Arvutikriminalistika areng, ajalugu, terminoloogia

Arvutikriminalistika metoodikad

Andmete peitmine ja otsimine

Elame ajas, kus arvuti ei tähenda sugugi enam ainult personaalarvutit - arvutid on kõikjal meie ümber, mis tähendab, et ka digitaalseid andmeid ja digitaalseid tõendeid tuleb otsida kõikjalt. Üks klassikalisem näide, millele inimesed tihti ei mõtle on printerid - tänapäeval on suuremal jaol printeritel mälu, mida harva tühjendatakse. Kõigist dokumentidest, mis printerist läbi käinud on, on jäänud jälg ning sellest, et dokument ise paberhundist läbi lasta, ei piisa selleks, et info enam leitav ei oleks. Printeri mälus olevad andmed ei pruugi ka krüpteeritud olla ning üldjuhul piisab andmete leidmiseks lihtsalt sellest, et neid sealt otsida. Avalikkusele kättesaadavaid printereid kasutades tasub mõelda sellele, et kas saadaksite prinditava oma tuttavatele, riputaksite selle avalikult veebi? Kui vastus on ei, kuid vajadus on asi ikkagi välja printida, siis tasuks investeerida isiklikku printerisse ning aeg ajalt selle mälu üle kirjutada.

Selleks, et mõista, kust arvutis olevaid peidetud andmeid otsida, on tarvis mõista seda, kuidas andmeid arvutis kirjutatakse ja hoiustatakse. Erinevates adresseerimismudelites on ka nii öelda peidukohad erinevad – näiteks MS DOS ja vanemad Windowsi versioonid kasutavad FAT (file allocation table)[2] failisüsteemi. Iga faili kohta tehakse tabelisse kanne, mis sisaldab faili nime, suurust ning esimese sektori aadressi. Failisüsteemi esimene sektor on boot sektor, kui aga süsteem ei ole bootitav, siis võib see olla üks kohtadest kuhu saab andmeid peita. Lisaks võib andmeid olla failisüsteemi lõpu ja tegeliku ketta lõpu vahel – nii öelda slack space. Seda võib lihtsasti tuvastada kui failisüsteemi sektorite arv erineb ketta sektorite arvust. FAT failisüsteemis kasutatakse ka klastreid järjestikuste sektorite grupeerimiseks – iga klastri kohta on tabelis kanne, ning peetakse ka nii öelda sisukorda klastrite kohta, mis on korrumpeerunud ning kuhu andmeid ei kirjutata. Kui need klastrid on aga tegelikult töökorras siis võib andmeid peita ka seal – failisüsteem neid andmeid avalikult ei näita kuna usub need olevat vigased.

Natuke uuemate Windowsite – 2000 ja XP ning ka Windows serveri puhul on kasutusel NFTS failisüsteem. Kui FATi puhul on süsteem täpselt osadeks jagatud, kus on andmed, kus on info andmete kohta, kus tabel, siis NFTSi[2] on kogu süsteem justkui andmete jaoks ning kasutatakse mitut tüüpi adresseerimist, ühe faili sektorid ei pruugi sugugi füüsiliselt järjest asetseda. Kui NFTS süsteemis fail kustutada, siis faili tegelikult ei kustutata vaid sektor märgitakse eraldamata sektoriks ning kirje eemaldatakse MFT tabelist (eesmärk sarnane FAT tabelile, iga faili kohta vähemalt üks kirje – koopia võib viidata samale failile), pointereid aga ei eemaldata. See tähendab, et kui eraldamata ala uurida ning leida mingi osa failist, siis selle juurest on võimalik liikuda faili järgmise sektori juurde ja nii edasi – faili, või vähemalt osa sellest, on võimalik taastada.

Steganograafia[3] on praktika, kus andmed peidetakse muude andmete sisse. Nii võib pildi bittide sisse olla peidetud sõnumid või teised pildid või süütuna tunduva sõnumivahetuse sisse süngemad salajased sõnumid. Kui krüptitud andmete leidmisel üritatakse kohe kindlasti krüpteeringut murda, siis steganograafia puhul võib andmete krüpteeritus tihtilugu jääda täiesti märkamata, mis teeb peidetud sõnumite avastamise märksa keerulisemaks. Üldjuhul peidetakse andmed pildi või audio faili sisse ning tihemini kui mitte on need ka omakorda krüpteeritud. Pildi formaatidest sobivad steganograafia jaoks BMP ja GIF failid, sest teatavasti pakitakse need kokku ilma kadudeta.[4] JPEG pakkimine on kadudega ning seetõttu võivad mõned peidetud bittidest kaduma minna, mis teeb andmete taastamise keeruliseks, see teeb steganograafia kasutamise JPEG failidega keerulisemaks, kuid sellele vaatamata on see väga levinud. Palja silma või kõrvaga steganograafiat tuvastada on keeruline ning seega võib juhtuda, et mõne pildi sisse, mida meie tuttavad Facebooki või mõne muu kanali kaudu levitavad on tegelikult peidetud täiesti teine pilt. Üks tööriist steganograafia tuvastamiseks ja murdmiseks on stegDetect [5] – olemas nii Linuxile kui ka Windowsile. Lisaks on nii Windowsile kui Linuxile olemas ka JPHS [6][7] – JPHide ja JPSeek vastavalt siis info peitmiseks ja info leidmiseks, mõeldud kasutamiseks JPEG piltidega. Tuleb aga silmas pidada, et kuigi stegDetect töötab üldjuhul hästi on siiski võimalikud nii vale positiivsed kui vale negatiivsed vastused peidetud andmete olemasolu kohta. Kui peidetud bitid moodustavad 5% või alla selle kogu andmete mahust, siis on ilma algfaili olemasoluta väga peidetud info olemasolu tuvastamine. Kui aga peidetu on 15% või rohkem faili bittidest, siis võib juhtuda, et selle olemasolu on juba palja silmaga tuvastatav. Kui andmed peidetakse pildi sisse, siis on väga oluline see, milline pilt katteks valitud on. Kui pilt on väga ühe tooniline ja ilma mürata – näiteks selgest taevast, siis on võimalik näha juba pisemaid tonaalseid erinevusi. Kirjud pildid teevad erinevuste nägemise keerulisemaks.

Lisaks neile andmetele, mis kohalikus süsteemis kättesaadavad, salvestatakse muidugi andmeid ka interneti kasutuse käigus ning selleks, et oma tegevust peita ei piisa sugugi ainult sellest, et aeg-ajalt oma brauseri ajalugu tühjendada. Nimelt piisab võrgu logidest, et näha, mis saite olete külastanud, milliseid pilte vaadanud ning mis faile alla laadinud. Kõige inkrimineerivamaks võib saada neist ilmselt viimane. Isegi kui allalaaditu ei ole enam internetis kättesaadav siis ainuüksi võrgu logi põhjal faili taastamine näiteks Wiresharki[8] kasutades on võrdlemisi lihtne. Kui laete alla ebaseadusliku sisuga pilte, siis piisab võrulogist, et teie tegevus taastada ja teie süüd tõestada.

Lisaks juba mainitutele on veel palju tööriistu, mis tulevad kasuks kui üritate andmeid peita või vastupidi, peidetud andmeid leida. Andmete taastamiseks on kasulik näiteks Recuva[9], kindlasti tasub uurida hexadecimali redaktoreid – nii andmete madalal tasemel lähemalt vaatamiseks kui ka modifitseerimiseks – kasulik nii andmete taastamisel kui ka peidetud andmete tuvastamisel, näiteks sobivad WinHex ja FlexHex [10]. Juba mainitud stegDetect ja JPHS steganograafia tuvastamiseks ja murdmiseks. Wireshark (Etheral) võrgu liikluse analüüsimiseks, jälgimiseks ja taastamiseks. FCIV, md5sum või mõni muu hashimise mehhanism (üldjuhul on operatsiooni süsteemiga kaasas vähemalt üks) – vajalik juhul kui asi läheb kohtusse ning on vaja tõestada, et kohtus tõenditena esitatud andmed ei ole vahepeal muude kanalite vahendusel muudetud. Üldjuhul hashitakse kogu süsteem enne ning pärast lugemist (kasutades lugemis-kirjutamis kaitseid jmt, et kindlustada, et lugemise käigus süsteemi ei muudeta). Zipcracker, paraben või mõni muu taoline tööriist tuleb kasuks kui on tarvis paroole murda. Otseselt mitte seotud, kuid kindlasti on kasulik ka VMWare[11] või mõni muu virtuaalmasina jooksutamise tarkvara – juhuks kui soov kasutada mõnd tööriista, mis ei ole kõigile operatsioonisüsteemidele kättesaadav.

Ekspertiis ja kohtupraktika

Kokkuvõte

Viited

  1. Brian Carrier - File System Forensic Analysis
  2. 2.0 2.1 Scott Mueller - Upgrading and Repairing PCs
  3. Gary C. Kessler Steganography: Hiding Data Within Data -http://www.garykessler.net/library/steganography.html
  4. Lossy vs Lossless Compression – https://optimus.keycdn.com/support/lossy-vs-lossless/
  5. stegDetect - https://github.com/abeluck/stegdetect
  6. JPHS - https://github.com/h3xx/jphs
  7. JPHS Windows binary - http://www.scanwith.com/download/JPHS_for_Windows.htm
  8. Wireshark võrgu liikluse jaoks - https://www.wireshark.org/
  9. Recuva kustutatud failide taastamiseks - https://recuva.en.softonic.com/
  10. Hexadecimali redaktorid - https://www.x-ways.net/winhex/ ja http://www.flexhex.com/
  11. VMWare virtuaalmasinate jaoks - http://www.vmware.com/