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.
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.
✅ Ö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.
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.
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.
Låt oss nu gå igenom en steg-för-steg-forensisk återställning av en bild som lagras i en SQLite-databas.
Använda DB Browser för SQLiteidentifierar kriminaltekniker den skiva som innehåller profilbilden i den kontakter
bord.
Använda HxDMed hjälp av en hexeditor hittar de posthuvudet, som innehåller en VARINT som bestämmer BLOB-längden.
Den andra VARINT i posthuvudet anger bildens storlek. I det här fallet är den totala storleken 6 325 byte, överskrider sidbegränsningen.
Längst ner på huvudsidan visas en pekare på fyra byte leder till sidan 4, som innehåller nästa del av bilden.
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.
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
Den extraherade bilden är nu helt återställd och kan visas.
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.
✔️ 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!