Rodzaje ataków DDoS, czyli poznaj metody wroga

Jeśli podczas surfowania po sieci zdarza się, że przeglądany serwis zwalnia i czujemy jakby ktoś wrzucił żwir w mechanizm używanej przez nas maszyny, to być może odwiedzana strona ulega właśnie atakowi DDoS. Zdarzenia tego typu uniemożliwiają sprawne korzystanie z serwisów i powodują duże straty finansowe, dlatego przedstawiamy podstawowe metody i typy ataków. 

Główna idea ataków DDoS polega na zalaniu serwerów tak wieloma informacjami lub zadaniami, że nie dają one rady z ich przetworzeniem i ulegają awarii. Można je podzielić na kilka grup. Od tzw. „Ping of Death”, na które większość systemów jest odporna, po te wykorzystujące technikę amplifikacji (odbicia) odpowiedzi serwerów DNS, przed którymi ciężko jest obronić się nawet najlepszym.

Niegroźne klasyki 

Najmniej wymagający jest „Ping of Death”, który możemy wykonać nawet za pomocą swojego domowego PC. Wykorzystuje on błąd w programowaniu starszych systemów zarządzających serwerami, polegający na tym że mogą one odbierać pakiety o maksymalnej wielkości 65536 bajtów. Przekroczenie tej wartości spowoduje, że system zawiesi się lub zrestartuje.

Odrobinę bardziej zaawansowane są ataki typu Teardrop. Ta metoda polega na zaburzeniu numeracji pakietów danych przechodzących przez tzw. bramki sieci. Jeśli pakiety są zbyt duże, system dzieli je na mniejsze części i numeruje. Uporządkowane w ten sposób pakiety są następnie składane po kolei niczym meble z IKEI. Metoda Teardrop zakłóca ustalony porządek. Podobnie jak zagubiony klient sklepu meblowego, pozbawiony właściwej instrukcji, serwery gubią się co prowadzi do zakłócenia ich pracy. Próby dokonania niemożliwego w końcu doprowadzają do awarii. 

Oba sposoby siały postrach w zamierzchłej przeszłości i obecnie uznawane są za niegroźne. Jednak warto wspomnieć, że jeszcze Windows Vista posiadał lukę pozwalającą na zakłócenie jego pracy za pomocą ataku Teardrop. 

Ataki sieciowe

Stosunkowo proste do wykrycia, ale wciąż skuteczne dla niezabezpieczonych stron i komputerów pozostają ataki wolumetryczne (ang. flood attacks). Polegają one na wysyłaniu do serwera dużej ilości pakietów, np. w przypadku SYN flood z ustawioną flagą, która sygnalizuje chęć nawiązania połączenia SYN. Podczas prawidłowego działania, na serwerze następuje zarezerwowanie zasobów oraz wygenerowanie odpowiedzi. Po wyczerpaniu limitów systemowych, nowe połączenia nie zostaną obsługiwane. Przed tym typem ataku można się jeszcze próbować chronić np. blokując adresy z których przychodzi atak, oraz wykorzystując metodę syn-cookies. Niestety, w przypadku ataków z sfałszowanymi adresami źródłowymi (ang. spoofing) blokowanie nie pomoże, a syn-cookies też obciąża zasoby systemu i powyżej pewnego rozmiaru jedynie dedykowana i skalowalna ochrona pozostaje skuteczna.
Odrobinę inaczej działa UDP flood. Jest to atak w którym również wykorzystuje się możliwość fałszowania  adresów źródłowych, jednak atakujący w tym przypadku podszywa się pod atakowanego  i wykonuje ogromne ilości zapytań do usług dostępnych w Internecie, np DNS, SNMP, NTP. Przy odpowiednio spreparowanych zapytaniach, odpowiedź jest wielokrotnie większa i potrafi szybko zapchać łącze ofiary już po stronie operatora. Obrona, poprzez wycięcie ruchu na firewallu jest więc nieskuteczna, a wręcz może przynieść niepowołany skutek - np. zablokować serwery dns używane przez lokalne usług.

Zaawansowane ataki na aplikacje

W ostatnim czasie coraz więcej obserwuje się ataków aplikacyjnych. Celem takiego ataku nie jest infrastruktura sieciowa, ale konkretna aplikacja (np. sklep internetowy lub strona banku). Atakujący posiada szeroki wachlarz możliwości począwszy od wysyłania jak największej liczby zapytań do aplikacji powodując przeciążenie systemu, a skończywszy na atakach wstrzykiwaniu złośliwego kodu. Co gorsza, tego typu ataki są bardzo trudne do wykrycia. 

Do najważniejszych zagrożeń dla aplikacji webowych, możemy zaliczyć:
  • SQL Injection – nie dość, że zastrzyki nikomu nie kojarzą się z przyjemnością to jeszcze w tym przypadku mogą wywołać niebezpieczeństwo. Atak opiera się na wykorzystaniu luki w zabezpieczeniach aplikacji i wstrzyknięciu fragmentu zapytania SQL. Może to prowadzić do uzyskania dostępu do danych osobowych klientów lub usunięciu wszystkich informacji z Twojej bazy danych.
  • Broken Authentication and Session Management (niepoprawna struktura uwierzytelniania I sesji) – za pomocą tego typu ataku, przestępca omija metody uwierzytelniania i może uzyskać dostęp do naszych haseł lub zmienić uprawnienia konta użytkownika. 
  • Cross-Site Scripting (skrypty międzyserwisowe) – atak polega na osadzeniu kodu w treści atakowanej strony, czego skutkiem może być zmodyfikowanie zawartości serwisu czy przechwycenie sesji ofiary. 

Pozostałe zagrożenia aplikacyjne wymienione przez fundację OWASP, zajmującą się zabezpieczeniami w oprogramowaniu, to: 
  • Insecure Direct Object References, 
  • Security Misconfiguration, Sensitive Data Exposure, 
  • Missing Function Level Access Control, 
  • Cross-Site Request Forgery, 
  • Using Components With Known Vulnerabilities, 
  • Unvalidated Redirects and Forwards.

Szersze omówienie tematu zagrożeń dla aplikacji webowych w osobnym wpisie już niebawem na naszym blogu. 

Brak komentarzy :

Prześlij komentarz