Samstag, 4. Juli 2009

News

präsentiert von: entwickler.com
Dienstag, 3. Juni 2008

SQL-Injection-Angriffe, wohin man blickt

In letzter Zeit treten besonders häufig SQL-Injection-Angriffe auf, hier ein Überblick und mögliche Gegenmaßnahmen. Über die SQL-Injection-Angriffe, die ASP/ASP.NET-Anwendungen mit JavaScript-Code zum Nachladen von Exploits für verschiedenen Schwachstellen verseucht haben, hatte ich ja bereits am 28. April im Standpunkt Sicherheit berichtet. So wurden z.B. auch die EPG-Daten der ARD manipuliert (siehe auch Standpunkt Sicherheit vom 13. Mai).

Ein Überblick

Die Entwicklung lässt sich z.B. gut im F-Secure Weblog verfolgen:

Oder auch bei Dancho Danchev:

Laut einer Meldung von Heise Security sind inzwischen auch deutsche Websites vermehrt Opfer dieser Angriffe.

Der Angriff

Ein ähnlicher Angriff lief bereits im Januar, die damals verwendeten Methoden wurden vom Internet Storm Center analysiert. Die aktuellen Angriffe folgen dem gleichen Muster: Über SQL-Injection werden alle geeigneten Datenbankfelder mit JavaScript-Code zum Nachladen von Schadcode gefüllt, in der Hoffnung, dass mindestens eines der Felder ohne weitere Prüfung an die Besucher der Webseite ausgegeben wird.

Dabei werden Systemtabellen und z.B. rein numerische Felder ignoriert und nur einem normalen Benutzer gehörende Tabellen und darin Felder mit Textwerten etc. manipuliert. Werden die Werte daraus dann später ohne weitere Bearbeitung oder Filterung an den Benutzer der Webanwendung ausgegeben, wird darüber Schadcode zum Ausnutzen verschiedener Schwachstellen nachgeladen. Aktuell handelt es sich dabei z.B. auch um die aktuellen Exploits für Adobes Flash-Player, siehe den Standpunkt Sicherheit vom 2. Juni.

Gegenmaßnahmen

Außer dem Rat aus dem Standpunkt Sicherheit vom 28. April, die Logfiles nach dem SQL-Injection-Code zu durchsuchen und ggf. eingeschleusten Schadcode aus der Datenbank zu entfernen sowie die SQL-Injection-Schwachstelle in der Webanwendung zu beheben, gibt es drei weitere Schutz- bzw. Gegenmaßnahmen: Zum einen ist der SQL-Injection-Angriff nur erfolgreich, wenn das Benutzerkonto, mit dem die Webanwendung auf die Datenbank zugreift, die Datenbank auch verändern darf. Sind keine Änderungen an der Datenbank notwendig, sollten dem entsprechenden Benutzer alle Rechte außer den notwendigen Leserechten entzogen werden. Zum anderen kann eine Web Application Firewall die SQL-Injection-Angriffe erkennen und abwehren, bevor sie die Webanwendung erreichen.

Außer diesen relativ einfach zu implementierenden Schutzmaßnahmen gibt es noch eine aufwendigere Gegenmaßnahme: Für alle auszugebenden Daten können die gleichen Prüfungen wie für vom Benutzer gelieferte Daten angewendet werden. Unerwünschter JavaScript-Code würde dabei erkannt und ausgefiltert bzw. unbrauchbar gemacht. Am einfachsten ist das für Daten umzusetzen, die keinem HTML- und/oder JavaScript-Code enthalten dürfen. Dann reicht schon das simple Umwandeln von < und > in die entsprechenden HTML-Entities &lt; und &gt;, um unerwünschten Skriptcode unbrauchbar zu machen. Das hat zwar den unschönen Nebeneffekt, das der so entschärfte Schadcode als Quelltext im Browser des Benutzers ausgegeben wird, aber zumindest kann er keinen Schaden mehr anrichten.

Carsten Eilers

Konferenzen

SQLCON 2009

SQLCON 2009

21.-25. September 2009
Rheingoldhalle Mainz

BASTA! 2009

BASTA! 2009

21.-25. September 2009
Rheingoldhalle, Mainz

ShareConnect 2009

ShareConnect 2009

21.-25. September 2009
Rheingoldhalle Mainz

EKON13

EKON13

28.- 2. Oktober 2009
Maritim Rhein-Main Hotel Darmstadt

 W-JAX 2009

W-JAX 2009

9.-13. November 2009
ArabellaSheraton Hotel, München

SOACon 2009

SOACon 2009

9.-13. November 2009
Arabella Sheraton Hotel, München

IPC 2009

IPC 2009

15.-18. November 2009
Kongresszentrum Karlsruhe

WebTech Conference 2009

WebTech Conference 2009

16.-18. November 2009
Kongresszentrum Karlsruhe

Werbung
Top-Jobs

Microsoft Architects Connection

Magazine

Entwickler Magazin - Enterprise Technologies & Business Solutions

Entwickler Magazin

Enterprise Technologies & Business Solutions

dot.net magazin - die unabhängige Quelle für .NET-Technologien

dot.net magazin

Die Quelle für .NET-Technologien

Eclipse Magazin

Eclipse Magazin

Weltweit erstes Magazin für Eclipse-Entwickler

Java Magazin - Internet & Enterprise Technology

Java Magazin

Internet & Enterprise Technology

Ruby on Rails

RailsWay Magazin

Ruby on Rails

CREATE OR DIE - Ein Leben für die Kreativität

CREATE OR DIE

Ein Leben für die Kreativität

Business Technology - Management Magazin

Business Technology

Management Magazin

PHP Magazin - Professional PHP Development

PHP Magazin

Professional PHP Development

Bücher




hosted by HostEurope