μ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