CESNET vyvíjí vlastní pračku na DDoS útoky

8. 11. 2016
Doba čtení: 4 minuty

Sdílet

Vývojáři ze sdružení CESNET začali připravovat vlastní zařízení pro čistění provozu od DDoS útoků. Využijí přitom vlastní řešení 100GE síťové karty.

Sdružení CESNET připojuje velké akademické sítě v České republice a také pociťuje stoupající množství DDoS útoků. Skupina brněnských vývojářů projektu Liberouter proto vyvíjí vlastní řešení, které bude schopné chránit koncové sítě před zahlcením linek. Na konferenci OpenAlt jsme vyzpovídali zástupce vedoucího projektu Liberouter Viktora Puše.

Podle jeho slov je nutné, aby se problém volumetrických útoků řešil právě už v infrastruktuře, protože tam jsou ještě linky dostatečné kapacity, které nejsou útokem zahlceny. Koncová síť se obvykle sama bránit nemůže, protože to už je pozdě. Pokud k ní vede 10GE linka a ta je zahlcená, nepomůže provoz filtrovat na konci, vysvětlil Viktor Puš nutnost infrastrukturního řešení.

Viktor Puš (vpravo) na konferenci OpenAlt

V současné době není v síti CESNET nasazeno žádné automatizované řešení, které by koncové sítě před podobnými útoky chránilo. Když přijde útok, musí ho správce analyzovat, podívat se na charakter útoku a přidat do pravidel routeru příslušné filtry. Cílem projektu je tedy automatizovat všechny tyto kroky a navíc umožnit výrazně jemnější filtraci, než jaké je možné dosáhnout na routeru.

Výsledkem je jakási pračka provozu, která dokáže při správné konfiguraci omezit problematický provoz ucpávající koncové linky. Typické nasazení bude uprostřed sítě na 100GE páteři a zařízení bude chránit jednotlivé podsítě připojené třeba 10GE linkou, vysvětlil Viktor Puš. Na zařízení je pak možné pomocí BGP FlowSpec přesměrovat provoz, čistička jej upraví a pošle do cílové sítě. Díky tomu se nezahltí linka připojené organizace.

Karta vyvinutá ve sdružení CESNET

Čistička ovšem musí předem znát kapacity chráněných sítí a zároveň musí mít popis problémového provozu. V současné době máme poměrně jednoduchou sadu pravidel, pomocí kterých správce sítě popíše provoz, který si nepřeje dostávat. Obvykle mají pakety DDoS útoků velmi podobné rysy a charakteristiky a je možné je tak hromadně označit. Například se často používají velké odpovědi DNS, neobvykle dlouhé pakety nebo naopak fragmentované. Definice pravidel zůstane na správcích koncových sítí, kteří budou moci určit, který druh provozu chtějí nějakým způsobem omezit. Pro jednu koncovou síť je možné nadefinovat celou řadu pravidel, která se budou hlídat a aplikovat paralelně.

Za normálních okolností je čistička plně průchozí a nefiltruje nic. Algoritmus počítá, kolik bajtů a paketů daného provozu do konkrétní sítě přiteklo. Teprve když jsou překročeny nastavené limity pro celkový tok nebo jednotlivé druhy provozu, začne reagovat na útok a blokovat provoz popsaný pravidly.

Filtrování probíhá tak, že jsou blokovány IP adresy, které daného provozu poslaly nejvíce. Vybere jich právě tolik, aby se tok dostal pod definovanou hranici, která je typicky nižší než hranice pro aktivaci filtrů. Výsledkem je, že většina problémového provozu je odstraněna a takto vyčištěný tok se vrací do sítě. Zbytek provozu necháváme nedotčený, takže se linka uvolní a uživatelé ji mohou normálně používat.

Demonstrace filtrace na konferenci OpenAlt

Čistička se skládá z běžného počítače a 100GE síťové karty, kterou si CESNET vyvinul pro monitoring sítě. Většinu práce přitom obstará FPGA v kartě, připojený počítač slouží jen k jejímu řízení. Počítač detekuje útok a identifikuje, které IP adresy je potřeba blokovat. Pak už se o filtrování stará karta a provoz už ani do počítače neposílá, aby nám jej někdo nemohl zahltit. Karta jen průběžně předává statistiky o zablokovaném provozu, aby software mohl vyhodnotit, že útok skončil a blokaci je možné zrušit.

Proti komerčním řešením má CESNET vlastní pračku plně pod kontrolou. Přesně víme, jak se celý systém chová a můžeme jej hodně konfigurovat. Navíc komerční řešení jsou hodně drahá a ceny jdou do vysokých milionů. K vlastnímu řešení vlastně stačí jen 100GE karta v ceně přibližně 15 000 eur, kterou CESNET sám vyvinul, a rozumně výkonný server. Nemusí to být to nejvýkonnější na trhu, stačí Xeon i5 nebo podobný procesor.

Počítač musí být schopen celý provoz od karty přijmout a provádět nad ním analýzu. Změřili jsme, že tenhle procesor má propustnost 80 milionů paketů za sekundu, což nám stačí. Teoreticky je možné přes 100GE Ethernet každou sekundu přenést 150 milionů paketů, ale v běžném provozu se používají delší pakety a je jich tedy méně.

bitcoin_skoleni

Simulace DDoS útoku a ochrany

Pračka je zatím ve vývoji, ale v produkci by se měla objevit velmi brzy. Teď je zapojená v síťové laboratoři, ale věříme, že začne brzy chránit síť CESNET, říká Puš. V první fázi bude nasazen jeden kus pro celou síť. Předpokládáme, že to bude stačit. Pokud ne, můžeme dát v budoucnu třeba jednu do Prahy a jednu do Brna.

Karty samotné je možné komerčně koupit od brněnské společnosti Netcope Technologies. Oni od nás licencují vyvinuté technologie a jsou schopni je pak s určitým zpožděním dodat na trh, vysvětluje Puš. Cílí ale spíš na zahraničí, tady v Česku je málokdo schopen si to koupit.

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.