Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 12729|Odpowiedź: 1

[Analiza techniczna] Dogłębne i łatwe do zrozumienia: Wprowadzenie do ataku sieciowego i obrony

[Skopiuj link]
Opublikowano 25.10.2014 21:04:02 | | |
1. Podstawy ataku DDoS

Ataki DDoS (Distributed Denial of Service) należą do najsilniejszych i najtrudniejszych do obrony, ponieważ głównym celem ataków DDoS jest uniemożliwienie wyznaczonemu celu świadczenia normalnych usług lub nawet zniknięcia z Internetu.

DDoS można po prostu podzielić na trzy kategorie w zależności od sposobu ich inicjacji.

Pierwsza kategoria wygrywa siłąOgromne pakiety danych napływają ze wszystkich zakątków Internetu, blokując wejście do IDC, czyniąc różne potężne systemy obrony sprzętowej oraz szybkie i wydajne procesy awaryjne bezużytecznymi. Typowymi przykładami tego typu ataku są ICMP Flood i UDP Flood, które obecnie są rzadkie.

Druga kategoria wygrywa dzięki sprytowi, sprytne i niezauważalne, wysyłanie paczki co kilka minut lub nawet potrzeba tylko paczki może sprawić, że luksusowy serwer konfiguracyjny przestanie odpowiadać. Ten typ ataku jest głównie uruchamiany poprzez wykorzystanie luk w protokołach lub oprogramowaniu, takich jak ataki Slowloris, ataki kolizji hash itp., i wymaga specyficznych zbiegów okolicznościowych środowiskowych.

Trzecia kategoria to mieszanka powyższych dwóchNie tylko wykorzystuje wady protokołu i systemu, ale także generuje dużą ilość ruchu, takich jak atak SYN Flood czy atak DNS Query Flood, które są obecnie powszechną metodą ataku.

W tym artykule opisano te najczęstsze i najbardziej reprezentatywne metody ataku po kolei oraz przedstawi ich opcje obrony.

1.1. Powódź SYN

SYN Flood to jeden z najbardziej klasycznych ataków DDoS w Internecie, pojawiający się po raz pierwszy około 1999 roku, a Yahoo było wówczas najsłynniejszą ofiarą. Ataki SYN Flood wykorzystują luki TCP triple handshake, które mogą sprawić, że docelowy serwer stanie się nieresponsywny i trudny do namierzenia, co kosztuje niewielkie obciążenie.

Standardowy proces trójkierunkowego utrzymania ręki TCP wygląda następująco:

  • Klient wysyła pakiet TCP zawierający flagę SYN, SYN jest synchronizowany, a pakiet synchronizacyjny wskazuje port używany przez klienta oraz początkowy numer seryjny połączenia TCP.
  • Po otrzymaniu pakietu SYN od klienta serwer zwraca pakiet SYN+ACK (czyli potwierdzenie potwierdzenia), sygnalizujący akceptację żądania klienta, a początkowy numer seryjny TCP jest automatycznie dodawany o 1.
  • Klient zwraca również do serwera komunikat potwierdzenia ACK, a numer seryjny TCP jest również dodawany o 1.

Po tych trzech krokach nawiązywane jest połączenie TCP. Aby zapewnić niezawodną transmisję, protokół TCP uruchomił mechanizmy obsługi wyjątków podczas trzech uścisków dłoni. W trzecim kroku, jeśli serwer nie otrzyma ostatniego pakietu potwierdzenia ACK od klienta, serwer pozostanie w stanie SYN_RECV, doda adres IP klienta do listy oczekujących i ponownie wyśle pakiet SYN+ACK w drugim kroku. Ponowne publikacje zwykle wykonuje się 3-5 razy, a lista oczekujących jest sprawdzana raz w odstępach około 30 sekund, aby ponownie spróbować wszystkich klientów. Z drugiej strony, po wysłaniu pakietu SYN+ACK przez serwer, wstępnie przydziela zasoby do przechowywania informacji o nadchodzącym połączeniu TCP, które są zatrzymywane podczas oczekiwania na ponowną próbę. Co ważniejsze, jeśli zasoby serwera są ograniczone, stan SYN_RECV, który można utrzymać, nie będzie już przyjmował nowych pakietów SYN po przekroczeniu limitu, czyli nowe połączenia TCP zostaną odrzucone.

SYN Flood wykorzystuje powyższe ustawienia protokołu TCP, aby osiągnąć cel ataku. Atakujący maskują dużą liczbę adresów IP, aby wysyłać pakiety SYN do serwera, a ponieważ fałszywe adresy IP są niemal niemożliwe do istnienia, prawie żadne urządzenie nie odpowiada serwerowi. W efekcie serwer utrzymuje ogromną listę oczekujących i ciągle próbuje wysłać pakiety SYN+ACK, co zużywa dużo zasobów i nie może być zwolnione. Co ważniejsze, kolejka SYN_RECV zaatakowanego serwera jest wypełniona złośliwymi pakietami, nowe żądania SYN nie są już akceptowane, a legalni użytkownicy nie mogą wykonać trzech uścisków dłoni, aby nawiązać połączenia TCP. Innymi słowy, serwer został pozbawiony obsługi przez SYN Flood.

Jeśli interesuje Cię SYN Flood, możesz spojrzeć na http://www.icylife.net/yunshu/show.php?id=367, którą napisałem w 2006 roku, a później wprowadziłem kilka zmian, naprawił błędy i zmniejszył agresywność, a służył wyłącznie do testowania.

1.2. Zalew zapytań DNS

Jako najbardziej podstawowa i kluczowa usługa Internetu, DNS jest naturalnie jednym z ważnych celów ataków DDoS. Wyłączenie usługi DNS może pośrednio zniszczyć cały biznes firmy lub sieć w danym regionie. Jakiś czas temu popularna grupa hakerów Anonymous również ogłosiła, że zaatakuje 13 serwerów DNS w globalnym Internecie, ale ostatecznie nie odniosła sukcesu.

Ataki UDP to najprostsza metoda ataku na rozpoczęcie masowego ruchu, a fałszowanie adresu IP z losowego źródła jest trudne do namierzenia. Jednak filtrowanie jest łatwiejsze, ponieważ większość IP nie oferuje usług UDP, więc możesz po prostu odrzucać ruch UDP. Dlatego czyste ataki na ruch UDP są obecnie stosunkowo rzadkie i są zastępowane przez ataki DNS Query Flood realizowane przez protokół UDP. Mówiąc wprost, ataki DDoS uruchamiane na wyższy protokół tym trudniej się przed nim bronić, ponieważ im wyższy protokół, tym bardziej związany jest z biznesem i tym bardziej złożony jest system obronny.

DNS Query Flood to sytuacja, gdy atakujący manipuluje dużą liczbą maszyn sockpuppet, aby wysłać dużą liczbę żądań zapytań o nazwę domeny do celu. Aby zapobiec filtrowaniu opartym na ACL, należy poprawić losowość pakietów. Powszechną praktyką jest losowe fałszowanie adresu IP źródłowego, losowe podrobienie portu źródłowego oraz innych parametrów na warstwie UDP. Na warstwie protokołu DNS identyfikator zapytania jest losowo fałszowany wraz z nazwą domeny do rozwiązania. Oprócz zapobiegania filtrowaniu, losowe podrobione nazwy domen do rozwiązania mogą również zmniejszyć ryzyko trafienia do pamięci podręcznej DNS i zużywać jak najwięcej zasobów CPU serwera DNS.

Jeśli chodzi o kod DNS Query Flood, napisałem kod w lipcu 2011 roku do testowania wydajności serwera i link jest http://www.icylife.net/yunshu/show.php?id=832. Podobnie ten kod jest sztucznie mniej agresywny i służy wyłącznie do testowania.

1.3. HTTP Flood

Opisany powyżej SYN Flood i DNS Query Flood można skutecznie powstrzymać na tym etapie, a prawdziwym problemem dla głównych producentów i firm internetowych są ataki HTTP Flood. HTTP Flood to atak na usługę sieciową na protokole siódmej warstwy. Jej wielkie szkody przejawiają się głównie w trzech aspektach: wygodnej inicjacji, trudnym filtrowaniu i dalekosiężnym wpływie.

Zarówno SYN Flood, jak i DNS Query Flood wymagają od atakujących kontroli dużej liczby botów posiadających uprawnienia root. Zebranie dużej liczby uprawnień root wymaga czasu i wysiłku, a podczas ataku maszyna marionetkowa jest powolna w uzupełnianiu z powodu szybkiej utraty zasobów przez atakującego spowodowanej nieprawidłowym ruchem wykrytym przez administratora, co skutkuje znacznym spadkiem intensywności ataku i nie może być utrzymane przez dłuższy czas. Ataki HTTP Flood są inne, atakujący nie muszą kontrolować dużej liczby botów, lecz używają skanerów portów do wyszukiwania anonimowych proxy HTTP lub SOCKS w Internecie, przez które atakujący inicjuje żądania HTTP do celu ataku. Anonimowe proxy to stosunkowo bogate źródło i łatwo jest je zdobyć w kilka dni, więc ataki łatwo rozpocząć i mogą trwać długo.

Z drugiej strony, ataki HTTP flood są uruchamiane na warstwę HTTP, która energicznie naśladuje zachowanie żądań stron internetowych zwykłych użytkowników, co jest ściśle powiązane z biznesem strony internetowej, co utrudnia dostawcom zabezpieczeń zapewnienie wspólnego rozwiązania, które nie wpływa na doświadczenie użytkownika. Zasady, które działają dobrze w jednym miejscu, zmieniają scenariusze, mogą prowadzić do dużej liczby nieumyślnych zabójstw.

Wreszcie, ataki HTTP flood mogą powodować poważne reakcje łańcuchowe, nie tylko bezpośrednio powodując spowolnioną reakcję zaatakowanego front-endu webowego, ale także pośrednio atakując back-end Java oraz inne logiki i usługi bazodanowe na warstwie biznesowej, zwiększając ich presję, a nawet wpływając na serwery logów.

Co ciekawe, HTTP Flood ma także historyczną przydomek o nazwie CC attack. CC to skrót od Challenge Collapsar, czyli urządzenia ochrony przeciw przeciwnikam DDoS od znanej chińskiej firmy zajmującej się bezpieczeństwem. Sądząc po obecnej sytuacji, nie tylko Collapsar, ale cały sprzęt obronny wciąż jest kwestionowany, a ryzyko to nie zostało zniesione.

1.4. Ataki powolnych połączeń

Jeśli chodzi o ataki, pierwszą reakcją jest ogromny ruch i masa pakietów. Ale jest atak, który działa odwrotnie – znany z powoli, przez co niektóre cele ataku są zabijane bez wiedzy o tym, jak giną, czyli atak powolnego połączenia, najbardziej reprezentacyjny to Slowloris wynaleziony przez rsnake'a.

Protokół HTTP wymaga, aby żądania HTTP kończyły się na \r\n\r\n, co oznacza, że klient zakończył wysyłanie, a serwer rozpoczął przetwarzanie. Co się stanie, jeśli nigdy nie wyślesz \r\n\r\n? Slowloris wykorzystuje to na swoją korzyść w atakach DDoS. Atakujący ustawia połączenie na Keep-Alive w nagłówku żądania HTTP, prosi serwer WWW o zachowanie połączenia TCP bez rozłączenia, a następnie co kilka minut powoli wysyła serwerowi format klucz-wartość, taki jak a:b\r\n, powodując, że serwer myśli, że nagłówek HTTP nie został odebrany i czeka. Jeśli atakujący użyje wielowątkowego lub marionetkowego rozwiązania do tego samego zadania, kontener sieciowy serwera szybko zostanie przeciążony przez atakującego i przestanie przyjmować nowe żądania.

Wkrótce zaczęły pojawiać się różne warianty Slowloris. Na przykład metoda POST przesyła dane do serwera WWW, wypełnia dużą zawartość o długości treści, ale wolno bajt po bajcie POST rzeczywiste dane itd. Jeśli chodzi o atak Slowloris, rsnake również podaje kod testowy, zobacz http://ha.ckers.org/slowloris/slowloris.pl.

2. Atak DDoS zaawansowany2.1. Ataki hybrydowe

Powyższe wprowadza kilka podstawowych metod ataku, z których każda może być użyta do ataku na sieć, a nawet do pokonania gigantycznych stron takich jak Alibaba, Baidu i Tencent. Ale to nie wszystko, różne poziomy atakujących mogą przeprowadzać zupełnie różne ataki DDoS, a ich użycie jest tym samym.

Zaawansowani atakujący nigdy nie używają jednego wektora do ataku, lecz elastycznie łączą je w zależności od środowiska docelowego. Zwykły SYN Flood łatwo filtrować przez urządzenia oczyszczające ruch za pomocą wykrywania wstecznego, ciasteczek SYN i innych środków technicznych, ale jeśli pakiety SYN+ACK są mieszane w SYN Flood, tak że każdy sfałszowany pakiet SYN ma odpowiadający mu podrobiony pakiet potwierdzenia klienta, to odpowiedni tutaj adres IP źródłowy, port źródłowy, adres IP docelowy, port docelowy, rozmiar okna TCP, TTL itd., wszystko jest zgodne z cechami tego samego hosta i tego samego przepływu TCP. Presja na skuteczność detekcji wstecznej i plików SYN w urządzeniach do czyszczenia przepływowego znacznie wzrośnie. W rzeczywistości pakiety danych SYN i różne inne bity flag mają specjalne efekty ataku, które tutaj nie są wprowadzane. Istnieją także unikalne techniki DNS Query Flood.

Przede wszystkim DNS można podzielić na zwykły DNS i DNS domeny autoryzowanej, atakując zwykły DNS, adres IP musi być losowo sfałszowany, a serwer wymaga rekurencyjnej rozdzielczości; Jednak podczas ataku na DNS domeny autoryzowanej fałszywy adres IP nie powinien być całkowicie losowy, lecz powinien być adresami DNS dostawców internetu na całym świecie zebranymi z góry, aby osiągnąć maksymalny efekt ataku, tak aby urządzenie do oczyszczania ruchu znalazło się w trudnej sytuacji dodawania czarnej listy IP lub jej braku. Dodanie tego doprowadzi do dużej liczby nieumyślnych zabójstw, a jeśli nie dodasz czarnej listy, każdy pakiet musi być odwrócony do przebadań, co zwiększa presję na wydajność.

Z drugiej strony, jak wspomniano wcześniej, aby zwiększyć ciśnienie czyszczenia urządzenia, konieczne jest losowe zgrupowanie żądanej domeny bez naruszania pamięci podręcznej, ale należy zauważyć, że domena do rozwiązania musi mieć pewną regularność fałszerstwa, na przykład fałszowanie tylko określonej części domeny i utrwalanie części, która przełamuje białą listę ustawioną przez urządzenie czyszczące. Powód jest prosty – serwery Tencent potrafią rozwiązywać tylko domeny Tencent, a całkowicie losowe domeny mogą być bezpośrednio odrzucane i wymagały utrwalenia. Ale jeśli jest całkowicie naprawiona, łatwo ją odrzucić bezpośrednio, więc trzeba ją podrobić.

Po drugie, ataki na DNS nie powinny koncentrować się wyłącznie na portach UDP, które również są standardowymi usługami według protokołu DNS. W przypadku ataku zarówno ataki UDP, jak i TCP mogą być przeprowadzone jednocześnie.

Celem HTTP Flood jest przełamanie pamięci podręcznej na frontendzie i bezpośrednie dotarcie do samego serwera WWW przez ustawienia pola w nagłówku HTTP. Ponadto HTTP Flood jest również bardzo istotny przy wyborze celów, a zwykli atakujący wybierają strony wymagające wielu zapytań danych, takich jak wyszukiwanie jako cel ataku, co jest bardzo poprawne i może zużywać jak najwięcej zasobów serwera. Ale ten atak łatwo zidentyfikować poprzez identyfikację sprzętu człowieka i maszyny, więc jak rozwiązać ten problem? To bardzo proste, staraj się wybierać strony, do których zwykli użytkownicy również mają dostęp przez aplikację, ogólnie rzecz biorąc, różne Web API. Zwykli użytkownicy i złośliwy ruch pochodzą z aplikacji, a różnica między człowiekiem a maszyną jest bardzo mała i trudno odróżnić podstawową integrację.

Każde połączenie TCP istnieje po stronie serwera i samo w sobie, a także musi zużywać zasoby, aby utrzymać stan TCP, więc połączenie nie może być zbyt długo utrzymywane. Jeśli uda się to rozwiązać, agresywność znacznie się zwiększy, czyli Slowloris może wykonywać ataki bezstanowo, przechwytywać numer seryjny TCP i potwierdzać utrzymanie połączeń TCP na kliencie poprzez podsłuchiwanie, a jądro systemu nie musi zwracać uwagi na różne zmiany stanu TCP, a notebook może wygenerować do 65 535 połączeń TCP.

Poprzednie opisy to wszystkie techniczne ulepszenia ataku. Po stronie ludzkiej istnieją inne sposoby. Jeśli SYN Flood wysyła dużą liczbę pakietów i towarzyszą mu wolne połączenia Slowloris, ile osób odkryje sekret? Nawet jeśli serwer padnie, mogą zostać wykryte tylko ataki SYN, które próbują wzmocnić oczyszczanie warstw TCP i ignorować zachowanie warstwy aplikacji. Wszelkiego rodzaju ataki mogą współpracować, by osiągnąć maksymalny efekt. Wybór czasu ataku jest również kluczowy, na przykład wybór personelu technicznego podczas lunchu, gdy pracownicy utkną na drodze po pracy lub gdy nie ma sygnału na karcie sieci bezprzewodowej w metrze, a także gdy docelowe przedsiębiorstwo organizuje duże wydarzenie i ruch rośnie.

To czysty atak, więc nie podano żadnego kodu ani szczegółowego wyjaśnienia.

2.2. Ataki z sieci P2P

Poprzednie metody ataku wymagają mniej więcej botów, nawet HTTP Flood wymaga wyszukiwania dużej liczby anonimowych proxy. Jeśli dojdzie do ataku, wystarczy wydać kilka instrukcji, a maszyna automatycznie się pojawi, by go wykonać, co jest idealnym rozwiązaniem. Ten atak już się pojawił, i to z sieci P2P.

Jak wszyscy wiemy, liczba użytkowników P2P i ruchu w Internecie to ogromna liczba. Jeśli wszystkie trafią do wyznaczonego miejsca, by pobrać dane i połączyć tysiące prawdziwych adresów IP, żadne urządzenie nie będzie w stanie tego obsłużyć. Weźmy na przykład pobieranie BT – fałszowanie torrentów popularnych filmów i publikowanie ich w wyszukiwarkach wystarcza, by zmylić wielu użytkowników i ruch, ale to tylko podstawowy atak.

Zaawansowane ataki P2P to bezpośrednie podszywanie się pod serwery zarządzania zasobami. Na przykład klient Thunder przesyła znalezione zasoby na serwer zarządzania zasobami, a następnie przesyła je innym użytkownikom, którzy muszą pobrać te same zasoby, aby opublikować link. Dzięki odwróceniu protokołu atakujący fałszują dużą ilość popularnych informacji o zasobach i dystrybuują je przez centrum zarządzania zasobami, które mogą być natychmiast rozprzestrzeniane po całej sieci P2P. Co jeszcze bardziej przerażające, tego ataku nie da się powstrzymać, nawet sam napastnik, a atak trwa aż do momentu, gdy przedstawiciel P2P znajdzie problem, zaktualizuje serwer i użytkownik pobierania zrestartuje pobrane oprogramowanie.

3. Podsumowanie

To wszystko, co można poznać w atakach DDoS, i nie chcę iść dalej—wystarczy zrozumieć, że tyle obrony wystarczy.

Ogólnie rzecz biorąc, ataki DDoS mogą być zręczne i pełne gracji. Piękno zastosowania tkwi w jedności umysłu.





Poprzedni:Darmowy dostęp do Internetu, darmowy dostęp do CMCC z QQWifi itd
Następny:Schudnij i poszukaj najlepszego triku
Opublikowano 25.10.2014 21:46:21 |
Dobrze podsumowane
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com