Von Paderborn ins Silicon Valley: Schwachstellen in Software-Programmen entdecken – möglichst lange, bevor sie Schaden anrichten. Das Fraunhofer-Institut für Entwurfstechnik Mechatronik IEM forscht an Methoden, um Softwarefehler bereits während der Entwicklung zu erkennen und zu beheben. Dabei arbeiten die Forscherinnen und Forscher mit Oracle, einem der weltweit größten Software-Hersteller zusammen. Bereits zum zweiten Mal honoriert das Unternehmen aus dem Silicon Valley die Arbeit des Paderborner Forschungsinstituts mit dem „Oracle Collaborative Research Award“ und einer Förderung von 100.000 $.
Mit verschiedenen Kniffen wird Software heute gegen Angriffe von Hackern abgesichert, etwa durch komplexe Verschlüsselungen. Angesichts der voranschreitenden Vernetzung von privaten Geräten, aber auch von industriellen Maschinen, ist der Aspekt IT-Security notwendiger Bestandteil jedes Engineering-Projektes. Doch bei der sicheren Programmierung von Software und ihrer späteren Einrichtung stoßen selbst erfahrene Entwickler an ihre Grenzen. Studien belegen, dass korrekte und sichere Softwareimplementierung keine Selbstverständlichkeit ist. Ein großes Problem ist hierbei die unsichere Nutzung von Kryptografie, also die Verschlüsselung von Informationen. Aktuelle Studien zeigen auch, dass beispielsweise die große Mehrheit aller Smartphone-Applikationen kryptografische Funktionen auf unsichere Weise benutzt.
„Grammatikprüfung“ für Software
Um Software-Entwickler bei der sicheren Einrichtung von Programmen zu unterstützen, arbeitet das Fraunhofer IEM an Analysetools, die fehlerhafte Implementierung direkt erkennen. Ähnlich wie bei einer Rechtschreib- und Grammatikprüfung in Textverarbeitungsprogrammen erhält der Entwickler Hinweise auf Fehlerquellen. Die Analysetools geben direktes und präzises Feedback und stellen so beispielsweise die korrekte Benutzung von Verschlüsselungsalgorithmen in der Software sicher. „Wir entdecken damit Softwarefehler, lange bevor sie Schaden anrichten können. Unternehmen profitieren von einer schnelleren und effizienteren Entwicklung und können ihren Kunden sichere Produkte von der ersten Version an anbieten“, erläutert Senior-Expertin Dr. Claudia Priesterjahn die Methode, die sich Statische Codeanalyse nennt.
Oracle profitiert von der Arbeit des Fraunhofer IEM derzeit in einem konkreten Projekt. Im Fokus steht die Sicherheit der von Oracle entwickelten Java Runtime Bibliothek für Computerprogramme, die auf mehreren Milliarden Endgeräten wie Smartphones weltweit installiert ist. Um Schwachstellen aus der Java Runtime zu beheben, überarbeiten die Forscherinnen und Forscher Teile der Software-Architektur. Mithilfe der „Grammatikprüfung“ identifizieren sie Sicherheitslücken und entwickeln automatische Analysen, die weitere ähnliche Schwachstellen aufdecken. So minimieren sie die Wahrscheinlichkeit von Angriffen auf die weit verbreitete Software.
“Collaborative Research Award” geht zum zweiten Mal nach Paderborn
Der Software- und Hardware-Hersteller Oracle mit Sitz im Silicon Valley unterstützt die Arbeit des Fraunhofer IEM seit Mitte 2017. Bereits zum zweiten Mal erhalten die Wissenschaftlerinnen und Wissenschaftler den begehrten und mit jeweils 100.000 US-Dollar dotierten „Oracle Collaborative Research Award“. „Oracle ermöglicht uns eine praxisnahe Forschung und tiefe Einblicke in die Softwareentwicklungsprozesse eines Global Players. Für uns ist es eine sehr lohnenswerte Erfahrung, an der Sicherheit der Java Runtime mitarbeiten zu dürfen, denn die Ergebnisse, die wir hier erzielen, werden Millionen von Nutzern zugutekommen“, betont Prof. Eric Bodden, Direktor Softwaretechnik am Fraunhofer IEM und Leiter des gleichnamigen Lehrstuhls am Heinz Nixdorf Institut der Universität Paderborn.
Statische Codeanalyse am Fraunhofer IEM
Das Fraunhofer IEM unterstützt Unternehmen mit folgenden Leistungen:
Absicherung von Systemen gegen Cyberangriffe
Sicherstellung angemessener Verschlüsselung
für Entwickler: Werkzeuge zur Entwicklung angriffssicherer Software
individuell zugeschnittene angriffssichere Softwarelösungen
Weitere Informationen zur Statischen Codeanalyse gibt es hier.