Známe zbraně svých nepřátel? Část 4: DoS útoky a botnety
Motto: „Dnešní DDoS útok může být počátkem velmi pochmurné budoucnosti. Jsou-li hackeři schopní shodit internet, kdykoli si zamanou, co bude příště?“ William Thurnton v článku k DDoS útoku na Dyn 10. října 2016, Gizmodo.
Známe zbraně svých nepřátel?
Část 4: DoS útoky a botnety
DoS či dnes spíše DDoS útoky jsou dnes jedním z nejrozšířenějších způsobů, jak někomu zlikvidovat živnost, způsobit škodu nebo alespoň pokazit renomé či znepříjemnit živost. Nedávný masívní DDoS útok na DNS servery společnosti Dyn například vyřadil na několik hodin z provozu značnou část internetu a internetových služeb a velmi nepříjemně zasáhl řadu velkých, známých a renomovaných firem jako Spotify, Twitter, Github nebo Zoho. Je celkem nasnadě, že útoků bude přibývat.
Cílem DoS a DDoS útoků je znemožnit nebo alespoň zpomalit činnost napadeného serveru. Cílem jsou častěji menší a střední firmy, ale i úřady či veřejnoprávní instituce. Vzhledem k tomu, že náklady na hodinu cíleného DDoS útoku se pohybují v řádech desítek dolarů včetně podpory a vyhodnocení dopadu, stávají se čím dál tím častěji nástrojem konkurenčního boje i nejrůznějších hacktivistů. Statistiky dost shodně uvádějí, že meziroční nárůst četnosti DDoS útoků dnes výrazně přesahuje 100 % až 120 %.
DoS a DDoS
Název DoS pochází z anglického označení Denial of Service, tedy odmítnutí služby. Základní princip útoku spočívá v soustředěném zasílání serveru velkého množství vhodně zvolených požadavků, na něž server z principu své činnosti musí nějakým způsobem reagovat a které jej tudíž zatěžují. Jak zátěž serveru roste, prodlužuje se neúměrně odezva na legitimní požadavky a služba, kterou má skutečně poskytovat, se stává nepoužitelnou. Nezřídka server pod náporem žádostí zkolabuje a stane se zcela nepřístupným. Velké množství dotazů navíc zahlcuje přenosovou trasu k serveru a zpomaluje či znemožňuje komunikaci s ním. Na většině podobných útoků se podílí nikoli jedno, ale velký počet útočících zařízení současně. Bývají součástí tzv. botnetů, sítí infikovaných a nekalými živly ovládaných počítačů a dalších zařízení, od pouličních kamer až po domácí spotřebiče, připojených k internetu. Taková chytrá zařízení se podílela i na již zmiňovaném útoku na servery společnosti Dyn či na útoku na francouzskou společnost OHV, který se uskutečnil koncem loňského září. Přenosová rychlost při útoku na společnost OHV přesahovala ve špičkách 1 Tb/s a je dosud zaznamenaným nejmasívnějším DDoS útokem.
Techniky DDoS útoků
Techniky DDoS útoků se neustále vyvíjejí a zdokonalují. Podívejme se proto pouze na ty hlavní a nejdůležitější.
Útoky typu UDP Floods a ICMP Floods
Bombardování velkým počtem požadavků na síťové úrovni patří k nejčastějším formám DDoS útoků a tvoří asi dvě třetiny z jejich celkového počtu. Velký počet útočníků, kteří se mohou navíc v zasílání požadavků na cíl mohou střídat, takže jsou prakticky neodhalitelní, vytvoří uvnitř i vně napadené sítě velmi silný datový tok. Příval požadavků efektivně zahltí síťové ovladače serveru a učiní jej nefunkčním. Nejčastěji se využívají dva typy útoků označované jako přívaly (floods) požadavků: UDP Floods a ICMP Floods. V prvním případě se náhodně vybrané porty serveru zahltí UDP pakety, které žádají o nějakou službu. To server nutí neustále hledat na příslušných portech neexistující aplikace a předepsaným způsobem útočníkům odpovídat. Vykonávání aplikací, k nimž je skutečně určen, se zpomalí nebo zcela zastaví. ICMP příval zase server zahrne obrovským množstvím ICMP požadavků. Protokol ICMP slouží v internetu k předávání chybových zpráv a povinností serveru je na ICMP požadavek zareagovat. Zpracování velkého počtu ICMP požadavků server přetěžuje a znemožňuje mu poskytovat včas vlastní služby.
Smrtelné pinkání
Velmi jednoduchou a účinnou formou útoku je tzv. „smrtelné pinkání“, Ping of Death, PoD. Spočívá v zasílání záměrně poškozených požadavků PING, jimiž se zjišťuje přítomnost serveru nebo počítače v síti. Zpracování velkého množství nesprávných požadavků může vyvolat chyby v činnosti příslušných zpracujících programů na serveru a může i zapříčinit jeho havárii. Typickým příkladem je zasílání příliš dlouhých PING požadavků, které může vést k přeplnění vyrovnávací paměti serveru a následně i k jeho nepředvídatelnému chování. Ještě účinnější je tzv. „šmoulí útok“, Smurf Attack. Podobá se smrtelnému pinkání s tím rozdílem, že požadavky se zasílají z podvržené IP adresy skutečného a neinfikovaného počítače. Šmoulí útok způsobí narušení činnosti jak serveru, který zpracovává velké množství nekorektních požadavků, tak počítače, jehož IP adresa je použita, neboť je zaplaven vlnou ICMP odpovědí atakovaného serveru.
Otevřená spojení
Útoky označované jako SYN Floods Attack zneužívají principů navazování spojení mezi počítači v síti. Postup navazování spojení v počítačové síti je jednoduchý a probíhá ve třech krocích. Nejdříve počítač, který spojení zahajuje, pošle serveru žádost, tzv. zprávu SYN, odtud i název útoku. Server se na spojení připraví, vyčlení systémové prostředky a informuje o tom žadatele. Ten příjem informace potvrdí a tím je spojení navázáno. Zákeřnost útoku SYN Flood Attack spočívá v tom, že útočník sice požádá o navázání spojení, ale neuskuteční třetí krok a nepotvrdí je. Server tak čeká u otevřeného spojení, což může samo o sobě být nebezpečné, ochuzen o připravené prostředky. Příliš mnoho současně otevřených spojení snižuje kapacitu a výkon serveru a zpomaluje vykonávání serverových aplikací.
Přeplnění paměti
Útok spočívá v zasílání dat, které nejsou v souladu se procesními specifikacemi serveru. Může jít například o datové zprávy, jejich délka převyšuje předepsanou hodnotu. Rychle za sebou přicházející zprávy si server k následnému zpracování ukládá do vyhrazeného vnitřního paměťového úseku, tzv. vyrovnávací paměti. Nemají-li ukládané zprávy předpokládanou délku, může dojít k situaci, že jejich celková velikost překročí vymezený paměťový rozsah a přepíše sousedící část paměti. Změněný obsah paměti může být například interpretován jako součást programu a může vést, přesněji řečeno obvykle vede, k naprosto nepředvídatelnému chování serveru a k jeho kolapsu. Typickým příkladem využití podobného útoku je již zmíněné smrtelné pinkání.
Útoky na webové servery
DDoS útoky se ale netýkají pouze sítí a komunikací. Velmi rozšířenou formou jsou útoky namířené proti webovým serverům, tzv. HTTP přívaly, HTTP Flowds. Stejně jako všechny ostatní i ony využívají k útoku větší počet infikovaných zařízení z botnetů a zasíláním velkého množství požadavků se snaží snížit schopnost serveru poskytovat služby. HTTP přívaly jsou navíc z hlediska útočníka efektivnější, neboť jejich realizace je jednodušší. Vykonávání webových požadavků trvá výrazně déle, vyžaduje mnohem více výpočetních prostředků a výkonu serveru než na síťových vrstvách. Pro dosažení úspěchu tak stačí požadavků posílat méně, útoky lze vést i po méně rychlých linkách a cílit i na menší podnikové servery nebo e-shopy. Webové aplikace, které vytvářejí programátoři s různými úrovněmi znalostí a zkušeností, obsahují nezřídka nejrůznější úzká místa a chyby, které útočníkům práci spíše zjednodušují, než komplikují.
Příště: Viry, trojany a ti druzí
Dag Jeger.