Frühwirt, P. (2015). Database forensics : towards a forensic-aware database solution [Dissertation, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/79876
-
Number of Pages:
97
-
Abstract:
Digitale Forensik ist seit den Anfängen in den späten 1970er Jahren ein wichtiger Forschungszweig in der IT-Security, vor allem im Zusammenhang in der Aufklärung von Computerkriminalität. In forensische Untersuchungen werden vergangenen Aktivitäten aufgedeckt, eine Zeitachse über Aktivitäten erstellt und gelöschte Daten wiederhergestellt. Während die Verwendung von forensischen Methoden bei Dateisystemen bereits sehr gut erforscht ist und durch Werkzeuge unterstützt wird, hat die systematische Analyse von Datenbanksystemen erst vor kurzem begonnen. Der erste Teil dieser Arbeit beschäftigt sich deshalb mit der Wiederherstellung von Daten, die im Dateisystem oder in internen Datenstrukturen gespeichert sind. Datenbanken beinhalten eine große Anzahl an temporären Daten und Metadaten, welche von internen Mechanismen verwendet werden. Diese Datenstrukturen werden verwendet, um Transaktionssicherheit zu gewährleisten, Rollbacks durchzuführen oder Datenbanken nach einem Absturz (z.B. bei Hardwareschäden) zu einem abgesicherten Zustand wiederherzustellen. Diese Datenstrukturen sind nicht dafür vorgesehen, dass sie von Nutzern gelesen werden und sind daher - ohne Werkzeugunterstützung - für einen Menschen nicht lesbar. In dieser Arbeit demonstrieren wir sowohl Möglichkeiten zur Wiederherstellung von Daten als auch die Verwendung des redo logs für forensische Analysen. Zusätzlich extrahieren wir Informationen über das Tabellenschema aus dem Dateisystem, welches in Untersuchungen notwendig ist. Neben den klassischen Datenstrukturen haben wir zusätzlich den Index analysiert und Metadaten über die gespeicherten Datensätze gewonnen, welche nicht über die SQL Schnittstelle ausgelesen werden können. Anschließend bauen wir auf den Ergebnissen über interne Datenstrukturen und Mechanismen der vorherigen Arbeit auf. Große Datenbanken sind oft ein interessanter Ort, um Daten zu verstecken: Sie speichern eine große Menge an verschiedenen Datensätzen mit Hilfe von internen Mechanismen und Datenstrukturen, um die Leistung und den Durchsatz zu erhöhen. Während dieses Prozesses werden sehr viele komplexe Optimierungen und ständige Änderungen durchführt, die eine gute Grundlage für das Verstecken von Daten bieten. Zusätzlich stellt die Datenbank selber ein sehr wertvolles Ziel für einen Angreifer dar, der Abfragen manipuliert, um seine Spuren zu verwischen. Auch wenn es sehr viele Gründe für das Verstecken von Daten innerhalb von Datenbanken gibt, wurde dieses Thema in den letzten Jahren kaum erforscht. In einem Teil dieser Arbeit demonstrieren wir die Machbarkeit von verschiedenen Angriffen zum Verstecken von Daten und stellen praktische Techniken in MySQL vor. Zusätzlich erörtern wir die Auswirkungen des Löschprozesses von Datensätzen und dessen Implikationen auf forensische Untersuchungen. Im letzten Teil dieser Arbeit behandeln wir die Problematik der Erkennung von Datenmanipulationen (eng. data tampering). Wir stellen einen neuen Ansatz für eine forensische Datenbank vor, welche Transaktionen und das Replikationsprotokoll zur Absicherung vor Manipulationen durch einen Angreifer benutzt. Wir nutzen dazu interne Datenstrukturen zur Rekonstruktion von Beweisen in forensischen Untersuchungen. Der Vorteil unserer Technik besteht darin, dass einerseits keine zusätzlichen Aufzeichnungen benötigt werden und sie andererseits sicher gegenüber nachträglichen Veränderungen (z.B. durch einen Angreifer, der seine Spuren verwischen möchte) ist. Dies stellt die Authentizität von Beweisen sicher und stärkt die Beweismittelkette. Zur Evaluation unseres Ansatzes präsentieren wir eine formale Beschreibung und eine umfassende Security-Evaluierung mit Bezug auf die wichtigsten Angriffsszenarien.
Digital forensics is an important research branch of information security since its beginnings in the late 1970s, especially as it is often related to investigations in computer crime. While the use of forensic analysis on the file system level for creating (partial) timelines, recovering deleted data and revealing concealed activities is very popular and multiple forensic tool-sets exist, the systematic analysis of database management systems has begun just recently. The first part of this thesis therefore concentrates on the recovery of data stored in the file system or internal structures. Databases contain a large amount of temporary data files and metadata that are used by internal mechanisms. These data structures are maintained to ensure transaction authenticity, to do rollbacks, or to set back the database to a predefined earlier state in case of e.g. an inconsistent state or a hardware failure. However, these data structures are intended to be used by the internal system methods only and are in general not human-readable. This thesis demonstrates the possibilities of recovering deleted data as well as using the redo logs of InnoDB databases for forensic analysis, as well as the extraction of the information needed from the MySQL definition files to carry out this analysis. Furthermore the index and structures are analyzed to extract metadata that is not available to forensic investigators via SQL interface. In the subsequent part of this thesis we use the insight knowledge of the previous finding to hide data in internal structures. Large databases offer an interesting environment for data hiding: They store a large amount of different data sets and are riddled with internal mechanisms and data pools for enhancing performance. Furthermore, many complex optimization routines are constantly changing parts of the underlying file environment, thus making them inviting to hide data. Furthermore, the database itself may be a valuable target where an attacker wants to manipulate search results or simply hide traces of an attack. Although there exist many reasons for hiding data in databases, research on this topic has been rather low in the past years. In a part of this thesis we demonstrate the feasibility of data hiding and propose several techniques in MySQL, as well as demonstrate the impact of the implementation of data deletion with respect to forensic analysis. In the final part of this thesis we focus on the detection of data tampering attacks. We present a novel approach for a forensic-aware database management system using transaction and replication sources. We use these internal data structures as an important baseline to reconstruct evidence during a forensic investigation. The overall benefit of our method is that no additional logs (such as administrator logs) are needed. Furthermore, our approach is invariant to retroactive malicious modifications by an attacker. This assures the authenticity of the evidence and strengthens the chain of custody. To evaluate our approach, we present a formal description and a comprehensive security evaluation with respect to the most relevant attack scenarios.