DDoS – jak ataki wolumetryczne różnią się od aplikacyjnych i jak się przed nimi bronić?
Spis treści
Atak DDoS może w ciągu kilku minut ograniczyć dostępność strony internetowej, sklepu, systemu obsługi klientów lub innej usługi świadczonej online. Jego skutki nie zawsze wynikają jednak z ogromnej ilości przesyłanych danych. Czasami wystarczy odpowiednio przygotowany ruch, który przeciąży konkretną funkcję aplikacji lub wyczerpie zasoby serwera.
Skuteczna ochrona przed atakami DDoS wymaga więc rozpoznania, z jakim typem zagrożenia mamy do czynienia. Inaczej należy reagować na atak wolumetryczny, którego celem jest zajęcie całej przepustowości łącza, a inaczej na atak aplikacyjny, imitujący zachowanie prawdziwych użytkowników.
Co to jest DDoS?
DDoS, czyli Distributed Denial of Service, to rozproszony atak prowadzący do odmowy dostępu do usługi. Jego celem jest przeciążenie infrastruktury, urządzenia sieciowego, serwera lub aplikacji w taki sposób, aby prawidłowi użytkownicy nie mogli z nich korzystać.
Określenie „rozproszony” oznacza, że atak jest prowadzony jednocześnie z wielu urządzeń. Mogą to być przejęte komputery, serwery, routery, kamery internetowe oraz inne urządzenia IoT, które razem tworzą tzw. botnet. Duża liczba źródeł utrudnia odróżnienie złośliwego ruchu od prawidłowych połączeń i uniemożliwia rozwiązanie problemu przez proste zablokowanie jednego adresu IP.
Atak DDoS – co to oznacza dla firmy?
Niedostępność strony internetowej to tylko jeden z możliwych skutków. Atak może objąć również sklep internetowy, bramę VPN, system pocztowy, portal klienta, serwer DNS, API, platformę płatniczą albo usługę działającą w chmurze.
Dla organizacji może to oznaczać:
- przerwę w świadczeniu usług;
- utratę sprzedaży i zamówień;
- niedotrzymanie parametrów SLA;
- wzrost liczby zgłoszeń do działu wsparcia;
- przeciążenie zespołów technicznych;
- koszty dodatkowego transferu i zasobów;
- utratę zaufania klientów;
- odwrócenie uwagi od równoległego włamania lub kradzieży danych.
Rodzaje ataków DDoS
Najczęściej wyróżnia się trzy podstawowe rodzaje ataków DDoS:
- ataki wolumetryczne;
- ataki na protokoły i zasoby urządzeń sieciowych;
- ataki na warstwę aplikacyjną.
Atakujący może stosować jedną metodę albo łączyć kilka technik jednocześnie. Atak może również zmieniać swój charakter w czasie, aby utrudnić dostosowanie zabezpieczeń.
Czym są ataki wolumetryczne?
Ataki wolumetryczne polegają na wygenerowaniu ruchu o skali przekraczającej przepustowość łącza internetowego, możliwości operatora lub wydajność urządzeń znajdujących się przed chronioną usługą.
Ich intensywność jest najczęściej mierzona w gigabitach lub terabitach na sekundę. Nawet jeżeli serwer jest odpowiednio zabezpieczony i posiada wolne zasoby, legalny ruch może do niego nie dotrzeć, ponieważ łącze zostanie wcześniej całkowicie zajęte.
Do tej grupy zaliczają się między innymi:
- UDP flood;
- ICMP flood;
- ataki refleksyjne;
- ataki wykorzystujące amplifikację DNS, NTP, CLDAP lub inne niewłaściwie zabezpieczone usługi.
W ataku refleksyjnym napastnik wysyła zapytania do zewnętrznych serwerów, podszywając się pod adres IP ofiary. Odpowiedzi trafiają następnie do atakowanego systemu. Jeżeli odpowiedź jest znacznie większa od wysłanego zapytania, dochodzi dodatkowo do amplifikacji, czyli zwielokrotnienia ruchu.
Takiego ataku zwykle nie można skutecznie zatrzymać wyłącznie na lokalnym firewallu. Jeżeli złośliwy ruch wypełni całe łącze, jego filtrowanie musi nastąpić wcześniej – po stronie operatora, dostawcy chmury, sieci CDN albo wyspecjalizowanego centrum oczyszczania ruchu.
Ataki na protokoły i urządzenia sieciowe
Druga grupa obejmuje ataki, których celem jest wyczerpanie tablic połączeń, pamięci lub mocy obliczeniowej firewalla, load balancera, routera albo systemu operacyjnego serwera.
Przykładem jest SYN flood. Atakujący inicjuje bardzo dużą liczbę połączeń TCP, ale nie kończy prawidłowo procesu ich zestawiania. Urządzenie docelowe przez określony czas przechowuje informacje o niekompletnych sesjach, co może doprowadzić do wyczerpania dostępnych zasobów.
W tej grupie ważniejsza od liczby przesyłanych gigabitów może być liczba pakietów lub nowych połączeń obsługiwanych w ciągu sekundy. Łącze nie musi być całkowicie zajęte, aby urządzenie przestało prawidłowo obsługiwać ruch.
Czym są ataki aplikacyjne?
Ataki aplikacyjne, określane również jako ataki warstwy siódmej modelu OSI, są kierowane na konkretną usługę, funkcję lub proces biznesowy. Zamiast wysyłać ogromną ilość przypadkowych danych, napastnik generuje zapytania, które z punktu widzenia sieci mogą wyglądać prawidłowo.
Przykładem jest HTTP flood, w którym botnet wielokrotnie:
- otwiera strony wymagające dynamicznego generowania treści;
- korzysta z wyszukiwarki lub filtrowania produktów;
- wywołuje kosztowne zapytania do API;
- inicjuje logowanie;
- dodaje produkty do koszyka;
- pobiera duże pliki;
- wykonuje operacje angażujące bazę danych.
Pojedyncze zapytanie może wyglądać jak zwykła aktywność użytkownika. Dopiero ich liczba, częstotliwość, powtarzalność lub sposób rozłożenia pomiędzy wiele źródeł wskazują na atak.
Ataki aplikacyjne mogą być skuteczne nawet przy stosunkowo niewielkim transferze. Ich celem jest bowiem przeciążenie aplikacji, bazy danych, mechanizmu uwierzytelniania lub konkretnego zasobu, a nie całego łącza internetowego.
Jak uchronić się przed atakiem DDoS?
Nie istnieje pojedyncze urządzenie ani ustawienie, które zapewni ochronę przed każdym rodzajem DDoS. Skuteczna obrona wymaga połączenia zabezpieczeń działających po stronie operatora, infrastruktury sieciowej oraz samej aplikacji.
Podstawą jest monitoring, który pozwala określić normalny poziom wykorzystania łącza, liczbę połączeń i żądań HTTP, czas odpowiedzi aplikacji oraz obciążenie serwerów i baz danych. Dzięki temu można szybko odróżnić atak od naturalnego wzrostu zainteresowania usługą.
Ataki wolumetryczne powinny być filtrowane poza lokalną infrastrukturą – przez operatora, dostawcę chmury albo centrum oczyszczania ruchu. Warto również wykorzystać CDN i sieć Anycast, które rozpraszają ruch pomiędzy wiele lokalizacji. Serwer źródłowy powinien przyjmować połączenia wyłącznie z zaufanej warstwy pośredniczącej, aby atakujący nie mógł ominąć zastosowanej ochrony.
W przypadku ataków aplikacyjnych pomocne są WAF, mechanizmy ochrony przed botami oraz limity liczby żądań. Szczególnej ochrony wymagają formularze logowania, wyszukiwarki, API, generowanie raportów i inne funkcje angażujące bazę danych lub wykonujące kosztowne operacje. Znaczenie mają również optymalizacja aplikacji, stosowanie pamięci podręcznej, kolejek zadań oraz ograniczeń czasu i liczby jednocześnie wykonywanych operacji.
Najważniejsze elementy ochrony to:
- monitorowanie ruchu oraz wydajności usług;
- ochrona zapewniana przez operatora lub dostawcę chmury;
- wykorzystanie CDN, Anycast i centrum oczyszczania ruchu;
- wdrożenie WAF oraz mechanizmów ochrony przed botami;
- stosowanie limitów zapytań i połączeń;
- zabezpieczenie serwerów źródłowych;
- optymalizacja najbardziej zasobożernych funkcji aplikacji;
- przygotowanie i regularne testowanie procedury reagowania.
Jeżeli atak już trwa, należy ustalić, czy przeciążone jest łącze, urządzenie sieciowe, serwer czy aplikacja. Następnie można zgłosić incydent operatorowi, skierować ruch do centrum oczyszczania, zaostrzyć limity, zablokować atakowane funkcje lub czasowo ograniczyć usługi o niższym priorytecie. Należy również zabezpieczyć logi do późniejszej analizy. Dodatkowo należy wspomnieć, że samo zwiększenie mocy serwerów nie zapewni skutecznej ochrony przed DDoS. Skalowanie może ograniczyć skutki niektórych ataków aplikacyjnych, ale nie pomoże, gdy przeciążone zostanie łącze, a dodatkowo może prowadzić do niekontrolowanego wzrostu kosztów. Skuteczna obrona wymaga wielowarstwowych zabezpieczeń wdrożonych jeszcze przed wystąpieniem incydentu.



