Bachelor Projekt Systementwicklung WS17/18

Bachelor PSE ‘IT-Sicherheit’ im WS17/18

Im Wintersemester 2017/2018 bietet die Arbeitsgruppe für Biometrie und Internetsicherheit ein Bachelor Projekt Systementwicklung zu verschiedenen Aspekten der IT-Sicherheit an. Der Termin zur Vorbesprechung und weitere Details zur Lehrveranstaltung werden auf dieser Seite bekannt gegeben.

Es stehen folgende Themen zur Auswahl, die in Untergruppen bearbeitet werden können:

  • Disassembler Test Framework / Ground-Truth
  • Anti-Forensik Toolkit

Disassembler Test Framework / Ground-Truth

Disassembler sind ein wichtiges Werkzeug für das Reverse Engineering und die tiefgreifende Programmanalyse von unbekannten Binärprogrammen. In [1] wird die Qualität verschiedener Disassembler mit Hilfe einer vorhandenen Codebasis durchgeführt. Die Erzeugung der Ground-Truth mit Hilfe eines Disassemblers selbst würde zu einer Verfälschung der Bewertung führen. Der in [1] beschriebene Ansatz nutzt dazu Debugger-Informationen, welche für eine korrespondierende Codebasis zuvor erzeugt wurden. Für Windows Binaries werden die Debugger-Informationen während der Kompilierung in einer ‘program database’ (PDB) gespeichert [2,3]. Die Ground-Truth besteht aus abstrahierten Assembler-Instruktionen und liefert Aufschluss über die Instruktionen, die Struktur und den Programmfluss des erzeugten Maschinencodes.

Aufgabe
Die Hauptaufgabe der Studierenden ist die in [1] angewandte Methodik zur Erzeugung der Windows Binaries und deren Ground-Truth zu verstehen. Anschließend soll die Gruppe eine eigene Datenbank von Windows Binaries und deren Ground-Truth Disassemblies erzeugen. Dazu zählt die Abbildung der Instruktionen, Funktionen, Basic-Blocks und Datensegmente innerhalb des Codes. In einem zusätzlichen Schritt kan die Datenbank um andere Quellen erweitert werden.

Die richtige Erkennung und Auszeichnung von Funktionsgrenzen ist dabei ein wesentlicher Teilaspekt. In einem nächsten Schritt soll die Gruppe versuchen weitere verwertbare Meta-Informationen wie Kommentare, String-basierte Ausgaben, Funktionsnamen und Klassennamen erweitern. Dazu gehört auch der Entwurf und die Implementierung der Datenstruktur und Ablagetechnik.

Lerninhalte
Die Studierenden beschäftigen sich mit verschiedenen Aspekten der Systemnahen Programmierung, der Funktionsweise von Disassemblern, Compilern und Aspekten der statischen Programmanalyse. Die Aktualität und Relevanz des Themas wird durch [1] unterstrichen.

Quellen
[1] Andriesse, Dennis, et al. “An In-Depth Analysis of Disassembly on Full-Scale x86/x64 Binaries.” USENIX Security Symposium. 2016.
[2] https://msdn.microsoft.com/en-us/library/yd4f8bd1(vs.71).aspx
[3] https://github.com/Microsoft/microsoft-pdb


Anti-Forensik Toolkit

Im Zuge der Aufklärung und dem Nachweis einer strafbaren bzw. rechtswidrigen Handlung besteht die Aufgabe der Forensik darin, digitale Spuren gerichtsverwertbar zu sichern und auszuwerten [1]. Hierbei muss sich der IT-Forensiker auch mit dem Thema der digitalen Anti-Forensik auseinandersetzen. Technisch versierte Straftäter versuchen dabei belastende Daten auf dem System zu verschleiern oder den Ermittlungsprozess zu behindern.

Aufgabe
Ziel des Projektes ist die Entwicklung eines Python-Toolkits zur Ausführung Anti-Forensischer Maßnahmen auf Dateisystemebene [2]. Hierbei sollen die Studierenden das Konzept gängiger Data-Hiding Techniken [3] nachvollziehen und implementieren. Zu den Aufgaben des Projekts zählt, neben der Recherche einschlägiger Literatur, Einarbeitung und Programmierarbeit, ebenso eine Ausführliche Evaluierung und Dokumentation der Projektergebnisse.

Quellen
[1] https://www.bsi.bund.de/ContentBSI/grundschutz/kataloge/m/m06/m06126.html
[2] Carrier, Brian. File system forensic analysis. Addison-Wesley Professional, 2005
[3] Kevin Conlan, Ibrahim Baggili, and Frank Breitinger. Anti-forensics: Furthering digi-
tal forensic science through a new extended, granular taxonomy. Digital Investigation,
18:66–75, 2016.