SQLite Overflow Pages: Hvordan digital kriminalteknikk gjenoppretter skjulte data

Innledning: Puslespillet med overløpssider

Tenk deg at du kjøper en plakat som er for stor for rammene du har hjemme. For å kunne vise den ordentlig, må du klippe den opp i seksjoner slik at den får plass i de tilgjengelige rammene. Det samme prinsippet gjelder for SQLite-databaser når de håndterer store poster - de deler dem opp i deler og lagrer dem på flere sider. Det er her overløpssider ...kom inn.

Overflyt-sider lagrer data som ikke får plass på en enkelt SQLite-database-side (vanligvis 4 096 byte). Disse sidene er knyttet sammenDe danner en kjede som kriminalteknikere må rekonstruere for å gjenopprette komplette data. Hvis analytikerne ikke følger overløpsstrukturen, risikerer de å hente ufullstendige eller ødelagte bevis.

I denne artikkelen skal vi se nærmere på hvordan overflow-sider fungerer, hvorfor de er viktige i kriminaltekniske undersøkelser, og hvordan du trinn for trinn kan hente ut fragmenterte data.

Hva er overflytsider i SQLite?

SQLite-databaser tildeler en fast sidestørrelse (f.eks, 4 096 byte). Men når en post - for eksempel et bilde som er lagret som en BLOB (Binary Large Object)-overskrider denne størrelsen, overflødige data flyter over på overflow-sider.

De viktigste erfaringene:

✅ Overløpssider forhindre store poster fra å monopolisere en enkelt side.
✅ De er knyttet sammen i en kjede, med utgangspunkt i hovedsiden.
Kriminaltekniske analytikere må rekonstruere disse kjedene for å hente ut komplette data.

Å forstå hvordan overflow-sider fungerer, er avgjørende for kriminaltekniske undersøkelser.

Oversikt på høyt nivå: Hvordan overflytsider fungerer

La oss se på følgende eksempler for å illustrere konseptet med overflow-sider:

1. Fragmentert bilderepresentasjon

Darth Vader frames in SQLite BLOB — forensic image carving from database tutorial
Illustrasjon av fragmentert datalagring i SQLite: Et stort bilde er delt opp over flere rammer, noe som viser hvordan overflow-sider håndterer store BLOB-er.

Denne visualiseringen viser hvordan store BLOB-er, for eksempel bilder, lagres i SQLite. Bildet er delt opp i flere seksjoner, akkurat som en overflow-side lagrer fragmenterte data.

2. Data lagret på én enkelt side

Full frame SQLite BLOB image — forensic recovery of complete image from database
Et bilde av et F-16-jetfly som er fullstendig lagret på én enkelt SQLite-side, noe som viser et ideelt tilfelle der det ikke er behov for overflow-sider.

Her får et bilde plass på én databaseside, slik at det ikke er behov for overløpssider.

3. Data deles over flere sider

Chain in orange — digital forensics investigation scenario evidence image
Sekskantet representasjon av et bilde som er lagret på tvers av SQLite-side 7, 3 og 5, og som krever kriminalteknisk rekonstruksjon.

Dette eksemplet illustrerer hvordan data lagres på en ikke-sammenhengende måte, noe som krever kriminalteknisk analyse for å rekonstruere dem korrekt.

4. Rekonstruere data fra overløpssider

Firearm image attachment — digital forensics mobile evidence in SQLite training scenario
Et vellykket rekonstruert bilde fra fragmenterte SQLite-sider, som illustrerer den kriminaltekniske prosessen med gjenfinning av overflow-sider.

Ved å følge overløpssidepekere kan kriminalteknikere sette sammen fragmenterte data på nytt.

Den rettsmedisinske betydningen av overflytsider

Mange meldingsapper, mobilapplikasjoner og databaser lagre brukerprofilbilder, chat-logger og vedlegg i SQLite. Når bilder og dokumenter spenner over flere sider, må kriminalteknikere forstå overflow-strukturer for å kunne hente ut dataene på riktig måte.

Rettsmedisinske utfordringer:

  • Fragmenterte data: BLOB-er (for eksempel bilder) er ofte delt over flere sider.
  • Pekerbasert gjenfinning: Analytikere må følge SQLites overflow-sidepekere for å rekonstruere hele bildet eller filen.
  • Utskjæringsproblemer: Hvis du bare søker etter en JPEG-header (FFD8FF) og -footer (FFD9), kan det mislykkes fordi de kan finnes på separate sider.

Eksempel fra den virkelige verden: Trekke ut et profilbilde fra Overflow-sider

La oss nå gå gjennom en trinnvis rettsmedisinsk gjenoppretting av et bilde som er lagret i en SQLite-database.

Finn BLOB-en i databasen

DB Viewer contacts table with BLOB data — forensic SQLite database examination
DB Browser for SQLite viser en kontakttabell med profilbilder lagret som BLOB-er, et viktig trinn i rettsmedisinsk utvinning.

Ved hjelp av DB-nettleser for SQLiteidentifiserer kriminalteknikere posten som inneholder profilbildet i kontakter bord.

Identifiser BLOB-lengden i hex

SQLite Ali record forensic analysis — examining database record structure and BLOB data
Varint 0xB135 konverteres til en cellelengde på 6 325 byte (ikke inkludert selve varinten eller rad-ID-en)

Ved hjelp av HxDmed en hex-editor, finner de posthodet, som inneholder en VARINT som bestemmer BLOB-lengden.

Bekreft bildestørrelsen

SQLite Ali record BLOB length — forensic analysis of image BLOB size in database
Uthevet VARINT i HxD viser den totale bildestørrelsen (6 325 byte), noe som bekrefter at den overskrider standard SQLite-sidestørrelse.

Den andre VARINT-verdien i posthodet angir bildets størrelse. I dette tilfellet er den totale størrelsen 6 325 byte, som overskrider sidebegrensningen.

Følg overløpspekeren

JPEG Part 1 highlighted in SQLite — forensic analysis of image BLOB header bytes
SQLite-overløpspeker nederst på siden, som leder datafortsettelsen til side 4 for videre henting.

Nederst på hovedsiden vises en peker på fire byte fører til side 4som inneholder den neste delen av bildet.

Undersøk overløpssiden

SQLite page 4 overflow — forensic analysis of SQLite overflow page structure
Sekskantbilde av et fragmentert bilde fullt uthevet, klart for manuell ekstraksjon og kriminalteknisk rekonstruksjon.

De fire første byte på side 4 angir om det følger en ny overflow-side. Siden verdien er 0x00000000dette er siste overløpsside.

Trekk ut og rekonstruer bildet

Carved image from SQLite BLOB — forensic file carving technique for image recovery
Sekskantbilde av et fragmentert bilde fullt uthevet, klart for manuell ekstraksjon og kriminalteknisk rekonstruksjon.

Rettsmedisinske analytikere trekker ut 6 292 byte av bildet fra begge sidene og rekonstruere det manuelt.

📌De fire byte-pekerne er IKKE en del av dataene som skal inkluderes i det utskårne bildet

Bekreft det gjenopprettede bildet

Digital forensics training image — Elusive Data DFIR course content
Hentet ut bildeGjenopprettet profilbilde fra SQLite overflow-sider, vellykket utskåret og vist i Windows Photo Viewer.

Det ekstraherte bildet er nå fullstendig gjenopprettet og kan vises.

Avsluttende tanker: Betydningen av analyse av overflytsider

I kriminaltekniske undersøkelser kan det å overse overflow-sider føre til tap av kritisk bevismateriale. Å forstå SQLites lagringsmekanisme er avgjørende for å nøyaktig datauttrekk og rekonstruksjon.

Viktig rettsmedisinsk innsikt:

✔️ Alltid se etter overfylte sidernår du analyserer store poster.

✔️ Følg SQLites overløpspekereforsiktig.

✔️ Simple filskjæringsteknikker fungerer kanskje ikke på grunn av ikke-sammenhengende lagring.

Enten man analyserer chat-databaser, kontaktlister eller programloggermå rettsmedisinere være dyktige til å gjenopprette fragmenterte data.

💡 Har du støtt på fragmenterte data i SQLite-forensics? Hvordan går du frem for å analysere overflow-sider? Del din innsikt nedenfor!

Facebook
Twitter
E-post
Skriv ut

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

Abonner for å holde deg oppdatert!

Gå aldri glipp av et innlegg - bli varslet når vi publiserer en ny bloggartikkel, rettsmedisinsk veiledning eller deler viktige oppdateringer.

Siste innlegg