Slijede razlike između dviju inačica stranice.
| Starije izmjene na obje strane Starija izmjena Novija izmjena | Starija izmjena | ||
|
racfor_wiki:seminari2025:nb53918 [2026/01/20 21:52] Nikola Botić [Prikupljanje SQLite baza podataka u forenzičke svrhe] |
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: | * Offset 44–47: | ||
| * Offset 48–51: | * Offset 48–51: | ||
| + | |||
| + | {{: | ||
| 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 " | 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 " | ||
| 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, | - Truncate – nakon checkpointa, | ||
| + | |||
| + | {{: | ||
| 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 | + | Utvrđeno je postojanje WAL datoteke veličine 2,3 MB, što upućuje na ne checkpointane |
| SQL upitima identificirani su zapisi koji su dodani tijekom checkpointa, | SQL upitima identificirani su zapisi koji su dodani tijekom checkpointa, | ||
| Redak 279: | Redak 279: | ||
| * izdvajanje ključa iz sigurnosnih kopija ili konfiguracijskih datoteka | * izdvajanje ključa iz sigurnosnih kopija ili konfiguracijskih datoteka | ||
| * reverse engineering aplikacije radi pronalaska ključeva ili algoritama | * reverse engineering aplikacije radi pronalaska ključeva ili algoritama | ||
| + | |||
| + | {{: | ||
| **2. Anti-forenzičke tehnike** | **2. Anti-forenzičke tehnike** | ||
| Redak 287: | Redak 289: | ||
| * 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. | * 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ć. | * 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ć. | ||
| + | |||
| + | {{: | ||
| **Protumjere**: | **Protumjere**: | ||
| Redak 325: | Redak 329: | ||
| [4] [[https:// | [4] [[https:// | ||
| - | [5] | + | [5] [[https:// |
| + | |||
| + | [6] [[https:// | ||
| + | |||
| + | [7] [[https:// | ||
| + | |||
| + | [8] [[https:// | ||