Einführung: Das Rätsel der Überlaufseiten
Stellen Sie sich vor, Sie kaufen ein Poster, das zu groß für die Rahmen ist, die Sie zu Hause haben. Um es richtig zu präsentieren, müssen Sie es in Teile zerschneiden, damit es in die verfügbaren Rahmen passt. Dasselbe Prinzip gilt für SQLite-Datenbanken, wenn es um große Datensätze geht - sie teilen sie in Teile auf und speichern sie auf mehreren Seiten. Dies ist der Grund Überlaufseiten kommen.
Überlaufseiten speichern Daten, die nicht in eine einzelne SQLite-Datenbankseite passen (typischerweise 4.096 Bytes). Diese Seiten sind miteinander vernetztSie bilden eine Kette, die der Forensiker rekonstruieren muss, um die vollständigen Daten wiederherzustellen. Wenn Analysten der Überlaufstruktur nicht folgen, riskieren sie, dass sie unvollständige oder verfälschte Beweise.
In diesem Artikel erfahren Sie, wie Überlaufseiten funktionieren, warum sie bei forensischen Untersuchungen wichtig sind und wie Sie fragmentierte Daten Schritt für Schritt extrahieren können.
Was sind Überlaufseiten in SQLite?
SQLite-Datenbanken weisen eine feste Seitengröße zu (z.B., 4.096 Bytes). Wenn jedoch ein Datensatz - z. B. ein Bild, das als BLOB (Binary Large Object)-überschreitet diese Größe, die überschüssigen Daten werden auf Überlaufseiten verschüttet.
Wichtigste Erkenntnisse:
✅ Überlaufseiten große Datensätze verhindern nicht eine einzige Seite in Anspruch nehmen.
✅ Sie sind in einer Kette verbunden, beginnend auf der Hauptseite.
✅ Forensische Analysten muss diese Ketten rekonstruieren, um vollständige Daten abzurufen.
Das Verständnis der Funktionsweise von Überlaufseiten ist für forensische Untersuchungen unerlässlich.
Hoher Überblick: Wie Überlaufseiten funktionieren
Um das Konzept der Überlaufseiten zu veranschaulichen, sehen wir uns die folgenden Beispiele an:
1. Fragmentierte Bilddarstellung

Diese Visualisierung zeigt, wie große BLOBs, z. B. Bilder, in SQLite gespeichert werden. Das Bild ist in mehrere Abschnitte unterteilt, so wie eine Überlaufseite fragmentierte Daten speichert.
2. Auf einer einzigen Seite gespeicherte Daten

Hier passt ein Bild vollständig auf eine Datenbankseite, so dass keine Überlaufseiten erforderlich sind.
3. Über mehrere Seiten verteilte Daten

Dieses Beispiel zeigt, wie Daten nicht zusammenhängend gespeichert werden, was eine forensische Analyse erfordert, um sie korrekt zu rekonstruieren.
4. Daten aus Überlaufseiten rekonstruieren

Die Verfolgung von Überlaufseitenzeigern ermöglicht es Forensikern, fragmentierte Daten wieder zusammenzusetzen.
Forensische Bedeutung von Überlaufseiten
Viele Messaging-Apps, mobile Anwendungen und Datenbanken Benutzerprofilbilder, Chat-Protokolle und Anhänge in SQLite speichern. Wenn sich Bilder und Dokumente über mehrere Seiten erstrecken, müssen forensische Prüfer Überlaufstrukturen verstehen, um die Daten richtig zu extrahieren.
Forensische Herausforderungen:
- Fragmentierte Daten: BLOBs (z. B. Bilder) werden oft auf mehrere Seiten aufgeteilt.
- Zeigerbasiertes Retrieval: Analysten müssen den Überlaufseitenzeigern von SQLite folgen, um das vollständige Bild oder die Datei zu rekonstruieren.
- Carving-Probleme: Die einfache Suche nach einer JPEG-Kopfzeile (FFD8FF) und -Fußzeile (FFD9) kann fehlschlagen, da sie auf verschiedenen Seiten vorhanden sein können.
Real-World Beispiel: Extrahieren eines Profilbildes aus Überlaufseiten
Lassen Sie uns nun Schritt für Schritt die forensische Wiederherstellung eines in einer SQLite-Datenbank gespeicherten Abbilds durchgehen.
Suchen Sie das BLOB in der Datenbank

Verwendung von DB Browser für SQLiteidentifizieren die forensischen Analysten den Datensatz mit dem Profilbild in der Kontakte
Tisch.
Identifizieren Sie die BLOB-Länge in Hex

Verwendung von HxDeinen Hex-Editor, suchen sie den Datensatzkopf, der eine VARINT die die BLOB-Länge bestimmt.
Bestätigen Sie die Bildgröße

Der zweite VARINT im Datensatzkopf gibt die Größe des Bildes an. In diesem Fall ist die Gesamtgröße 6.325 Bytesund überschreitet damit die Seitengrenze.
Folgen Sie dem Überlaufzeiger

Am unteren Rand der Hauptseite wird ein Vier-Byte-Zeiger führt zu Seite 4, die den nächsten Teil des Bildes enthält.
Untersuchen Sie die Überlaufseite

Die ersten vier Bytes auf Seite 4 zeigen an, ob eine weitere Überlaufseite folgt. Da der Wert 0x00000000
ist dies die letzte Überlaufseite.
Extrahieren und Rekonstruieren des Bildes

Forensische Analysten extrahieren die 6.292 Bytes des Bildes von beiden Seiten und rekonstruieren es manuell.
📌Die Vier-Byte-Zeiger sind NICHT Teil der Daten, die in das gecarvte Bild aufgenommen werden
Überprüfen Sie das wiederhergestellte Image

Das extrahierte Bild ist nun vollständig wiederhergestellt und kann betrachtet werden.
Abschließende Überlegungen: Die Bedeutung der Überlaufseitenanalyse
Bei forensischen Untersuchungen kann das Übersehen von Überlaufseiten zu folgenden Ergebnissen führen Verlust von kritischen Beweisen. Das Verständnis des Speichermechanismus von SQLite ist entscheidend für genaue Datenextraktion und Rekonstruktion.
Wichtige forensische Einblicke:
✔️ Immer Prüfung auf Überlaufseitenbeim Analysieren großer Datensätze.
✔️ Folgen Sie der SQLite Überlaufzeigersorgfältig.
✔️ Einfach Techniken des Feilenschnitzens kann wegen nicht zusammenhängender Speicherung nicht funktionieren.
Ob die Analyse Chat-Datenbanken, Kontaktlisten oder AnwendungsprotokolleForensiker müssen sich mit der Wiederherstellung fragmentierter Daten auskennen.
💡 Sind Sie bei der SQLite-Forensik auf fragmentierte Daten gestoßen? Wie gehen Sie bei der Analyse von Überlaufseiten vor? Teilen Sie Ihre Erkenntnisse unten mit!