Atak CPDoS, który uniemożliwia dostęp do stron obsługiwanych przez CDN

Naukowcy z uniwersytetów w Hamburgu i Kolonii
Opracowaliśmy nowa technika ataku na sieci dostarczania treści i proxy buforujące - CDoS (Odmowa usługi zatruta pamięcią podręczną). Atak umożliwia odmowę dostępu do strony poprzez zatruwanie pamięci podręcznej.

Problem wynika z faktu, że sieci CDN buforują nie tylko pomyślnie zakończone żądania, ale także sytuacje, gdy serwer http zwraca błąd. Z reguły w przypadku problemów z tworzeniem żądań serwer generuje błąd 400 (Bad Request), jedynym wyjątkiem jest IIS, który w przypadku zbyt dużych nagłówków generuje błąd 404 (Not Found). Standard pozwala na buforowanie tylko błędów z kodami 404 (Nie znaleziono), 405 (Metoda niedozwolona), 410 (Zniknęła) i 501 (Nie zaimplementowano), ale niektóre sieci CDN również buforują odpowiedzi z kodem 400 (Złe żądanie), co zależy na przesłane żądanie.

Atakujący mogą spowodować, że oryginalny zasób zwróci błąd „400 Bad Request”, wysyłając żądanie z nagłówkami HTTP sformatowanymi w określony sposób. Nagłówki te nie są brane pod uwagę przez CDN, więc informacja o braku możliwości dostępu do strony zostanie zapisana w pamięci podręcznej, a wszystkie inne ważne żądania użytkownika przed upływem limitu czasu mogą skutkować błędem, mimo że oryginalna witryna udostępnia treść bez żadnych problemów.

Zaproponowano trzy opcje ataku mające na celu wymuszenie zwrócenia przez serwer HTTP błędu:

  • HMO (HTTP Method Override) - osoba atakująca może zastąpić pierwotną metodę żądania poprzez nagłówki „X-HTTP-Method-Override”, „X-HTTP-Method” lub „X-Method-Override”, obsługiwane przez niektóre serwery, ale nie brane pod uwagę w CDN. Na przykład możesz zmienić oryginalną metodę „GET” na metodę „DELETE”, która jest zabroniona na serwerze, lub metodę „POST”, która nie ma zastosowania w przypadku statyki;

    Atak CPDoS, który uniemożliwia dostęp do stron obsługiwanych przez CDN

  • HHO (HTTP Header Oversize) - atakujący może wybrać rozmiar nagłówka tak, aby przekraczał limit serwera źródłowego, ale nie mieścił się w ograniczeniach CDN. Na przykład Apache httpd ogranicza rozmiar nagłówka do 8 KB, a Amazon Cloudfront CDN pozwala na nagłówki do 20 KB;
    Atak CPDoS, który uniemożliwia dostęp do stron obsługiwanych przez CDN

  • HMC (metaznak HTTP) — osoba atakująca może wstawić do żądania znaki specjalne (\n, \r, \a), które na serwerze źródłowym są uważane za nieprawidłowe, ale są ignorowane w sieci CDN.

    Atak CPDoS, który uniemożliwia dostęp do stron obsługiwanych przez CDN

Najbardziej podatny na atak był CloudFront CDN używany przez Amazon Web Services (AWS). Amazon naprawił teraz problem, wyłączając buforowanie błędów, ale dodanie ochrony zajęło naukowcom ponad trzy miesiące. Problem dotyczył także Cloudflare, Varnish, Akamai, CDN77 i
Szybko, ale atak za ich pośrednictwem jest ograniczony do serwerów docelowych korzystających z IIS, ASP.NET, Kolba и Zagraj 1. odnotowany, że 11% domen Departamentu Obrony Stanów Zjednoczonych, 16% adresów URL z bazy danych HTTP Archive i około 30% z 500 witryn internetowych najwyżej ocenionych przez Alexę może potencjalnie stać się przedmiotem ataku.

Jako obejście blokujące atak po stronie witryny można użyć nagłówka „Cache-Control: no-store”, który zabrania buforowania odpowiedzi. W niektórych CDN, np.
CloudFront i Akamai, możesz wyłączyć buforowanie błędów na poziomie ustawień profilu. W celu ochrony można również używać zapór sieciowych aplikacji internetowych (WAF, Web Application Firewall), ale muszą one zostać zaimplementowane po stronie CDN przed hostami buforującymi.

Źródło: opennet.ru

Dodaj komentarz