Sicherheitsschwachstellen bereits während der Softwareentwicklung identifizieren

ATTRACT »Secure Software Engineering«

Fraunhofer-Förderprogramm

Motivation und Problemstellung

Es vergeht kaum ein Tag, an dem nicht über eine neu entdeckte Sicherheitslücke oder einen erfolgreichen Cyberangriff auf ein Softwaresystem berichtet wird. Dies beschränkt sich nicht länger auf IT-Systeme im Büro, Zuhause oder auf dem Smartphone, sondern betrifft zunehmend auch intelligente technische Systeme, wie z.B. moderne Automobile oder Steuerungen für Industrieanlagen. Innovative Funktionen dieser Systeme werden zunehmend durch Software und eine Vernetzung mit dem Internet realisiert. Durch die Öffnung der Systeme nach außen, werden diese verstärkt zum Ziel von Cyberattacken. Rund 90% der Angriffe erfolgen dabei durch die Ausnutzung von Software-Schwachstellen, die durch eine fehlerhafte Entwicklung entstehen. Das Aufdecken und Beheben dieser Sicherheitslücken erfolgt oft erst im Nachhinein und verursacht aufwendige manuelle Nacharbeiten.

Projektziele und Lösungsansatz

Hier setzt die im Rahmen des Fraunhofer Attract-Programms geförderte Projektgruppe »Secure Software Engineering« an. Ziel ist es, Sicherheitsschwachstellen in der Software bereits während der Entwicklung zu erkennen und Programmierer dabei zu unterstützen, diese zu vermeiden. Dazu wird die Software im Hintergrund automatisch auf Angriffspunkte analysiert und schon während der Eingabe des Programmcodes auf Sicherheitslücken hingewiesen – ähnlich einer Rechtschreibprüfung während der Texteingabe.

Durch die Integration von Verfahren der statischen Quellcodeanalyse in gängige Software-Entwicklungsumgebungen wird z.B. der Fluss von Daten durch eine Software analysiert und festgestellt, ob vertrauliche Daten von Unbefugten ausgelesen werden können. Auch Einfallstore zur unerlaubten Eingabe von Datenbankbefehlen werden erkannt und so verhindert, dass Informationen ungewollt abgerufen, gelöscht oder verändert werden können. Die Ergebnisse der Analysen werden während der Entwicklung direkt im Programmcode angezeigt. Unsichere Codeabschnitte werden optisch hervorgehoben und eine Erläuterung der Sicherheitslücken mit Hinweisen zu deren Behebung angezeigt. Auf diese Weise können Fehler frühzeitig bemerkt, korrigiert und die Angriffspunkte für Hacker gezielt reduziert werden. Sensible Daten werden trotz steigender Vernetzung besser geschützt und Kosten für das nachträgliche Beheben von Sicherheitslücken gesenkt.  

Projektsteckbrief

Projekttitel

Secure Software Engineering

Laufzeit

03/2013-12/2018

Förderung

Fraunhofer Attract

Fördervolumen Gesamt 2,5 Mio €, davon ca. 50% von der Fraunhofer-Gesellschaft gefördert und 50% aus eigenen Institutsmitteln.
Projektleiter

Prof. Dr. Eric Bodden

Ziele
  • Methoden und Werkzeuge, die Softwareentwickler und -architekten dabei unterstützen, Sicherheitslücken zu vermeiden
  • Ansätze zur automatisierbaren Evaluierung von Software
  • Sicherheitsgarantien für Softwarekomponenten und -systeme
  • Einfach interpretierbare Darstellung von Analyseergebnissen
© Fraunhofer

Das Projekt »Secure Software Engineering« ist Teil des Fraunhofer-Förderprogramms »Attract«.