Sadržaj

Forenzička analiza podataka koje na pametnom telefonu ostavlja WhatsApp

Sažetak

WhatsApp popularan je servis za razmjenu poruka. On na mobilnom uređaju vlasnika ostavlja tragove, moguće je pristupiti datotekama i porukama koje su spremljene na uređaju.

Cilj rada je otkriti kako analizirati ono što WhatsApp sprema te ispitati mogućnost prisluškivanja poruka.

Sve zanimljive informacije nalaze se u WhatsApp bazama podataka do kojih je potrebno doći, a u njima je zapisano mnoštvo informacija koje su korisne u forenzičkoj analizi, od poruka do kontakata.

Ključne riječi: forenzička analiza, WhatsApp, poruke, kontakti

Uvod

Razvoj interneta i pametnih telefona doveo je do razvoja aplikacija za razmjenu poruka. Takve aplikacije vrlo su popularne te se osim poruka razmjenjuju datoteke, pozivi i dr.

WhatsApp je besplatna aplikacija za razmjenu poruka putem interneta, primarno zamišljena za korištenje na pametnim telefonima. Tvrtka WhatsApp osnovana je 2009. godine, a 2014. godine kupio ju je Facebook. Prema podacima Statista[5], WhatsApp je najkorištenija aplikacija za razmjenu poruka, brojeći milijardu i 600 tisuća milijuna mjesečno aktivnih korisnika (listopad 2019. godine).

Forenzička analiza podataka koje ostavlja WhatsApp postaje vrlo važna.

Razmjena poruka i enkripcija

WhatsApp za razmjenu poruka koristi protokol XMPP (eXtensible Messaging and Presence Protocol). Klijent otvara utičnicu (eng. socket) s XMPP poslužiteljem i ostavlja ju otvorenu sve dok je klijent prijavljen. U slučaju WhatsApp aplikacije na pametnom telefonu, veza je otvorena sve dok je korisnik prijavljen i pametni telefon uključen.

Korištena razina zaštite poruka enkripcijom u WhatsAppu je kroz godine nadograđivana te od 2016. godine WhatsApp koristi enkripciju s kraja na kraj (eng. end-to-end encrpytion). Takva enkripcija omogućuje da poruke između dva korisnika mogu pročitati isključivo ta dva korisnika. Enkripcija i dekripcija poruka odvija se na uređajima korisnika te se do podataka o dešifriranim porukama može doći samo s uređaja korisnika koji su komunicirali. Prisluškivanje tako postaje neučinkovito, jer je nemoguće dešifrirati poruku u razumnom vremenu, čak i ako se koriste superračunala.

S aspekta računalne forenzike, to znači okretanje analizi podataka koji su ostavljeni na pametnom telefonu.

Slika prikazuje postupak slanja poruke. Poruka se kriptira prije slanja te se nakon uspješnog slanja nalazi na uređaju pošiljatelja i primatelja. Ako je u poruci bila datoteka, datoteka se na kratko vrijeme sprema i na WhatsApp poslužitelju.

Baze podataka na pametnom uređaju

WhatsApp sve podatke sprema u SQLite baze podataka na pametnom telefonu. Njihova imena i lokacija ovise o korištenom operacijskom sustavu.

Na iOS sustavu: ChatStorage.sqlite i nalazi se na: /root/var/mobile/Applications/net.whatsapp.WhatsApp/Documents/ChatStorage.sqlite

Na Android sustavu to su dvije baze: msgstore.db (podaci o porukama) i wa.db (podaci o kontaktima). Nalaze se na lokaciji: /data/data/com.whatsapp/databases/msgstore.db i /data/data/com.whatsapp/databases/wa.db

Baze podataka na tim lokacijama nisu kriptirane.

Posebnosti operacijskog sustava Android

U operacijskom sustavu Android, do tih je podataka običnom korisniku teško doći. Kako bi se došlo do tih baza podataka, korisnik mora imati root pristup svojem uređaju. Takav pristup omogućuje puni pristup operacijskom sustavu uređaja te su omogućene privilegije super korisnika (eng. superuser). S tim privilegijama, moguć je lagani pristup WhatsApp bazama te njihovo otvaranje.

Kako omogućavanje root pristupa nekad može dovesti do komplikacija i gubitka jamstva, alternativa je fizički pristup uređaju.

Osim nekriptiranih baza podataka, na SD kartici (ili u memoriji uređaja, ako kartice nema) nalazi se kriptirana baza podataka. Točna lokacija: /sdcard/WhatsApp/Databases/msgstore.db.crypt*. Ta baza, zajedno s kriptiranim rezervnim kopijama dnevnih baza podataka, služi za obnavljanje primarnih baza u slučaju greške.

Zvjezdica (* ) u ekstenziji kriptirane baze podataka označava koji algoritam je korišten za kriptiranje baze podataka (npr. crypt7, crypt8, crypt12 itd.). Crypt12 (posljednji izdan - vrijeme pisanja: siječanj 2020.) koristi 256-bitnu AES enkripciju baze podataka. Za dekripciju takve baze podataka potreban je ključ. Ključ za dekripciju može se naći na lokaciji: \data\data\com.WhatsApp\files\Key. Bazu podataka tada je lako dekriptirati, koristeći ključ i neki od standardnih alata za dekripciju tog algoritma kriptiranja.

Fizički pristup uređaju

Do baza podataka moguće je doći i ako uređaj nema omogućeni root pristup. Potrebno je spojiti pametni telefon na računalo te koristiti neki od sljedećih forenzičkih alata.

Magnet Forensics i Oxygen Forensics specijalizirani su alati za naprednu forenziku, obuhvaćaju mnogo šire područje i komercijalni su. WhatsApp-key-DB-extractor dovoljan je za potebe forenzičke analize WhatsApp podataka.

WhatsApp-key-DB-extractor iz pametnog telefona dohvaća baze podataka i ključ za otključavanje kriptiranih baza podataka:

Sa slike je vidljivo da se dohvaćaju i dvije baze podataka koje nisu bile spomenute do sad: axolotl.db i chatsettings.db. Prva sadrži podatke koje aplikacija koristi za enkripciju poruka, dok druga sadrži korisnikove postavke. Nisu zanimljive za analizu kao već spomenute baze poruka i kontakata.

Analiza WhatsApp baza podataka

Na Android sustavu postoji više baza podataka, nego u iOS sustavu. Ono što je u iOS sustavu spremljeno u jednoj bazi podataka, nalazi se u dvije baze podataka na Android sustavu. Analiza se radi na isti način.

Baza podataka msgstore.db na sustavu Android

Kada je jednom baza podataka izvučena iz pametnog telefona te po potrebi dekriptirana, može se otvoriti bilokojim alatom za čitanje SQLite baza podataka (npr. DB Browser for SQLite).

Msgstore.db sastoji se od 106 tablica, od kojih su izdvojene one najvažnije.

TablicaPodaci
messagesPopis i sadržaj poruka. Najvažnija tablica. Sadrži i obrisane poruke.
jidPopis korisnika koji su zabilježeni kao kontakti. Njihovi brojevi mobitela ih jednoznačno određuju.
chat Sadrži popis svih otvorenih chatova (između dvoje ljudi ili grupe).
call_logSadrži popis svih poziva, tko je komunicirao, tko je inicirao poziv, koliko je trajao, je li bio video poziv.
frequentsSadrži popis ljudi s kojima vlasnik češće komunicira.
group_participants i group_participants_historySadrže popis ljudi koji sudjeluju u grupama te povijest kad su neki napustili ili se pridružili grupi.
message_mediaPopis poslanih datoteka. Njihova lokacija na poslužitelju.

Primjer poruke:

Pomoću ovih tablica može se doći do svih poruka, pošiljatelja, primatelja i korespondenata. Također, mogu se saznati i neke dodatne informacije koje se nalaze u preostalim tablicama (npr. lokacija gdje je poslana poruka, podaci o transakciji preko WhatsAppa itd.).

Baza podataka wa.db na sustavu Android

Wa.db baza podataka sastoji se od 16 tablica i sadrži podatke o kontaktima.

Najvažnija tablica te baze podataka je wa_contacts tablica koja sadrži sve kontakte s mobilnog uređaja. Spremljeno je njihovo ime i prezime pod kojim se nalaze u mobitelu, njihov broj mobitela, koriste li WhatsApp aplikaciju, njihov status i ostali podaci. Preko atributa jid iz ove tablice, moguće je povezati korisnike u drugim tablicama baze podataka msgstore.db (npr. kako se zove osoba koja je poslala zadnju poruku).

Datoteke poslane preko WhatsAppa

Popis datoteka nalazi se u bazi podataka msgstore.db. No datoteke su spremljene na uređaju u direktoriju sdcard\WhatsApp\Media. Ovdje ostaju sve datoteke koje je korisnik preuzeo te je moguća njihova analiza.

Datoteke koje su poslane, ne ostaju na WhatsApp poslužiteljima vječno te se ne mogu rekreirati iz baze podataka ako je datoteka obrisana s uređaja i poslužitelja baze podataka.

Zaključak

WhatsApp kao najpopularniji servis za razmjenu poruka na pametnim uređajima bitan je za forenzičku analizu. Zbog svoje enkripcije od kraja do kraja, prilikom istrage ne može se tražiti sadržaj poruka nekog korisnika od WhatsApp tvrtke. Kako bi se provela forenzička analiza, potrebno je pristupiti bazama podataka WhatsApp aplikacije.

Pristupiti se može direktno, pomoću root pristupa uređaju ili nekim alatom za ekstrakciju WhatsApp baza podataka iz uređaja. Analizom podataka u bazama podataka, moguće je pristupiti porukama, kontaktima i drugim zanimljivim informacijama koje mogu pomoći u istrazi.

Literatura

[1] Sahu S., An Analysis of WhatsApp Forensics in Android Smartphones, International Journal of Engineering Research, Volume No.3, Issue No.5, pp : 349-350, 2014

[2] Actoriano B., Riadi I., Forensic Investigation on Whatsapp Web Using Framework Integrated Digital Forensic Investigation Framework Version 2, International Journal of Cyber-Security and Digital Forensics, Volume No.7 Issue No.4, pp: 410-419, 2018

[3] Onovakpuri P., Forensics Analysis of Skype, Viber and WhatsApp Messenger on Android Platform, International Journal of Cyber-Security and Digital Forensics Volume No.7, Issue No.2, pp: 119-131, 2018

[4] WhatsApp. End-to-end encryption, Datum pristupanja: 8.1.2020.

[5] Clement J., Most popular Messaging Apps in 2019., Statista.com, Datum nastanka: 20.11.2019., Datum pristupanja: 8.1.2020.

[6] Baidowi Z. M. P. A., Rahman T. F. A., A Preliminary Study in Improvising Instant Mobile Messaging Framework using Cloud Storage Service, Conference: 4th World Congress on Information and Communication Technologies (WICT 2014), At Malacca, Malaysia, 2014