ERC-Projekt "Self-Optimizing Static Program Analysis"

„Software durchdringt unser Leben – aber ihre Unsicherheit ist eine ernstzunehmende Bedrohung. Um zu gewährleisten, dass Softwaresysteme zuverlässig sind, muss man ihren Programmcode überprüfen“, sagt Bodden. Der Informatiker ist führender Experte auf dem Gebiet der sicheren Softwareentwicklung mit besonderem Fokus auf Werkzeugen zur automatischen Schwachstellenanalyse. Hier setzt sein ERC-Vorhaben an: Bodden entwickelt eine Technologie, die Werkzeuge zur Schwachstellenanalysen so produziert, dass sie für die jeweilige Software im jeweiligen Unternehmen optimal funktionieren – und das vollständig automatisiert.

Die statische Programmanalyse, also die automatisierte Prüfung des Programmcodes, ist die wichtigste Technik, um diese Sicherheit zu garantieren. Denn sie ist in der Lage, ein Programm in Bezug auf alle möglichen Eingaben – auch solche von Hackern – zu analysieren, und zeigt Fehler und Schwachstellen wie etwa Datenlecks auf. Bodden: „Obwohl die statische Programmanalyse ein extrem leistungsfähiges Werkzeug ist, hat sie jahrzehntelang um eine breite Anwendung gekämpft. Aber da die EU es Unternehmen nun vorschreibt, Software sicher zu entwickeln, können wir auf diese Technologie nicht mehr verzichten.“ Aktuelle Systeme seien laut Bodden allerdings unzureichend an Entwicklungskontexte angepasst, sodass sie beispielsweise häufig falsche Warnungen ausgeben und somit die Entwickler*innen von den tatsächlichen Schwachstellen ablenken. Schwierig sei das vor allem für wenig erfahrene Softwareingenieur*innen, die statische Analysen in Folge des CRA nun aber künftig durchführen müssen.

For­schungs­an­trag

Mehr über das Ziel, die Herausforderungen und den Ansatz des ERC-Projekts finden Sie in dem Forschungsantrag, den Eric Bodden beim ERC eingereicht hat. Das Dokument kann hier eingesehen werden und kann als Inspiration für weitere Forschungsprojekte dienen.

Zum Antrag

Mo­ti­va­ti­on und Ziel

Verbindliche Sicherheitsanforderungen gesetzlich vorgeschrieben

Das Thema könnte kaum aktueller sein: Da die Anzahl der erfolgreichen Angriffe stetig steigt, hat die EU 2023 einen erweiterten Entwurf für den sogenannten „Cyber Resilience Act“ (CRA) vorgelegt. Dieser zielt darauf ab, Verbraucher*innen und Unternehmen zu schützen, die Produkte mit digitalen Komponenten kaufen. Durch das Gesetz werden verbindliche Cybersicherheitsanforderungen eingeführt; ein unzureichender Software-Angriffsschutz soll dadurch der Vergangenheit angehören. „Mit dem CRA wird eine sichere Software-Engineering-Methode für jedes in der EU verkaufte softwarefähige Produkt unumgänglich. Für viele Unternehmen, die Software entwickeln, wird das allerdings einen radikalen Wandel bedeuten. Um diesen Wandel bewältigen zu können, benötigen sie möglichst automatisierte Werkzeuge“, so Bodden weiter.

 

Technologie analysiert sich selbst

Die Technologie, die Bodden in seinem ERC-Projekt „Self-Optimizing Static Program Analysis“ in seiner Fachgruppe erforschen möchte, soll Abhilfe durch Automatisierung leisten. Denn sie versetzt Nutzer*innen in die Lage, Analysen für jeden gegebenen Anwendungskontext durchzuführen. Relevante Warnungen werden binnen kürzester Zeit gemeldet, ohne dass die Anwender*innen manuell eingreifen müssen. Sie erhalten präzise Berichte für die von ihnen bereitgestellten Programme. „Kein vorheriges Projekt hat sich mit der Idee befasst, diese optimalen Analysen vollautomatisch zu produzieren. Um das zu ermöglichen, werden wir erstmalig statische Analysen entwickeln müssen, die nicht nur Programme, sondern auch sich selbst analysieren und optimieren.“

 

Sicherheit für Millionen von Programmen

Im Ergebnis soll sein Vorhaben dazu führen, dass Software-Ingenieur*innen diese Art der Fehlerdetektion eigenständig nutzen und alle erforderlichen Anpassungen der Analyse automatisch durchgeführt werden können. „Und es soll dazu beitragen, die Millionen von Softwaresystemen zu sichern, auf die wir uns alle zu verlassen gelernt haben“, fasst der Wissenschaftler zusammen. 

Ge­för­dert durch