Freitag, 21. November 2008

News

präsentiert von: entwickler.com
Donnerstag, 26. Januar 2006

About Security #41: HTTP-Proxy-Logfiles manuell auswerten, 2

Ob die Einträge im fiktiven HTTP-Proxy-Logfile in About Security #40 Hinweise auf einen Angriff sind oder nicht und ob ein eventueller Angriff erfolgreich war, lässt sich allein aus dem protokollierten URL nicht erkennen. Wie man Angriffe erkennt, erfahren Sie in dieser Folge.

Wurde ein verdächtiger URL gefunden, lautet die erste Frage, ob der jeweilige HTTP-Request vom Web-Proxy abgewiesen oder weitergeleitet wurde. Die entsprechende Information ist Bestandteil des HTTP-Proxy-Logfiles. Bei einem abgewiesenen Request ist die Sache erledigt. Wurde der Request weitergeleitet, geht die Analyse weiter: Wurde er vom Webserver beziehungsweise der betreffenden Webanwendung verarbeitet und beantwortet oder nicht? Die Antwort auf diese Frage liefern die Logfiles des Webservers und der Webanwendung.

N E U ! Security aktuell
Täglich aktuelle Security-Infos!

Im Folgenden werden noch einige der verdächtigen Einträge aus dem Beispiel in About Security #40 betrachtet.

Schwachstellen in Webanwendungen

In Zeile 3 wurde versucht, eine SQL-Injection-Schwachstelle auszunutzen, um die Authentifizierung zu umgehen. Steht fest, dass das betroffene Skript keine solche Schwachstelle enthält, sind keine weiteren Aktionen notwendig. Bestehen Zweifel, kann ein eventuell vorhandenes Logfile der Webanwendung weiterhelfen: Ist dort ein entsprechender fehlgeschlagener Authentifizierungsversuch vermerkt, war der Angriff erfolglos. Steht kein Logfile zur Verfügung oder enthält ein vorhandenes Logfile keinen entsprechenden Eintrag, muss die Webanwendung auf eine SQL-Injection-Schwachstelle untersucht werden. Als erster Test kann dazu ein entsprechender Parameter, zum Beispiel te'st, übergeben werden, um einen SQL-Fehler zu provozieren. Zwar könnte in diesem Fall auch der Parameter ' OR 1=1 -- aus dem URL übernommen werden, dies könnte jedoch zu unerwünschten Nebenwirkungen führen (siehe z.B. hier). Außerdem sollte grundsätzlich nie ein verdächtiger URL zum Testen aufgerufen werden.

Wird eine SQL-Injection-Schwachstelle gefunden, sollte davon ausgegangen werden, dass der Angreifer erfolgreich war und das betreffende System kompromittiert ist. Die dann notwendigen Maßnahmen sollten vorab in einer Sicherheitsrichtlinie festgelegt worden sein. Die Entwicklung so einer Security Policy wird ab About Security #53 beschrieben.

Ob der Cross-Site-Scripting-Angriff in Zeile 7 möglich war, kann über einen einfachen Test geprüft werden. Als id wird %3Cscript%3Ealert%28%2CTest%2C%29%3C%2Fscript%3E übergeben, was dekodiert <script>alert('Test')</script> entspricht. Erscheint die Alertbox, ist das System für Cross-Site Scripting anfällig.

Um eine weitere Ausnutzung gefundener Schwachstellen zu verhindern, muss die Webanwendung entsprechend geändert werden. Ist dies nicht möglich, können die jeweils gefährlichen Zeichen auch durch den HTTP-Proxy ausgefiltert werden. Dies hat den Nebeneffekt, dass die Belastung des Webservers bzw. der Webanwendung sinkt, da sie nur noch harmlose Anfragen erhalten.

Einschleusen von Code

Ob der sehr lange Parameter in Zeile 5 einen Pufferüberlauf ausgelöst hat, kann in den Logfiles des Webservers, der Webanwendung und deren Betriebssystemen geprüft werden. Kam es tatsächlich zu einem Pufferüberlauf, ist zu prüfen, ob Code eingeschleust wurde, d.h. ob der übergebene Parameter Shellcode enthielt.

About Security: Die komplette Serie

Die Angriffsversuche der Würmer Code Red (Zeile 6) und Nimda (Zeile 8) stellen nur eine Gefahr dar, wenn der Webserver verwundbar ist. Entsprechende Systeme sollten 2006 extrem selten sein. Interessanter ist die Frage, wie beim Auftauchen eines neuen Wurms reagiert wird. Es müssen laufend die entsprechenden Informationsquellen überwacht werden, um frühzeitig Gegenmaßnahmen einzuleiten. Dazu gehört zum Beispiel eine Anpassung der Regeln des HTTP-Proxy und/oder des Paketfilters, eine Aktualisierung des eingesetzten Virenscanners bzw. von dessen Daten oder das Installieren verfügbarer Patches für bekannt gewordene Schwachstellen.

Besteht der Verdacht, dass ein Angriff erfolgreich war und Code eingeschleust wurde, müssen sofort entsprechende Maßnahmen eingeleitet werden. Dabei sind zwei zum Teil im Widerspruch zueinander stehende Ziele zu verfolgen: Das betroffene System soll schnellstmöglich wieder einsetzbar sein, während gleichzeitig möglichst keine Spuren des Angriffs vernichtet werden sollen. Die notwendigen Maßnahmen werden das Thema eines zukünftigen Features sein.

HTTP Response Splitting

Um die Auswirkungen des HTTP-Response-Splitting-Angriffs in Zeile 12 zu ermitteln, müssen die Logfiles aller beteiligten Systeme kontrolliert werden: Entspricht die Antwort auf den HTTP-Request dem erwarteten Ergebnis oder wurde etwas anderes zurückgegeben? Außerdem kann das betroffene Skript geprüft werden. Ist die Beseitigung einer gefundenen Schwachstelle nicht möglich, kann eventuell die in About Security #20 beschriebene Gegenmaßnahme angewandt werden. Weitere Erklärungen zu den Beispielen 4, 9 und 10 aus About Security #40 finden Sie im Forum, wo Sie außerdem über das Feature diskutieren können.

Einen Schutz vor Angriffen bieten auch Intrusion-Detection- beziehungsweise Prevention-Systeme, die ab der nächsten Folge vorgestellt werden.

Wenn Sie Fragen oder Themenvorschläge haben, können Sie diese gerne an die angegebene E-Mail-Adresse senden oder im Security-Forum einbringen!

Carsten Eilers

About Security – Übersicht zum aktuellen Thema "Logfiles"

Kommentare

Ihre Meinung ist uns wichtig!
Mobile Computing Heute & Morgen!
Nehmen Sie an unserer Umfrage zum Thema Mobile Computing in Deutschland teil und nutzen Sie die Chance eine Casio Exilim EX-Z1050-Digitalkamera zu gewinnen!
OpenOffice.org Spezial

Konferenzen

JAX Asia 2008

JAX Asia 2008

25.-28. November 2008
Singapore, Kuala Lumpur, Jakarta

BASTA! Spring 2009

BASTA! Spring 2009

23.-27. Februar 2009
Maritim Rhein-Main Hotel Wissenschaftsstadt Darmstadt

BASTA! Italia 2009

BASTA! Italia 2009

16.-18. März 2009
Holiday Inn EUR Parco dei Medici, Roma

PHPCon Italia 2009

PHPCon Italia 2009

18.-20. März 2009
Holiday Inn EUR Parco dei Medici, Roma

webinale 09

webinale 09

25.-27. Mai 2009
Berlin

Werbung
Top-Jobs

Software & Support Verlag GmbH

Redakteur (m/w), Vollzeit

Signsoft GmbH

Java-Entwickler (m/w)

Endress+Hauser GmbH+Co. KG

Entwickler Datenbanksysteme (m/w)

Software & Support Verlag GmbH

Volontär (w/m) Redaktion, Vollzeit

Software & Support Verlag GmbH

Lektor (m/w), Vollzeit

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

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