0-Day-Exploit
"Apache Killer" friert Webserver ein
Aktuelle Versionen des weit verbreiteten Apache-Webservers können durch Fehler in der Behandlung von Byte-Range-Requests missbraucht werden, um den gesamten Server innerhalb weniger Sekunden zum Stillstand zu bringen.

Der in Perl geschriebene Proof-of-Concept "Apache Killer" wurde bereits auf Full Disclosure veröffentlicht. Das Script baut mehrere HTTP-Verbindungen zu einem Zielsystem auf und sendet HEAD-Anfragen mit einem 1300 Intervalle umfassenden Byte-Ranges-Header:
HEAD / HTTP/1.1
Host: ziel.host.tld
Range:bytes=0-,5-0,5-1,5-2,5-3,5-4,5-5 [...] 5-1297,5-1298,5-1299
Byte Ranges werden im Standard-HTTP 1.1 verwendet, um Teile einer Datei, zum Beispiel zum Fortsetzen eines abgebrochenen Downloads, ausliefern zu lassen. Der Apache-Webserver verbraucht beim offenbar fehlerhaften Parsen der unüblich komplexen Byte-Range-Anfragen innerhalb kurzer Zeit große Teile des Arbeitsspeichers. In unserem Test konnten verschiedene Apache-Versionen auf aktuellen Ubuntu- und Debian-basierten Webservern in wenigen Sekunden zum Stillstand gebracht werden. Die betroffenen Systeme froren vollständig ein und waren auch per SSH nicht mehr ansprechbar.
Gegenmaßnahmen
Bis das Apache-Team offizielle Patches bereitstellt und diese von den Distributionen ausgeliefert werden, gibt es kaum Möglichkeiten, einem erfolgreichen Angriff vorzubeugen. Als Workaround wird das Filtern von mehrstufigen Byte-Range-Anfragen per mod_rewrite vorgeschlagen. Beim Zulassen nur weniger Byte Ranges sollten die meisten Webanwendungen weiterhin funktionieren.
Gravierender ist die komplette Filterung des Range-Headers durch das mod_header-Modul. Bei beiden Methoden muss im Einzelfall geprüft werden, welche Auswirkungen das auf die jeweilige Webseite hat. Insbesondere das Ausliefern größerer Dateien/Medien (Progressive Download) und WebDAV kann durch die Änderungen negativ beeinflusst werden.
Eine weitere Alternative ist das Vorschalten eines Reverse-Proxy-Servers, der entsprechende Anfragen direkt bedient oder filtert.
Die Apache-Entwickler warnen mittlerweile selbst vor dem Problem, das nach ihrer Erkenntnis bereits aktiv ausgenutzt wird. Eine neue, korrigierte Version des Apache-Webservers soll innerhalb von 48 Stunden veröffentlicht werden.
Nachtrag vom 24. August 2011, 21:15 Uhr
Im Skript wird ein HEAD-Request statt eines GET-Requests verwendet. Laut Mailinglisten ist Apache aber durch beide Requests gefährdet. Für einen Angriff ist HEAD die schnellere Variante, da weniger Daten vom Server zum Client gesendet werden.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Nein nein... er wollte nicht das Projekt einstellen, sondern die Webseite. Weil die...
Das sieht Apache selbst aber anders: http://marc.info/?l=apache-httpd-announce&m...
+1.1
wundert mich sowieso dass die Seite grade online ist, und noch keiner den Exploit dort am...