Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.

Razlike

Slijede razlike između dviju inačica stranice.

Poveznica na ovu usporedbu

Starije izmjene na obje strane Starija izmjena
Novija izmjena
Starija izmjena
racfor_wiki:seminari2025:nb53918 [2026/01/20 16:45]
Nikola Botić [Alati za forenzičku analizu SQLite baza podataka]
racfor_wiki:seminari2025:nb53918 [2026/01/20 23:30] (trenutno)
Nikola Botić [Izazovi i ograničenja SQLite forenzike]
Redak 68: Redak 68:
   * Offset 44–47:  Prva freelist stranica (FORENZIČKI VAŽNO)   * Offset 44–47:  Prva freelist stranica (FORENZIČKI VAŽNO)
   * Offset 48–51:  Ukupan broj freelist stranica   * Offset 48–51:  Ukupan broj freelist stranica
 +
 +{{:racfor_wiki:seminari2025:sqliteheader.png?400|}}
  
 Forenzičar može ručno provjeriti je li datoteka valjana SQLite baza pregledom prvih 16 bajtova u hex editoru, gdje se mora pojaviti ASCII niz "SQLite format 3" s null-terminatorom (00). Forenzičar može ručno provjeriti je li datoteka valjana SQLite baza pregledom prvih 16 bajtova u hex editoru, gdje se mora pojaviti ASCII niz "SQLite format 3" s null-terminatorom (00).
Redak 133: Redak 135:
     * Ne smije se kopirati samo .db datoteka. Potrebno je prikupiti i:     * Ne smije se kopirati samo .db datoteka. Potrebno je prikupiti i:
         * .db-wal (Write-Ahead Log – često sadrži obrisane podatke)         * .db-wal (Write-Ahead Log – često sadrži obrisane podatke)
-        * Element obične liste.db-shm+        * .db-shm
         * .db-journal         * .db-journal
   - Osiguranje integriteta   - Osiguranje integriteta
-    * Element obične listeKopirane datoteke postavljaju se u read-only način rada, a lanac čuvanja se dokumentira.+    * Kopirane datoteke postavljaju se u read-only način rada, a lanac čuvanja se dokumentira.
  
 **Izazovi pri prikupljanju** **Izazovi pri prikupljanju**
Redak 159: Redak 161:
  
 **WAL (Write-Ahead Log)** **WAL (Write-Ahead Log)**
 +
 U WAL modu, promjene se ne upisuju odmah u glavnu bazu. Umjesto toga, prvo se zapisuju u .wal datoteku. Tek kasnije se ti zapisi integriraju u glavnu bazu kroz proces nazvan checkpoint. U WAL modu, promjene se ne upisuju odmah u glavnu bazu. Umjesto toga, prvo se zapisuju u .wal datoteku. Tek kasnije se ti zapisi integriraju u glavnu bazu kroz proces nazvan checkpoint.
  
Redak 166: Redak 169:
   - Checkpoint – sadržaj WAL-a se zapisuje u glavnu bazu   - Checkpoint – sadržaj WAL-a se zapisuje u glavnu bazu
   - Truncate – nakon checkpointa, WAL se resetira   - Truncate – nakon checkpointa, WAL se resetira
 +
 +{{:racfor_wiki:seminari2025:walsqlite.png?400|}}
  
 Zašto je to važno u forenzici: Zašto je to važno u forenzici:
Redak 177: Redak 182:
 Zašto je to važno: Zašto je to važno:
   * Broj stranica u freelistu pokazuje količinu potencijalno obrisanih podataka.   * Broj stranica u freelistu pokazuje količinu potencijalno obrisanih podataka.
-  * Primjer: 47 stranica × 4096 B ≈ 188 KB podataka koji se mogu biti prisutni i oporavljivi.+  * Primjer: 47 stranica × 4096 B ≈ 188 KB podataka koji mogu biti prisutni i oporavljivi.
  
 **Ekstrakcija podataka iz freelista i WAL-a** **Ekstrakcija podataka iz freelista i WAL-a**
Redak 198: Redak 203:
   - Heksadecimalna analiza   - Heksadecimalna analiza
      * Napredna tehnika koja uključuje analizu sirovih bajtova baze podataka. Forenzičari pretražuju karakteristične SQLite strukture (npr. leaf B-tree stranice koje započinju s bajtom 0x0D) kako bi identificirali obrisane zapise koji još nisu prebrisani.      * Napredna tehnika koja uključuje analizu sirovih bajtova baze podataka. Forenzičari pretražuju karakteristične SQLite strukture (npr. leaf B-tree stranice koje započinju s bajtom 0x0D) kako bi identificirali obrisane zapise koji još nisu prebrisani.
-  - Specijalizirani forenzički alati +  - Specijalizirani forenzički alati - više o njima u poglavlju ispod
-     * Za automatizirani oporavak često se koriste specijalizirani alati: +
-          * Autopsy – open-source alat s podrškom za SQLite carving +
-          * PhotoRec i Scalpel – alati za file carving +
-          * SQLite Forensic Explorer – komercijalni alat za pregled obrisanih zapisa +
-          * Oxygen Forensic Detective i Magnet AXIOM – profesionalne platforme za mobilnu forenziku+
  
 **Primjer uspješnog oporavka** **Primjer uspješnog oporavka**
Redak 210: Redak 210:
  
 **Postupak:** **Postupak:**
-Utvrđeno je postojanje WAL datoteke veličine 2,3 MB, što upućuje na necheckpointane promjene. Broj poruka u bazi iznosio je 1 523. Nakon izvršenja checkpoint operacije broj poruka porastao je na 1 543, što ukazuje na 20 zapisa koji su se nalazili isključivo u WAL datoteci.+Utvrđeno je postojanje WAL datoteke veličine 2,3 MB, što upućuje na ne checkpointane promjene. Broj poruka u bazi iznosio je 1 523. Nakon izvršenja checkpoint operacije broj poruka porastao je na 1 543, što ukazuje na 20 zapisa koji su se nalazili isključivo u WAL datoteci.
 SQL upitima identificirani su zapisi koji su dodani tijekom checkpointa, čime su rekonstruirane obrisane poruke. SQL upitima identificirani su zapisi koji su dodani tijekom checkpointa, čime su rekonstruirane obrisane poruke.
  
Redak 217: Redak 217:
  
 ===== Alati za forenzičku analizu SQLite baza podataka ===== ===== Alati za forenzičku analizu SQLite baza podataka =====
 +
 +  * sqlite3 – službeni command-line alat za rad sa SQLite bazama; omogućuje izvođenje SQL upita, pregled strukture baze i osnovnu analizu podataka
 +  * DB Browser for SQLite – grafički alat s vizualnim prikazom tablica, SQL editorom i pregledom sheme baze
 +  * Autopsy / Sleuth Kit – open-source forenzička platforma s podrškom za automatsku detekciju SQLite baza, vremensku analizu i pretragu ključnih riječi
 +  * SQLite Forensic Explorer – specijalizirani alat za forenzičku analizu SQLite baza, uključujući oporavak obrisanih zapisa i WAL analizu
 +  * Oxygen Forensic – profesionalni alat za mobilnu forenziku s automatskom analizom aplikacijskih SQLite baza
 +  * Magnet AXIOM – sveobuhvatna forenzička platforma za analizu mobilnih uređaja i aplikacija koje koriste SQLite baze
 +===== Primjeri: Primjena SQLite forenzike =====
 +
 +**Primjer 1: Analiza WhatsApp komunikacije u kaznenom slučaju**
 +
 +**Scenarij**: Postoji sumnja da je osumnjičeni koristio aplikaciju WhatsApp za dogovaranje kriminalnih aktivnosti. Prikupljena je forenzička kopija mobilnog uređaja.
 +
 +**Postupak analize**:
 +
 +WhatsApp baza podataka msgstore.db locirana je u standardnoj Android lokaciji aplikacije /data/data/com.whatsapp/databases/. Nakon provjere integriteta datoteke pristupilo se analizi strukture baze, koja sadrži ključne tablice: messages (poruke), chat (razgovori), message_media (multimedijski sadržaj) i jid (identifikatori kontakata).
 +
 +Analiza je započela identifikacijom najaktivnijih kontakata grupiranjem poruka prema identifikatorima kontakata, čime je izdvojeno deset najfrekventnijih komunikacijskih partnera.
 +
 +Zatim je provedena ekstrakcija poruka za odabrane kontakte u kritičnom vremenskom razdoblju (10.–20. siječnja 2024.). Vremenske oznake konvertirane su iz Unix timestamp formata u čitljiv datum i vrijeme.
 +
 +Dodatno je izvršena pretraga ključnih riječi unutar poruka, s fokusom na financijske pojmove (npr. novac, transfer, račun) radi identifikacije potencijalno inkriminirajuće komunikacije.
 +
 +**Rezultat**:
 +Identificirano je 47 poruka u kritičnom vremenskom razdoblju s izravnim referencama na financijske transakcije. Dodatno, analizom WAL datoteke uspješno je oporavljeno 12 obrisanih poruka koje nisu bile prisutne u glavnoj bazi.
 +
 +
 +**Primjer 2: Oporavak obrisanih SMS poruka na Android uređaju**
 +
 +**Scenarij**: Osumnjičeni je obrisao SMS poruke neposredno prije uhićenja.
 +
 +**Postupak analize**:
 +
 +SMS poruke na Android uređajima pohranjuju se u sistemskoj SQLite bazi mmssms.db, smještenoj u direktoriju /data/data/com.android.providers.telephony/databases/. Baza sadrži tablicu sms s metapodacima i sadržajem tekstualnih poruka.
 +
 +Tijekom analize utvrđena je prisutnost WAL datoteke uz glavnu bazu, što je ukazivalo na postojanje nesinkroniziranih zapisa.
 +
 +Analiza je započela brojanjem SMS poruka u trenutnom stanju baze, pri čemu je identificirano 523 zapisa. Nakon izvođenja checkpoint operacije, kojom su podaci iz WAL-a integrirani u glavnu bazu, broj poruka povećao se na 538, što predstavlja razliku od 15 zapisa.
 +
 +Ekstrahirane poruke sadržavale su telefonske brojeve pošiljatelja i primatelja, vremenske oznake, sadržaj poruke te smjer komunikacije (poslano ili primljeno). SQL upiti korišteni su za filtriranje zapisa dodanih nakon checkpointa.
 +
 +**Rezultat**:
 +Uspješno je oporavljeno 15 SMS poruka koje je korisnik obrisao, ali su ostale pohranjene u WAL datoteci zbog odgođene sinkronizacije.
 +===== Izazovi i ograničenja SQLite forenzike =====
 +
 +SQLite forenzika suočava se s nizom tehničkih i proceduralnih izazova koji mogu značajno otežati ili u potpunosti onemogućiti analizu.
 +
 +**1. Enkripcija baza podataka**
 +
 +**Problem**:
 +
 +Mnoge aplikacije koriste enkripciju SQLite baza kako bi zaštitile korisničke podatke. Najčešće implementacije uključuju:
 +  * SQLCipher – open-source enkripcija temeljena na AES-256 algoritmu
 +  * SQLite Encryption Extension (SEE) – službena komercijalna ekstenzija
 +  * Prilagođene (custom) metode enkripcije
 +
 +Pokušaj otvaranja enkriptirane baze standardnim SQLite alatima rezultira greškom koja sugerira da datoteka nije valjana SQLite baza.
 +Moguća rješenja:
 +  * pokušaj probijanja lozinke (ako je slaba)
 +  * memory forensics – ekstrakcija ključa iz radne memorije
 +  * izdvajanje ključa iz sigurnosnih kopija ili konfiguracijskih datoteka
 +  * reverse engineering aplikacije radi pronalaska ključeva ili algoritama
 +
 +{{:racfor_wiki:seminari2025:sqlcipherencryption.png?400|}}
 +
 +**2. Anti-forenzičke tehnike**
 +
 +**Problem**:
 +
 +Korisnici ili aplikacije mogu primijeniti tehnike kojima se namjerno otežava forenzička analiza.
 +  * Secure delete - Kada je omogućeno, SQLite odmah prepisuje obrisane zapise nulama umjesto da ih ostavi u freelistu, čime se onemogućuje oporavak obrisanih podataka.
 +  * VACUUM operacija - VACUUM reorganizira bazu i trajno uklanja sav slobodni (freelist) prostor. Nakon izvođenja ove operacije, oporavak obrisanih zapisa postaje iznimno težak ili nemoguć.
 +
 +{{:racfor_wiki:seminari2025:sqlite-vacuum.jpg?400|}}
 +
 +**Protumjere**:
 +  * brzo i pravovremeno prikupljanje dokaza
 +  * live forensics dok je uređaj uključen
 +  * izrada memory dumpova
 +
 +**3. Sinkronizacija s cloud servisima**
 +
 +**Problem**:
 +
 +Moderne aplikacije često sinkroniziraju podatke s cloud servisima, zbog čega lokalna SQLite baza može sadržavati samo dio relevantnih podataka.
 +
 +**Rješenja**:
 +  * forenzičko prikupljanje cloud podataka (uz odgovarajuću pravnu osnovu)
 +  * analiza API komunikacije aplikacije
 +  * mrežna (network) forenzika
  
 ===== Zaključak ===== ===== Zaključak =====
 +
 +SQLite baze podataka predstavljaju ključan izvor digitalnih dokaza u modernoj forenzici, osobito u analizi mobilnih uređaja i aplikacija. Zbog široke primjene i relativno jednostavne strukture, SQLite baze često sadrže vrijedne informacije o komunikaciji, aktivnostima i lokaciji korisnika, što ih čini nezaobilaznim elementom forenzičkih istraga.
 +
 +Jedna od značajnih prednosti SQLite forenzike je mogućnost oporavka podataka koji su korisnici obrisali. Obrisani zapisi mogu ostati dostupni u WAL datotekama, freelist prostorima ili journal datotekama, ovisno o načinu rada baze i stanju zapisivanja. Upravo zato je važno provesti prikupljanje i analizu na ispravan način, kako bi se očuvala integritet i dobili relevantni dokazi.
 +Istovremeno, SQLite forenzika se suočava s izazovima kao što su enkripcija baza, anti-forenzičke tehnike (npr. secure delete i VACUUM) te sinkronizacija s cloud servisima, što može ograničiti pristup podacima ili onemogućiti oporavak. 
 +
 +Zbog toga je za uspješnu analizu potrebno kombinirati tehničko znanje o strukturi SQLite baza s odgovarajućim alatima i forenzičkim postupcima.
 +
 +U konačnici, razumijevanje unutarnje strukture SQLite baze, rada WAL mehanizma i mogućnosti oporavka obrisanih podataka čini SQLite forenziku neizostavnom vještinom u digitalnoj forenzici, a primjena ispravnih metoda prikupljanja i analize ključna je za valjanost dokaza.
  
 ===== Literatura ===== ===== Literatura =====
  
-[1] [[http://books.google.hr/books?id=mFJe8ZnAb3EC&printsec=frontcover#v=onepage&q&f=false|Plass, Jan L., Roxana Moreno, and Roland BrünkenCognitive Load TheoryCambridge University Press, 2010.]]+[1] [[https://www.sqlite.org/docs.html|SQLite Službena Dokumentacija]] 
 + 
 +[2] [[https://dfrws.org/presentation/|DFRWS Dokumenatacija]] 
 + 
 +[3] [[https://www.forensicfocus.com/articles/forensic-analysis-of-sqlite-databases-free-lists-write-ahead-log-unallocated-space-and-carving/|Forenzička analiza SQLite baza podataka]] 
 +  
 +[4] [[https://www.sciencedirect.com/science/article/pii/S1742287619301677|Forenzički oporavak obrisanih SQLite zapisa]] 
 + 
 +[5] [[https://en.wikipedia.org/wiki/SQLite|Wikipedia SQLite]] 
 + 
 +[6] [[https://www.mdpi.com/2076-3417/13/19/10736|Alat za izdvajanje SQLite dokaza na Androidu]]
  
-[2] [[http://www.google.com/books?id=duWx8fxkkk0C&printsec=frontcover#v=onepage&q&f=false|Mayer, Richard E. The Cambridge handbook of multimedia learning. Cambridge University Press, 2005.]]+[7] [[https://www.geeksforgeeks.org/android/how-to-view-and-locate-sqlite-database-in-android-studio/|Lokacija Android SQLite baze]]
  
-[3] [[http://www.cogtech.usc.edu/publications/kirschner_Sweller_Clark.pdf|Kirschner, P. A, Sweller, J. and Clark, R. E. Why minimal guidance during instruction does not work: An analysis of the failure of constructivist, discovery, problem-based, experiential, and inquiry-based teaching. Educational psychologist 41, no. 2, pp 75-86, 2006]]+[8] [[https://reincubate.com/support/how-to/iphone-backup-files-structure/|iOS baze poruka]]
  
  
racfor_wiki/seminari2025/nb53918.1768927529.txt.gz · Zadnja izmjena: 2026/01/20 16:45 od Nikola Botić
Dieses Dokuwiki verwendet ein von Anymorphic Webdesign erstelltes Thema.
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0