Denial of service

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

Denial of Service (Dos) nebo distributed denial of service (DDoS) (česky odmítnutí služby) je technika útoku na internetové služby nebo stránky, při níž dochází k přehlcení požadavky a pádu nebo minimálně nefunkčnosti a nedostupnosti pro ostatní uživatele.

Cíle takového útoku jsou v zásadě dva:

  • Vnucení opakovaného resetu cílového počítače
  • Narušení komunikace mezi serverem a obětí tak, aby jejich komunikace byla buď zcela nemožná, nebo alespoň velmi pomalá.

Denial of service a distributed denial of service bývá konstruován tak, že jeho cílem je v jednom čase útok na jednu konkrétní službu. Existují také softwarové principy, které umožňují distribuované útoky na více služeb v jednom čase (a nikoliv jen na jednu). I proti těmto typům útoků existují celé množiny možností, jak konstruovat obranu.

Projevy[editovat | editovat zdroj]

United States Computer Emergency Readiness Team definuje příznaky DDoS útoku takto:

  • Neobvyklé zpomalení služby (při otvírání souborů nebo prostém přístupu).
  • Celková nedostupnost části nebo celých stránek.
  • Nemožnost se ke stránkám připojit.
  • Extrémní nárůst obdrženého spamu.

Splnění některých podmínek ale ještě neznamená DDoS útok, může jít o prostý výpadek zaviněný hardwarem nebo softwarem samotného serveru bez cizího zavinění.

Typy útoku[editovat | editovat zdroj]

Všechny typy se vyznačují několika společnými charakteristikami:

  • Zaplavení provozu na síti náhodnými daty, které zabraňují protékání skutečných dat.
  • Zabránění nebo přerušení konkrétnímu uživateli v přístupu ke službě.
  • Narušení konfiguračního nastavení.
  • Extrémnímu zatížení CPU cílového serveru.
  • Vsunutím chybových hlášení do sekvence instrukcí, které můžou vést k pádu systému.
  • Pád samotného operačního systému.

ICMP floods[editovat | editovat zdroj]

Smurf attack spočívá na chybné konfiguraci systému, který dovolí rozeslání paketů všem počítačům zapojených v síti přes Broadcast adresu. Pak stačí aby odeslaný paket měl dostatečnou velikost aby nebyl odfiltrován a všechny počítače v síti ho budou muset přijmout a zpracovat (zahodit).

Ping-flood stojí na zahlcení cílového počítače žádostmi o odezvu ping (protokol ICMP). Základním předpokladem je, že útočník má k dispozici rychlejší připojení k internetu s možností většího objemu dat. Tento druh útoku je nejjednodušší ve svém provedení, stačí použít „ping -t“ k odesílání nekonečného proudu žádostí.

SYN flood zasílá záplavu TCP/SYN paketů s padělanou hlavičkou odesílatele. Každý takový paket je serverem přijat jako normální žádost o připojení. Server tedy odešle TCP/SYN-ACK packet a čeká na TCP/ACK. Ten ale nikdy nedorazí, protože hlavička odesílatele byla zfalšována. Takto polootevřená žádost nějakou dobu blokuje jiné, legitimní žádosti o připojení.

Teardrop útok[editovat | editovat zdroj]

Tento typ útoku zahrnuje zaslání IP fragmentu s překrývajícím se příliš velkým nákladem dat na cílový počítač. Chyba v TCP/IP při přeskládání takového paketu může na starších operačních systémech vést až k jejich pádu

Peer-to-peer útok[editovat | editovat zdroj]

Peer-to-peer útok je využití masivního množství lidí na P2P sítích. Prakticky jde o zneužití chyby v klientu (většinou se jako příklad uvádí DC++) k odpojení od stávajícího serveru a pokusu o připojení k oběti. Při dobře provedeném útoku může být oběť vystavena najednou až 750.000 žádosti o připojení. I když tento útok se dá snadno odfiltrovat pomocí identické hlavičky p2p klienta, při masivním útoku i sama filtrace může vyústit v pád systému.

Nukes[editovat | editovat zdroj]

Nukes jsou speciální pakety určené k zničení cílového počítače. Ne vždy je totiž pro DoS třeba server zahltit, občas se v něm nalézá chyba, která zapříčiní pád při zpracování jediného paketu. Typickým příkladem je WinNuke, který využívá chybu v NetBIOS handleru systému Windows 95.

Distributed DoS[editovat | editovat zdroj]

Útok Distributed DoS (česky "šířící se" DoS, čtěte dál) je charakterizován větším množstvím počítačů, snažících se najednou zahltit cíl útoku. Často je tento útok veden bez vědomí majitelů útočících počítačů a jedná se o důsledek napadení a úspěšného infikování těchto systémů.

Jeden způsob je infikování počítače malwarem, který má v sobě pevně danou IP adresu oběti útoku a datum, kdy se program pokusí na cíl zaútočit. Po úspěšném infikování počítače tedy již útočník s daným systémem nemusí nijak komunikovat a útok proběhne automaticky. Příkladem takovéto infekce může být program MyDoom.

Systém může být také napaden programem (botem), který poté běží jako rezidentní proces a čeká na příkazy útočníka (tvůrce bota). Takto napadený systém se nazývá jako zombie a společně s ostatními počítači, napadenými stejným programem, tvoří takzvaný botnet. Typickým příkladem nástroje pro vykonání DDoS útoku je program Stacheldraht. Tento program vytváří vícevrstvou strukturu, kde útočník (správce botnetu) přes několik prostředníků (napadený systém, který rozesílá příkazy zombie počítačům) ovládá celý botnet a pomocí klasických DoS útoků, jako např. SYN flood, smurf attack, vykonávaných těmito zombie počítači, zahltí cílový systém. Na rozdíl od pevně zakódovaných DDoS útoků, botnet může být kdykoliv využit k napadení libovolné IP adresy, zaslané zombie počítačům.

Distribuovaný DoS útok má oproti normálnímu útoku několik výhod. Za prvé, větší množství útočníků (zombie počítačů v botnetu) může generovat větší množství síťového provozu, než jeden počítač, a tím způsobí větší zatížení cílového systému. Za druhé, útok více útočníků je těžší ošetřit (vystopovat útočící systémy a odfiltrovat je od normálního provozu serveru) např. i proto, že více jednotlivých útočících systémů může být méně agresivních, než kdyby byl útok veden jen jedním systémem, což může ztížit jejich odhalení. Výhodou je také škálovatelnost útoku, kdy útočník může snadno měnit počet útočících počítačů, takže například, pokud oběť zvýší přenosovou kapacitu svého internetového připojení nebo zvětší výpočetní výkon napadeného počítače (CPU, RAM), může útočník jednoduše přidat k útoku další zombie počítače.

V některých případech může být počítač součástí DDoS útoku s majitelovým vědomím. Příkladem může být incident z prosince roku 2010, kdy přívrženci projektu WikiLeaks uspořádali DDoS útok na servery majoritních platebních společností (např. PayPal a další) v takzvané „Operation Avenge Assange“ (Operace pomstěte Assangeho). V takovýchto případech sami majitelé počítačů stáhnou a spustí příslušný program, aby se připojili k útoku.

Některé útoky (jako například SYN flood) mohou imitovat rozsáhlý DDoS útok tím, že jednotlivé pakety přicházejí zdánlivě z mnoha různých IP adres. Vzhledem k tomu, že zdrojová IP adresa se dá relativně jednoduše podvrhnout, mohou tyto pakety pocházet z mnohem menšího počtu útočících systémů, než by se zdálo, nebo dokonce mohou pocházet všechny z jediného zdroje.

Reflected/Spoofed útok[editovat | editovat zdroj]

Odražený/Podvržený distribuovaný DoS útok (DRDoS, anglicky Distributed Reflected Denial of Service attack) spočívá v rozeslání podvržených požadavků na velké množství počítačů, které poté na tyto požadavky odpoví. Podvržené požadavky mají jako zdrojovou adresu uvedenou adresu oběti, která je pak zahlcena odpověďmi na tyto požadavky.

Za určitou formu odraženého útoku může být považován také ICMP Echo útok (takzvaný Smurf attack), kdy útočník zašle podvržený požadavek Echo request na broadcast adresy nevhodně nakonfigurovaných sítí. Výsledkem pak je velké množství odpovědí na tento Echo požadavek, které jsou díky podvržené zdrojové adrese nasměrovány na systém oběti.

K provedení odraženého útoku může být využito mnoho síťových služeb, jedna z metod například využívá DNS servery k zesílení účinku útoku (DNS Amplification útoky).

Obrana[editovat | editovat zdroj]

SYN cookies[editovat | editovat zdroj]

SYN cookies vnitřně modifikují chování TCP protokolu tak, že k vlastním zdrojům serveru se přistupuje až po ověření platnosti adresy. Tímto postupem se dá velmi účinně předejít SYN Flood útoku. Implementace této obrany je běžná na Solaris a Linux systémech.

Firewall[editovat | editovat zdroj]

Přestože obsahuje jednoduché procesy k blokování IP adres či celých protokolů, z logiky věci nemůže být účinný absolutně. Nemůžeme přece kompletně zablokovat port, po kterém přicházejí i legitimní uživatelé.

Intrusion Prevention System[editovat | editovat zdroj]

Intrusion Prevention System je účinný pouze v případě, že útok má shodný podpis (například část hlavičky) s již dříve provedeným útokem. Podle podpisu totiž může začít okamžitě filtrovat pokusy o DoS od normálního provozu na síti.

Externí odkazy[editovat | editovat zdroj]