Quelltextanalyse statt Softwarezertifikate JOANA sorgt für sichere Software
Vertrauen ist gut, Kontrolle ist besser – auch bei der Sicherheit von Computerprogrammen. Das Softwareanalysewerkzeug JOANA des Karlsruher Institut für Technologie (KIT) überprüft den Quelltext eines Programms und bietet damit neue Möglichkeiten Sicherheitslücken aufzudecken
Anbieter zum Thema

Statt sich auf „Ausweispapiere“ in Form von Zertifikaten zu verlassen, durchleuchtet die neue Softwareanalyse JOANA (Java Object-sensitive ANAlysis) den Quelltext eines Programms. Auf diese Weise spürt sie die Lecks auf, über die geheime Informationen nach außen gelangen oder Fremde von außen in das System eindringen können. Gleichzeitig reduziert JOANA die Zahl der Fehlalarme auf ein Minimum. Das am Karlsruher Institut für Technologie (KIT) entwickelte Analysewerkzeug hat sich bereits in realistischen Testszenarien bewährt. Als Nächstes ist eine industrielle Fallstudie geplant.
Für interessierte Entwickler steht JOANA als Open Source Software zum Download zur Verfügung.
„Gängige Softwarezertifikate bescheinigen die Vertrauenswürdigkeit des Herstellers. Mit JOANA können wir ergänzend das tatsächliche Verhalten eines Programms überprüfen“, sagt Gregor Snelting, der das Analysewerkzeug mit seiner Forschergruppe am Lehrstuhl Programmierparadigmen des KIT entwickelt hat. Das sei deshalb so wichtig, weil die meisten Schwachstellen auf unbeabsichtigte Programmierfehler zurückgingen.
Im Fokus der Wissenschaftler stehen derzeit mobile Anwendungen für Android-Smartphones. Prinzipiell können sie aber fast alle Programme testen, die in den gängigen Sprachen JAVA, C oder C++ geschrieben sind. Zunächst sollen Softwareunternehmen ihre Produkte prüfen lassen können, bevor sie damit an den Markt gehen. Da derzeit noch Fachleute das Einrichten und Bedienen übernehmen müssen, ist JOANA für private Nutzer weniger geeignet.
JOANA überprüft sämtliche Datenkanäle einer Software, durch die Informationen fließen, und findet dadurch die Sicherheitslücken. „Wir unterscheiden zwischen öffentlich sichtbaren Kanälen, die beispielsweise die Nutzeroberfläche abbilden, und geschützten Kanälen, auf die Anwender nicht zugreifen können“, erklärt Snelting. „Für die Sicherheit von geheimen Informationen, wie Passwörtern oder Kontonummern, ist entscheidend, dass sie ausschließlich in geschützten Kanälen befördert werden.“ Wo sich geheime und öffentliche Datenströme kreuzten, sei ein Informationsaustausch prinzipiell möglich und so bestehe Gefahr, dass sensible Informationen weitergegeben würden.
Verschiedene Arten von Sicherheitslücken
„Mindestens ebenso wichtig, wie alle Sicherheitslücken zu finden, ist es, möglichst wenig Fehlalarme zu produzieren“, sagt Snelting. Viele Fehlalarme führten zu einem massiv erhöhten Prüfaufwand oder dazu, dass Alarme ignoriert würden. JOANA reduziert die Zahl der Fehlalarme für alle Sicherheitslücken – auch für probabilistische Lecks. Die KIT-Wissenschaftler haben dafür eine neue Rechenmethode entwickelt (Relaxed Low-Security Oberservational Determinism), die nur an sicherheitskritischen Stellen eine feste Reihenfolge für beobachtbare Prozessschritte vorschreibt. Im obigen Beispiel hieße das, die Information „rot“ muss den Drucker immer vor der Information „L“ erreichen, unabhängig vom Passwort.
„Die Herausforderung war, sicherheitsirrelevante Prozesse von solch strikten Vorgaben auszunehmen“, so Snelting. Andernfalls stiege entweder die Zahl der Fehlalarme, weil jede Abweichung als gefährlich eingestuft würde, oder die Ausführungen eines Programms müssten so massiv beschränkt werden, dass es praktisch nicht mehr nutzbar sei.
JOANA ist bislang weltweit das einzige Softwareanalysewerkzeug, das nicht nur alle Sicherheitslücken findet, sondern auch die Zahl der Fehlalarme minimiert, ohne die Funktionsfähigkeit von Programmen zu beeinträchtigen. Gefördert von der Deutschen Forschungsgemeinschaft haben die KIT-Wissenschaftler rund zwanzig Jahre auf diesem Gebiet geforscht. „Längerfristig könnte mit JOANA geprüfte Software ein neuartiges Zertifikat erhalten, das die Sicherheit des Programmcodes bescheinigt“, sagt Snelting.
:quality(80)/images.vogel.de/vogelonline/bdb/711200/711220/original.jpg)
Fraunhofer SIT Empfehlungen für Softwareentwickler
Sieben Tipps zur Entwicklung sicherer Software
(ID:42765898)