Der "Apache Killer"

Titus

Goldmember
http://www.golem.de/1108/85965.html

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.
 

rellek

relativ sensationell
Teammitglied
Zumindest in Debian scheint das jetzt gefixt zu sein.
Code:
Fetched 229 kB in 0s (865 kB/s)    
Reading package lists... Done
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  apache2 apache2-mpm-prefork apache2-suexec-custom apache2-utils
  apache2.2-bin apache2.2-common
6 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 2,013 kB of archives.
After this operation, 12.3 kB of additional disk space will be used.
Do you want to continue [Y/n]?
 
Oben