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:48]
Nikola Botić [Zaključak]
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 226: Redak 226:
 ===== Primjeri: Primjena SQLite forenzike ===== ===== Primjeri: Primjena SQLite forenzike =====
  
-Primjer 1: Analiza WhatsApp komunikacije u kaznenom slučaju+**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.+**Scenarij**: Postoji sumnja da je osumnjičeni koristio aplikaciju WhatsApp za dogovaranje kriminalnih aktivnosti. Prikupljena je forenzička kopija mobilnog uređaja.
  
-Postupak analize:+**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). 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).
Redak 240: Redak 240:
 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. 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:+**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. 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 
  
-ScenarijOsumnjičeni je obrisao SMS poruke neposredno prije uhićenja.+**Primjer 2Oporavak obrisanih SMS poruka na Android uređaju**
  
-Postupak analize:+**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. 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.
Redak 257: Redak 258:
 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. 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:+**Rezultat**:
 Uspješno je oporavljeno 15 SMS poruka koje je korisnik obrisao, ali su ostale pohranjene u WAL datoteci zbog odgođene sinkronizacije. 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.1768927702.txt.gz · Zadnja izmjena: 2026/01/20 16:48 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