Skip to main content
main-content

26.06.2014 | IT-Sicherheit | Im Fokus | Onlineartikel

Analysetool enttarnt Sicherheitslücken in sicherer Software

Autor:
Andreas Burkert

Trau keinem Programmierer. Um die Sicherheit von Computerprogrammen zu maximieren, wurde ein neues Analysewerkzeug entwickelt. Dieses durchleuchtet 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.

Traut mir, soll das Softwarezertifikat dem Nutzer sagen. Damit wollen Hersteller die Vertrauenswürdigkeit ihrer Computerprogramme bescheinigen. Das aber ist oftmals ein Trugschluss, wie die Springer-Autoren Wolfgang Halang und Rudolf Konakovsky unter anderem in ihrem Buch "Sicherheitsgerichtete Echtzeitsysteme" erwähnen. Weil unbeabsichtigte Programmierfehler die Ursache der meisten Schwachstellen sind, gelingt es Hackern, darüber ins System einzudringen. Vor diesem Hintergrund erproben Wissenschaftler am Lehrstuhl Programmierparadigmen des KIT ein spezielles Analysewerkzeug, um "das tatsächliche Verhalten eines Programms überprüfen“, wie Gregor Snelting erklärt. Er dazu das Programm JOANA mit seinem Team entwickelt.

Im Fokus der Wissenschaftler stehen 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. Das Analysewerkzeug überprüft sämtliche Datenkanäle einer Software, durch die Informationen fließen, und findet dadurch die Sicherheitslücken.

Tool prüft Sicherheit geheimer Informationen

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

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.

Weitere Artikel zum Thema

Snelting erklärt dies an einem vereinfachten 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. Solche Sicherheitslücken erkennt das Analysewerkzeug zuverlässig, obwohl sie schwerer zu identifizieren sind.

Nur keinen Fehlalarm produzieren

Und noch einen weiteren Test muss das Programm bestehen: Denn mindestens ebenso wichtig wie das Aufspüren von Sicherheitslücken 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. Um die Zahl der Fehlalarme für alle Sicherheitslücken – auch für probabilistische Lecks - zu reduzieren, haben die KIT-Wissenschaftler 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.

Das Analysewerkzeug steht als Open Source Software zum Download zur Verfügung.

Die Hintergründe zu diesem Inhalt

01.10.2006 | Schwerpunkt | Ausgabe 10/2006

10 Prinzipien für sichere Software

01.04.2012 | Jobs | Ausgabe 2/2012

Sichere Software ist kein Hexenwerk