DoS (Denial of Service) to atak, którego celem nie jest kradzież danych, tylko zwykłe odcięcie usługi od użytkowników. Napastnik zalewa serwer, aplikację albo łącze taką ilością ruchu lub żądań, że maszyna nie nadąża z odpowiadaniem i albo zwalnia do bólu, albo kładzie się całkowicie. Kluczowe w klasycznym DoS jest jedno źródło — atak leci z jednej maszyny (albo jednego IP). Gdy źródeł jest wiele tysięcy, mówimy już o DDoS (Distributed Denial of Service), o czym za chwilę.
Jak to działa
Pomysł jest prosty: każdy serwer ma skończone zasoby — CPU, RAM, liczbę otwartych połączeń, przepustowość łącza. DoS celuje w to wąskie gardło. Możesz zalać cel pakietami (atak wolumetryczny), wysyłać żądania, które otwierają połączenie i nigdy go nie kończą (np. SYN flood wykorzystujący three-way handshake TCP), albo uderzać w warstwę aplikacji — wysyłać kosztowne zapytania, które każą serwerowi mielić bazę danych przy każdym requeście.
Sztuka po stronie atakującego polega na asymetrii: jedno tanie żądanie ma wygenerować jak najwięcej pracy po stronie ofiary. Dlatego ataki aplikacyjne (warstwa 7) bywają groźniejsze niż samo zalewanie łącza — wystarczy mniej ruchu, żeby położyć źle napisany endpoint.
Przykład z praktyki
Najprostszy test obciążeniowy własnego serwera (na maszynie, do której masz prawo!) zrobisz narzędziem hping3:
hping3 -S --flood -p 80 192.0.2.10
Flaga -S ustawia pakiety SYN, --flood wysyła je tak szybko, jak się da, a -p 80 celuje w port HTTP. Do testów warstwy aplikacji ludzie sięgają po slowloris, który utrzymuje masę półotwartych połączeń i wyczerpuje pulę workerów serwera, nie generując prawie żadnego ruchu.
Częste mity i pułapki
- DoS to nie włamanie. Nikt nie wchodzi do środka ani nie wykrada danych — usługa jest po prostu niedostępna. Czasem jednak DoS bywa zasłoną dymną dla prawdziwego ataku.
- DoS to nie DDoS. DoS leci z jednego źródła, więc łatwo go zablokować jednym wpisem w firewallu. DDoS jest rozproszony (botnet, tysiące IP) i dlatego dużo trudniejszy do odfiltrowania.
- „Mam firewall, jestem bezpieczny” — niekoniecznie. Atak wolumetryczny może zatkać samo łącze, zanim ruch w ogóle dotrze do twoich reguł. Tu pomaga dopiero ochrona po stronie sieci/CDN.
Pojęcia powiązane: DDoS, botnet, SYN flood, rate limiting, firewall, WAF, CDN, three-way handshake TCP.