Datenbankforensik

Datenbankforensik ist ein Teilgebiet der IT-Forensik. Es beschäftigt sich mit der Sammlung und Analyse von forensischen Artefakten aus Datenbanken. Im Datenbankumfeld ist eine klassische Dateisystem-Analyse nicht ausreichend, sodass eine gezielte forensische Analyse von Datenbankartefakten notwendig ist.

Ziele der Datenbank-Forensik

Die Datenbank-Forensik kann eine forensische Untersuchung unterstützen, um folgende Ziele zu erreichen:

  • Beweisen oder wiederlegen einer Sicherheitsverletzung
  • Ermitteln des Umfangs eines Eingriffs in die Datenbank
  • Ermitteln des Abflusses von Daten aus einer Datenbank
  • Rekonstruieren von DML und DDL Operationen eines Benutzers (der aufgrund einer Sicherheitsverletzung im DBMS aktiv ist)
  • Wiederherstellen gelöschter Datenbank-Daten, die evtl. aufgrund von Aktionen einer Sicherheitsverletzung entstanden sind

Forensisch relevante Datenbankartefakte

Folgende Datenbankartefakte sind bei der Analyse bspw. zu berücksichtigen:

  • Data Cache: Gibt Auskunft über die durch den Angreifer verwendeten Daten
  • Plan Cache: Gibt Auskunft über zuletzt ausgeführte SQL-Statements
  • Server State: Enthält Aussagen über aktive Datenbanksitzungen, -verbindungen und die letzten SQL-Statements.
  • Active Virtual Log Files: Geben Auskunft über die zuletzt ausgeführten Statements und können basierend auf Zeitstempel, DB-Login oder DB-Objekt ausgewertet werden.
  • Data Files: Enthalten auch gelöschte Datensätze und unterstützen die Analyse der Tätigkeiten eines Angreifers
  • Database Management System Logs: Geben je nach Logging-Konfiguration Auskunft über die erfolgreichen und fehlerhaften Logins, Buffer-Overflows, fehlerhafte StatementAusführungen und andere Fehler im DBMS

Je nach Datenbanksystem (MySQL, Oracle, MSSQL, IBM DB2, PostgreSQL, etc.) sind die o.g. Artefakte an unterschiedlichen „Orten“ zu finden.

Strategische Vorbereitung (siehe auch BSI-Vorgehensmodell)

Im Auslieferungszustand eines Datenbanksystems werden nicht in jedem Fall alle Artefakte im notwendigen Umfang protokolliert. Die vorzunehmenden Einstellungen sind je nach Schutzbedarf der Datenbank während der Strategischen Vorbereitung durchzuführen, damit während der Datensammlung alle notwendigen Daten vorliegen.

Online- und Offline-Forensik

Auch bei der Datenbankforensik können Analysen in Online- und Offline-Forensik unterteilt werden. Bei der Online-Forensik einer Datenbank sollten vorab alle Caches und weitere flüchtige Daten gesichert und gesichtet werden, ohne diese zu verändern. Bei unbedachten Logins oder Ausführungen von Statements werden Caches, Buffer und Logfiles evtl. verfälscht, indem analyserelevante Artefakte überschrieben werden. Während der Online-Forensik sollte das System für den Nutzer nicht zur Verfügung stehen, um die Analyse nicht zu verfälschen. Im Gegensatz dazu, wird bei der Offline-Forensik einer Datenbank das System vollständig, bestenfalls „hart“, heruntergefahren. Dabei gehen alle flüchtigen Daten verloren. Danach wird ein vollständiges Systemabbild gezogen, auf dem die Analyse durchgeführt wird. Anschließend kann das System wieder hochgefahren werden und steht dem Nutzer wieder zur Verfügung.

Quellen

  • Bundesamt für Sicherheit in der Informationstechnik (BSI): Leitfaden „IT-Forensik“, Version 1.0.1 (2011)
  • Kevvie Fowler: SQL Server Forensic Analysis (2008)
  • Mulazzani, Martin & Weippl, Edgar: Aktuelle Herausforderungen in der Datenbankforensik (2019)