Saxer, Claudia (2017) Plaso SQLite Plugin Scaffolder. Bachelor thesis, HSR Hochschule für Technik Rapperswil.
TechnischerBericht.pdf - Supplemental Material
Download (3MB) | Preview
Abstract
Ausgangslage
Plaso ist die backend Engine für das Tool Log2timeline, welches Google für die forensische Datenanalyse verwendet. Log2timeline ist ein Tool, welches aus einem Image alle Informationen sammelt um eine Super Timeline zu erstellen, welches ein riesiges Logfile darstellt.
Plaso ist zu einem grossen Opensource Framework gewachsen, welches von vielen Security Engineers verwendet wird und beinhaltet eine Ansammlung von Plugins. Plugins werden von Log2timeline verwendet um Informationen von einem File zu extrahieren. Ein Grossteil der Plugins wurden für verschiedene SQLite Datenbanken entwickelt und die Nachfrage für neue Plugins für SQLite Datenbanken steigt.
Im Moment involviert das Hinzufügen eines Plugins das manuelle Verändern von mehreren Files in vorgegebener Reihenfolge.
Vorgehensweise
In einer ersten Phase soll deshalb das Erstellen von SQLite Plugins mit einem Gerüst vereinfacht und teilweise automatisiert werden. Somit sollen auch Security Engineers, welche nicht viel Erfahrung mit der Entwicklung haben, schnell und einfach ein Plugin zu Plaso hinzufügen können. Dies verringert den manuellen Aufwand für das Schreiben der Plugins, sowie für die Codereviews.
Das Tool soll ein ähnliches Konzept verwenden, welches in anderen Framework als "scaffolding" bekannt ist. Das Tool soll von dem Benutzer Eingaben entgegennehmen und daraus Files generieren sowie bestehende editieren um schnell ein neues SQLite Plugin zu erstellen.
Ergebnis
Im Rahmen dieses Projektes wurde ein Command Line Interface Tool erstellt, welches interaktiv Daten des Benutzers entgegennimmt und validiert sowie Daten einer SQLite Datenbank auswertet.
Die Applikation erlaubt durch ihren Aufbau das einfache Hinzufügen von weiteren Plugin Scaffolder. Der SQLite Scaffolder besitzt einerseits einen interaktiven Vorgang und erlaubt auch das Parametrisieren von einigen Eingaben. Die Kommunikation zwischen User und Applikation läuft mit dem Command Line Interface Tool Click, welches auf optparse aufbaut. Die Files Templates wurden mit Jinja2 erstellt und sind einfach anpassbar. Das Tool beinhaltet das Editieren, Erstellen sowie Kopieren von Files. Die generierten Files sowie das Programm sind mit Pylint validiert.
Item Type: | Thesis (Bachelor) |
---|---|
Subjects: | Topics > Software > Testing and Simulation > Unit-Testing Area of Application > Development Tools Technologies > Programming Languages > Python Technologies > Databases > SQLite Technologies > Operating Systems > Windows Brands > Google |
Depositing User: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Jucker, Jürg UNSPECIFIED |
Date Deposited: | 18 Oct 2017 06:34 |
Last Modified: | 18 Oct 2017 06:34 |
URI: | https://eprints.ost.ch/id/eprint/607 |