Atak DoS
Atak DoS (ang. Denial-of-Service, czyli odmowa dostępu) polega na zakłóceniu pracy serwera, poprzez uniemożliwienie jego użytkownikom połączenie się z nim z Internetu. Jeśli atak zakończy się sukcesem, to wytypowany komputer przestanie odpowiadać na zapytania i nikt nie będzie w stanie się z nim połączyć.
Techniki DoS
Istnieje wiele sposobów, na jakie można wyłączyć znajdujący się w Internecie serwer.
Ograniczenie Wydajności
Najpopularniejsze techniki DoS polegają na zasypaniu atakowanego systemu tysiącami fałszywych wiadomości. Zaatakowany serwer zostaje zmuszony do przetwarzania każdej z nich, co czyni go niezdolnym do reagowania na prawdziwe wiadomości od rzeczywistych użytkowników lub klientów.
Wiadomości wysyłane do atakowanego systemu mogą zostać starannie przygotowane w taki sposób, aby sprawić maksymalne trudności przetwarzającemu je atakowanemu komputerowi. Im bardziej skomplikowane będą wysyłane zapytania, tym więcej czasu procesora będzie potrzeba, żeby się z nimi uporać.
Zużywanie Zasobów
Zamiast przesyłania losowych wiadomości, mających na celu jedynie zmuszenie procesora do przetwarzania ich, atakujący może się zdecydować na takie dobranie wiadomości, aby w maksymalny sposób zablokować zasoby pewnego typu, znajdujące się na serwerze. Przykładowo, wiadomości mogą mieć za zadanie zużycie maksymalnej ilości dostępnych połączeń sieciowych hosta, czyniąc go w ten sposób niezdolnym do odpowiadania na inne pakiety otrzymane z sieci.
Przykładem takiego ataku jest tak zwany SYN flood, czyli atak polegający na wysłaniu ofierze tysięcy fałszywych pakietów TCP/SYN. Serwer zostaje zmuszonych do otwarcia oddielnego which force it to open separate połączenia TCP dla każdego z nich.
Analogicznie, wiadomości mogą być zdefiniowane w taki sposób, żeby powodowały zapełnienie się całej pamięci RAM atakowanego systemu lub jego dysków twardych (na przykład, za pomocą dużych ilości logów lub plików raportów błędów).
Zawieszenie Systemu
Trzecim sposobem wyłączenia serwera za pomocą ataków DoS jest zdalne zawieszenie go, przy użyciu jakichś znanych podatności zainstalowanego na nim oprogramowania.
Można to osiągnąć, na przykład, wysyłając niewłaściwie sformatowane wiadomości, z którymi nie poradzą sobie procesy odbierające wiadomość na serwerze. Wiele systemów operacyjnych było podatnych na ataki tego typu, które operowały w Warstwie Internetowej (czyli błędy występowały na poziomie przetwarzania adresów IP).
Atakowanie Poszczególnych Warstw
Tworząc wiadomości we właściwy sposób, napastnik może zdeterminować, które warstwy sieciowe atakowanego komputera będą afektowane w największym stopniu. Zwykle, ataki przeprowadza się przeciwko protokołom warstwy aplikacji lub popularnym protokołom niższej warstwy, TCP lub UDP. Złożoność protokołów wysokiego poziomu pozwala napastnikom konstruować wiele rodzajów skomplikowanych wiadomości, które będą afektować rozmaite podatności bibliotek sieciowych w atakowanych systemach.
Bardziej skomplikowane ataki obierają na cel niższe warstwy modelu sieciowego TCP/IP. Przykładowo, istnieje wiele narzędzi działająsych podobnie do popularnych programów typu ping. Wysyłają one olbrzymie ilości pakietów IP, w celu ograniczenia przepustowości sieci komputerowych. Pakiety mogą być poprawne (wtedy atak nazywa się ICMP flooding, ang. powódź ICMP) lub nieprawidłowe (co prowadzi do tak zwanego ataków Nuke).
Popularnym atakiem przeciwko niskopoziomowym warstwom jest tak zwany ping of death (ang. ping śmierci). Jest to specjalnie sformatowany pakiet ping, który prowadzi do zawieszenia się odbierających go komputerów.
Cel Ataku
Wyłączenie atakowanego komputera może być celem samym w sobie. Jest tak często w przypadku różnego rodzaju ataków politycznych, kiedy napastnicy chcą głównie zamanifestować swoją obecność i postulaty.
Często samo wyłączenie lub utrudnienie pracy wybranego komputera (lub nawet jedynie groźba uczynienia tego) jest wystarczające, jeśli napastnicy planują zażądanie okupu za zaprzestanie ataku.
Istnieją również dużo bardziej skomplikowane ataki DoS, w których wyłączenie usług online jest jedynie pierwszym krokiem. Atak będzie kontynuowany w celu wykorzystania istniejących (lub powstałych w wyniku zakłóconej pracy) podatności atakowanego systemu. Często po usunięciu oryginalnego serwera, napastnicy tworzą ich własny identycznie wyglądający serwer, który ma za zadanie imitowanie oryginalnego w Internecie. Posiadając fałszywą kopię systemu, napastnicy mogą wykorzystać ją do ukradzenia danych jego nieświadomych użytkowników.
Najbardziej szkodliwymi atakami są prawdopodobnie ataki, które skutkują uszkodzeniem sprzętu w afektowanym systemie. Są one nazywane atakami permanent denial-of-service lub phlashingiem. Dobrze zaprojektowany atak może wyłączyć elementy systemu, które są kluczowe dla poprawnego działania urządzeń mechanicznych, uszkadzając je w ten sposób i zmuszając administratorów do przeinstalowania oprogramowania lub wymiany sprzętu.
DDoS (Rozproszony DoS)
Rozproszony Atak DoS (ang. distributed denial-of-service) polega na zalaniu atakowanego systemu wiadomościami wysłanymi równocześnie z olbrzymiej ilości innych maszyn, często znajdujących się w różnych miejscach, czasami rozsianych na całym świecie. Złożoność takiej akcji jest dużo większa, ze względu na konieczność skonfigurowania i skoordynowania bardzo wielu komputerów. Z drugiej strony, moc obliczeniowa wszystkich połączonych urządzeń jest również dużo większa, co czyni takie ataki znacznie niebezpieczniejszymi.
Dzięki zastosowaniu tysięcy komputerów, ilość wysłanych wiadomości, które muszą zostać obsłużone przez atakowany system, jest naprawdę olbrzymia. Obecnie, największe ataki DDoS generują terabity danych na sekundę.
Degradacja Dostępu
Ataki Degradacji Dostępu (ang. Degradation-of-Service) są podobne do typowych ataków odmowy dostępu, z tą różnicą, że ich celem jest nie tyle całkowite zablokowanie serwera, ale raczej utrudnienie jego pracy i zredukowanie wydajności. Ilość wysłanych wiadomości jest dużo mniejsza, więc atakowany serwer powinien poradzić sobie ze zwiększonych obciążeniem.
Ataki tego typu nie są tak niebezpieczne jak normalne ataki DoS. Zamiarem atakującego jest zredukowanie wydajności atakowanego komputera, zasianie niezadowolenia wśród jego klientów i zmuszenie jego administratorów do konkretnych działań, w celu poprawy wydajności serwera. Wszystko to skutkuje zwiększonymi kosztami utrzymania i stratami finansowymi dotykającymi atakowany system.
Dobrze przeprowadzone ataki degradacji dostępu są zaprojektowane w taki sposób, że z punktu widzenia administratorów jest jest oczywiste czy jakikolwiek atak ma miejsce, czy też doświadczają oni jedynie wzmożonego ruchu.
Atak Odbijający (Sfałszowany)
Atak Odbijający (ang. reflected), nazywany również Atakiem Sfałszowanym (ang. spoofed) jest podobny do ataków DDoS ponieważ on również polega na zalewaniu atakowanego systemu tysiącami wiadomości pochodzących z wielu różnych komputerów i lokalizacji. Różnica polega na tym, że napastnik nie wysyła ich bezpośrednio do atakowanego komputera, ale do innych maszyn, które odbijają je i przekierowują do ofiary.
Ataki tego typu są również określane jako DRDoS (co jest skrótem od angielskiego distributed reflected denial-of-service).
W celu przeprowadzenia tego ataku, należy przygotować specjalne wiadomości, z odpowiednimi polami w nagłówkach wskazującymi, że zostały one wysłane z komputera ofiary (czyli z fałszywym źródłowym adresem IP). Następnie, te wiadomości są przesyłane do wielu komputerów, często nie mających nic wspólnego z napastnikiem i znajdujących się w wielu miejscach na świecie. Z punktu widzenia serwerów, które je otrzymały wiadomości są niespodziewane, ale mniej lub bardziej prawidłowe. Jedyną sensowną reakcję jest wysłanie wiadomości zwrotnej do komputera ofiary, z informacją o błędzie. W wyniku tego, atakowany system otrzyma tysiące niespodziewanych wiadomości (komunikatów o błędach), które będzie musiał przetworzyć.
Ataki Slowloris
Podczas ataków Slowloris napastnik rzadko wysyła pakiety, za to w wielkich ilościach. Atakowany system musi utrzymywać wszystkie otwierane kanały komunikacji otwarte, ponieważ zostały one zainicjowane w całkowicie poprawny sposób. Nie istnieją wobec tego podstawy, ale przerwać nawiązane połączenia.
Sytuacja taka skutkuje zużyciem wszystkich dostępnych zasobów umożliwiających obsługę połączeń po stronie serwera.
Ataki tego typu wymagają od napastników użycia mniej zaawansowanego sprzętu oraz utrudniają zarówno wykrywanie jak i przeciwdziałanie istniejącym atakom.
Atak DoS HTTP Post
Przykładem ataków tego typu są ataki DoS HTTP Post. Wiadomość HTTP wysłana przez napastnika zawiera nagłówek HTTP Content-Length z przypisaną do niego jakąś wielką liczbą.
Początek wiadomości (część zawierająca nagłówek) jest odbierana sprawnie przez atakowany serwer, ale reszta pakietu jest przesyłana do niego w małych częściach, w bardzo wolnym tempie. Z uwagi na fakt, że wiadomość jest poprawna, serwer nie może jej odrzucić i oddzielny proces utworzony na serwerze kontynuuje oczekiwanie na wolno przychodzące bajty.
Oczywiście, napastnik tworzy setki lub tysiące takich połączeń, zużywając zasoby atakowanego systemu.
Atak Ryjówki
Atak Ryjówki (ang. shrew attack) jest innym przykładem ataków DoS, które polejagą na wysyłaniu wiadomości do atakowanego systemu w niewielkim tempie. Atak ten skierowany jest przeciwko protokołowi TCP, więc operuje na niższym poziomie niż atak DoS HTTP Post, opisany powyżej.
Napastnik wysyła wiadomości w specjalnie dobranym tempie, wykorzystując podatności mechanizmu retransmisji TCP. Połączenia TCP nie mogą zostać zamknięte, z racji trwającej komunikacji, co szybko prowadzi do zakłóceń całej komunikacji TCP.
Komputery Zombi
Ataki DoS są często przeprowadzane pośrednio. Oznacza to, że wiadomości są wysyłane nie z komputera napastnika, ale z innych maszyn, które są przez niego kontrolowane. Takie maszyny noszą nazwę zombi, ponieważ ich prawdziwi użytkownicy nie mają nad nimi pełnej kontroli. komputery zombi są zwykle kontrolowane przez specjalne szkodliwe oprogramowanie, który oczekuje na rozkaz od ludzi, którzy go kontrolują. Po otrzymaniu stosownego polecenia, ukryte aplikacje zaczynają wysyłać pakiety do atakowanego systemu, w sposób, który również może zostać określony przez napastników. Użytkownicy pracujący na tych maszynach mogą nawet nie być świadomi, że uczestniczą w przeprowadzaniu ataku DoS.
Używanie komputerów zombi ma przynajmniej dwie zalety. Po pierwsze, umożliwia stworzenie wielkich sieci zainfekowanych komputerów, które wspólnie zaatakują wskazany system. Połączona moc obliczeniowa wielu (setek lub tysięcy) połączonych zombi, działających w skoordynowany sposób, jest dużo większa niż moc jakiejkolwiek innej sieci, która mogłaby być zbudowana przez napastników.
Po drugie, podobnie jak w przypadku innych ataków kryptograficznych, dodatkowa separacja pomiędzy atakowanym systemem a napastnikami utrudnia wszelkie działania obronne, które mogłyby być powzięte przez administratorów. Przykładowo, zablokowanie adresów IP komputerów zombi znajdujących się na całym świecie i należących do różnych dostawców jest dużo bardziej skomplikowane i ryzykowne niż zablokowanie dostępu z jednej tylko organizacji lub regionu.
Narzędzia
W Internecie dostępnych jest wiele narzędzi i aplikacji, które umożliwiają przeprowadzenie wielu typów ataków DoS. Umiejętnie szukając, można natrafić na przeróżne produkty, różniące się funkcjonalnościami i cenami. Jednymi z popularniejszych programów są GCHQ, HOIC lub MyDoom.
Warte wspomnienia są również dwa programy pochodzące z Wielkiej Brytanii, które umożliwiają organizowanie ataków DDoS: Predators Face oraz Rolling Thunder.
Istnieją również narzędzia, które można wykorzystać do przeprowadzania ataków Slowloris, jak PyLoris, QSlowloris i Goloris.