Blog 24/7

atak odmowy usługi

TAB. 1Hasłoobie formy
Po angielskudenial of service (DoS)
Którą formą pisaćobie formy Obie formy są w obiegu. Przy pierwszym wystąpieniu pisz „polski termin (english term)”, dalej sam polski.
Inne formyatak odmowy dostępu do usługi · atak DoS · atak blokujący usługę
KategoriaSieć i infrastruktura obronna

Atak odmowy usługi (denial of service, DoS) to działanie, przez które uprawnieni użytkownicy nie mogą korzystać z systemu, urządzenia albo zasobu sieciowego [1]. Atak nie musi niczego wykradać ani niszczyć. Sekurak podkreśla, że ataki z tej rodziny nie uszkadzają danych, tylko utrudniają albo uniemożliwiają dostęp do nich [4]. OWASP łączy je wprost z dostępnością, jednym z trzech filarów bezpieczeństwa informacji obok poufności i integralności [3]. Gdy atak prowadzi wiele maszyn naraz, mówi się o DDoS [1].

Jak działa

Każdy serwer ma skończone zasoby: pamięć, czas procesora, gniazda, deskryptory plików, połączenia z bazą danych i miejsce na dysku [2]. MITRE opisuje słabość CWE-400 jako brak kontroli nad przydzielaniem i utrzymywaniem ograniczonego zasobu [2]. Jeśli atakujący może zmusić aplikację do zajmowania zasobów bez limitu, skutkiem jest zwykle odmowa usługi dla pozostałych użytkowników, spowolnienie albo awaria [2].

Atak odmowy usługi może więc polegać na zalaniu celu ruchem albo na znalezieniu jednego żądania, które kosztuje serwer dużo pracy. Druga droga wymaga niewiele ruchu i często wystarcza jej jeden komputer.

RYS. 1Wyczerpanie zasobów serwera

Rodzaje

OWASP dzieli ataki odmowy usługi na trzy warstwy [3].

WarstwaCo wyczerpujePrzykład
sieć (wolumetryczne)przepustowość łącza [3]zalew pakietów, ataki z wzmocnieniem
sesja i protokółzasoby serwera, zapór i load balancerów [3]SYN flood [1], Slowloris [5]
aplikacjazasoby aplikacji, bez dużego pasma [3]HTTP flood, ciężkie zapytania [6]

Powolne połączenia. Slowloris otwiera wiele połączeń i co pewien czas dosyła po jednym nagłówku, nie kończąc żądania; domyślnie co 100 sekund [5]. Serwer trzyma dla każdego połączenia proces albo wątek, aż zabraknie wolnych [5]. Według Sekuraka podatne były serwery Apache 1.x i 2.x, a nginx, lighttpd i IIS były odporne na klasyczną wersję tego ataku [5]. Narzędzie opublikował w 2009 roku badacz RSnake, choć na tę klasę problemów Michał Zalewski zwracał uwagę już w 2007 roku [5]. Atak zużywa mało pasma: według Sekuraka do sparaliżowania serwera wystarcza kilka tysięcy żądań GET, a więc jedna maszyna [5]. Nie potrzeba do tego botnetu, a ruch trudno odróżnić od wolnych, ale prawdziwych klientów.

Błędy w oprogramowaniu. Czasem wystarczy podatność, która powoduje awarię usługi albo nieproporcjonalne zużycie zasobów po jednym żądaniu. Taka podatność dostaje własny identyfikator CVE, jak w przykładzie z WordPressa niżej.

W WordPressie

WordPress generuje strony dynamicznie w PHP, więc każde żądanie, którego nie obsłuży pamięć podręczna, zajmuje proces PHP i połączenie z bazą. To czyni go wrażliwym na ataki warstwy aplikacji.

CVE-2018-6389. 5 lutego 2018 roku badacz Barak Tawily opisał atak na pliki load-scripts.php i load-styles.php [6]. Parametr load[] przyjmuje listę skryptów lub arkuszy do połączenia w jedną odpowiedź. Powtarzane żądania z bardzo długą listą, obejmującą 181 plików JavaScript, zmuszają serwer do przetwarzania dużej ilości danych, aż przestaje odpowiadać [6]. Według Impervy zespół WordPressa nie wydał poprawki, uznając to za atak na wyczerpanie zasobów, który należy powstrzymywać na poziomie sieci albo zapory aplikacyjnej [6]. Imperva zaleciła ograniczenie dostępu do tych plików do zaufanych adresów IP i limity liczby żądań [6].

Logowanie i XML-RPC. Dokumentacja WordPressa ostrzega, że nawet nieudany atak siłowy może zalać stronę żądaniami [7]. Częstym celem jest XML-RPC, zwłaszcza metoda system.multicall [7]. Wtyczki zabezpieczające działają w PHP, więc pod dużym obciążeniem same zużywają zasoby [7]. Na hostingu współdzielonym przeciążenie jednej strony może dotknąć sąsiednie.

Zagrożenia i skutki

  • Niedostępność strony dla klientów i utrata sprzedaży w sklepie.
  • Błędy przekroczenia czasu i przeciążenie bazy, które utrudniają też pracę w panelu.
  • Obniżenie bezpieczeństwa. MITRE zauważa, że przy wyczerpaniu zasobów niektóre produkty przechodzą w stan otwarty i przestają egzekwować mechanizmy ochronne [2].

Jak się bronić

MITRE zaleca projektować mechanizmy dławienia ruchu, śledzić liczbę żądań od użytkowników i blokować te powyżej ustalonego progu, a także zapewnić, że każda nieudana alokacja zasobu zostawia system w bezpiecznym stanie [2]. To w praktyce rate limiting. MITRE wymienia też silne uwierzytelnianie i kontrolę dostępu, bo ograniczają krąg osób zdolnych wywołać kosztowne operacje, oraz buforowanie wyników zapytań, które zmniejsza obciążenie bazy [2]. OWASP zaczyna od analizy środowiska: bez dobrego zrozumienia własnej infrastruktury trudno dobrać właściwe mechanizmy obrony [3]. Zaleca też redundancję, unikanie pojedynczych punktów awarii i stosowanie komponentów bezstanowych [3].

OWASP dodaje zasady dla aplikacji i infrastruktury [3]:

  • łagodną degradację, czyli zachowanie części funkcji pod obciążeniem [3];
  • unikanie operacji mocno obciążających procesor i solidną obsługę wyjątków [3];
  • limity rozmiaru żądań, przesyłanych plików i danych sesji [3];
  • pamięć podręczną i limity czasu połączeń [3].

Na serwerze Apache przed powolnymi połączeniami chroni moduł mod_reqtimeout, który zamyka niedokończone żądania [5]. Dla WordPressa dokumentacja zaleca ograniczanie żądań do logowania i XML-RPC w serwerze WWW, a najlepiej na brzegu sieci lub w WAF-ie, bo wtedy ruch nie zużywa zasobów serwera [7]. Statyczne zasoby warto serwować przez CDN. CISA radzi też, by przy podejrzeniu ataku najpierw ustalić z administratorem i dostawcą internetu, czy przerwa to atak, czy awaria lub prace serwisowe [1].

TAB. 2

Przypisy

7
  1. [1] Understanding Denial-of-Service Attacks · CISA
  2. [2] CWE-400: Uncontrolled Resource Consumption · MITRE
  3. [3] Denial of Service Cheat Sheet · OWASP
  4. [4] Czym jest atak DDoS? Cz. 1 – podstawowe informacje · Sekurak
  5. [5] Ataki Slow HTTP DoS, cz. 1 – Slowloris · Sekurak
  6. [6] CVE-2018-6389 WordPress Parameter Resource Consumption Remote DoS · Imperva
  7. [7] Brute Force Attacks — Advanced Administration Handbook · WordPress.org
TAB. 3

Hasła w tym artykule

12
TAB. 4

Linkują tutaj

22

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com