Open Topics
Available Theses Topics (mostly in German)
Implementation eines Mix-Netzes als SDN
Mix-Netze sind Overlay-Netze, die den Prinzipien eines klassisches Netz entsprechen, d.h. jede Komponente muss einzeln überwacht, instand gehalten und angepasst werden. Sogenannte SDNs (Software-Defined Networks) zählen ebenfalls zu den Overlay-Netzen, bieten jedoch neue Möglichkeiten der Instandhaltung und Anpassung durch die zentrale Kontrolle aller Komponenten. Anforderungen können in SDNs effizienter und flexibler angepasst werden, wodurch sich u.a. die Skalierbarkeit, Fehlertoleranz oder Evaluation neuer Einstellungen einfacher gestaltet.
Bisher bestehende generische Fehlertoleranzmechanismen für verteilte Systeme sind nicht auf Mix-Netze anwendbar. Spezifische Ansätze, die die Fehlertoleranz in Mix-Netzen verbessern, tun dies entweder auf Kosten der Anonymität oder verschieben den Angriffsvektor auf andere Komponenten, die oft einen Single Point of Failure darstellen. Mit der Einführung von SDNs bieten sich neue Möglichkeiten der Fehlerdetektion und -behebung sowie der Angriffsdetektion und -behebung.
Innerhalb dieser Abschlussarbeit soll
- ein Mix-Netz als SDN implementiert werden,
- neue Möglichkeiten der Fehlertoleranz für dieses Netz betrachtet werden,
- eine Evaluation hinsichtlich Anonymität und Verfügbarkeit des Netzes erfolgen.
Development of sandboxed applications and their effect on software attack surface
Modern application development faces significant challenges when dealing with complex code that parses untrusted data. In recent years, browser developers have shown that sandbox technologies can significantly increase application security when code is split into restricted sub processes. This project aims to explore the effects of native sandbox technologiesi. By implementing this technology in open source projects and testing the effects of the implementation using back ported vulnerabilities of past releases, the security effects of using this approach are researched. A comprehensive comparison with alternative security solutions is conducted afterwards.
Tasks:
- Research on the topic of application isolation and mandatory access control
- Implementing a sandbox architecture into a open source project
- Penetration testing the target application with backported vulnerabilities and the implemented privilege separation
- Comprehensive comparison of the application security with different security solutions based on the previous test results.
Datensynthese als moderne Alternative zur syntaktischen Anonymisierung
Auch wenn personenbezogene Daten für die Forschung eine wertvolle Informationsquelle darstellen können, können diese Daten aufgrund des zu beachtenden Datenschutzes nicht uneingeschränkt geteilt werden. Einen Ausweg bietet die Anonymisierung der Daten. Klassische syntaktische Anonymisierungsverfahren wie die k-Anonymität werden dabei vergleichsweise gut verstanden. Jedoch ermöglichen syntaktische Verfahren Angreifern, deterministische Aussagen über die Rohdaten zu folgern.
Eine moderne Alternative stellen die Datensynthese dar. Dazu wird die Verteilung der Daten anhand der gegebenen Daten approximiert und aus dieser Approximation ein neuer, künstlicher Datensatz generiert. Angriffe auf diese Verfahren sind meist probabilistisch, sodass ein Angreifer Aussagen über die Rohdaten nur unter Unsicherheit treffen kann.
Ziel dieser Arbeit ist es, einen Überblick über Verfahren der Datensynthese sowie Angriffe auf diese Verfahren zu gewinnen, welche ähnliche Rahmenbedingungen wie ihre Pendants der syntaktischen Anonymisierung erfordern. Anschließend sollen ausgewählte Verfahren und Angriffe implementiert werden, um diese anhand von Anonymisierungs- und Nützlichkeitsmetriken mit bestehenden Verfahren der syntaktischen Anonymisierung zu vergleichen. Mögliche Auswahlkriterien umfassen dabei die Abdeckung unterschiedlicher technologischer Ansätze - zum Beispiel statistische Anfragen oder machinelles Lernen - oder unterschiedlicher Datenschutzgarantien.
Kenntnisse in der Wahrscheinlichkeitsrechnung oder Statistik werden empfohlen.
Automatischer Vergleich zwischen Protokollbeschreibung und Code - Implementation
In der Kryptographie werden oft bestimmte Protokolleigenschaften wie z.B. die Sicherheit von personenbezogenen Daten theoretisch bewiesen. Bei der Umsetzung in praktischen Programmcode können allerdings Fehler passieren, die für unerwartete Sicherheitslücken sorgen. Es gibt bereits verschiedene Tools, die unter anderem mit Hilfe von künstlicher Intelligenz die Korrektheit von Programmcode beurteilen sollen (z.B. [PSS98;Kan+20;Sam+21]). Es wirkt naheliegend, darauf aufbauend auch automatisch prüfen zu wollen, ob der Programmcode einer gegebenen Protokollspezifikation entspricht. In einer Vorarbeit wurden bereits mögliche Anforderungen an ein Tool aufgestellt, das eine Protokollbeschreibung und den zugehörigen Code vergleicht. Zusätzlich wurden mehrere Techniken herausgearbeitet, die dafür genutzt werden könnten.
Diese Arbeit soll einen Prototypen des Tools implementieren und anhand der gegebenen Anforderungen sowie weiterer Metriken evaluieren. Die konkrete Auswahl der Techniken ist dabei freigestellt, sollte jedoch sinnvoll begründet werden. Nach Möglichkeit sollen verschiedene Techniken getestet und miteinander verglichen werden. Ebenfalls kann eine rein KI-basierte Variante des Tools als Vergleich implementiert werden.
Referenzen:
[PSS98] Amir Pnueli, O Shtrichman, and M Siegel. The Code Validation Tool(CVT). In: International Journal on Software Tools for Technology Transfer(STTT) 2.2 (1998), pp. 192–201.
[Sam+21] Michael Sammler et al. RefinedC: automating the foundational verification of C code with refined ownership types. In: Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation. PLDI 2021. Virtual, Canada: Association for Computing Machinery, 2021, pp. 158–174.