IT-Sicherheit: Die zehn gefährlichsten Schwachstellen in Web-Anwendungen

22.10.2007

2. Injection-Fehler (etwa SQL-Injection)

Das Problem: Werden von Nutzern stammende Daten als Teil eines Befehls oder einer Anfrage an einen Interpreter gesendet, können ihn Hacker mit Hilfe manipulierter Daten dazu bringen, unerwünschte Befehle auszuführen oder Daten zu modifizieren. Injection-Fehler ermöglichen es Angreifern, beliebige, für die Applikation verfügbare Daten zu erstellen, zu lesen, zu aktualisieren oder auch zu löschen. Im schlimmsten Fall kann ein Angreifer die komplette Anwendung sowie die darunter liegenden Systeme kompromittieren und dabei sogar Firewall-Umgebungen umgehen.

Beispiel: Russische Hacker machten sich im Januar 2006 an einer Web-Seite der Regierung des US-Bundesstaats Rhode Island zu schaffen, um Kreditkarteninformationen zu stehlen. Die Übeltäter behaupteten, im Zuge der SQL-Injection-Attacke 53.000 Kreditkartennummern entwendet zu haben, auf Seiten des Hosting-Dienstleisters war allerdings nur von 4.113 die Rede.

Basis-Schutz: Laut Report ist die Nutzung von Interpretern zu vermeiden. Ist der Aufruf eines Interpreters unumgänglich, sollten ausschließlich sichere APIs (Application Programming Interfaces) verwendet werden – dazu zählen die Experten streng typisierte parametrisierte Queries und ORM-Libraries (Object Relational Mapping).