„Spustite sieť! 2“ – Keď sa vám služba odoprie
Prvá časť nám stručne priblížila problematiku sieťovej bezpečnosti a s ňou súvisiace útoky na 3 základné piliere bezpečnosti – dôvernosť, integrita, dostupnosť.
Nasledujúci článok nám podrobne priblíži útok voči dostupnosti (DoS, resp. DDoS) a tiež spôsoby ako sa pred týmito útokmi chrániť.
DoS
Pri útoku DoS – Denial of Service – odopretie služby sa útočník pokúša zabrániť oprávneným užívateľom v prístupe k službe alebo k informáciám. Útokom na server a jeho pripojenie môže útočník znemožniť prístup užívateľov k elektronickej pošte, webovej stránke, online bankovníctvu a pod., prípadne k iným službám ktoré sú na danom servery spustené. Útok nemusí byť nutne zameraný na server, v menšom merítku to môže byť aj váš osobný počítač.
DDoS
Rozšírením útoku DoS je DDoS, pričom sa jedná o Distributed Denial of Service, teda distribuované odopretie služby. Útočník môže získať kontrolu nad iným počítačom využitím bezpečnostných dier alebo slabých miest v systéme, väčšinou prostredníctvom škodlivého kódu typu „trójsky kôn“. Kód je šírený nenápadne a usadzuje sa v čo najväčšom počte systémov pre ich neskoršie zneužitie. Z takto ovládnutého počítača sa stáva tzv. „zombie“.
Pokiaľ sa útočníkovi podarí ovládnuť dostatočné množstvo strojov, vzniká sieť infikovaných počítačov ktoré je možné diaľkovo riadiť (tzv. „botnet“). Ak je už raz počítač nakazený, môže byť ovládaný vzdialeným prístupom bez toho, aby o tom majiteľ stroja vedel. Počítače v sieti Botnet sú potom využívané ako súkromná armáda, ktorá môže zaútočiť na ľubovoľný cieľ. Niektoré Botnety sa môžu skladať z miliónov počítačov. Moderné botnety sú založené na škodlivom kóde, ktorý je univerzálne konfigurovateľný, relatívne ľahko distribuovateľný a ktorý mnohokrát obsahuje centrálne riadiace prvky na úrovni profesionálnych informačných systémov.
Disponujúc efektívnym botnetom, útočník môže začať generovať prevádzku voči zvolenému cieľu. Botnet dokáže vygenerovať obrovské množstvá sieťovej komunikácie a tak preťažiť vybraný cieľ. Táto škodlivá komunikácia môže byť generovaná rôznymi spôsobmi, napr. žiadaním väčšieho množstva požiadaviek ako dokáže server zniesť, alebo zasielaním takéto objemu náhodných dát, ktorý kompletne zahltí pridelenú šírku pásma.
Vektor DDoS útoku je totožný s DoS; rozdiel spočíva v decentralizácii zdroja útoku. Botnety pozostávajú rádovo mnohokrát zo státisícov zombie PC, preto útočník môže v rovnakom čase z rôznych miest odosielať veľké množstvá požiadaviek na server, ktorý ich jednoducho nebude schopný spracovávať.
Botnety sú predmetom obchodovania na internetovom čiernom trhu. Existuje mnoho špecializovaných čiernych online trhov, na ktorých môžete predať alebo kúpiť jednotlivé DDoS útoky. Využívaním týchto undergroundových trhov môže ktokoľvek zaplatiť za zneškodnenie webstránky, či už preto že nesúhlasí s obsahom ktorý uverejňuje, alebo chce uškodiť organizácii ktorá stránku vlastní. Jednoduchý týždeň trvajúci DDoS útok, ktorý dokáže položiť stránku menšej firmy vás nebude stáť viac ako 150$.
Spoločnosti Google Ideas a Arbor networks vytvorili spoločný projekt, kde si môžete pozrieť práve prebiehajúce DDoS útoky. Zobrazí vám šírku pásma ktorú využívajú, o aký typ útoku sa jedná, útoky v jednotlivých krajinách a podobne. Digitálnu mapu nájdete na stránke http://www.digitalattackmap.com/
Typy útokov na odopretie služby
DoS útoky sa delia do niekoľkých kategórií podľa toho, na akú časť systému útočia. Útočník sa môže zamerať na:
- spotreba zdrojov stroja, napr. „zaplavením“ prevádzky náhodnými dátami, ktoré zabraňujú toku skutočných dát , extrémnym zaťažením cieľového procesora, alebo zahltením pamäte.
- vloženie chybných konfiguračných informácii, napr. informácie o smerovaní v sieti
- narušenie stavu komunikácie, teda nevyžiadané resetovanie relácie TCP
- poškodenie fyzických sieťových komponentov
- prekážanie na komunikačnom médiu medzi určenými užívateľmi tak, že im znemožní adekvátne komunikovať
Syn-flood
DoS útok typu SYN flood využíva štandardný, tzv. trojfázový handshaking (zahájenie konverzácie medzi počítačmi). Útočník pošle na cieľový systém záplavu TCP/SYN paketov s falošnou hlavičkou odosielateľa. Každý z týchto falošných paketov musí server prijať a obslúžiť ako bežnú žiadosť o pripojenie. A ďalej sa udalosti odohrajú takto:
- Na danú službu alebo počítač je poslaný SYN paket oznamujúci nadviazanie nového TCP spojenia
- Prijímajúci počítač potvrdí prijatie SYN paketu paketom SYN-ACK.
- Následne by mal nasledovať ACK paket od strany odosielateľa, ten však v prípade DoS útoku nikdy nedorazí, pretože hlavička odosielateľe bola sfalšovaná. Takto polootvorená žiadosť istú dobu blokuje ostatné, legitímne žiadosti o pripojenie.
- Iným negatívnym dôsledkom útoku SYN flood je, že prijímajúci počítač v krátkom čase zaznamená kritické množstvo nových požiadaviek na spojenie (SYN flood), ktoré nie je schopný obslúžiť z dôvodu pretečenia fronty nevybavených požiadaviek.
Graficky by sa to dalo znázorniť asi takto:
Ping of Death
Jeden z klasických DDoS útokov je nazývaný Ping of Death. Tento útok je založený na zasielaní chybných PING správ.
Správne formulovaná PING správa má dĺžku 56 bytov alebo tiež 84 bytov keď berieme v úvahu aj IP hlavičku. V minulosti mnoho operačných systémov nebolo schopných spracovať ping packet väčší ako je 65 535 bytov, čo je maximálna veľkosť packetu IPv4. Pri zložení fragmentovaného packetu sa zistilo, že je chybný a príliš veľký, čo mohlo viesť k zahlteniu bufferu zariadenia.
V dnešnej dobe sa používa jednoduchý ping flooding, teda vyslanie takého veľkého množstva packetov, ktoré nie je schopné zariadenie spracovať.
Smurf Attack
Tento útok môže mať devastačné účinky ako pre sieť obete, tak pre sieť sprostredkovateľa.
Smurf attack je útok hrubou silou priamo na IP protokol a jeho broadcast funkciu. K tomuto útoku sa využívajú správy ICMP.
Tento útok je založený na jednoduchom princípe, je to prakticky len smerovanie a o zvyšok sa postará IP protokol. Skladá sa z piatich častí:
- Útočník identifikuje IP adresu obete
- Je vybraná sieť sprostredkovateľa, ktorá bude zosilňovať útok
- Následne je zaslané obrovské množstvo ICMP packetov na broadcastové adresy sprostredkujúcich stránok. Tieto packety majú ako cieľovú adresu zadanú IP adresu obete
- Sprostredkovateľ doručí broadcastovú správu na 2. vrstvu TCP/IP modelu v jeho podsieti
- Počítače v sieti sprostredkovateľa odpovedajú na sieť obete
Môže to znieť primitívne a môžete sa sami seba pýtať, ako môže jednoduchý ping zrútiť celú sieť? Predstavme si, že útočník má k dispozícii pripojenie T-1 a ICMP packety zasiela rýchlosťou 1 Mbps na sieť sprostredkovateľa, ktorý má 100 počítačov. Stane sa teda to, že k obeti je vyslané množstvo ICMP packetov rýchlosťou 100 Mpbs. Útočník môže takto posielať ICMP packety dovtedy kým je pripojený k sieti, alebo kým sprostredkovateľ tieto packety preposiela. To už znie trochu vážnejšie, nie?
Ako všeobecne zabrániť DDoS útokom?
Bohužiaľ pre jednotlivca neexistujú žiadne skutočne efektívne spôsoby ako sa nestať obeťou DDoS útoku, no môžete vykonať niekoľko opatrení, aby si útočník vybral iný počítač a nie ten váš. Napríklad:
- Nainštalujte si antivírusový systém. Prvým predpokladom vyhnutia sa DoS útoku, alebo spôsobenia DoS útoku iným obetiam je, že Váš počítač sa infiltráciou trójskym koňom nestane „zombie“ počítačom
- Zapnite si firewall a nakonfigurujte si ho tak, aby prepúšťal len komunikáciu, o ktorú ste žiadali, alebo ktorú ste posielali
- Aplikovanie emailových filtrov vám môže pomôcť redukovať nechcenú komunikáciu
Pre väčšie organizácie existujú efektívnejšie spôsoby obrany, no je potrebné zdôrazniť, že protiopatrenia nie je možné aplikovať plošne a vždy je potrebné prispôsobiť sa aktuálnej situácii. Z dostupných možností je možné aplikovať Load Balancing, Scrubbing, (čističky prevádzky, pomocou ktorých sa oddelí väčšina škodlivej prevádzky od korektnej sieťovej prevádzky) RTBH (Remotely Triggered Black Hole Routing / Filtering), Prefix-listy (t.j. obmedzenie propagácie AS), Access-listy, firewalling, resp. application firewalling atď.
Prostriedky technologickej ochrany voči DDoS je zvyčajne potrebné vzájomne kombinovať a princípom „security in depth“ zreťaziť viacero metód, podľa toho, aký je vektor útoku, aký je cieľ útoku, aké má charakteristické vlastnosti atď. Spôsob aplikácie je závislý na architektúre siete, na stávajúcich prvkoch ochrany atď.
Ako zabrániť Smurf Attack útoku?
- Aplikujte prístupové listy (access list) na odchádzajúce rozhranie vášho smerovača
- Pokiaľ výslovne nepotrebujete využívať broadcast, nevyužívajte ho. Zablokujte túto službu na každom rozhraní vášho smerovača
- Pokiaľ spravujete väčšiu sieť s niekoľkými CISCO smerovačmi, môžete využiť príkaz ip verify unicast reverse-path , ktorý overí že existuje spätná cesta k ICMP packetu, pokiaľ neexistuje je takýto packet zahodený
Aby sme sa nezamerali len na temnú stranu sieťových útokov, v ďalšej časti si priblížime jedno zo zariadení, ktoré slúži na ochranu interných sietí mnohých spoločností.
Prvá časť seriálu: “Spustite sieť!” – bezpečnosť a iné pojmy
Tomáš Paulus
Voľný preklad článkov
http://www.omnisecu.com/security/distributed-denial-of-service-ddos-attack.php
Vyjadrite váš názor v komentároch