Quelltextanalyse statt Softwarezertifikate

JOANA sorgt für sichere Software

| Autor / Redakteur: Peter Koller / Peter Schmitz

Während Softwarezertifikate nur die Vertrauenswürdigkeit des Herstellers bescheinigen, lässt sich mit dem Softwareanalyse-Tool JOANA (Java Object-sensitive ANAlysis) das tatsächliche Verhalten eines Programms überprüfen.
Während Softwarezertifikate nur die Vertrauenswürdigkeit des Herstellers bescheinigen, lässt sich mit dem Softwareanalyse-Tool JOANA (Java Object-sensitive ANAlysis) das tatsächliche Verhalten eines Programms überprüfen. (Bild: KIT)

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

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

JOANA in a Nutshell: So funktioniert das Quelltext-Analysetool
JOANA in a Nutshell: So funktioniert das Quelltext-Analysetool (Bild: KIT)

Die Wissenschaftler unterscheiden mehrere Sicherheitslücken: So können beispielsweise direkt lesbare Kopien sensibler Daten nach außen gelangen (explizites Leck) oder nur die Muster, nach denen sie verschlüsselt sind (implizites Leck). Problematisch ist auch, wenn sich geheime Passwörter auf die wahrscheinliche Reihenfolge sichtbarer Informationsflüsse auswirken (probabilistisches Leck) – und daraus rekonstruierbar sind. Ein vereinfachtes Beispiel: Der Befehl ein „rotes L“ zu drucken erreicht einen Drucker zeitgleich mit dem geheimen Passwort für die Zugriffsberechtigung. Lautet das Passwort AB, kommt die Information „L“ in den meisten Fällen kurz vor der Information „rot“ an. Lautet das Passwort BA, ist es genau umgekehrt.. JOANA erkennt auch solche Sicherheitslücken zuverlässig, obwohl sie schwerer zu identifizieren sind.

„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.

Sieben Tipps zur Entwicklung sicherer Software

Fraunhofer SIT Empfehlungen für Softwareentwickler

Sieben Tipps zur Entwicklung sicherer Software

25.04.14 - Die Heartbleed-Schwachstelle hat gezeigt, wie wichtig es ist, die Sicherheit von Software zu verbessern. Konkrete Handlungsempfehlungen dazu diskutierten IT-Experten im Eberbacher Gespräch zu Software Security. lesen

Kommentare werden geladen....

Kommentar zu diesem Artikel

Der Kommentar wird durch einen Redakteur geprüft und in Kürze freigeschaltet.

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 42765898 / Softwareentwicklung)