Thema: Entwicklung eines Sicherheitsscanners für dynamische Web-Anwendungen
Autor: Dominik Bok
Inhalt: Automatisierte Risikosuche in dynamischen Webseiten
Um die komplizierte und zeitaufwändige Prüfung auf Sicherheitslücken in dynamischen Webseiten zu erleichtern und Risiken frühzeitig zu erkennen, wurde ein „Sicherheitsscanner“ programmiert und praxistauglich getestet.
Dieser durchsucht eine Webseite automatisiert nach Sicherheitslücken und zeigt bestehenden Risiken an, sodass sie geschlossen werden können.
In der heutigen Informationsgesellschaft ist es selbstverständlich geworden, über dynamische Webseiten weltweit zu kommunizieren. Jeden Tag werden über das Internet millionenfach Informationen von Benutzern abgerufen und Daten über Foren, Blogs oder Online-Shops ausgetauscht.
Dynamische Web-Anwendungen eröffnen den Benutzern viele neue Möglichkeiten, die vor einiger Zeit noch nicht denkbar waren. Zudem kann die Verwaltung von Webseiten mittlerweile ohne technische Kenntnisse mit Content-Management-Systemen erfolgen.
Diese Entwicklung birgt allerdings auch Risiken, die erst durch diese dynamischen Systeme möglich werden.
Was steckt hinter der Pressemeldung „Firmenwebseite gehackt“? Warum war die Webseite nicht sicher vor diesem Angriff? Wie können diese Sicherheitslücken (automatisiert) erkannt und geschlossen werden? Diese Fragen haben mich zu meiner Arbeit inspiriert.
Beispiel: Moderne SQL-Injektion auf dem Auto-Kennzeichen eines KfZs
Dynamische Webseiten werden beim Aufruf erzeugt, wobei z.B. neueste Meldungen oder aktuelle Wetterdaten eingebunden werden. Um die Ausgabe individuell an den Benutzer anzupassen, werden Eingaben des Benutzers einbezogen.
Prinzip einer dynamischen Webseite
Beim Aufruf einer solchen Seite stellt der Server die Webseite mittels eines Skripts (Programms) bereit. Bei der Erstellung der Ausgabe werden die Daten aus (SQL-)Datenbanken oder aus Dateien vom Skript zusammengetragen und daraus die Webseiten-Ausgabe erstellt.
Durch Sicherheitslücken könnten sensible Informationen vom Server ausgelesen, verändert oder Zugangssperren umgangen werden (SQL-Injektion).
Des Weiteren könnte Schadcode auf dem Webserver ausgeführt (Inclusion) werden oder auf einer ansonsten vertrauenswürdigen Webseite Fremdcode in der Ausgabe (XSS) enthalten sein.
Bis jetzt wurde das Projekt auf dem Regionalwettbewerb von Jugend forscht 2010 in Friedrichshafen am 25. Feb. präsentiert.
Am 26. März 2010 fand die Präsentation beim Landeswettbewerb in Stuttgart statt - es wurde der 2. Preis im Fachgebiet Mathe/Info erzielt.