SQLite-Überlaufseiten: Wie digitale Forensik versteckte Daten wiederherstellt

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

Illustration der fragmentierten Datenspeicherung in SQLite: Ein großes Bild wird auf mehrere Frames aufgeteilt, was zeigt, wie Überlaufseiten mit großen BLOBs umgehen.

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

Ein Bild eines F-16-Jets, das vollständig in einer einzigen SQLite-Seite gespeichert ist, was einen idealen Fall darstellt, in dem keine Überlaufseiten benötigt werden.

Hier passt ein Bild vollständig auf eine Datenbankseite, so dass keine Überlaufseiten erforderlich sind.

3. Über mehrere Seiten verteilte Daten

Hex-Darstellung eines Bildes, das nicht zusammenhängend auf den SQLite-Seiten 7, 3 und 5 gespeichert ist und eine forensische Rekonstruktion erfordert.

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

Ein erfolgreich rekonstruiertes Image aus fragmentierten SQLite-Seiten, das den forensischen Prozess der Wiederherstellung von Überlaufseiten veranschaulicht.

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

DB Browser für SQLite zeigt eine Kontakttabelle mit Profilbildern, die als BLOBs gespeichert sind, ein wesentlicher Schritt bei der forensischen Extraktion.

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

Varint 0xB135 konvertiert zu einer Zellenlänge von 6.325 Bytes (ohne Varint selbst oder die Zeilen-ID)

Verwendung von HxDeinen Hex-Editor, suchen sie den Datensatzkopf, der eine VARINT die die BLOB-Länge bestimmt.

Bestätigen Sie die Bildgröße

Hervorgehobenes VARINT in HxD, das die Gesamtgröße des Bildes (6.325 Byte) anzeigt und bestätigt, dass sie die Standardseitengröße von SQLite überschreitet.

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

SQLite-Überlaufzeiger am unteren Ende der Seite, der die Fortsetzung der Daten auf Seite 4 zum weiteren Abruf leitet.

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

Hex-Ansicht eines fragmentierten Bildes, vollständig hervorgehoben, bereit für die manuelle Extraktion und forensische Rekonstruktion.

Die ersten vier Bytes auf Seite 4 zeigen an, ob eine weitere Überlaufseite folgt. Da der Wert 0x00000000ist dies die letzte Überlaufseite.

Extrahieren und Rekonstruieren des Bildes

Hex-Ansicht eines fragmentierten Bildes, vollständig hervorgehoben, bereit für die manuelle Extraktion und forensische Rekonstruktion.

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

Extrahiertes BildGewonnenes Profilbild von SQLite-Überlaufseiten, erfolgreich geschnitzt und im Windows Photo Viewer angezeigt.

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!

Facebook
Twitter
E-Mail
Drucken

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert