Základní principy DoS útoku

13. dubna 2015

Základem kybernetické bezpečnosti je zabezpečení dostupnosti, integrity a důvěryhodnosti informací. Intenzívní (D)DoS útoky v roce 2013 vedené v několika vlnách proti známým webovým serverům a službám v České republice výrazným způsobem omezili první zásadu kybernetické bezpečnosti - dostupnost služeb a tím spojených informací. To je možné udělat na alespoň jedné součásti samotného systému: výpočetní kapacitě, operační paměti či síťovému pásmu.

Pro začátek je dobré pochopit zdali se jedná o útok typu DoS (Denial of Service) nebo DDoS (Distributed Denial of Service). I když je výsledek útoku v obou případech stejný, zásadně se liší zdroj resp. počet zdrojů, které útok generují. Jak již z názvu "distributed" vyplývá, packety můžou přicházet na cíl z různých zdrojů k čemuž se nejčastěji využívají botnety. Detekce se tak stává poměrně náročná protože není možné snadno definovat zdroj DDoSu a zamezit tak útoku. Například s využitím blokace IP rozsahů, které zahlcující systém oběti. Při DoS útoku přicházejí pakety z jednoho zdroje, což však nemusí být vždy na první pohled patrné. Generování útoku jedním nebo druhým způsobem je lehčí, než se může na první pohled zdát. Pro vytvoření DDoS útoku si můžeme pronajmout například nějaký botnet nebo využít amplifikaci. Při realizaci útoku z jednoho centra potřebujeme jenom silnou přípojku do Internetu (v řádech jednotek Gbps a vyšších).

Kde zasáhnout

DoS resp. DDoS útok je obvykle směrován na jednu ze síťových vrstev. Přes každou síťovou vrstvu je možné nějakým způsobem službu vyřadit z provozu, avšak zabezpečení jedné vrstvy často nezabrání útoku na jinou. Proto je nezbytné věnovat pozornost každé vrstvě zvlášť. Podle toho na kterou z OSI vrstev se útočník zaměří se odlišuje také samotný způsob útoku. DoS resp. DDoS útok je obvykle směrován na jednu ze síťových vrstev. Přes každou síťovou vrstvu je možné nějakým způsobem službu vyřadit z provozu, avšak zabezpečení jedné vrstvy často nezabrání útoku na jinou. Proto je nezbytné věnovat pozornost každé vrstvě zvlášť. Podle toho na kterou z OSI vrstev se útočník zaměří se odlišuje také samotný způsob útoku.

Vrstva OSI Využívaný protokol a služby Příklad techniky útoku Mitigace uvedeného příkladu
Aplikační vrstva FTP, DNS, DHCP, POP3, SMTP, SSH, Telnet, TFTP HTTP get/post - přihlašování do aplikace, upload videa, zasílání komentářů.. monitorováni aplikace, CAPTCHA. Vzhledem k tomu, že na této vrstvě útoky "napodobují" lidské konání, obrana je náročnější.
Prezentační vrstva komprimace, šifrování, konvertování útok pomocí upravených SSL dotazů přesměrování SSL dotazů z původní infrastruktury přes nějaký jiný zdroj
Relační vrstva zahájení a ukončení relačního spojení omezení služeb jinak přístupných přes Telnet útok je možný v důsledku zranitelnosti, která může byt updatem odstraněná
Transportní vrstva TCP, UDP SYN flood, Smurf attack. Omezuje počet sítových připojení na zařízeních informování o blackholingu u svého poskytovatele připojení
Síťová vrstva směrování a síťové adresování ICMP flooding stanovení limitu na ICMP
Linková vrstva switche a přepínače MAC flooding omezení počtu MAC adres které mohou porty přijmout
Fyzická vrstva síťové kabely fyzická manipulace s vedením omezení fyzického přístupu

Jak můžeme vidět, v IT infrastruktuře je hned několik cílů na které je možné se zaměřit. I když se nám podaří jednotlivé vrstvy odpovídajícím způsobem dostatečně zabezpečit je nutné přicházející útok rychle detekovat.

Monitorování provozu
Aby jsme mohli útok resp. sérii útoků v síti detekovat, je potřeba vědět, co se v síti odehrává. K tomu slouží pasivní monitorovaní sítě. Provozovatelé větších i menších síti by měli pasivně monitorovat provoz na svých směrovačích optimálně až exportem NetFlow/sFlow. Tyto exporty jim umožňují zaznamenávat informace o provozu, a to na úrovní zdrojové a cílové adresy, zdrojového a cílového portu, využitého protokolu či časových údajů. Data slouží na případnou zpětnou identifikaci útoku. Všechny tyto informace by pak v případě útoku měli provozovatelé síti být schopni vygenerovat v podobě například pcapu a proto je vhodné daná data nějaký čas uchovávat (zpravidla až několik měsíců nazpět). Mimo pasivní ochrany je vhodné využívat také ochranu aktivní. K aktivní ochraně přistupujeme, pokud chceme podezřelý resp. škodlivý tok dat odfiltrovat. Aby tak provozovatelé sítí učinili, je nezbytné mít k dispozici alespoň zdrojovou a cílovou IP adresu a TCP/UDP porty.

Provozovatelé páteřní infrastruktury mají na zastavení útoku jiné možnosti. Jednou z možností, jak zastavit pakety ještě před tím, než dorazí do sítě, je technika známa jako Remotely-Triggered Black Hole. Ta využívá možností BGP protokolu k tomu, aby omezila pakety odesílané na rozsah oběti ze směru, který daná relace obsluhuje. Tato technika filtrace škodlivého provozu je možná mezi sítěmi, které se předem na tento stav připravili nebo přes peeringový uzel který tuto techniku podporuje.
Po již zmíněných (D)DoS útocích v roce 2013 byla tato technika přidána i do pravidel projektu FENIX, který je zastřešen peeringovým uzlem NIX.CZ. Cílem projektu je omezit nebo zkomplikovat realizaci útoků a tím zvýšit dostupnost internetových služeb v rámci subjektů zapojených do této aktivity. Projekt funguje na principu virtuální sítě skrz kterou si členové v případě útoku mohou vyměňovat data a tak by nemělo dojít k přerušení v provozu služeb. Pro vstup sítě do tohoto projektu je potřeba splnit poměrně náročné bezpečnostní, technické a organizační podmínky. Což mimo jiné zajistí, že sítě si budou navzájem důvěřovat. A v případe potřeby budou ochotné spolupracovat při řešení útoku. Takováto spolupráce boje proti (D)DoS útokům je ve světě jedinečná a sítím otevírá nové možnosti obrany.