Dieses Projekt bündelt alle unsere Forschungsaktivitäten im Bereich "Software Diversity". Neben der Generalisierung der grundlegenden Prinzipien in Software Diversity auf andere Angriffe und Angriffsklassen, haben wir einen weiteren Fokus auf der Anwendbarkeit von Software Diversity in Hochsicherheits- und Hochverfügbarkeitssystemen.
μCSRL forscht an verschiedenen Themen im Systems-Bereich, mit einem Fokus auf Software Sicherheit und Programmiersprachen, wobei wir insbesondere an Forschungsfragen in der Schnittmenge beider Bereiche verfolgen. Dabei wenden wir sprachbasierte Transformationen an um die Sicherheit von Software zu erhöhen, oder erforschen fortgeschrittene Optimierungstechniken die uns erlauben, Software mit vergleichsweise teuren Sicherheitstechniken auszustatten und das Performance-Profil unverändert zu lassen. |
|
Security |
Programmiersprachen |
Unser Forschungsfokus in der Sicherheitsforschung liegt auf der sog. sprachbasierten Sicherheit. Dabei verfolgen wir das Ziel, Programme durch sprachbasierte Transformationen, z.B. jene die zur Übersetzungszeit angewandt werden, vollautomatisch und transparent abzusichern. Programme, die mit solchen sicherheitserweiternden Transformationen kompiliert werden, bieten effizienten Schutz vor bestimmten Angriffsklassen. International-ausgewiesene Expertise besitzt μCSRL im Bereich Software Diversity. Aus Perspektive der Biologie betrachtet, stellt unser derzeitiges "Software - Ökosystem" eine Monokultur dar. Analog zur Biologie, hat eine Monokultur enorme Nachteile, insb. eine mangelnde Schädlingsresistenz, da ein einziger Angreifer die gesamte Population auslöschen kann. Die erwünschte Resistenz wird durch die sog. Bio-Diversität erreicht, bei der Individuen einer Population untereinander nicht gleich, sondern unterschiedlich sind. Unsere Organisation von Computer Systemen können wir die Monokultur leicht erkennen: Intel CPUs dominieren den Desktop Markt, ARM CPUs den Markt für Mobile Geräte. Bei Betriebssystemen ist nach wie vor Microsoft Windows der Standard im Desktop Bereich; im Mobilfunkbereich sind die Vorherrscher Googles Android und Apples iOS Betriebssysteme. Gleiches gilt analog für Hersteller von Netzwerkequipment und auch für Web Browser. Leider erfahren wir auch im Bereich der Computer Sicherheit die Nachteile der Monokultur: Ein einziger Schädling kann hier durch enorme Skaleneffekte mehrere hundertmillionen Computer angreifen. Durch das Ausnutzen dieser Skaleneffekte gibt die Monokultur daher den Angreifern entscheidende Vorteile. Unsere Forschung auf dem Gebiet Software Diversity versucht den Effekt der Bio-Diversität im Software Bereich zu replizieren. Dabei führen wir zur Übersetzungszeit Zufallsexperimente durch und randomisieren verschiedene Programmeigenschaften. Dabei verfolgen wir das Ziel, dass ein einzelner Angriff nicht mehr alle Systeme in gleicher Art und Weise betrifft und somit einen Paradigmenwechsel auf Seiten der Angreifer erfordert. |
Unsere Forschungsinteressen im Programmiersprachen Bereich konzentriert sich auf zwei Bereiche: 1. Optimierungstechniken und 2. Reduktion der Implementierungskomplexität. Zum einen sind wir an neuartigen Optimierungstechniken für Compiler, Just-in-Time Compiler und Interpretern interessiert, wobei wir nicht nur die Geschwindigkeit von Programmen, sondern auch deren Energieeffizienz verbessern wollen. Wir sind hier besonders an der Optimierung von dynamischen Programmiersprachen, insb. Python und JavaScript, interessiert. Zum anderen erforschen wir neuartige Methoden und Techniken um komplexe Softwaresysteme um ein Vielfaches einfacher implementieren zu können. Dabei sind wir besonders an neuartigen Techniken interessiert, die nicht nur im Kontext kleiner Software Systeme anwendbar sind, sondern bis zu den komplexesten Software Systemen, also neue Compiler, Browser und Suchmaschinen, skalieren. Dabei verwenden wir meta-linguistische Methoden und Techniken, wie sie z.B. in der Programmiersprache Racket zur Verfügung stehen, in Kombination mit verschiedensten Techniken aus dem Bereich der Programmiersprachen Forschung, z.B. Typ Theorie, formale Verifikation, formale Methoden und bekannte Optimierungstechniken |
Forschung an der Professur ...
Das μCSRL Forschungslabor an der Professur für Sichere Software-Entwicklung beschäftigt sich mit der Grundlagenforschung im Bereich Programmiersprachen und Sicherheit um insbesondere auch Software Systeme beliebiger Grösse effizient und kostenneutral abzusichern.
Im Rahmen des "Munich-Decompiler" Projekts erforschen wir komplett neuartige Ansätze um brauchbaren Quelltext aus Programmen in Binärform zu generieren. Im Rahmen der dazu notwendigen Grundlagenforschung verfolgen wir einen ganzheitlichen, komplett neuen Ansatz. Im Laufe des Jahres 2021 werden wir in der Lage sein, weitere Details zur Technik zu publizieren.
Im Rahmen des Projekts "Airborne Cyber-Security Enhancement" (ACSE) erforschen wir in Zusammenarbeit mit der Airbus Defence & Space GmbH neuartige Verteidigungstechniken im Avionik-Bereich.
Das μ-python Projekt umfasst unsere Forschungsaktivitäten im Bereich hoch-optimierender Interpreter, am Beispiel des Python Interpreters. Unsere international anerkannte Expertise in diesem Bereich, unterstrichen durch mehrere Publikationen, hat zu neuartigen optimierenden Interpretern geführt, welche um ein Vielfaches schneller sind, als der Standard Python Interpreter CPython.
In μ-python erforschen wir weitere Optimierungstechniken und stellen speziell optimierte Interpreter anderen Forschungsgruppen zur Verfügung.
Im ersten Quartal 2021 starten wir, μCSRL in Zusammenarbeit mit dem PATCH Labor von Prof. Dr. Johannes Kinder, ein neues, langjähriges Forschungsprojekt im Bereich automatisierter Schwachstellenanalyse durch Fuzzing. Ein neuer, state-of-the-art Rechencluster mit 1000+ CPUs unterstützt diese Forschung und wird dazu beitragen, neuartige Techniken zu erforschen und zu entwickeln.