Ideja ovog rada je obaviti forenzičku analizu Google Chrome web preglednik na platformi Windows. U moderno doba većina korisnika računala većinu vremena provodi pretraživajući Internetske stranice (world wide web - WWW). Moglo bi se reći da je operacijski sustav na računalu samo bootloader za web preglednik. Prema statistikama [3, 4] - 75 % korisnika računala koristi Windows operacijski sustav, a 66 % korisnika računala koristi Google Chrome kao web preglednik. Iz tog razloga izabran je Google Chrome na Windows platformi.
Kako bi se mogla napraviti sveobuhvatna forenzička analiza Google Chrome web preglednika (od sada nadalje Chrome preglednik) na Windows 10 operacijskom sustavu (od sada nadalje OS) prvo je potrebno istražiti koje sve direktorije Google Chrome koristi.
Radi se o dva direktorija:
(1) C:\Program Files\Google\Chrome\,
(2) C:\Users\<win_user_name>\AppData\Local\Google\Chrome\User Data\<chrome_user_profile>\.
Direktorij (1) pohranjuje program Google Chrome i sve potrebno kako bi web preglednik ispravno funkcionirao.
Unutar direktorija (2) Chrome pohranjuje korisničke podatke, kao što su:
- povijest pretraživanja interneta (i preuzimanja),
- kolačići,
- proširenja (eng. add-ons),
- privremeni (eng. cache) podaci,
- podaci za automatsko popunjavanje obrazaca (ime, prezime, adresa, e-mail, …),
- lozinke,
- podaci bankovnih kartica.
Direktorij sa korisničkim podacima (2) je u ranije navedenom obliku ako su kreirani korisnički profili unutar Chrome preglednika. Ako korisnički profili nisu kreirani, tada se svi podaci pohranjuju u direktorij:
C:\Users\<win_user_name>\AppData\Local\Google\Chrome\User Data\Default.
Direktorij s korisničkim podacima (2) vidljiv je na slici 1.
Slika 1 (Google Chrome direktorij s korisničkim podacima)
Sve datoteke i (pod)direktoriji na koje će se referencirati od sada nadalje će biti iz Chrome direktorija (2) - koji je prikazan na slici 1 - i označavat će se <chrome_dir>.
Povijest pretraživanja interneta (i povijest preuzimanja) nalazi se u datoteci History unutar Chrome direktorija. Radi se o SQLite bazi podataka koju je moguće otvoriti programom DB browser for SQLite.
Otvorena SQLite datoteka/baza podataka History može se vidjeti na slici 2.
Kolačići s posjećenih web stranica nalaze se u datoteci SQLite baze podataka <chrome_dir>\netowk\Cookies. Otvaranjem baze podataka (slika 3) vidljivo je da je sadržaj kolačića kriptiran. Više o kriptiranju kolačića i lozinka u poglavlju o lozinkama. Na slici 3 se jasno vidi encrypted_value stupac u tablici cookies baze podataka Cookies - prikazana je vrijednost BLOB (ili drugi naziv eng. binary blob).
Slika 3 (SQLite baza podataka - cookies)
Slika 4 prikazuje otvaranje iste SQLite baze podataka alatom ChromeCookiesView v1.73 [10]. ChromeCookiesView v1.73 je freeware forenzički alat za analizu kolačića Google Chrome web preglednika. Alat dekriptira sadržaj kolačića i prikazuje sve ostale podatke iz baze podataka.
Proširenja (eng. add-ons) koje korisnik instalira unutar Google Chrome preglednika nalaze se u direktoriju <chrome_dir>\Extensions kao što je vidljivo na slici 5.
Slika 5 (Instalirana proširenja/dodaci/add-ons unutar Google Chrome preglednika)
Prikaz direktorija Google prevoditelj proširenja vidljiv je na slici 6. Unutar direktorija proširenja nalazi se sve potrebno za izvršavanje tog proširenja (HTML, JavaScript, CSS, slike, …).
Privremene (eng. cache) podatke Google Chrome privremeno pohranjuje lokalno na računalo (kako ih prilikom ponovnog otvaranja iste web stranice ne bi morao ponovo preuzimati pohranjuje) u direktorij <chrome_dir>\Cache\Cache_data. Forenzička analiza privremenih datoteka prvo je obavljena ChromeCacheView v2.41 [9] alatom. Rezultati izvođenja prikazani su na slici 7.
Slika 7 (ChromeCacheView v2.41 - prikaz cache datoteka)
Obavljena je i ručna analiza nekolicine privremenih datoteka. Na slici 8 vidljiva je forenzička analiza i identifikacija jedne od PNG slika koje su se nalazile među cache datotekama.
Slika 8 (Cache datoteke - ručna forenzička identifikacija PNG slike)
Podaci pohranjeni za automatski popunjavanje web obrazaca (eng. autofill data) pohranjeni su u SQLite bazi podataka <chrome_dir>\Web Data. Svi podaci koji se pohranjuju mogu se vidjeti na slici 9. Na slici 10 prikazana su imena i prezimena, a na slici 11 prikazani su e-mail adrese.
Slika 9 (Prikaz svih autofill podataka koji se mogu pohraniti)
Lozinke za prijavu na web stranice pohranjuju se u SQLite bazu podataka <chrome_dir>\Login Data. Lozinke se prije pohrane kriptiraju. Prilikom ispisa baze podataka se u stupcu password_value mogu uočiti vrijednost BLOB (ili drugi naziv eng. binary blob). Navedeno se može vidjeti na slici 12.
Slika 12 (Kriptirane lozinke u SQLite bazi podataka - Login Data)
Slika 13 prikazuje otvaranje iste SQLite baze podataka alatom WebBrowserPassView v2.12 [8]. WebBrowserPassView v2.12 je freeware forenzički alat za analizu lozinka web preglednika. Alat dekriptira lozinke iz baze podataka i prikazuje SQLite bazu podataka.
Slika 13 (WebBrowserPassView v2.12 - prikaz dekriptiranih lozinka)
Podaci bankovnih kartica, odnosno brojevi kartica - nalaze se pohranjeni u SQLite bazi podataka <chrome_dir>\Web Data u tablici credit_cards i kriptirani su, te ih nije moguće pročitati. Prilikom ispisa baze podataka se u stupcu card_number_encrypted mogu uočiti vrijednost BLOB (ili drugi naziv eng. binary blob). Navedeno se može vidjeti na slici 12.
Slika 14 (Kriptirani brojevi bankovnih kartica u SQLite bazi podataka - Web Data)
Dekriptiranje brojeva bankovnih kartica uspješno je obavljeno alatom HackBrowserData [13].
Nakon pokretanja navedeni forenzički alat kreira mapu results (slika 15) unutar koje se nalaze razni dobiveni podaci od instaliranih web preglednika (Firefox, Chrome, …). Dobivene datoteke korištenjem alata vidljive su na slici 16.
Slika 15 (Kreirani artefakti nakon pokretanja forenzičkog alata HackBrowserData)
Slika 16 (Podaci preglednika Google Chrome koje je alat HackBrowserData uspio dobaviti)
Dekriptirani brojevi kartica nalaze se u datoteci chrome_default_creditcard.csv. Nakon otvaranja datoteke moguće je pročitati pohranjene brojeve kreditnih kartica. Navedeno je vidljivo na slici 17.
Slika 17 (Dekriptirani brojevi bankovnih kartica korištenjem alata HackBrowserData)
Prema literaturi [11, 12] Google Chrome koristi AES GCM kriptiranje za pohranu lozinka. Za kriptiranje (i dekriptiranje) potreban je (AES) ključ. Radi povećanja razine sigurnosti enkripcije, Google Chrome koristi funkciju CryptProtectData funkciju (ugrađenu u Data Protection Application Programming Interface (DPAPI) - koji dolazi kao dio Windows operacijskog sustava) kako bi (de)kriptirao lozinke.
Rad uspješno obavlja forenzičku analizu svih artefakata koje za sobom ostavlja Google Chrome web preglednik. Uspješno su dobavljene lozinke, brojevi bankovnih kartica, kolačići, povijest pretraživanja interneta, povijest preuzimanja, sva proširenja (eng. add-ons), privremene datoteke (eng. cache) i podaci za automatsko popunjavanje obrazaca.
Zaključuje se da forenzički alati uvelike olakšavaju postupak dekriptiranja [8,9,10,13] kriptiranih artefakata, te automatske ekstrakcije [13] podataka.
Preporuka za daljnji rad bila bi detaljno istražiti kako funkcionira (de)kriptiranje lozinka, kolačića i brojeva bankovnih kartica na razini programskog koda Google Chrome web preglednika, te pokušati ručno obaviti dekriptiranje navedenog bez korištenja gotovih forenzičkih alata.
Rad analizira direktorije koje za svoj rad koristi Google Chrome web preglednik.
Nakon analize direktorija, prelazi se na analizu artefakata koje za sobom ostavlja Google Chrome. Njihova analiza obavlja se djelom ručno, a djelom korištenjem nekolicine forenzičkih alata.
Postupak forenzičke analize je detaljno dokumentiran - detaljnim opisima i snimkama zaslona (alati, direktoriji).
[1] Chromium Git
[2] Chromium
[3] Desktop Browser Market Share Worldwide - Statcounter
[4] Desktop OS market share - Statcounter
[5] Browser forensics: Google chrome - Infosec
[6] Google Chrome Blog - ArtiFast, Forensafe Software Solutions
[7] Chrome Session and Tabs Files (and the puzzle of the pickle) - Digital Investigation