Dort entstanden neue Testwerkzeuge für Android- und Java-Code, die sich direkt in die Entwicklungsumgebung integrieren lassen und neue Analyseverfahren nutzen. Diese ermöglichen es, auch schwer zu findende Fehler im Programm-Code äußerst schnell ausfindig zu machen. Werkzeuge und Verfahren stellt das Fraunhofer-Institut vom seit Montag bis zum kommenden Freitag, 14. März 2014, auf der CeBIT in Hannover in Halle 9 vor.
Testdienste aus Übersee liefern zeitverzögerte Ergebnisse
Viele Sicherheitslücken entstehen durch einfache Programmierfehler, die sich aufgrund der Komplexität heutiger Software-Produkte kaum vermeiden lassen. Oft besteht eine Software aus vielen Programm-Teilen, die von ganz unterschiedlichen Programmierern geschrieben wurden. Das Zusammenspiel der verschiedenen Teile ist für Menschen schon längst nur noch schwer nachvollziehbar. Deshalb nutzen Software-Unternehmen heute Testwerkzeuge, mit denen sich Programmcode automatisch prüfen lässt.
Herkömmliche Schwachstellen-Scanner, die man auf dem eigenen Rechner betreiben kann, finden jedoch nur einfache Fehler. Um komplexere Sicherheitslücken im Programm-Code aufzuspüren, mussten Software-Unternehmen bislang den eigenen Code zum Beispiel von teuren Testdiensten aus Übersee analysieren lassen. Die Ergebnisse erhalten die Unternehmen jedoch erst zeitverzögert, wenn die Entwickler vielleicht schon mit ganz anderen Dingen beschäftigt sind.
Fehler in Millisekunden gefunden
Prof. Dr. Eric Bodden vom Fraunhofer SIT und sein Team am Cybersicherheitszentrum EC SPRIDE haben deshalb effiziente Analyse-Verfahren entwickelt und in Testwerkzeuge integriert. Diese neuen Schwachstellen-Scanner lassen sich auf einfachen Computern betreiben, aber sie sind mächtiger als die teuren Analysedienste und finden mehr komplexe Fehler in kürzerer Zeit. Die CodeScan-Werkzeuge der Darmstädter Forscher liefern die Ergebnisse zum Teil schon in Millisekunden.
Möglich machen das neue Analyse-Verfahren, die auch komplexe Wechselwirkungen im Code schnell prüfen können. „Sichere Software-Entwicklung ist wie ein Labyrinth“, sagt Bodden, „es ist ganz leicht, falsch abzubiegen, aber sehr schwer, den richtigen Weg zu finden. Deshalb nutzen die Unternehmen Testwerkzeuge, um möglichst schnell zum Ziel zu kommen. Mit herkömmlichen Testwerkzeugen können Entwickler aber gerade mal um die nächste Ecke schauen. Mit unseren Tools blicken sie zehn Ecken voraus.“ Die Analyseverfahren lassen sich auf unterschiedliche Programmiersprachen anwenden und auch für bestimmte Aufgaben optimieren.
Scanner für SSL-Schwachstellen
Das aktuelle Analysewerkzeug unterstützt beispielsweise hochkomplexe Datenflussanalysen. Ein einfacheres, aber in der Praxis sehr relevantes Beispiel ist der jetzt veröffentlichte Scanner für SSL-Schwachstellen. Dabei handelt es sich um ein Eclipse-Plug-In, das Programmierer problemlos in typische Entwicklungsumgebungen integrieren können. Das Testwerkzeug hilft App-Entwicklern dabei, fehlerhafte Verwendungen des Secure Socket Layer-Protokolls (SSL) in Android Code zu finden und kann als Open-Source-Software kostenlos genutzt werden. Wie groß das SSL-Problem für Apps ist, zeigte sich im vergangenen Jahr, als das Fraunhofer SIT entsprechende Fehler in zahlreichen Apps entdeckte, die für die Nutzer zum Teil mit großen Risiken verbunden waren.
Der Download ist auf der Website des Fraunhofer-Institut für Sichere Informationstechnologie möglich: https://sit.sit.fraunhofer.de. (asc)