publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
4 skomentuj »

TAGI: apache , serwer www , dos , exploit , full disclosure , http

2011-08-25 10:30  |  Adam Golański

Zabij sobie Apacza: prosty skrypt w Perlu załatwia najpopularniejszy webserwer świata

Zabij sobie Apacza: prosty skrypt w Perlu załatwia najpopularniejszy webserwer świata

Administratorzy serwerów WWW od kilkunastu godzin ścigają się z cyberwandalami, atakującymi ich infrastrukturę za pomocą prostego skryptu w Perlu, uruchamianego z pojedynczego komputera PC. O odkrytej już ponad 4,5 roku temu luce w najpopularniejszym webserwerze świata przypomniał bowiem autor kodu, który w zeszły piątek pojawił się na łamach listy dyskusyjnej Full Disclosure. Jego wykorzystanie pozwala napastnikom na całkowite zawieszenie serwera.

Problem związany jest ze sposobem, w jaki Apache radzi sobie z żądaniami HTTP. Jak wyjaśnia Kingcope, haker, który opisał problem i przedstawił działający exploit, wysłanie do serwerów Apache z serii 1.3.x i 2.x licznych żądań GET, zawierających nakładające się na siebie zakresy bajtów, pozwala napastnikowi na zużycie całej pamięci na docelowym systemie.

„Zachowanie przy kompresji strumieni jest niszczycielskie i może doprowadzić kontrolujący system operacyjny do nieużytku, gdy żądania są wysyłane równolegle. Symptomami może być wykorzystanie pamięci swap i zabijanie procesów httpd” – tłumaczy Kingcope.

Atak to nadużycie normalnego sposobu pobierania dokumentów, wykorzystywanego przez klienty do pobierania jedynie wybranych ich części – faszeruje nagłówek HTTP wieloma takimi zakresami. Metoda ta wykorzystywana jest często przez klienty pobierania plików, aby wznowić pobieranie od wybranego momentu, po jego przerwaniu.

Co ciekawe, o podatności Apache'a na takie ataki pisał już w 2007 roku Michał Zalewski z Google, twierdząc wówczas, że zarówno Apache, jak i serwer IIS są podatne na „obezwładniające ataki DoS”, ze względu na „dziwaczną implementację funkcjonalności zasięgu nagłówka ze standardu HTTP/1.1”. W połączeniu ze skalowaniem okienka danych (RFC 1323), pojedyncze żądanie mogło zmusić serwer do „wygenerowania gigabajtów danych w pustkę”, bez względu na limity rozmiaru pliku na serwerze czy liczby połączeń ustawione przez administratora.

Czemu nic w tej sprawie nie zrobiono w 2007 roku? Zalewski podejrzewa, że prawdopodobnie autorzy webserwera nie zauważyli sprawy, pod nieobecność exploitu. Dopiero teraz, gdy w Sieci łatwo znaleźć zabijający serwer Apache skrypt w Perlu, zareagowali, obiecując wydanie poprawki do końca tygodnia. Nic dziwnego – atak radzi sobie z najpopularniejszą, domyślną, konfiguracją Apache'a.

Póki co administratorzy serwerówApache mogą bronić się przed atakiem za pomocą zmiany kilku opcji konfiguracyjnych – wyłączenia nagłówków Range za pomocą mod_headers, ograniczenia liczby zasięgów przez mod_rewrite i innych. Szczegóły znajdziecie tutaj. Dodatkowo Davide Guerri na łamach Full Disclosure opublikował eleganckie obejście, wykorzystujące mod_rewrite do zablokowania felernych nagłówków.

A co z serwerem IIS? Microsoft twierdzi, że od wersji 6.0, jego webserwer jest odporny na takie ataki, dzięki wbudowanym blokadom.

Pełną analizę ataku znajdziecie na blogu firmy SpiderLabs – blog.spiderlabs.com/2011/08/mitigation-of-apache-range-header-dos-attack.html.

źródło: heise.de, theregister.co.uk

publikuj: Opublikuj w wykop.pl Opublikuj we flaker.pl Opublikuj na OSnews.pl Opublikuj w delicious wydrukuj
4 skomentuj »

Komentarze

  • Glibnes

    #1 Glibnes® 2011-08-25 11:30:53 0

    Dlatego ja od razu na swoim serwerze wybrałem Nginxa a nie Apache.

    IP: 188.116.3.[...] Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0a2) Gecko/20110822 Firefox/8.0a2

  • moncyn

    #2 mncn® 2011-08-25 11:36:14 2

    a2enmod headers; a2enmod rewrite; i dodać

    RewriteCond %{HTTP:range} ^bytes=+(,+){0,4}$

    RewriteRule .* -

    oraz

    RequestHeader unset Range

    IP: 91.150.221.[...] Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0) Gecko/20100101 Firefox/7.0

  • bartkob

    #3 Bartek B.® 2011-08-25 15:13:34 0

    RequestHeader unset Range w httpd.conf działa świetnie. To chyba najprostsze wyjście.

    IP: 77.252.246.[...] Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0

  • nick

    #4 nick 2011-08-26 09:21:23 0

    Co jedynie potwierdza szybkie poradzenie sobie z problemem, a nie tak jak produkty z fabryki Microsoft, które potrzebne są patche wydane dopiero po kilku miesiącach(albo w ogóle)

    IP: 77.253.229.[...] Mozilla/5.0 (Windows NT 5.1; rv:6.0) Gecko/20100101 Firefox/6.0

Uwaga! Możesz zarejestrować się w serwisie i w ten sposób zarezerwować swój nick oraz ominąć konieczność ciągłego odczytywania wyrazów.

Aby dodać komentarz, musisz podać swój nick, treść komentarza oraz poprawnie przepisać oba słowa z obrazka (słowa muszą być rozdzielone spacją).
W treści komentarza można używać języka formatowania BBcode.

Polecane książki

Czytaj Webhosting

Chcesz być na bieżąco z naszymi informacjami? Zapisz się na Newsletter.

Zarejestruj domenę

Sprawdź dostępność swojej domeny:

.pl: 0 zł   .com: 19.90 zł
.com.pl: 0 zł   .eu: 19.90 zł