Introduktion: Pusslet med överflödessidor
Tänk dig att du köper en affisch som är för stor för de ramar du har hemma. För att kunna visa den på rätt sätt måste du klippa den i delar så att den ryms inom de tillgängliga ramarna. Samma princip gäller för SQLite-databaser när de hanterar stora poster - de delar upp dem i delar och lagrar dem på flera sidor. Det är här överflödiga sidor Kom in.
Överflödessidor lagrar data som inte ryms inom en enda SQLite-databassida (vanligtvis 4 096 byte). Dessa sidor är sammanlänkadeoch bildar en kedja som kriminaltekniker måste rekonstruera för att återskapa fullständiga data. Om analytikerna inte följer overflow-strukturen riskerar de att hämta ofullständig eller förvanskad bevisning.
I den här artikeln förklarar vi hur overflow-sidor fungerar, varför de är viktiga i kriminaltekniska undersökningar och hur man steg för steg extraherar fragmenterad data.
Vad är överflödessidor i SQLite?
SQLite-databaser tilldelar en fast sidstorlek (t.ex, 4 096 byte). Men när en post - t.ex. en bild som lagras som en BLOB (Binary Large Object)-överstiger denna storlek, överskottsdata spills ut på överflödessidor.
Viktiga slutsatser:
✅ Överflödessidor förhindra stora poster från att monopolisera en enda sida.
✅ De är länkad i en kedja, med början från huvudsidan.
✅ Kriminaltekniska analytiker måste rekonstruera dessa kedjor för att få fram fullständiga data.
Att förstå hur overflow-sidor fungerar är viktigt för kriminaltekniska utredningar.
Översikt på hög nivå: Hur överflödessidor fungerar
För att illustrera konceptet med överflödessidor, låt oss titta på följande exempel:
1. Fragmenterad bildrepresentation

Den här visualiseringen visar hur stora BLOB:er, t.ex. bilder, lagras i SQLite. Bilden är uppdelad i flera sektioner, precis som en overflow-sida lagrar fragmenterad data.
2. Data lagrad på en enda sida

Här ryms en bild helt och hållet inom en databassida, vilket eliminerar behovet av överflödessidor.
3. Data uppdelad på flera sidor

Detta exempel illustrerar hur data lagras på ett icke sammanhängande sätt, vilket kräver kriminalteknisk analys för att rekonstruera dem korrekt.
4. Rekonstruktion av data från överflödessidor

Genom att följa sidpekare för överflöd kan kriminaltekniker återmontera fragmenterad data.
Forensisk betydelse av överflödessidor
Många meddelandeappar, mobila applikationer och databaser lagra användarprofilbilder, chattloggar och bilagor i SQLite. När bilder och dokument sträcker sig över flera sidor måste kriminaltekniker förstå overflow-strukturer för att kunna extrahera data på rätt sätt.
Rättsmedicinska utmaningar:
- Fragmenterade data: BLOB:er (t.ex. bilder) delas ofta upp på flera sidor.
- Pekarbaserad hämtning: Analytiker måste följa SQLites sidpekare för överflöd för att rekonstruera hela bilden eller filen.
- Täljfrågor: Att bara söka efter ett JPEG-huvud (FFD8FF) och -fot (FFD9) kan misslyckas eftersom de kan finnas på separata sidor.
Exempel från den verkliga världen: Extrahera en profilbild från överflödessidor
Låt oss nu gå igenom en steg-för-steg-forensisk återställning av en bild som lagras i en SQLite-databas.
Leta reda på BLOB i databasen

Använda DB Browser för SQLiteidentifierar kriminaltekniker den skiva som innehåller profilbilden i den kontakter
bord.
Identifiera BLOB-längden i hex

Använda HxDMed hjälp av en hexeditor hittar de posthuvudet, som innehåller en VARINT som bestämmer BLOB-längden.
Bekräfta bildstorleken

Den andra VARINT i posthuvudet anger bildens storlek. I det här fallet är den totala storleken 6 325 byte, överskrider sidbegränsningen.
Följ pekaren för överflöde

Längst ner på huvudsidan visas en pekare på fyra byte leder till sidan 4, som innehåller nästa del av bilden.
Undersök överströmningssidan

De fyra första bytena på sidan 4 anger om ytterligare en overflow-sida följer. Eftersom värdet är 0x00000000
detta är sista överflödessidan.
Extrahera och rekonstruera bilden

Kriminaltekniska analytiker extraherar 6 292 byte av bilden från båda sidorna och rekonstruera den manuellt.
📌De fyra byte-pekarna är INTE en del av de data som ska ingå i den snidade bilden
Verifiera den återställda avbildningen

Den extraherade bilden är nu helt återställd och kan visas.
Slutliga tankar: Betydelsen av analys av överflödessidor
I kriminaltekniska undersökningar kan förbiseende av överflödessidor leda till förlust av kritiska bevis. Att förstå SQLites lagringsmekanism är avgörande för att korrekt datautvinning och rekonstruktion.
Viktiga kriminaltekniska insikter:
✔️ Alltid kontrollera för överflödessidorvid analys av stora datamängder.
✔️ Följ SQLites överströmningspekareförsiktigt.
✔️ Enkelt filhuggningstekniker kanske inte fungerar på grund av icke sammanhängande lagring.
Oavsett om man analyserar chattdatabaser, kontaktlistor eller programloggarmåste kriminaltekniker vara skickliga på att återställa fragmenterade data.
💡 Har du stött på fragmenterade data i SQLite-forensics? Hur går du tillväga för att analysera överflödessidor? Dela med dig av dina insikter nedan!