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.

Artikel veröffentlicht am , Caspar Clemens Mierau/Leitmedium.de
Exploit bei Full-Disclosure veröffentlicht
Exploit bei Full-Disclosure veröffentlicht (Bild: Apache)

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


satriani 26. Aug 2011

Nein nein... er wollte nicht das Projekt einstellen, sondern die Webseite. Weil die...

Bill Gates 25. Aug 2011

Das sieht Apache selbst aber anders: http://marc.info/?l=apache-httpd-announce&m...

Threat-Anzeiger 25. Aug 2011

wundert mich sowieso dass die Seite grade online ist, und noch keiner den Exploit dort am...



Aktuell auf der Startseite von Golem.de
Update für Google Maps
Google Street View kehrt nach Deutschland zurück

Nach 13 Jahren aktualisiert Google die Straßenfotos für Street View. Dafür verschwindet zuerst das gesamte alte Bildmaterial.

Update für Google Maps: Google Street View kehrt nach Deutschland zurück
Artikel
  1. Telekom und VATM: Call-by-Call-Sparvorwahl wird 2024 beendet
    Telekom und VATM
    Call-by-Call-Sparvorwahl wird 2024 beendet

    Call-by-Call-Sparvorwahlen werden trotz VoIP weiter genutzt. Doch VATM und Telekom konnten sich nicht erneut einigen.

  2. Polaris: Bundeswehr will neues Aerospike-Raketentriebwerk
    Polaris
    Bundeswehr will neues Aerospike-Raketentriebwerk

    Den Auftrag für das neue Triebwerk hat die Bundeswehr an das deutsche Start-up Polaris gegeben, das damit in die Luftfahrtgeschichte eingehen kann.

  3. Pharo: Guter Einstieg in die objektorientierte Programmierung
    Pharo
    Guter Einstieg in die objektorientierte Programmierung

    Pharo ist eine von Smalltalk abgeleitete Programmiersprache und gut für alle, die sich mit objektorientierter Programmierung vertraut machen wollen. Eine Einführung.
    Eine Anleitung von Christophe Leske

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • MindStar: Corsair Crystal 570X RGB Mirror 99€, be quiet! Pure Base 500 59€, Patriot Viper VENOM RGB DDR5-6200 32 GB 109€ • Acer XZ322QUS 259€ • Corsair RM750x 108€ • Corsair K70 RGB PRO 135€ • PS5-Spiele & Zubehör bis -75% • Chromebooks bis -32% • NBB: Gaming-Produkte bis -50% [Werbung]
    •  /