Ovo je stara izmjena dokumenta!
Keywords:
Prefetch je proces operacijskog sustava Windows koji je imao brojne različite nazive od vremena svog nastanka. Na Windows XP operacijskom sustavu je bio poznat kao Prefetch, koji je s pojavom Windows Viste proširen i nazvan Superfetch, te u operacijskom sustavu Windows 10 preimenovan u Sysmain. Bez obzira na razna imena, svrha svake generacije Prefetch procesa je ostala ista – povećati performanse Windows OS-a unaprijednim učitavanjem (engl. pre-load) često korištenih aplikacija u RAM memoriju prije nego što su one korisniku zaista potrebne. Datoteke Prefetch procesa se, osim u svoje primarne svrhe, koriste u digitalnoj forenzičkoj analizi kako bi se odredile koje su sve aplikacije instalirane i jesu li bile nedavno pokrenute na pojedinom operacijskom sustavu – u njihovim podacima su precizno određena vremena otvaranja aplikacija, informacije o tome koliko su puta bile otvorene, s kojih su particija pokrenute, koje su dodatne module učitavale i slično. Prefetch datoteke stoga mogu pomoći forenzičarima odgovoriti na pitanja “tko”, “što”, “zašto”, “kada” i “gdje” koja su prisutna pri svakoj vrsti istrage, pa tako i onoj digitalnoj.
Cilj Prefetch procesa je analizirati i zabilježiti ponašanje aplikacije pri pokretanju njene izvršne datoteke kako bi buduća pokretanja bili efikasnija. Zabilježeno ponašanje datoteke se sprema u datoteku koja se naziva prefetch datoteka. Kada korisnik prvi put pokrene aplikaciju s određene datotečne putanje, operacijski sustav Windows stvori prefetch datoteku za tu aplikaciju unutar „%SystemRoot%\Prefetch” („C:\Windows\Prefetch”) direktorija. Prefetch datoteke imaju slijedeću konvenciju imenovanja:
{exename}-{hash}.pf
gdje je exename ime izvršne datoteke, hash sažetak putanje s koje je izvršna datoteka pokrenuta te je duljine osam heksadecimalnih znakova i .pf je datotečna ekstenzija. Važno je za napomenuti da znak povlake u imenu razdvaja exename od hash-a te da ime prefetch datoteke smije sadržavati samo velika slova. Stoga, ako je aplikacija pokrenuta s tri različite lokacije na disku, OS će stvoriti tri različite prefetch datoteke koje odgovaraju pojedinim lokacijama s kojih su te aplikacije pokrenute (detaljnije objašnjenje algoritama imenovanja prefetch datoteka je dostupno na [3]). Također, najveći dozvoljeni broj prefetch datoteka je 128 na operacijskim sustavima od Windows XP do Windows 7, te 1024 na operacijskim sustavima od Windows 8 do Windows 10 [2].
Prefetch proces se izvodi kada operacijski sustav, odnosno Windows Cache Manager nadgleda koje podatkovne komponente se izvlače iz tvrdog diska u RAM memoriju, a samo nadgledanje se odvija u tri slučaja [1]. Najprije počinje sa svakim pokretanjem operacijskog sustava i traje dvije minute tijekom procesa pokretanja sustava (Boot procesa). Također, nadgledanje se odvija nakon dovršetka pokretanja svih Win32 servisa i traje 60 sekundi. Posljedni slučaj nadgledanja je pri svakom pokretanju aplikacije te traje prvih 10 sekundi njenog izvršavanja. Usporedno s nadgledanjem, Windows Cache Manager zajedno s Task Scheduler-om upisuje podatke u .pf datoteke. Te datoteke zatim ubrzaju sustav na način da služe kao alokator podataka s tvrdog diska u RAM memoriju prije nego što korisnik napravi zahtjev za njima. Zbog tog svojstva, prefetch datoteke su vrlo korisne pri forenzičkoj analizi pojedine aplikacije kao i analizi pokrenutih zloćudnih programa (poput npr. virusa, crva i sl.).
Kao što je vidljivo na donjoj slici, putanja do konfiguracijskih parametara za Prefetch proces je:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters
Kako bi se konfigurirao Prefetch proces, potrebno je izmijeniti vrijednost EnablePrefetcher ključa na jednu od slijedećih vrijednosti:
Prefetching za pokretanje aplikacija i Boot procesa je po zadanim pretpostavkama omogućen za svaki Windows OS osim Windows Server 2003, za koji je omogućen samo Boot proces [4].
Prefetch datoteke se sastoje od slijedećih elemenata [5][6]:
Nabrojani elementi su zapravo tablice koje u svakom retku sadrže adresu odmaka do pojedinog podatka. Ovisno o verziji prefetch datoteka, odnosno verziji Windows OS-a, svaki od nabrojenih elemenata će imati sličnu ili različitu strukturu podataka, tj. različite odmake koji se nalaze u njima. Trenutne verzije prefatch datoteka su:
Među nabrojenim strukturama podataka koji sadrže brojne informacije koje se mogu koristiti pri forenzičkoj analizi, najčešće informacije koje se koriste pri forenzičkoj analizi su:
Primjene navedenih informacija u analizi su brojne. Pomoću informacija navedenih u prethodnom poglavlju, može se npr. odrediti točna putanja do zloćudnog programa i vrijeme njegovog zadnjeg pokretanja, te u kombinaciji s drugim vrstama analiza, forenzičari mogu identificirati neke druge komponente tog zloćudnog programa. Također, analizom dnevnika iz različitih izvora i korištenjem vremenske oznake stvaranja prefetch datoteke, moguće je napraviti njihovu korelaciju te utvrditi inicijalni smjer napada.
Još jedan primjer primjene može biti u činjenici da navedena putanja direktorija prefetch datoteke sadrži i račun korisnika sustava – analizom je moguće utvrditi da je stvoren privremeni račun korisnika sa svrhom izvršenja neke kriminalne radnje tako što se točno odrede koje su aplikacije bile pokrenute u nekom vremenskom trenutku. Dodatnim pregledom putanje u prefatch datoteci se može vidjeti je li aplikacija ili datoteka pokrenuta s nekog vanjskog uređaja za pohranu. To je vidljivo zbog različitih načina pristupa samim uređajima, pa se radi toga i zapisi pristupa razlikuju. Također se u pregledu putanje može vidjeti nalazi li se ta izvršna datoteka u nekom sakrivenom direktoriju.
Zadnji primjer primjene koji će biti naveden je analiza vremenskih oznaka u MFT (Master File Table). MFT u NFTS datotečnom sustavu sadrži podatke o svakoj datoteci kao npr. veličinu datoteke, dozvole, sadržaj i vremenske i podatkovne oznake. Ako napadač želi sakriti izmjenu neke datoteke, treba osim vremenske oznake iz MFT-a, u obzir uzeti i vremenske oznake u prefetch datotekama. Naime, ako napadač promijeni neku aplikaciju i izmijeni joj vremensku oznaku, unosi u prefetch datoteci će ostati isti i prikazivat će ispravne vremenske oznake. Na taj način, forenzičari mogu lako zaobići napadačeve pokušaje lažiranja vremenskih oznaka izmjena datoteka.
Kao jedan od brojnih forenzičkih Windows artefakata, prefetch datoteke nude dobar izvor dokaza o postojanju i izvođenju raznih izvršnih datoteka na sustavu. One pomažu pri analizi time što mogu dati uvid u određene radnje korisnika na sustavu u određenom vremenu. Međutim, forenzičar mora biti svjestan činjenice da se Prefetch proces može isključiti od strane korisnika kroz Windows Registry što korištenje prefetch datoteka u forenzičkoj analizi čini nemogućim jer se zaustavljanjem procesa onemogućava njihovo stvaranje. Stoga je najbolji pristup pri forenzičkoj analizi uzeti u obzir ostale Windows artefakte kako bi se stvorila vjerodostojnija rekonstrukcija događaja kojeg je napadač prouzročio.