Software Diversity: Mit Vielfalt zu mehr Sicherheit

1 August 2022

Am Forschungsinstitut CODE laufen derzeit etwa 40 Projekte aus verschiedenen Forschungsgebieten in den Bereichen IT-Sicherheit, Quantentechnologien und Smart Data. Im Interview erklären die beteiligten Forscherinnen und Forscher ihre Arbeit sowie mögliche praktische Anwendungsfälle. Heute: Prof. Dr. Stefan Brunthaler über das Projekt „Install-Time Diversity“.

Herr Prof. Brunthaler, in Ihrer Forschung beschäftigen Sie sich unter anderem mit "Software Diversity" – was ist das genau?

Meine Forschung im Bereich Software Diversity beschäftigt sich damit, den Schutzeffekt der Biodiversität im Software-Bereich zu replizieren. Derzeit stellt Software, wie wir sie täglich an unseren Computern, aber auch unseren Smartphones verwenden, eine Monokultur dar. Dies lässt sich zum Beispiel leicht an Apples iPhone illustrieren: Alle iPhones einer beliebigen Version haben 100 % identische Hard- und Systemsoftware. Den negativen Effekt von Monokulturen sehen wir ebenfalls fast täglich: Ein einzelner Angriff betrifft zur gleichen Zeit und in gleicher Weise alle Mitglieder einer Monokultur. Dies führt zwingenderweise zu einer nachteiligen Asymmetrie zwischen Angreifenden und Verteidigenden.

Wie kann Software Diversity gängigen Cyberangriffen entgegenwirken und zu mehr Sicherheit beitragen?

Um erfolgreich zu sein, müssen Angriffe Annahmen über Zielprogramme treffen, welche durch die Diversifizierung von Software ausgehebelt werden können. Wir konzentrieren uns dabei primär auf sogenannte Compile-Time Software Diversity, dabei werden Programme zur Übersetzungszeit von Quelltext in Maschinencode automatisch und transparent diversifiziert, also verschiedene Binärcode-Varianten eines Programms erzeugt. Dieses Verfahren hat den großen Vorteil, dass es kostenneutral ist: Auch große Softwareumgebungen und -systeme können durch einfache Neuübersetzung schnell und effizient geschützt werden.

Durch Software Diversity sind wir erstmals in der Lage, die Asymmetrie zwischen Angreifenden und Verteidigenden auszuhebeln und dadurch ein Gleichgewicht herzustellen. Angriffskosten steigen enorm und Angriffe scheitern häufiger, werden dadurch leichter erkennbar und verlieren so ihren „Stealth“ (d.h. verdeckten) -Charakter, was sich letzten Endes direkt in der sinkenden Attraktivität von hochskalierenden und hochvolumigen Angriffen der derzeitigen Monokultur auswirkt.

"Durch Software Diversity sind wir erstmals in der Lage, die Asymmetrie zwischen Angreifenden und Verteidigenden auszuhebeln und dadurch ein Gleichgewicht herzustellen. Angriffskosten steigen enorm und Angriffe scheitern häufiger."

Dabei ist es aber auch wichtig hervorzuheben, dass Software Diversity im Allgemeinen nur sogenannten probabilistischen Schutz bietet: Eine Grippe-Impfung kann, aber muss nicht vor einer Infektion schützen. Umgelegt auf Software Diversity heißt das, dass manche Angriffe für manche User erfolgreich sein können, aber das Gros der Anwenderinnen und Anwender unversehrt bleibt.

Ist es in der praktischen Umsetzung nicht schwierig, jeden Computer mit einer individualisierten Kopie eines Programms auszustatten?

Jein. Grundsätzlich ist es einfach und kostengünstig, für jeden User eine oder auch mehrere individuell diversifizierte Programme zu erstellen. Der ganz einfache Ansatz leidet aber an mangelnden Netzwerkeffekten, das heißt, Software-Anbieter müssen höhere Distributionskosten in Kauf nehmen. Da die Bits und Bytes eines Programmes von Variante zu Variante verschieden sind, können diese nicht in der „Nähe“ der Anwendenden zwischengespeichert werden und es fallen höhere Transportkosten an.

Unsere Forschung im Bereich „Install-Time Diversity“ greift dieses Kostenproblem auf und schlägt folgende Lösung vor: Verschieden diversifizierte Programmteile werden in einem Programm integriert und erst bei der Installation zusammengesetzt. So können große Programmteile gleich bleiben, aber gleichzeitig für jede Anwenderin und jeden Anwender eine möglichst individuelle Programmvariante erstellt werden. Wir hoffen, mit diesem Forschungsergebnis die Transition unserer international führenden Forschung in diesem Bereich zu erleichtern und dadurch auch die zunehmende Praxistauglichkeit von Diversity unter Beweis zu stellen.

Wie funktioniert die Entwicklung eines solchen diversifizierbaren Programms?

Meine Forschungsgruppe μCSRL verfolgt hier den Compile-Time Ansatz, den ich persönlich als „Sweet Spot“ betrachte: Jedwedes Eingabeprogramm kann unverändert diversifiziert werden, sofern wir einen diversifizierenden Compiler für die in Frage kommende Programmiersprache haben. Glücklicherweise leite ich ein Team von hervorragenden wissenschaftlichen Mitarbeitern, welche unsere aktuellsten Diversifizierungstechniken in modernen Compilern, wie etwa. dem LLVM Compiler Framework, implementiert haben. Dadurch können wir beispielsweise C und C++ -Programme effizient diversifizieren, ohne Änderungen am Quelltext zu erfordern. 

Wird das Konzept der Software Diversity derzeit schon in der Praxis eingesetzt?

Es gibt bereits einige Anbieter und Vorreiter, die die Vorteile von Software Diversity früher erkannt haben als andere. Diese sogenannten „early-adopters“ haben hier einen klaren Vorteil, da sie von vielen Angriffen nicht mehr in gleicher Weise betroffen sind. Wir erleben aber seit 2018 eine enorme Welle an hochentwickelten und hochkomplexen Angriffen, auch auf staatliche Organisationen, etwa durch sogenannte Supply-Chain-Angriffe, oder auch moderne Transient-Execution Angriffe, wie zum Beispiel Spectre, Meltdown und weitere. Gegen diese Angriffsklassen bietet Software Diversity ausgezeichneten Schutz. Mit steigendem Leidensdruck durch Angriffe gewinnt das Konzept zunehmend an Bedeutung. Durch meine über zehn Jahre lange Erfahrung im Bereich von Software Diversity bin ich davon überzeugt, dass diese Art der Verteidigung alternativlos ist.

"Mit steigendem Leidensdruck durch Angriffe gewinnt das Konzept der Software Diversity zunehmend an Bedeutung. Durch meine über zehn Jahre lange Erfahrung in diesem Bereich bin ich davon überzeugt, dass diese Art der Verteidigung alternativlos ist."
Was begeistert Sie an Ihrem Forschungsgebiet – und was schätzen Sie an Ihrer Arbeit am Forschungsinstitut CODE und der Universität der Bundeswehr München?

Um das bekannteste Zitat von Clausewitz zu paraphrasieren: Die Forschung in der sprachbasierten Sicherheit, insbesondere in Software Diversity, ist die Fortsetzung des Compilerbaus mit anderen Mitteln. Meine wissenschaftliche Karriere hat mit der Faszination am Compilerbau begonnen und die Forschung im Bereich der sprachbasierten Sicherheit erlaubt es mir, diese Faszination täglich aufs Neue zu erleben.

Die Arbeit am FI CODE und an der Universität der Bundeswehr München ist aus vielerlei Gründen sehr attraktiv: Wir verfolgen das Kleingruppen-Konzept und genießen dadurch einen ausgezeichneten Kontakt zu Studierenden, das FI CODE vereint eine Vielzahl exzellenter Kolleginnen und Kollegen mit verschiedensten Forschungsschwerpunkten mit ausgezeichneter Ausstattung und wir haben dazu auch noch einen großartigen Campus in einer der lebenswertesten Städte der Welt.


Prof. Dr. Stefan Brunthaler hat seit 2017 die Professur für Sichere Software-Entwicklung am FI CODE der UniBw M inne. Seine aktuellen Forschungsschwerpunkte sind sprachbasierte Sicherheit, Implementierung von Programmiersprachen, Optimierung von Programmiersprachen und die ganzheitliche Konstruktion neuer Datacenter-Architekturen. Im November 2021 wurde Prof. Dr. Brunthaler als Mitglied in die Working Group 2.4 Software Implementation Technology der IFIP aufgenommen.


Ansprechpersonen:

Prof. Dr. Stefan Brunthaler
Forschungsinstitut CODE
Universität der Bundeswehr München
Tel.: +49 89 6004 7330
E-Mail: brunthaler@unibw.de

Lisa Scherbaum
Referentin für Öffentlichkeitsarbeit
Forschungsinstitut CODE
Tel.: +49 89 6004 7307
E-Mail: lisa.scherbaum@unibw.de


Teaserbild: FI CODE/S. Brunthaler