Ovo je stara izmjena dokumenta!
The fact that we could even recover data from a formatted Hard Drive is kind of amazing. You choose (or not) to delete data, but it is still there, even if it is not that easy to read.
The purpose of this paper is to understand how data recovery works. To do so, we explain the steps and some technics. We will go through how a sinister leading to a try for data recovery can occur. Then, we will see a method that could have been used by computer forensics experts in order to find traces. To finish, we will mention methods to definitely erase data from Hard Drives to avoid leaving traces.
The reasons for those sinisters are numerous, but human mistakes are majorly involved. Peter Gutmann proposed through his papers an explanation of how this data could still be read on Hard Drives at that time, but also some advices to securely erase data.
This paper is some kind of a warning to all those selling Hard Drives via eBay that once contained personal data.
Keywords: recovery; data; traces
Razvoj interneta i pametnih telefona doveo je do razvoja aplikacija za razmjenu poruka. Takve aplikacije vrlo su popularne te osim poruka su ostvarene funkcionalnosti razmjena datoteka, poziva 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, WhatsApp je najkorištenija aplikacija za razmjenu poruka, brojeći 1600 milijuna mjesećno aktivnih korisnika (listopad 2019. godine).
Forenzićka analiza podataka koje ostavlja WhatsApp postaje vrlo važna.
WhatsApp za razmjenu poruka koristi protokol XMPP (eXtensible Messaging and Presence Protocol). Klijent otvara utičnicu (engl. 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đivanja te od 2016. godine WhatsApp koristi enkripciju od kraja do kraja (engl. end-to-end encrpytion). Takva enkripcija omogućuje da poruke između dva korisnika, mogu pročitati isključivo samo 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. S aspekta računalne forenzike, to znači okretanje analizi podataka koji su ostavljeni na pametnom telefonu.
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.
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 (engl. 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.
* označava koji algoritam je korišten za kriptiranje baze podataka (crypt7, crypt8, crypt12). 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.
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.
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.
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.
Tablica | Podaci |
---|---|
chat | Sadrži popis svih otvorenih chatova (između dvoje ljudi ili grupe) |
call_log | Sadrži popis svih poziva, tko je komunicirao, tko je inicirao poziv, koliko je trajao, je li bio video poziv |
frequents | Sadrži popis ljudi s kojima vlasnik češće komunicira |
group_participants i group_participants_history | Sadrže popis ljudi koji sudjeluju u grupama te povijest kad su neki napustili ili se pridružili grupi |
jid | Popis korisnika koji su zabilježeni kao kontakti. Njihovi brojevi mobitela ih određuju. |
messages | Popis i sadržaj poruka. Najvažnija tablica. |
message_media | Popis i sadržaj poslanih datoteka. |
Primjer poruke:
Pomoću ovih tablica može se doći do svih poruka, pošiljatelja, primatelja i korespodenata. 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.).
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 ostale podatke. 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).
zaključak.