Bachelor Projekt Systementwicklung SS19

Bachelor PSE ‚IT-Sicherheit‘ im Sommersemester 2019

Im Sommersemester 2019 bietet die Arbeitsgruppe für Biometrie und Internetsicherheit ein Bachelor Projekt Systementwicklung zu einem Aspekt der IT-Sicherheit an.

Interner Bereich: Link

Hinweis: Die Teilnahme des Bachelor-PSE ‚IT-Sicherheit‘ setzt die Abgabe aller späteren Nutzungs- und Verwertungsrechte voraus.

Frontend/Backend-Entwicklung für eine Plattform zur Virtual Machine Introspection

Virtualisierung ist die zentrale Technologie von heutigen Cloud-basierten Infrastrukturen. Systeme zur Erkennung von schadhaften Prozessen sowie forensische Analysen machen sich diese mehrschichtige Architektur zu Nutze. Analysten und Plattformen verwenden Virtual Machine Introspection (VMI) um ein Gastsystem durch ein beherbergendes Hostsystem zu beobachten, zu analysieren oder zu steuern. Speziell bei der Analyse von schadhaften Prozessen kann die Auswertung von systemnahen Ereignissen aufschlussreiche Einblicke in die Auswirkungen und Ziele einer zuvor unbekannten Anwendung liefern. Die heutige Forschung konzentriert sich dabei auf die Verbesserung der Analyse in Echtzeit sowie die Verschleierung der stattfindenden Analyse selbst. [QUELLEN]Die systemnahe Analyse und Protokollierung führt zu erheblichen Datenmengen an unterschiedlichen Ereignissen, Artefakten und Interaktionen. So führt beispeilsweise die Aufzeichnung von Systemcalls eines dedizierten Prozesses zu einer Unmenge an protokollierten Ereignissen. Die Interpretierbarkeit dieser Rohdaten hängt auch maßgeblich von der Aufbereitung sowie der finalen Darstellung der aufgezeichneten Ereignisse ab. Durch die Häufigkeit bestimmter Ereignisse kann die gewählte Darstellungsform erheblichen Einfluss auf etwaige Schlussfolgerungen eines Analysten haben.

Die Bachelor-PSE Gruppe trennt sich im Rahmen des Projekts in zwei kleinere Teilgruppen auf: Eine Frontend-Gruppe (maximal 8 Studierende) definiert zusammen mit einer Backend-Gruppe (maximal 8 Studierende) die geforderten Schnittstellen anhand existierender User-Stories.

Frontend-Gruppe:

Innerhalb der Frontend-Gruppe entwickeln Sie eine webbasierte Anwendung zur Auswertung, Verarbeitung und Visualisierung von protokollierten Ereignissen. Diese Ereignisse werden durch die neu zu integrierende Komponente der Backend-Gruppe zur Verfügung gestellt. Die Kommunikation beider Komponenten soll über eine neu definierte RESTfull-API erfolgen. Die Frontend-Komponente soll anhand aktueller Webtechnologien wie AngularJS, CSS und HTML5 umgesetzt werden. Ziele:
– Realisierung eines Web-Frontends zur Darstellung von protokollierten Ereignissen.
– Realisierung in HTML5, AngularJS, CSS, etc.
– Definition der Schnittstellen zur Kommunikation mit dem Backend
– Entwerfen und Gestalten von Darstellungsmöglichkeiten von komplexen Ereignissen

Backend-Gruppe:

Die Entwicklung basiert auf einem bestehenden ‚Type-1 Hypervisors‘ mit vorhanden Komponenten zur Introspektion eines laufenden Gastsystems. Ziel Ihrer Umsetzung ist die Integration einer Pipeline zur Aufzeichnung, der Vorverarbeitung und dem Versand zuvor protokollierter Ereignisse. Die Backend-Gruppe erarbeitet zusammen mit der Frontend-Gruppe die notwendigen Schnittstellen zur Kommunikation beider Komponenten. Ziele:
– Komponente zur Speicherung von per VMI aufgezeichneten Ereignissen
– Implementierung einer Schnittstelle zur Weiter- bzw. Vorverarbeitung der protokollierten Daten
– Komponente zur Kommunikation mit dem Frontend
– Optional: Integration weiterer Komponenten zur Aggregation/Filterung der Daten
– Optional: die Integration einer Steuerungskomponente des Hostsystems

Gruppenleitung und Koordination

Die Gruppen arbeiten selbstständig aber im engen Austausch miteinander. Ziele werden anhand der gemeinsam definierten Schnittstellen ausgerichtet. Zur Versionsverwaltung und Protokollierung der Arbeitsleistung verwenden wir das durch den Fachbereich zur Verfügung gestellte GitLab. Pro Gruppe koordiniert ein Gruppenleiter die Aufgaben der jeweiligen Gruppe und beide Gruppenleiter koordinieren die Zielsetzung beider Gruppen. Ein Projektleiter ist für die Koordination des gesamten Projektes sowie die regelmäßige Berichterstattung zuständig (einseitiges Protokoll alle zwei Wochen). Der Fortschritt des Projekts wird in zwei Zwischenpräsentation und einer Abschlusspräsentation vorgestellt. Die realisierten Implementierungen sollen zusammen mit einem technischen Bericht abgegeben werden. In den wöchentlichen Gruppentreffen (Anwesenheitspflicht) werden Aufgaben innerhalb der beiden Gruppen koordiniert und Absprachen zwischen beiden Gruppen getroffen. Die Gruppenleiter nutzen die Treffen zur Protokollierung des Fortschritts und möglicher Probleme.

LibVMI/XEN-basierte Analysesystem (DRAKVUF, Quelle):

Syscalls eines gepackten Binaries während der Ausführung: