Montag, 1. M�rz 2010


Topthema

Donnerstag, 26. Januar 2006 | Topthema

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

(Link zum Artikel: http://www.entwickler.de/entwicklerde/kolumnen/026501)

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

Folgende Links könnten Sie auch interessieren

  • Hardening Apache  [07.04.2005]
    [http://entwickler.de/zonen/portale/psecom,id,102,buch,337,.html]
  • Das Google Web Toolkit: GWT  [13.08.2008]
    [http://entwickler.de/zonen/portale/psecom,id,102,buch,759,.html]
  • Adding Ajax  [04.02.2008]
    [http://entwickler.de/zonen/portale/psecom,id,102,buch,708,.html]
  • Java Reflection in Action  [26.08.2005]
    [http://entwickler.de/zonen/portale/psecom,id,102,buch,447,.html]
  • Samba-3 By Example  [04.07.2005]
    [http://entwickler.de/zonen/portale/psecom,id,102,buch,416,.html]