Anzeige
Informatik

Für sichere Software: Röntgen statt Passkontrolle

Karlsruher Institut für Technologie

Vertrauen ist gut, Kontrolle ist besser – auch bei der Sicherheit von Computerprogrammen. Statt sich auf „Ausweispapiere“ in Form von Zertifikaten zu verlassen, durchleuchtet die neue Softwareanalyse JOANA den Quelltext (Code) 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.

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

Entscheidend für die Sicherheit geheimer Informationen

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

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.

Anzeige

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.

Feste Schrittfolge an kritischen Stellen

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

Für interessierte Fachleute steht JOANA als Open Source Software zum Download zur Verfügung.

(Karlsruher Institut für Technologie, 26.06.2014 – AKR)

Teilen:
Anzeige

In den Schlagzeilen

News des Tages

NAchglühen von GRB 221009A

Rekord-Ausbruch überrascht Astronomen

Neue fossile Riesenschlange entdeckt

Warum Chinas Großstädte absinken

Landschaft unter dem Thwaites-Gletscher kartiert

Diaschauen zum Thema

Dossiers zum Thema

CeBIT 2014 - Trends und Neuheiten in der Welt der IT

Bücher zum Thema

50 Schlüsselideen Digitale Kultur - Tom Chatfield und Carl Freytag

Die Wunder maschine - Die unendliche Geschichte der Daten- verarbeitung von Herbert Matis

Top-Clicks der Woche