Wybrane mechanizmy przeciwdziałania atakom DDoS - część 2 - mitygacja

3 Lutego 2022

Zgodnie z obietnicą złożoną w pierwszym materiale dotyczącym sposobów wykrywania ataków wolumetrycznych (DDoS), zapraszamy do lektury 2. części naszej analizy. W poniższym tekście przedstawione zostaną wybrane techniki radzenia sobie z atakami skierowanymi na dostępność infrastruktury. Skala tych zagrożeń przybiera na sile i z pewnością w najbliższych latach, pomimo wysiłków wielu organizacji, nie ma się co spodziewać zmniejszenia aktywności w tym obszarze. Jak już zostało to wspomniane wcześniej, najczęstszym, z racji skuteczności, podejściem do tego zagadnienia jest wdrożenie ochrony o strukturze warstwowej. Każde z narzędzi opisanych poniżej ma swoje mocne i słabe strony i powinno być wykorzystywane zgodnie z przeznaczeniem. Każdy z mechanizmów zwiększa bezpieczeństwo chronionej sieci, ale największą skuteczność uzyskuje się przy wykorzystaniu ich jako elementów uzupełniających się nawzajem.

Podstawowym mechanizmem, którym operatorzy ograniczali skalę wczesnych ataków DoS/DDoS była tzw. lista dostępowa (access list). Zawężenie ruchu sieciowego do konkretnych adresów IP, protokołów czy portów komunikacji, mogło pomóc uniknąć niepotrzebnego obciążenia infrastruktury pod warunkiem, że zostało zaimplementowane odpowiednio blisko źródła ataku. W idealnym świecie, operator mógłby odrzucać ruch, którego nie spodziewają się jego klienci, już na poziomie zewnętrznych interfejsów sieciowych. Efektywność zastosowania tej metody zależała więc przede wszystkim od umiejscowienia w sieci, ale również od kompletności i aktualności listy. Powoduje to, że tego typu mechanizmy kojarzone są dziś z bardziej z doraźnymi działaniami administratorów sieci, a nie realnym lekarstwem na występujące od wielu lat ataki DDoS. W skali operatorskiej, utrzymywanie tego typu rozwiązań jest średnio efektywne, nieskalowalne i trudne do zarządzania. Również wiele ataków rozwinęło się w ramach usług sieciowych, na które są kierowane, co dodatkowo uniemożliwia ochronę z użyciem filtrowania. Zalecane jednak jest po stronie klienta używanie list dostępowych możliwie najbliżej operatora (np. router brzegowy). Spójność z polityką np. firewalla pozwala na ograniczenie zużycia zasobów już na poziomie pierwszego urządzenia przetwarzającego ruch w warstwie IP.

Najstarszym i najbardziej powszechnym sposobem radzenia sobie z atakami DDoS jest wykorzystanie tzw. Blackholing-u. Pomimo tego, że standaryzacja i prace nad doskonaleniem mechanizmu mają oficjalne początki w 2004 roku (RFC 3882), to źródła podają, że operacyjne użycie rozpoczęło się już w okolicach roku 2000. Dokumenty dokładnie opisujące wykorzystywane techniki mitygacji ataków DDoS znajdują się w RFC 3882, RFC 5635, RFC 7999. Mechanizm polega na wykorzystaniu protokołu BGP i logiki przesyłania pakietów przez router do blokowania wybranych strumieni IP. Pakiety kierowane do konkretnego docelowego adresu IP (ruch zidentyfikowany na etapie detekcji jako atak DDoS) zostają, poprzez dynamicznie wprowadzane zmiany do tablicy routingu, skierowane przez router do interfejsu NULL („Discard Interface”). Działanie takie skutkuje całkowitym odcięciem komunikacji danego docelowego adresu IP z siecią Internet. Poświęcenie komunikacji z jednym adresem pozwala na niezakłóconą pracę pozostałych zasobów infrastruktury danej sieci. Mechanizm działa szybko i wykorzystuje bardzo dobrze znane technologie. Ma jednak również swoje wady. Posiada oczywiste ograniczenia w zastosowaniu, w przypadku gdy atakowany adres IP powiązany jest z istotną usługą biznesową (np. serwer WEB, DNS). Całkowite wykluczenie komunikacji do takiego adresu na poziomie sieci, nie jest akceptowalną formą ochrony. W innym modelu usługowym, jeśli atak będzie prowadzony na publiczny adres IP, który jest wykorzystywany w mechanizmach tupu NAT, to mitygacja z wykorzystaniem Blackholing-u spowoduje odcięcie komunikacji dla całego, ukrytego za nim segmentu sieci prywatnej. Kolejnym przypadkiem, w którym mechanizm ten będzie powodował więcej problemów, są, zdobywające ostatnio coraz większą popularność, ataki typu „carpet bombing”. W takiej sytuacji mitygacja może oznaczać rozgłoszenie blackholingu dla całej dostępnej adresacji, skutecznie odcinając możliwość komunikacji sieci z Internetem. Infrastruktura zostanie ochroniona, ale przez czas trwania ataku nie będzie możliwości normalnego wykorzystania dostępu do Internetu. Mimo tych poważnych niedogodności są sytuacje, w których dostawcy usług Internetowych wykorzystują mechanizm blackholingu. Jest to najczęściej sytuacja, w której rozmiar ataku jest na tyle duży, że zaczyna wpływać na stabilność działania sieci danego operatora, a pozostałe mechanizmy nie są już w stanie ochronić danej sieci, np. rozmiar ataku przekracza wartości przepustowości uplinków/peeringów danego operatora. W takich przypadkach ochrona własnej sieci w celu utrzymania ciągłości działania jest istotniejsza niż ewentualne niedogodności związane z niedostępnością „pojedynczych” usług.

Bardziej rozbudowanym narzędziem wykorzystywanym przez dostawców Internetu, opartym również na protokole BGP, jest Flowspec opisany w RFC 8955. Standard definiuje format kodowania Border Gateway Protocol Network Layer Reachability Information (BGP NLRI), który może być wykorzystywany do dystrybucji specyfikacji przepływu ruchu (wewnątrzdomenowego i międzydomenowego) usług IPv4 unicast oraz IPv4 BGP/MPLS VPN. Pozwala to systemowi routingu na propagację informacji dotyczących bardziej szczegółowych elementów zdefiniowanych przez docelowy prefiks IP. Określa również formaty kodowania BGP Extended Community, które mogą być używane do dystrybucji akcji filtrowania ruchu wraz ze specyfikacją przepływu NLRI. Akcje filtrowania ruchu mogą być realizowane przez system routingu jeśli analizowany pakiet będzie zgodny z określoną specyfikacją przepływu. W skrócie, reguły rozsyłane w sieci składają się z sygnatury ruchu oraz informacji jakie działania należy przeprowadzić na ruchu spełniającym wskazaną sygnaturę. Wykorzystanie technologii opiera się użyciu na infrastrukturze następujących elementów:

  • Kontrolera (np. ExaBGP) – odpowiedzialnego za rozsyłanie reguł w stronę Klientów,
  • Klientów (routery PE) – uzyskujących informację o regułach i implementujących działania match/actions w hardware,
  • Route-Reflector-a (opcjonalnie, chociaż w sieciach operatorskich zalecane) – uzyskanie reguł z Kontrolera oraz ich dystrybucja w stronę Klientów.

Komunikacja w ramach Flowspec odbywa się jednokierunkowo, od Kontrolera do Klientów. W rozwiązaniu nie ma pętli zwrotnej, więc potwierdzenie implementacji przesyłanych polityk musi odbywać się inną drogą. Do określenia sygnatury ruchu, który ma zostać poddany konkretnemu działaniu wykorzystywane są następujące parametry:

  • Docelowy adres IP
  • Źródłowy adres IP
  • Protokół IP
  • Port
  • Docelowy port
  • Źródłowy Port
  • ICMP Type
  • ICMP Code
  • Flagi TCP
  • Długość pakietu
  • DSCP
  • Fragment

Działania, które są możliwe do przeprowadzenia na wskazanej sygnaturze ruchu i które są najczęściej wykorzystywane w ramach ochrony przed atakami DDoS to:

  • Rate-limit pakietów/bajtów, gdzie wartość „0” oznacza dropowanie (blokowanie) wskazanego ruchu
  • Przekierowanie ruchu do wskazanego VRF/IP
  • Zmiana priorytetu dla ruchu (zmiana wartości DSCP)

Powyższe działania mogą być wykonywane łącznie, ale tylko we wskazanej powyżej kolejności. Reguła rozesłana na routery brzegowe zostanie zaaplikowana na całym routerze (istnieje możliwość wyłączenia reguły na wskazanym interfejsie z poziomu CLI). Jeśli na routerach są już wykorzystywane reguły bezpieczeństwa w postaci ACL, to mają one pierwszeństwo przed regułami FS (zabezpieczenie przed zdalnym wyłączeniem kluczowych zabezpieczeń). Warto podkreślić, że FS nie jest mechanizmem analizującym działanie infrastruktury sieciowej, czy też śledzącym stan połączeń. Jest to skuteczne narzędzie do przekierowania ruchu o wskazanej sygnaturze, lub ograniczania (najlepiej do zera) transmisji związanej z tą sygnaturą. W związku z tym FS doskonale sprawdza się do odpierania ataków DDoS wykorzystujących „bezstanowe transmisje” (np. amplifikacje: CLDAP, NTP, CharGen, SNMP, SSDP, …). W przypadku pojawienia się bardziej skomplikowanych ataków, np. wykorzystujących pełny TCP 3-way-handshake, FS może zostać wykorzystany do przekierowania ruchu do dedykowanego Scrubbing Center.

Scrubbing Center to węzeł sieciowy, znajdujący się w infrastrukturze operatora, w którym przeprowadzana jest mitygacja ataków DDoS polegająca na precyzyjnym oddzieleniu ruchu sztucznego od prawidłowego i przesłanie tego drugiego do użytkownika końcowego. Tego typu urządzenia wraz z dopasowaną do infrastruktury metodą kierowania ruchu (przekierowanie BGP lub Flowspec) to jeden z najpopularniejszych scenariuszy wdrażania usług przeciwdziałania atakom DDoS. SC jest to najistotniejszy element całego systemu ochrony infrastruktury klientów, bez którego nie ma możliwości świadczenia usługi dla pełnego zakresu występujących ataków. Szczegóły dotyczące sposobów działania SC mogą się różnić w zależności od producenta. Na potrzeby tego opisu został wykorzystany przypadek autorskiego rozwiązania platformy TAMA.

Rys. 1. Przykładowa architektura logiczna systemu ochrony przed atakami DDoS uwzględniająca wykorzystanie jednostki filtrującej ruch (Scrubbing Center)

Wydajność i skalowalność rozwiązania jest zapewniana między innymi przez rozproszoną architekturę polegającą na umieszczeniu jednostek czyszczących jak najbliżej punków wejścia potencjalnych ataków DDoS do sieci operatora. Im szybciej ruch sztuczny zostanie odrzucony, tym mniejsze obciążenie infrastruktury szkieletowej. Oczyszczanie ruchu jest realizowane przy wykorzystaniu zestawukonfigurowalnych filtrów, przez które przepuszczany jest ruch IP.

Rys. 2. Przykładowe filtry systemu anty-DDoS

 

Zgodnie z najlepszymi praktykami, konfiguracja filtrów powinna być dostosowana do chronionych zasobów. Sygnatury ruchu prawidłowego są uzależnione od usług realizowanych na danych obiektach. Dlatego analiza prawidłowego ruchu jest tak istotna na etapie uruchamiania usługi (jest również uwzględniana na etapie wykrywania ataków – opis w 1 części artykułu). Wykorzystanie jednostki czyszczącej pozwala na mitygacje ataków posiadających kilka wektorów (bardziej skomplikowanych). Jest to jednak związane z utylizacją zasobów poszczególnych jednostek czyszczących. Z tego też powodu warto korzystać z mechanizmów, które zablokują niechciany ruch jeszcze zanim zostanie przekierowany do jednostek czyszczących. Dzięki takiemu podejściu zwiększa się skuteczność całego systemu ochrony.

Opublikowane przez: Piotr Mierzwiński

Inne artykuły_