Master Projekt Systementwicklung (Prof. Dr. Baier, Göbel; WS19/20)

Master PSE „Digitale Forensik“ im WS19/20

Im Wintersemester 2019/2020 bietet die Arbeitsgruppe für Biometrie und Internetsicherheit ein Master Projekt Systementwicklung im Bereich Digitale Forensik an. Die Termine und Details zur Lehrveranstaltung werden auf dieser Seite bekannt gegeben.

Folgendes Thema soll in einer Gruppe bestehend aus mehreren Studierenden bearbeitet werden: „Synthetische Erzeugung und forensische Analyse von Netzwerkverkehr“. Das MPSE-Thema lässt sich in zwei Themenbereiche unterteilen: (1) Automatische Generierung von Netzwerkdaten und (2) Teilautomatisierte netzwerkforensische Auswertung der synthetisch erzeugten Daten. Beide Themenbereiche sollen jeweils in Untergruppen bearbeitet werden.

Projektbeschreibung

Hintergrundinformation

Innerhalb der Forensik entwickelt sich auch der Bereich der digitalen Forensik ständig weiter und gewinnt zunehmend an Bedeutung. Die Komplexität neuartiger digitaler Spuren erfordert die Entwicklung und Wartung fortschrittlicher Analysetechniken. Die Wahl geeigneter forensischer Tools durch die Ermittler haben einen großen Einfluss auf die forensischen Gutachten und die Verwertbarkeit vor Gericht. Tatsächlich ist einer der wichtigsten Aspekte der verfügbaren und teils hochkomplexen forensischen Tools die gerichtliche Zulässigkeit und die Beweisqualität. Um vor einem deutschen Gericht zulässig zu sein, müssen IT-forensische (Open-Source-)Werkzeuge grundlegende Kriterien erfüllen: Tools, Techniken und Verfahren sollten zunächst ausführlich getestet werden, um das Auftreten von False Negatives oder False Positives beurteilen zu können (1). Darüber hinaus sollten die Ergebnisse überprüfbar und falsi zierbar sein, um eine mögliche Fehlerquote genau spezi fizieren zu können (2). Weiterhin sollte ein neues Verfahren stets in der wissenschaftlichen Community diskutiert und einem objektiven Peer-Review unterzogen werden (3). Ein wichtiges, aber sehr unscharfes Kriterium ist die Akzeptanz innerhalb der forensischen Community selbst (4) [1].

Um jedoch ein geeignetes Tool (z.B. ein Tool zur netzwerkforensischen Auswertung von pcap-Dateien) auszuwählen und zu bewerten, werden unbedingt geeignete forensische Test- und Evaluationsdatensätze benötigt. Nur mit geeigneten Datensätzen kann das Tooltesting erfolgen, wie es von Carrier [1] vorgeschlagen wurde. Die Arbeitsgruppe Computer Forensic Tool Testing (CFTT) des National Institute of Standards and Technology (NIST) ist für die Entwicklung von Testmethoden verschiedener forensischer Werkzeuge und die Erstellung gleichwertiger Testdaten zuständig [2]. Das NIST de finiert zwei Hauptkriterien, um einen elektronischen Beweis als zulässig zu betrachten: Geeignete Tests damit sollten wiederholbar und reproduzierbar sein.

Eine äußerst wichtige Komponente zur Schaffung einer belastbaren Evaluation ist demnach die Erzeugung und Veröffentlichung von verlässlichen Testdaten auf denen beispielsweise Performance- und Genauigkeitsmessungen von Machine Learning Algorithmen jederzeit wiederholbar und reproduzierbar sind. Die fortschreitende Digitalisierung und Komplexität heutiger Infrastrukturen ermöglicht und erfordert jedoch die Nutzung verschiedenster Akquise- sowie Analyseverfahren. Anspruchsvolle Analysen werden längst nicht mehr nur auf einer Datenquelle gefußt, sondern erfordern die Attribution eines Angriff s anhand eines wiederkehrenden Angriff smusters und die Korrelation verschiedener Informationen aus unterschiedlichen Datenquellen. Dass ein einziger Datensatz längst nicht mehr ausreicht um alle möglichen Arten an Angriffsmuster zu detektieren, zeigt auch das breite Spektrum bereits verfügbarer Datensätze [3]. Gerade die Fülle an existierenden Datensätzen zeigt zudem, dass bestehende Datensätze schnell veralten oder häufig zu akademisch, zu sehr simuliert und dadurch zu unrealistisch oder auch zu sehr anonymisiert sind. Außerdem besteht häufig eine Besorgnis bei der Veröffentlichung von Datensätzen in der digitalen Forensik. Viele Datensätze werden gar nicht erst veröffentlich, z.B. aufgrund von Datenschutzbedenken, fehlenden Ressourcen oder dem fehlenden Verständnis für die Wichtigkeit einer Veröffentlichung [4]. Um solche Bedenken (beispielsweise die Verletzung des Datenschutzes eines Administrators beim Mitschneiden von jeglichen Daten in einem Firmennetzwerk) aus dem Weg zu räumen und um möglichst realistische und aktuelle Datensätze zu erhalten, die sich auch wirklich für zuvor genanntes Tooltesting eignen, werden Daten typischerweise synthetisch erzeugt.

In der Tat ist es bei der Datensynthese äußerst wichtig, möglichst realistische Daten zu erzeugen (beispielsweise Netzwerkverkehr mit allen gängigen Protokollen heutiger Netzwerkumgebungen gepaart mit weiteren Informationen anderer Datenquellen (z.B. Informationen aus den Apache-Logdateien)). Ein möglicher Ansatz hierzu verfolgt das bereits rudimentär implementierte Framework hystck (s. Architektur unten im Bild). Dieses Framework versucht mittels Benutzersimulation ganze Betriebssystemabläufe und Anwendungen zu simulieren, um dadurch eine möglichst realistische Ground Truth zu erzeugen, beispielsweise zur Erzeugung von Netzwerkverkehr und der gleichzeitigen Erzeugung von anderen digitalen Spuren im Betriebssystem.

Ziele

Das übergeordnete Ziel in diesem MPSE ist die Entwicklung und/oder Erweiterung eines Frameworks zur Datensynthese von gutartigem bzw. bösartigem Netzwerkverkehr. Die generierten Testdaten sollen im Anschluss dazu verwendet werden, teilautomatisierte netzwerkforensische Analysen durchzuführen. Das Gesamtprojekt kann beispielsweise in folgende Teilaufgaben unterteilt werden:

  • Recherche zentraler wissenschaftlicher Kontributionen heutiger Systeme zur Erzeugung synthetischer Testdaten.
  • Erarbeitung eigener Maßnahmen zur synthetischen Datengenerierung von Netzwerkverkehr.
  • Konzeption eines geeigneten Stacks bzw. einer Architektur und Implementierung des Datensynthese-Frameworks (Auswahl geeigneter Programmiersprachen, Datenbanken, Speicherformate, Architekturmodell, etc.).
  • Design, Implementierung und Dokumentation des Datensynthese-Frameworks unter Verwendung von Software-Engineering-Praktiken (Requirements Engineering, Erstellung geeigneter Uses Cases, Ziele, Meilensteine, Herausforderungen, etc.)
  • Synthetisierung zusätzlicher digitaler Spuren neben dem aufgezeichneten Netzwerkverkehr zur Durchführung einer möglichst realistischen post-mortem Analyse (beispielsweise Logdateien eines Webbrowsers, Memory Dumps, Syslog-Dateien, etc.).
  • Implementierung einer Möglichkeit, um beliebige weitere Netzwerkprotokolle/Anwendungstypen flexibel hinzuzufügen und zu simulieren.
  • Simulation der Benutzerinteraktionen und Abläufe eines bzw. mehrerer Betriebssysteme.
  • Korrelation zwischen den verschiedenen synthetisch erzeugten Daten, um aus forensischer Perspektive einen Mehrwert zu schaffen.
  • Untersuchung und Implementierung geeigneter Techniken zur Erkennung (bösartiger) Muster bzw. Anomalien und zur forensischen Analyse des generierten Netzwerkverkehrs und aller weiteren generierten digitaler Spuren (z.B. mittels Machine Learning).
  • Untersuchung und Implementierung geeigneter Ansätze mittels kryptographischer Hashfunktionen zur Erkennung ähnlicher übertragener Daten (z.B. mittels Approximate Matching).

Eine mögliche Projektarbeit lässt sich beispielsweise in folgende Teilschritte gliedern: (A) Recherche / Taxonomie, (B) Framework / Plattform / Stack, (C) Datensynthese und (D) Forensische Datenauswertung / Analyse.

Treffen

Während der Treffen wird der Status des Projekts besprochen, Fragen beantwortet, und (falls vorhanden) Probleme gelöst.

Obligatorische Termine

Es wird mindestens 2 Zwischenpräsentationen und eine Abschlusspräsentation geben. Die Termine können sich noch ändern.
Donnerstag, Uhrzeit: 10:15 – 13:30 Uhr (Dauer je nach Bedarf)

  • 2019-10-17 (Kick-Off)
  • 2019-10-31 (Projektbesprechung)
  • 2019-11-14 (Ziele, Projektmanagement, Aufgabenverteilung, Meilensteine, Challenges)
  • 2019-12-05 (Status/Zwischenpräsentation)
  • 2020-01-16 (Status/Zwischenpräsentation)
  • 2020-02-06 (Präsentation und Prüfung)

Weitere Termine

Nach Vereinbarung mit den Dozenten.

Arbeitsraum

Das Studentenlabor im Gebäude D19, Raum 2.03 steht durchgängig zur Verfügung.

Bewertungskriterien

Einreichung

  • Ein Bericht, der die Projektarbeit und die Ergebnisse dokumentiert.
  • Code in einem Versionskontrollsystem (https://code.fbi.h-da.de/).
  • Folien für die mündliche Präsentation.

Prüfung

  • Findet während des letzten obligatorischen Termins statt.
  • Jedes Gruppenmitglied muss einen Teil der mündlichen Präsentation vortragen.
  • Die Dozenten werden den einzelnen Gruppenmitgliedern nach der Präsentation Fragen stellen.

Dozenten

Literatur:

[1] Carrier, Brian. Open source digital forensics tools: The legal argument. stake, 2002.

[2] "Computer Forensics Tool Testing Program (CFTT)" NIST Headquarters, 2019. CFTT.

[3] Ring, Markus, et al. "A survey of network-based intrusion detection data sets." Computers & Security (2019).

[4] Grajeda, Cinthya, Frank Breitinger, and Ibrahim Baggili. "Availability of datasets for digital forensics–and what is missing." Digital Investigation 22 (2017).