Webanwendungen effektiv vor SQL-Injection schützen

Unternehmen setzen viele Technologien ein, um ihre Daten zu schützen. Web-Applikationen gleichen jedoch weniger einer Festung als einem Flughafen, der das Publikum hinein- und mit der Applikation interagieren lässt. Offenheit scheint Sicherheit zu widersprechen. Billy Hoffman von HP beschrieb im Gespräch mit silicon.de, wie trotzdem beides geht.

Am 8. August 2007 übernahm HP die Firma SPI Dynamics, die ein Rezept dagegen hat. Ihre Software und Dienstleistungen für das Sicherheits-Testing von Web-Anwendungen heißen seitdem HP Application Security Center. “Unsichtbar für die Betreiber laufen die internen Daten auf jeder beliebigen Website zusammen”, sagte Hoffman. “Das funktioniert, weil nicht für jedes Produkt eine extra Site gebaut wird. Templates für jedes Produkt reichen oft aus. Sie können aber nur funktionieren, wenn sie auf die Datenbank zugreifen und das tun sie ständig. Der Hacker weiß das. Er scannt eine beliebige Site nach URL-Angaben, die darauf schließen lassen, dass es sich hier um ein solches Template handelt. Es kommuniziert ständig mit der Datenbank. Die Error-Page, die eine bestimmte manipulierte URL auslöst, bestätigt dem Hacker, dass er direkt auf die Datenbank zugreifen kann. Also einen Ort, der normalerweise durch umfangreiche Maßnahmen geschützt ist – er betritt direkt über die öffentliche Website die Datenbank, das Herzstück des Unternehmens.”

SQL-Injection-Software erleichtert ihm diesen Prozess, setzte Hoffman hinzu. Auf diese Weise können die Hacker automatisiert und huckepack auf jeder Anfrage mitreisen und die Struktur der Datenbank erfragen. Im nächsten Schritt werden die Orte und Bezeichnungen der Files abgefragt und schließlich die Daten selbst abgegriffen und ortsfern gespeichert. Mit simplem Try and Error, das ein SQL-Injection-Tool für ihn erledigt, findet der Angreifer heraus, was er wissen will.

Hoffman demonstrierte dies an HP-Daten, Reisekostenabrechnungen, Gehaltstabellen und Spesenabrechnungen. “Jede Firma, denkt, sie ist vor solchen Möglichkeiten sicher – aber jede Firma reagiert sehr schnell positiv auf unsere Produkte, wenn wir ihr die Sozialversicherungsnummern ihrer Angestellten zeigen und sagen, wie wir dazu gekommen sind. Ja, teilweise überzeugen wir unsere potentiellen Kunden indem wir ihnen zeigen, wie eine SQL-Injection bei ihnen aussähe. Mit Mitarbeiterdaten können interne Angreifer einigen Humbug treiben – beispielsweise vertrauliche Informationen nach außen geben oder sich Boni und Gehaltserhöhungen bewilligen, die sie gar nicht verdient haben und ähnliches.”

Dabei kann der Schaden durchaus woanders angerichtet werden und auf die Firma zurückwirken. Hoffman beschrieb, dass das Hacken eines renommierten Nachrichtendienstes wie Reuters fatale Folgen haben kann. “Wenn hier steht, dass eine Firma bald pleite geht, stürzt ihr Kurs in den Keller, weil alle Portale und Zeitungen das aufgreifen. Bis der Konzern geantwortet hat, ist der Angreifer mit Millionen Dollar Kursgewinn auf und davon. Der Imageschaden ist beträchtlich – und es ist viel einfacher in eine News-Site einzubrechen als in eine strikt abgesicherte Site.” Das hat jedoch nichts mit der Qualität des jeweiligen IT-Teams vor Ort, der Firewall und ähnlichen Dingen zu tun, betonte er. Oft handelt es sich um ein Code-Problem. Hier liegt die Wurzel der SQL-Injection-Möglichkeiten.