Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 12729|Odpověď: 1

[Technická analýza] Podrobné a snadno pochopitelné: Úvod do útoku síťového útoku a obrany

[Kopírovat odkaz]
Zveřejněno 25.10.2014 21:04:02 | | |
1. Základy DDoS útoků

DDoS (Distributed Denial of Service) útoky patří mezi nejsilnější a nejobtížnější k obraně, protože hlavním účelem DDoS útoků je zabránit určenému cíli poskytovat běžné služby nebo dokonce zmizet z internetu.

DDoS lze jednoduše rozdělit do tří kategorií podle způsobu jejich zahájení.

První kategorie vyhrává silouObrovské datové pakety se hrnou ze všech koutů internetu, blokují vstup do IDC, činí různé výkonné hardwarové obranné systémy a rychlé a efektivní nouzové procesy nepoužitelnými. Typickými příklady tohoto typu útoku jsou ICMP Flood a UDP Flood, které jsou nyní vzácné.

Druhá kategorie vítězí díky chytrosti, chytré a nepostřehnutelné, posílání balíčku každých pár minut nebo dokonce stačí balíček může způsobit, že luxusní konfigurační server přestane reagovat. Tento typ útoku se většinou spouští zneužitím zranitelností v protokolech nebo softwaru, jako jsou útoky Slowloris, útoky s kolizí hashu apod., a vyžaduje specifické environmentální shody.

Třetí kategorie je směsí výše uvedených dvouNejenže využívá nedostatky protokolu a systému, ale také má velké množství provozu, jako jsou útoky SYN Flood a DNS Query Flood, což je současná běžná metoda útoku.

Tento článek popsá tyto nejběžnější a reprezentativní metody útoku jednu po druhé a představí jejich obranné možnosti.

1.1. SYN Flood

SYN Flood je jeden z nejklasičtějších DDoS útoků na internetu, poprvé se objevil kolem roku 1999, přičemž Yahoo bylo tehdy nejznámější obětí. Útoky SYN Flood využívají chyby TCP triple handshake, které mohou způsobit, že cílový server bude nereagující a obtížně sledovatelný za malé náklady.

Standardní třícestný proces TCP handshake je následující:

  • Klient odešle TCP paket obsahující příznak SYN, SYN je synchronizovaný a synchronizační paket označuje port používaný klientem a počáteční sériové číslo TCP připojení.
  • Po obdržení paketu SYN od klienta server vrátí paket SYN+ACK (tj. potvrzování potvrzení), který označuje přijetí požadavku klienta a počáteční sériové číslo TCP se automaticky přidá o 1.
  • Klient také vrátí serveru potvrzovací zprávu ACK a sériové číslo TCP je také přidáno o 1.

Po těchto třech krocích je TCP spojení navázáno. Aby bylo dosaženo spolehlivého přenosu, protokol TCP nastavil některé mechanismy pro zpracování výjimek během těchto tří podání ruky. Ve třetím kroku, pokud server neobdrží konečný paket potvrzení ACK od klienta, zůstane ve stavu SYN_RECV, přidá IP adresu klienta na čekací listinu a ve druhém kroku znovu odešle paket SYN+ACK. Opakované příspěvky se obvykle provádějí 3–5krát a čekací listina se dotazuje jednou v intervalech asi 30 sekund, aby se všichni klienti mohli znovu vyzkoušet. Na druhou stranu, po odeslání paketu SYN+ACK server předalokuje zdroje na uložení informací pro nadcházející TCP spojení, které jsou uchovávány během čekání na opakování. Důležitější je, že pokud jsou serverové zdroje omezené, stav SYN_RECV, který lze udržet, již nebude přijímat nové SYN pakety po překročení limitu, tedy nové TCP spojení budou odmítnuta.

SYN Flood používá výše uvedená nastavení protokolu TCP k dosažení cíle útoku. Útočníci maskují velké množství IP adres, aby mohli posílat SYN pakety na server, a protože falšované IP adresy jsou téměř nemožné existovat, téměř žádné zařízení serveru neodpoví. Výsledkem je, že server udržuje obrovský čekací seznam a neustále se snaží posílat pakety SYN+ACK, což spotřebovává hodně zdrojů a nelze je uvolnit. Důležitější je, že fronta SYN_RECV na napadeném serveru je zaplněna škodlivými pakety, nové SYN požadavky již nejsou přijímány a legitimní uživatelé nemohou dokončit tři handshake k navázání TCP spojení. Jinými slovy, server byl odepřen službou ze strany SYN Flood.

Pokud vás zajímá SYN Flood, můžete se podívat na http://www.icylife.net/yunshu/show.php?id=367, kterou jsem napsal v roce 2006, později provedl několik změn, opravil chyby a snížil agresivitu, a byl použit čistě pro testování.

1.2. Záplava DNS dotazů

Jako nejzákladnější a nejzákladnější služba internetu je DNS přirozeně jedním z hlavních cílů DDoS útoků. Zrušení DNS služby může nepřímo zničit celý podnik firmy nebo síťovou službu v regionu. Před časem také populární hackerská skupina Anonymous oznámila, že zaútočí na 13 DNS serverů na globálním internetu, ale nakonec se jí to nepodařilo.

UDP útoky jsou nejjednodušší metodou pro zahájení masivního provozu a padělání náhodných IP adres je obtížné vystopovat. Filtrování je však jednodušší, protože většina IP neposkytuje UDP služby, takže můžete jednoduše zahodit UDP provoz. Proto jsou čisté UDP útoky na provoz nyní relativně vzácné a jsou nahrazeny DNS Query Flood útoky provozovanými protokolem UDP. Jednoduše řečeno, DDoS útoky zahájené na vyšší úrovni protokolu, tím obtížnější je proti němu bránit, protože čím vyšší protokol, tím více je obchodně zaměřený a tím složitější je obranný systém.

DNS Query Flood je, když útočník manipuluje s velkým počtem sockpuppet strojů tak, aby vyslal velké množství dotazů na doménové jméno cílovému subjektu. Aby se zabránilo filtrování založenému na ACL, je nutné zlepšit náhodnost paketů. Běžnou praxí je náhodně padělat zdrojovou IP adresu, náhodně padělat zdrojový port a další parametry na vrstvě UDP. Na vrstvě DNS protokolu je ID dotazu náhodně vytvořeno spolu s doménovým jménem, které má být vyřešeno. Kromě zabránění filtrování může náhodné vyřešení padělaných domén také snížit pravděpodobnost zásahu do DNS cache a spotřebovat co nejvíce CPU zdrojů DNS serveru.

Co se týče kódu pro DNS Query Flood, napsal jsem v červenci 2011 kód na testování výkonu serveru a odkaz je http://www.icylife.net/yunshu/show.php?id=832. Podobně je tento kód uměle méně agresivní a slouží pouze pro testovací účely.

1.3. HTTP Flood

SYN Flood a DNS Query Flood, jak je popsáno výše, lze v této fázi účinně bránit, a skutečnou bolestí hlavy pro hlavní výrobce a internetové společnosti jsou útoky HTTP Flood. HTTP Flood je útok na webovou službu na protokolu sedmé vrstvy. Jeho velké škody se projevují především ve třech aspektech: pohodlné zahájení, obtížné filtrování a dalekosáhlý dopad.

Jak SYN Flood, tak DNS Query Flood vyžadují, aby útočníci ovládali velké množství botů s root oprávněními. Získání velkého množství root oprávnění vyžaduje čas a úsilí a během útoku se loutkový stroj pomalu doplňuje kvůli rychlé ztrátě zdrojů útočníkem v důsledku abnormálního provozu zjištěného administrátorem, což vede k výraznému snížení intenzity útoku a nelze ho dlouhodobě udržet. HTTP Flood útoky jsou odlišné, útočníci nemusí ovládat velké množství botů, ale místo toho používají portové skenery k nalezení anonymních HTTP proxy nebo SOCKS proxy na internetu, přes které útočník zahajuje HTTP požadavky na cíl útoku. Anonymní proxy jsou poměrně bohatým zdrojem a není těžké je získat během několika dní, takže útoky se snadno iniciují a mohou trvat dlouho.

Na druhou stranu jsou HTTP flood útoky spouštěny na HTTP vrstvě, která energicky napodobuje chování běžných uživatelů při požadavcích na webové stránky, což úzce souvisí s webovým byznysem, což ztěžuje bezpečnostním dodavatelům nabídnout společné řešení, které neovlivňuje uživatelský zážitek. Pravidla, která dobře fungují na jednom místě, mění scénáře a může vést k velkému počtu zabití z nedbalosti.

Nakonec mohou HTTP flood útoky způsobit vážné řetězové reakce, které nejen přímo způsobují pomalou reakci napadeného webového front-endu, ale také nepřímo útočí na back-end Java a další logiku a databázové služby na obchodní úrovni, čímž zvyšují jejich tlak a dokonce ovlivňují servery logového úložiště.

Zajímavé je, že HTTP Flood má také historickou přezdívku CC attack. CC je zkratka pro Challenge Collapsar, což je zařízení proti DDoS ochraně od známé bezpečnostní společnosti v Číně. Podle současné situace je stále zpochybňována nejen Collapsar, ale veškeré obranné vybavení a toto riziko nebylo odstraněno.

1.4. Pomalé útoky spojením

Pokud jde o útoky, první reakcí je masivní provoz a obrovské množství paketů. Existuje však útok, který dělá pravý opak – je známý tím, že je pomalý, takže některé cíle jsou zabity, aniž by věděly, jak zemřou, což je útok pomalého připojení, nejreprezentativnější je Slowloris vynalezený rsnakem.

HTTP protokol stanovuje, že HTTP požadavky končí na \r\n\r\n, což znamená, že klient dokončil odesílání a server zahájil zpracování. Co se stane, když nikdy nepošlete \r\n\r\n? Slowloris toho využívá ve svůj prospěch při DDoS útocích. Útočník nastaví spojení na Keep Alive v hlavičce HTTP požadavku, požádá webový server, aby TCP spojení nebylo odpojeno, a pak pomalu každých pár minut posílá serveru formát klíč-hodnota, například a:b\r\n, což způsobí, že server si myslí, že HTTP hlavička nebyla přijata, a čeká. Pokud útočník použije multithreading nebo loutku k tomutéž, webový kontejner serveru se rychle stane útočníkem přetížen a přestane přijímat nové požadavky.

Brzy se začaly objevovat různé varianty Slowloris. Například metoda POST odesílá data na webový server, vyplňuje velký obsah délky obsahu, ale pomalu bajt po bajtu POST skutečný datový obsah atd. Co se týče útoku Slowloris, rsnake také uvádí testovací kód, viz http://ha.ckers.org/slowloris/slowloris.pl.

2. DDoS útok pokročilý2.1. Hybridní útoky

Výše uvedené představuje několik základních metod útoku, z nichž kterýkoli lze použít k útoku na síť a dokonce i k poražení obřích webů jako Alibaba, Baidu a Tencent. Ale to není všechno, různé úrovně útočníků mohou spustit zcela odlišné DDoS útoky a jejich použití je totéž.

Pokročilí útočníci nikdy nepoužívají jeden vektor k útoku, ale flexibilně je kombinují podle cílového prostředí. Běžný SYN Flood je snadné filtrovat zařízeními pro čištění provozu pomocí reverzní detekce, SYN cookies a dalších technických prostředků, ale pokud jsou SYN+ACK pakety smíchány v SYN Flood tak, že každý padělaný SYN paket má odpovídající padělaný klientský potvrzovací paket, příslušné zde odkazuje na zdrojovou IP adresu, zdrojový port, cílovou IP, cílový port, velikost TCP okna, TTL atd., což vše odpovídá charakteristikám stejného hostitele a stejnému TCP toku. Tlak na výkon reverzní detekce a SYN cookies u průtokových čisticích zařízení se výrazně zvýší. Ve skutečnosti mají SYN datové pakety a různé další bity příznaků speciální útokové efekty, které zde nejsou představeny. Existují také unikátní techniky pro DNS Query Flood.

Za prvé, DNS lze rozdělit na běžné DNS a autorizované doménové DNS, které útočí na běžné DNS, IP adresa musí být náhodně vytvořena a server vyžaduje rekurzivní rozlišení; Při útoku na DNS autorizované domény by však falšovaná zdrojová IP adresa neměla být čistě náhodná, ale měla by být předem shromážděna DNS adresy poskytovatelů internetu po celém světě, aby se dosáhlo maximálního efektu útoku a zařízení pro čištění provozu bylo v trapné situaci, kdy musí přidat IP blacklist nebo nepřidávat IP blacklist. Přidání tohoto signálu povede k velkému počtu zabití z nedbalosti, a pokud nepřidáte černou listinu, každý balíček je třeba zpětně probedovat, což zvyšuje tlak na výkon.

Na druhou stranu, jak již bylo zmíněno, pro zvýšení tlaku na čištění zařízení je nutné náhodně vyměnit požadované doménové jméno bez zásahu do cache, ale je třeba poznamenat, že doména, kterou má být vyřešeno, musí mít určitou pravidelnost padělání, například padělat pouze určitou část doménového jména a zpevnit část, která prolomí bílý seznam nastavený čisticím zařízením. Důvod je jednoduchý – servery Tencentu dokážou vyřešit pouze doménová jména Tencentu a zcela náhodná doménová jména mohou být přímo vyřazena a musí být upevněna. Ale pokud je úplně opravený, je snadné ho přímo zahodit, takže je třeba ho zfalšovat.

Za druhé, útoky na DNS by se neměly zaměřovat pouze na UDP porty, které jsou podle DNS protokolu také standardní služby. V případě útoku lze současně provést útoky UDP i TCP.

Cílem HTTP Flood je prolomit cache na frontendu a přímo se dostat k webovému serveru přes nastavení pole v HTTP hlavičce. Kromě toho je HTTP Flood také velmi kritický pro výběr cílů a běžní útočníci si vyberou stránky, které vyžadují mnoho datových dotazů, například vyhledávání jako cíl útoku, což je velmi správné a může spotřebovat co nejvíce zdrojů serveru. Tento útok je však snadno rozpoznatelný pomocí čištění zařízení pomocí identifikace člověka a stroje, takže jak tento problém vyřešit? Je to velmi jednoduché, snažte se vybírat stránky, ke kterým běžní uživatelé přistupují také přes aplikaci, obecně různé webové API. Běžní uživatelé a škodlivý provoz přicházejí z aplikace a rozdíl mezi člověkem a strojem je velmi malý a je obtížné rozlišit základní integraci.

Každé TCP spojení existuje na straně serveru i samo o sobě a také musí spotřebovávat zdroje k udržení stavu TCP, takže připojení nelze udržovat příliš dlouho. Pokud se to vyřeší, agresivnost se výrazně zvýší, tedy Slowloris může provádět útoky bezstavovým způsobem, zachytit TCP sériové číslo a potvrdit udržování TCP spojení na klientovi pomocí sniffingu, a jádro systému nemusí věnovat pozornost různým změnám stavu TCP a notebook může generovat až 65 535 TCP spojení.

Předchozí popisy jsou všechny technické vylepšení útoků. Na lidské straně existují i jiné způsoby. Pokud SYN Flood odešle velké množství paketů a je doprovázen pomalými spojeními Slowloris, kolik lidí objeví tajemství? I když server vypadne, lze najít pouze útoky SYN, které se snaží posílit čištění TCP vrstev a ignorují chování aplikační vrstvy. Všechny druhy útoků mohou spolupracovat a dosáhnout maximálního účinku. Volba času útoku je také klíčovým bodem, například při výběru údržbářů během oběda, když jsou údržbáři uvězněni na silnici po práci nebo když není signál na bezdrátové síťové kartě v metru, a když cílový podnik pořádá rozsáhlou akci a doprava se zvýší.

Jde o čistý útok, takže není poskytnut žádný kód ani podrobné vysvětlení.

2.2. Útoky z P2P sítí

Předchozí metody útoků víceméně vyžadovaly některé boty, dokonce i HTTP Flood vyžaduje vyhledávání velkého počtu anonymních proxy. Pokud dojde k útoku, stačí zadat několik instrukcí a stroj automaticky přijde k provedení, což je ideální řešení. Tento útok už se objevil, a to ze strany P2P sítí.

Jak všichni víme, P2P uživatelé a provoz na internetu jsou extrémně velké. Pokud všechny jdou na určené místo ke stažení dat a připojení tisíců skutečných IP adres, žádné zařízení to nemůže podporovat. Vezměme si jako příklad BT download – falšování torrentů některých populárních videí a jejich zveřejňování do vyhledávačů stačí k oklamání mnoha uživatelů a návštěvnosti, ale to je jen základní útok.

Pokročilé P2P útoky jsou přímým spoofingem serverů pro správu zdrojů. Například klient Thunder nahraje nalezené zdroje na server pro správu zdrojů a poté je pošle dalším uživatelům, kteří potřebují stáhnout stejné zdroje, aby byl zveřejněn odkaz. Prostřednictvím obrácení protokolu útočníci zfalšují velké množství populárních informací o zdrojích a distribuují je prostřednictvím centra správy zdrojů, které lze okamžitě rozšířit po celé P2P síti. Ještě děsivější je, že tento útok nelze zastavit ani samotným útočníkem, a útok pokračuje, dokud P2P úředník nenajde problém, neaktualizuje server a uživatel stahování nerestartuje stažený software.

3. Shrnutí

To je vše, co je k úvodu do DDoS útoků a nechci zacházet dál – stačí pochopit, že tolik obrany stačí.

Obecně mohou být DDoS útoky obratné a elegantní. Krása aplikace spočívá v jednotě mysli.





Předchozí:Volný přístup k internetu, volný přístup k CMCC s QQWifi atd
Další:Zhubněte a hledejte ultimátní trik
Zveřejněno 25.10.2014 21:46:21 |
Dobře shrnuté
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com