Web Application Security

Den Lücken auf der Spur

30.06.2009
Von Max Ziegler
Fehler in Web-Anwendungen öffnen Angreifern Tür und Tor. Die richtigen Verfahren und Tools helfen Unternehmen, bei der Schwachstellensuche fündig zu werden.

Web-Applikationen sind aus dem heutigen vernetzten Leben nicht mehr wegzudenken: Ob es darum geht, Bücher online einzukaufen, Bankgeschäfte zu erledigen oder auch das lang ersehnte Wunschauto zu konfigurieren - längst sind Web-Anwendungen das Mittel der Wahl. Plattformunabhängige Browser ermöglichen es, von fast jedem Endgerät und von überall aus auf eine Web-Applikation zuzugreifen.

Doch ist nicht alles rosig im Online-Umfeld. Oft gibt es einen straffen Zeitplan, wenn es darum geht, ein neues Release einer Applikation zu veröffentlichen. Wenn es eilt, können sich Fehler einschleichen, die von böse gesinnten Anwendern ausgenutzt werden, um Informationen, Ansehen oder Geld herauszuschlagen. Aber auch gut informierten und erfahrenen Programmierern ohne Zeitdruck können Fehler unterlaufen, die eventuell ernste Folgen nach sich ziehen - im schlimmsten Fall lassen sich Befehle auf den zugrunde liegenden Systemen ausführen oder vertrauliche Daten aus der Datenbank auslesen (siehe auch "Die größten Schwachstellen in Web-Anwendungen").

Grundsätzlich gilt: Je früher solche Sicherheitslücken in der Entwicklungsphase erkannt werden, desto leichter sind sie zu beheben. Um diese Schwachstellen rechtzeitig auszumerzen, empfehlen sich zwei Herangehensweisen. Zum einen handelt es sich dabei um die statische (Quellcode-)Analyse, die auf Basis des produzierten Codes versucht, den Datenfluss zu erkennen und Fehler in Logik und Datenverarbeitung aufzudecken. Zum anderen gibt es die dynamische Überprüfung an einer lauffähigen Applikation, mit der sich dieser Beitrag schwerpunktmäßig befasst.

Das Web-Audit

Die dynamische Überprüfung, das klassische "Web-Audit", umfasst aufwändige manuelle Aufgaben, lässt sich aber auch ein Stück weit automatisieren: Unterstützung leisten hier Web-Applikations-Scanner, mit deren Hilfe viele Schwachstellen in einer Anwendung effizient aufgespürt werden können. Anders als klassische Netzscanner wie beispielsweise "Nessus" oder "Retina", die auf Betriebssystem- und Dienstebene nach Schwachstellen suchen, setzen diese Spezial-Tools auf einer höheren Ebene an und interagieren - ähnlich wie ein Browser - nur über den HTTP(S)-Kanal mit der Anwendung.