Bezlitośni hakerzy. Jak rozpoznać atak DoS/DDoS

atak DOS/DDOS

Powszechna cyfryzacja niesie ze sobą zagrożenie coraz częstszych ataków komputerowych. Atak może polegać na zdobyciu poufnych informacji, przejęciu kontroli nad komputerem lub całą siecią komputerową czy też na odcięciu dostępu do konkretnych usług. I na tych ostatnich się skupię. O ataku typu DoS (Denial of Service) mówimy, gdy użytkownik lub organizacja zostają pozbawieni dostępu do informacji lub usług w wyniku wrogich zaplanowanych działań.

Najpopularniejszą obecnie odmianą takich ataków jest atak DDoS (Distributed DoS), kiedy do przeprowadzenia ataku używana jest większa liczba komputerów, najczęściej bez świadomości ich użytkowników. Atakujący przejmuje kontrolę nad innym komputerem lub, najczęściej, komputerami i używa ich do przeprowadzenia ataku. Same ataki są identyczne, jedyna różnica między atakami DoS a DDoS jest taka, że w tych drugich bierze udział więcej niż jeden komputer jednocześnie.

Ataki DoS/DDoS nie zagrażają poufności informacji, a ich celem jest odłączenie ważnych/krytycznych usług i przez to spowodowanie strat. Możemy sobie wyobrazić powagę sytuacji, w której jeden z banków przestaje być dostępny dla swoich użytkowników przez jeden dzień. Przykładem może być gigantyczna kampania telewizyjna organizowana przez dużą firmę produkcyjną. Kluczowym elementem całej kampanii są informacje zawarte na stronie www, a strona przestaje być dostępna w trakcie trwania kampanii, kiedy jest niezbędna do efektywnego przeprowadzenia całej akcji. Innym przykładem jest brak dostępu do internetu w momencie, w którym próbujemy złożyć zlecenie na sprzedaż akcji, których wartość zaczęła gwałtownie spadać. Użycie większej liczby komputerów sprawia, że atak jest łatwiejszy i prawie niezauważalny dla pracujących na nich użytkowników. Co ważne, ataki DoS często są , mającą tylko utrudnić odkrycie i śledzenie tych „prawdziwych” ataków.

Ataki DoS

W zależności od sposobu wykonania ataków DoS, można je podzielić na kilka głównych kategorii:
– wykorzystujące dostępne zasoby, np. łącze, pamięć czy procesor,
– zakłócające konfigurację urządzeń, np. protokoły routingu,
– zakłócające działanie fizycznych nośników danych, np. kabli,
– zawieszające urządzenia przez wprowadzanie danych.

Najpopularniejszy jest pierwszy typ ataku. Jest też z reguły najprostszy do przeprowadzenia. Wyobraźmy sobie sytuację, w której atakujący – nazwijmy go Rafał – ma do dyspozycji łącze o przepustowości 100 Mbps i próbuje zaatakować komputer Oli, która ma dostęp do internetu przez Neostradę i ma 30 Mbps. Rafał wtedy zaczyna „rozmawiać” z komputerem Oli używając do tego celu całej możliwej przepustowości (100 Mbps). Komputer Oli zbiera informacje w możliwym dla siebie tempie (30 Mbps), wysyłając sygnał Rafałowi, żeby zwolnił, bo nie nadąża. Rafał ignoruje żądanie. Łącze internetowe Oli jest zbyt słabe, żeby przetworzyć i dostarczyć cały ruch, ale mimo wszystko próbuje. Ola usiłuje wejść na stronę, ale jej komputer jest zajęty odbieraniem danych od Rafała, przez co żaden inny ruch nie ma szansy przejść.

Innym sposobem wykorzystania wszystkich zasobów komputera jest otwieranie dużej liczby połączeń. Nawiązanie połączenia między komputerami przebiega w trzech krokach.

Krok po kroku

Użytkownik łącząc się z serwerem wysyła pakiet z flagą SYN (synchronize) i danymi potrzebnymi do rozpoczęcia rozmowy. Serwer odpowiada na pakiet flagą ACK (acknowledge), dołącza swoją porcję danych i swoją flagę SYN, a użytkownik potem potwierdza otrzymanie danych flagą ACK. Wspominam o tym dlatego, że ten proces jest relatywnie bardzo „zasobożerny”. Dodatkowo, karty sieciowe mają skończony rozmiar tablicy do przechowania danych połączeń, które właśnie się otwierają. Jednym słowem, zamiast generować ciężką transmisję obciążającą łącze i nasz komputer, można wysyłać bardzo dużo pakietów SYN, a po otrzymaniu zwrotki SYN+ACK kasować je z naszej pamięci. Oczywiście, drugi serwer o tym nie wie, a w tym właśnie momencie otrzymuje kolejne zapytanie o utworzenie nowego połączenia…

Ten atak bardzo łatwo wykryć śledząc ruch internetowy. Dużo nieotwartych połączeń w stanie „Half-Open” to bezpośredni znak niepożądanych działań. Czy istnieje jakiś inny atak, który „zapcha” łącze nie obciążając nas? Oczywiście, że tak.

Wpisując do przeglądarki choćby adres internetowy strony Onwelo – nasz komputer najpierw wysyła zapytanie do serwera DNS, który rozwiązuje wpisany adres słowny na adres IP serwera i zwraca odpowiedź do naszego komputera. Zapytanie DNS wysyłane przez nas ma około 60 bajtów. Odpowiedź, w zależności od serwera, może mieć nawet ponad 4000 bajtów, czyli ma nawet 70-krotne przebicie.  Teraz wystarczy, że Rafał, chcąc zaatakować komputer Oli, tak sfabrykuje zapytanie DNS, że serwer zwróci odpowiedź do niej, nie do niego. Mnożąc tych zapytań na przykład milion, możemy bardzo łatwo wyłączyć dowolny komputer z użycia.

Przechodząc dalej, jeśli Rafał jakimś sposobem uzyska dostęp do konfiguracji urządzenia, może sprawić, że ruch od Oli (albo do Oli) będzie wysyłany na jego urządzenie albo gdzieś „w świat”, przez co korzystanie z jakichkolwiek usług w internecie będzie niemożliwe. Warto zauważyć, że taki sam efekt można również uzyskać bez użycia komputera. będzie się wiązać z czasem i kosztami.

Ostatnim sposobem jest wysłanie do atakowanej osoby danych, które sprawią, że jego komputer „zwariuje”. Przykładem był złowrogo brzmiący Ping Śmierci. Polegał on na wysłaniu tylko jednego, ale zdecydowanie za dużego zapytania na PING, co powodowało zawieszenie się systemu operacyjnego.

Jak rozpoznać atak?

Jak poznać, że jesteśmy celem ataku? Przede wszystkim dostęp do niektórych usług jest niemożliwy. Jeśli DoS polega na wysyceniu łącza, cały internet działa bardzo wolno. To jednak nie musi wcale oznaczać, że faktycznie chodzi o atak. Może to być zwykła przerwa w dostępności, awaria internetu lub po prostu uruchomienie pewnej usługi bez przemyślenia jej działania.

Jak się bronić przed DoS, skoro nawet identyfikacja zagrożenia jest problematyczna? Tutaj, niestety, nie ma dobrych wieści. Bardzo ciężko jest ograniczyć dobrze zaplanowany atak typu DDoS. Najprostszym sposobem jest wynajęcie odpowiednio dużej, większej niż wymagana, przepustowości. Popularne jest też wycinanie ruchu, którego nasza firma nie potrzebuje, na warstwie sieciowej, pozwalając wyłącznie na przepływ tego, który jest nam potrzebny.

Istnieją narzędzia pozwalające na monitoring ruchu sieciowego, który pozwala wykryć ruch odbiegający od normy (np. zbyt duży lub nawiązujący połączenie w sposób niepełny) i automatycznie go odciąć, jak na przykład F5 Silverline albo Radware DefensePro. Onwelo jako partner Clico i F5 może – i bardzo chętnie będzie – pośredniczyć w sprzedaży i implementacji urządzeń tych firm. Narzędzia te, analizując cały przechodzący przez nie ruch sieciowy mogą, na podstawie pewnych sygnatur, odpowiednio wcześnie wykryć rozpoczęty atak i go udaremnić. Onwelo uruchamia dedykowany zespół SOC (Security Operation Center), będący w stanie świadczyć usługi monitorowania, ostrzegania i mitygacji tego typu zagrożeń w formacie 24/7. Duże firmy, takie jak Facebook czy Microsoft, stosują rozwiązania Content Delivery Network typu CloudFlare, KeyCDN czy Incapsula, które stawiają pewnego rodzaju bufor między internetem a naszą stroną, dzięki któremu nasze systemy znajdują się za murem ochronnym. Pozostając w kontakcie z dostawcami usług CDN, możemy je  konfigurować dla klienta i nimi zarządzać, chroniąc go przed zagrożeniami z zewnątrz.

 

Autor: Marcin Baranowski, IT Security Expert. Napisz do niego.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *