Sadržaj

Forenzička analiza podataka koje na pametnom telefonu ostavlja aplikacija Facebook

Sažetak

Aplikacije Facebook i Facebook Messenger jedne su od najkorištenijih mobilnih aplikacija. Aktivnosti koje ove aplikacije nude, kao što su čavrljanje, ostavljanje komentara i stvaranje grupnih događaja, ostavljaju digitalni dokaz na mobilnim uređajima.

Svi podatci koji se koriste za digitalnu analizu spremljeni su u bazama podataka koje aplikacije spremaju na mobilnom uređaju. Podatci koji se nalaze u bazama podataka su povijest razgovora, prijatelji, događaji i slično.

Cilj rada je istražiti kako doći do navedenih podataka i kako ih analizirati.

Ključne riječi: digitalna forenzika, Facebook, Messenger

Uvod

Digitalna forenzika je grana forenzike koja se bavi oporavkom i analizom podataka koji se nalaze na digitalnim uređajima. Digitalna forenzika može se podijeliti na više područja: računalnu forenziku, forenziku mobilnih uređaja, mrežnu forenziku i forenziku baza podataka. Ovaj rad bavi se bavi se područjem forenzike mobilnih uređaja te forenzikom baza podataka.

Aplikacija Facebook najkorištenija je aplikacija na Andoid platformi, dok je Facebook Messenger druga najkorištenija aplikacija za razmjenu poruka, iza aplikacije Whatsapp. Facebook je osnovan 2004 godine. Njegova svrha je omogućiti ljudima da dijele događaje te omogućiti međusobnu povezanost među korisnicima.

Kriptiranje podataka

Aplikacija Facebook Messenger ne koristi end-to-end enkripciju koju koristi većina drugih aplikacija za razmjenu poruka. End-to-end enkripcija poruke kriptira kod osobe koja ih šalje te se poruka dekriptira kod osobe koja ju je primila, što znači da se dekriptirane poruke nalaze samo na ta dva uređaja. Enkripcija služi tome kako se presretnute poruke ne mogu pročitati. Aplikacija Facebook Messenger dodala je opciju uključivanja “tajnog razgovora” koji koristi end-to-end enkripciju. Ova opcija omogućuje da korisnici postavljaju vrijeme koliko će poruke biti vidljive, nakon čega se brišu i više se ne mogu vidjeti, s niti jedne strane razgovora.

Baze podataka

Na platformi Android većina aplikacija koristi SQLite baze podataka za lokalnu pohranu podataka. Nije neobično da aplikacije koje služe za razmjenu poruka koriste ovakve baze podataka kako bi pohranile poruke korisnika. Iako postoje alati koji omogućuju rekonstrukciju razgovora iz SQLite baze podataka ova tehnika uspijeva samo ako podatci nisu kriptirani i uređaj koji se analizira nema kriptirani disk.

Na Android uređajima baze podataka koje koristi Facebook (katana) nalaze se na:

/data/data/com.facebook.katana/databases/contacts_db2

/data/data/com.facebook.katana/databases/threads_db2

Na Android uređajima baze podataka koje koristi Facebook Messenger (orca) nalaze se na:

/data/data/com.facebook.orca/databases/contacts_db2

/data/data/com.facebook.orca/databases/threads_db2

Obje aplikacije koriste dvije baze podataka, jednu u koju se spremaju podatci o kontaktima, dok se u drugu spremaju podatci o porukama i grupnim razgovorima.

Na iOS operacijskom sustavu baza podataka koju koristi aplikacija Facebook nalazi se na:

/mobile/com.facebook.Facebook/Documents/friends_db

U ovu bazu podataka spremaju se podatci o prijateljima te o porukama.

Analiza baza podataka

Na Android uređajima “običan” korisnik nema pristup svim značajkama operacijskog sustava, pa su tako neke datoteke skrivene od njega, uključujući i baze podataka koje koriste aplikacije Facebook i Facebook Messenger. Korisnik može doći do tih datoteka ako prethodno “roota” svoj uređaj, što mu omogućuje da pristupa datotekama kojima prije nije mogao pristupiti, instalira aplikacije koje prethodno nije mogao i slično. Pošto je jako malo Android uređaja “rootano” potrebno je do datoteka doći na neki drugi način. Neki od alata koji se mogu koristiti za pronalazak SQLite baza podataka na Android uređaju su Forensics Magnet i Oxigen Forensics Suite.

Na slici niže su prikazane sve tablice koje se nalaze u bazama podataka aplikacije Facebook.

Analiza tablice "contacts"

Obje aplikacije tablicu “contacts” spremaju u bazu podataka contacts_db2 te su tablice u obje aplikacije iste. Na slici ispod prikazana je tablica “contacts” otvorena u SQLite Browseru. U tablici postoje tri stupca, internal_id, contact_id i data. Stupac koji je zanimljiv je stupac data u kojem su u JSON formatu spremljeni ključ-vrijednost parovi. Neke od vrijednosti koje se nalaze u stupcu data su: profileFbid, displayName, displayNumber, universalNumber, smallPictureUrl, bigPictureUrl, hugePictureUrl, timelineCoverPhoto. Pomoću tog stupca možemo vidjeti sve kontakte koje korisnik sadrži na Facebooku.

Analiza tablice "threads"

Obje aplikacije tablicu “threads” spremaju u bazu podataka threads_db2 te su tablice jednake u obje aplikacije. Na slici ispod prikazana je tablica “threads” otvorena u SQLite Browseru. Stupci koji su zanimljivi u ovoj tablici su “name” što označava ime grupe te “participants” u kojem su nabrojani svi korisnici koji se nalaze u toj grupi. Svaka poruka iz baze sadrži i “thread_id” kako bi se tablice mogle spojiti i vidjeti sve korisnike koji se nalaze u tom razgovoru što je analizirano u sljedećem potpoglavlju.

Analiza tablice "messages"

Obje aplikacije tablicu “messages” spremaju u bazu podataka contacts_db2, ali ona nije jednaka u obje aplikacije. Razlika je u tome da Facebook Messenger sadrži još jedan stupac u tablici - “auto_retry_count”. Na slici niže prikazana je tablica “messages” otvorena u SQLite Browseru.

Ova tablica sadrži jako bitne podatke kao što su “thread_id”, “text”, “sender”, “timestamp_ms”, “coordinates”. Stupac “thread_id” je identifikator grupnog razgovora u kojem se nalazi određena poruka. “text” je sama poruka. “sender” sadrži podatke o korisniku koji je poslao poruku. “timestamp_ms” označava vrijeme kada je poruka poslana. “coordinates” pokazuje mjesto s kojeg je poslana poruka. Ako osoba koja šalje poruku nema upaljenu lokaciju na mobitelu ili nije dozvolila aplikaciji da ju koristi to polje će ostati prazno.

Povezanost tablica

Na slici niže prikazano je kako su tablice iz baza podataka međusobno povezane. Dijagram prikazuje kako se može iskoristiti “thread_id” da se poveže pošiljatelj sa svima koji se nalaze u grupi u kojoj je poslao poruku. Također se može iskoristiti veza “sender”-“data” kako bi se dobili svi podatci o korisniku koji je poslao poruku.

Ostala analiza

Osim što se mogu dohvatiti podatci koji se nalaze u navedenim tablicama na uređaju moguće je pomoću prethodno navedenih forenzičkih alata dohvatiti slike koje nalaze u radnoj memoriji uređaja.

Zaključak

Facebook i Facebook Messenger jedne su od najpopularnijih aplikacija za mobilne uređaje. Mnogo podataka prođe kroz te aplikacije, kao što su poruke, slike, ali i pretraživanja korisnika. Zbog velike upotrebe tih aplikacija nije rijetkost da zločinci slučajno ostave neke tragove na tim aplikacijama. Facebook ne koristi end-to-end enkripciju kao zadanu enkripciju, već ju korisnici sami moraju uključiti. Facebook sprema poruke svih korisnika te ih može kasnije pregledavati. Ako je uključena enkripcija poruke ostaju samo na uređajima korisnika.

Pristup bazama podataka na uređaju koje koristi Facebook može se dobiti ako je uređaj “rootani”. Ako nije možemo iskoristiti neke od forenzičkih alata kako bi došli do njih. Analizom podataka iz baza podataka možemo vidjeti informacije o korisnicima, grupama u kojima se nalaze, porukama koje su poslali, povijesti pretraživanja te mnoge druge zanimljive informacije.

Literatura

[1] Kelvin Wong, Anthony C. T. Lai, Jason C. K. Yeung, W. L. Lee, P. H. Chan, Facebook Forensics, Datum pristupa: 9.1.2020.

[2] Diogo Barradas, Tiago Brito, David Duarte, Nuno Santos, Luís Rodrigues, Forensic analysis of communication records of messaging applications from physical memory, Datum nastanka: 24.10.2018, Datum pristupa: 9.1.2020.

[3] Anton Yudhana, Imam Riadi, Ikhwan Anshori, Identification of digital evidence Facebook Messanger on mobile phone with National Institute of Standards and Technology (NIST) method, Datum nastanka: Srpanj 2018., Datum pristupa: 9.1.2020.

[4] Facebook / Facebook Messenger Android App Parser Script, Datum pristupa: 9.1.2020.

[5] Digital forensics, Datum pristupa: 9.1.2020.