Cloud Computing

Sichere Applikationen helfen gegen Datenklau

17.05.2011
Von 
Thomas Pelkmann ist freier Journalist in München.

Programmfehler, Hintertürchen, bewusste Lücken

Im Wesentlichen arbeiten die Tools beim Aufspüren von Schad- und Fehler-Code nach drei Szenarien: Sie suchen zunächst nach schlichten Programmfehlern, forschen aber auch nach (leichtsinnig) eingefügten Hintertürchen, die etwa für spätere Wartungsarbeiten offengehalten werden. Schließlich gibt es auch böswillig erzeugte Lücken, die Angreifern Tür und Tor öffnen sollen. "Insgesamt haben wir 400.000 Kategorien, nach denen wir arbeiten", erläutert von Stackelberg. "Wir schauen uns die Anwendungen an und prüfen, was man im schlimmsten Fall aus schlecht geschriebenem Code machen könnte."

Im Idealfall finden solche Source-Code-Analysen (SCA) bei der Programmierung neuen Codes oder bei Arbeiten an Release-Wechseln täglich statt, um die jeweils aktuellste Arbeit auf mögliche Fehler und Einfallstore für Angreifer zu bewerten. Die Entwickler erhalten dann Übersichten über die gefundenen Fehler und Tipps, wie sie diese Problemzonen behandeln sollen.

Rund 90 Prozent aller Schwachstellen werden bei dieser statischen Source-Code-Analyse aufgestöbert. Allerdings sind darunter auch Schwachstellen, die allenfalls theoretisch Probleme bereiten, in der Praxis aber nicht. Diese im Grunde falschen Alarme ("False Positives") werden jedoch in Kauf genommen, um zu verhindern, dass echte Probleme beim Review übersehen werden ("False Negatives").

Weitere 30 Prozent möglicher Lücken werden nach Fertigstellung des Codes bei so genannten Penetration Tests mit dem Program Trace Analyzer (PTA) und dem Real Time Analyzer (RTA) aufgespürt. Dabei probieren beide Tools im Grunde immer wieder, mit bekannten Methoden in die Anwendungen "einzubrechen". Gelingt das, wird das Wissen dazu genutzt, diese Fehler zu beheben und potenzielle Einfallstore zu verschließen.

Viele der hierbei gefundenen Fehler sind mit den Schwachstellen identisch, die schon bei der Source-Code-Analyse gefunden werden - hier gibt es rund 20 Prozent Übereinstimmung. Demnach mag es unsinnig erscheinen, fertigen Code mit PTA und RTA überhaupt noch zu überprüfen. Das ist es aber nicht: Zum einen stöbern die Tools so genannte logische Fehler auf, die bei einer statischen Analyse nicht zu erkennen sind. Zudem werden hier die vielen False Positives bewertet: Handelt es sich dabei um echte Probleme, die es zu behandeln gilt? Und schließlich sind PTA und RTA die Werkzeuge der Wahl, wenn es um die Überprüfung bereits fertiger Programme geht. "In der Regel fangen wir bei unseren Überprüfungen ja nicht bei Null an", beschreibt von Stackelberg typische Szenarien, wie HP sie in den Unternehmen vorfindet. Viele Anwendungen sind seit Jahren im Einsatz, weisen aber trotzdem Sicherheitslücken auf. Mit den Analyseprogrammen ist es möglich, auch diese Applikationen - sogar im laufenden Betrieb - auf Fehler zu prüfen, die Sicherheitsprobleme hervorrufen könnten.