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:49]
Nikola Botić [Primjeri: Primjena SQLite forenzike]
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 260: Redak 260:
 **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.1768927777.txt.gz · Zadnja izmjena: 2026/01/20 16:49 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