Botnet se pronajímá, nestaví
To slovo evokuje hackera, který si trpělivě skládá armádu. Skutečnost je trh. Zařízení kompromituje někdo jiný, řídicí infrastrukturu provozuje další někdo a člověk, který útočí na vás, je zákazník, jenž si hodinu koupil na „stresser" nebo „booter" stránce s pokladnou a zákaznickou podporou. Právě proto vůbec někdo útočí na malé weby: ten, kdo na váš e-shop míří botnetem, nemusí vědět, jak co funguje, a stojí ho to méně než oběd.
To oddělení rolí je nejužitečnější věc, kterou si o botnetech odnést, protože říká, co útočník optimalizuje. Nelpí na žádném konkrétním zařízení, adrese ani technice. Kupuje si výsledek — a kupovat ho bude, dokud výsledek přestane přicházet, nebo dokud přestane být levný.
Jak se stroj do botnetu dostane
Způsoby náboru se za deset let skoro nezměnily, protože pořád fungují.
| Zdroj | Jak se nabírá | Čím přispívá k útoku |
|---|---|---|
| IoT zařízení — kamery, routery, DVR, NVR | Výchozí nebo recyklované přihlašovací údaje přes Telnet a SSH; firmware, který už nikdy nedostane aktualizaci | Obrovské počty, každé jen mírnou šířkou pásma, trvale online |
| Domácí a kancelářské routery | Vystavené administrační panely a známé CVE ve firmwaru výrobce | Skutečná rezidenční IP adresa, což je ta cenná část |
| Cloudové servery a VPS | Ukradené API klíče, slabá SSH hesla, vystavená API kontejnerů a orchestrátorů | Vážná šířka pásma a CPU — stroje, které generují vysoké rychlosti požadavků |
| Běžné počítače | Loadery malwaru přibalené ke cracknutému softwaru, phishingové přílohy | Skutečné prohlížeče, skutečné cookies, nejhůř klasifikovatelný provoz |
| Telefony a aplikace | SDK vestavěná do aplikací zdarma, která přeprodávají připojení uživatele jako „rezidenční proxy" | Provoz technicky odsouhlasený, právně kalný a nerozeznatelný od zákazníka |
Nad posledním řádkem stojí za to se zastavit. Velká část toho, čemu se dnes říká provoz botnetu, není malware vůbec — je to komerční proxy infrastruktura, prodávaná otevřeně a čerpaná z milionů skutečných spotřebitelských připojení, jejichž majitelé odklikli podmínky nějaké VPN zdarma. Obranně se chová přesně jako botnet a nelze ji zablokovat podle reputace, protože adresa opravdu patří opravdové domácnosti, která může být i opravdovým zákazníkem.
Počet zařízení je špatné číslo
Botnety se popisují velikostí — 600 000 zařízení u Mirai v roce 2016, zhruba čtvrt milionu MikroTik routerů u Mēris v roce 2021 — a velikost je v té zprávě ten nejméně užitečný údaj. O tom, jestli vám web lehne, rozhodují doručené požadavky za sekundu, a to je součin efektivity jednoho bota, ne populace.
Nejnázornější je kampaň HTTP/2 Rapid Reset z roku 2023: botnet o zhruba 20 000 strojích vytvořil záplavy ve stovkách milionů požadavků za sekundu, protože každé spojení dokázalo otevírat a okamžitě rušit streamy rychleji, než je server stíhal zahazovat. Dvacet tisíc strojů je proti Mirai zaokrouhlovací chyba. Útok byl o dva řády větší.
| Botnet | Rozsah | Co ve skutečnosti využil |
|---|---|---|
| Mirai (2016) | ~600 000 IoT zařízení | Výchozí Telnet údaje; zveřejněný zdrojový kód, takže ho zdědila každá pozdější varianta |
| Mēris (2021) | ~250 000 routerů | HTTP pipelining — mnoho požadavků v letu na spojení, ~17–22 milionů rps |
| Rapid Reset (2023) | ~20 000 strojů | Rušení HTTP/2 streamů; stovky milionů rps z drobné flotily |
| Sítě rezidenčních proxy (dnes) | Miliony spotřebitelských IP | Žádný exploit — provoz prodávaný jako služba, z adres, které vypadají jako zákazníci |
Čtěte tu tabulku jako trend, ne jako dějepis. Každá generace potřebovala méně strojů a vypadala legitimněji než ta předchozí. Oba směry jdou proti jakékoli obraně založené na tom, kdo posílá — a přesně v tom je argument pro obranu založenou na tom, co stojí posílat.
Jak botnet vypadá z vaší strany
Objemové záplavy se ohlásí samy — rodiny amplifikace a SYN floodu zahltí linky a tabulky spojení. Provoz botnetu na aplikační vrstvě je tišší a signály jsou statistické, ne očividné:
- Rozumně vypadající rychlosti na zdroj. Každá jednotlivá adresa posílá dva tři požadavky za sekundu. Samostatně není nic anomální; v součtu je to 50 000 rps.
- Náhlá plochá plošina. Lidský provoz najíždí a kolísá. Provoz botnetu dorazí na plnou rychlost v jednom kroku a drží podezřele rovnou čáru.
- Jednotnost tam, kde má být rozmanitost. Identické pořadí hlaviček, jeden TLS fingerprint napříč tisíci „různých prohlížečů", všude stejné
Accept-Language, žádné podmíněné požadavky, žádné obrázky stahované po HTML. - Právě ty drahé endpointy. Vyhledávání s náhodnými výrazy, přihlášení, košík, reset hesla, jakákoli URL s parametrem obcházejícím cache. Botnet namířený někým schopným míří na to, co váš origin nedokáže cachovat.
- Geografie, která neodpovídá vašemu byznysu — nebo u rezidenčních proxy geografie, která mu odpovídá až příliš dokonale.
- CPU originu nahoře, přenosy běžné. Graf, na který se všichni podívají první, zůstává plochý, zatímco aplikace umírá — stejně jako u low and slow útoku.
Proč blokování IP adres selhává
Každý instinkt říká: posbírej adresy, zablokuj adresy. Proti botnetu vám to sežere celý incident a nevrátí nic, a to ze tří samostatných důvodů.
Ten seznam je delší než váš firewall. Desetitisíce zdrojů, které průběžně rotují. Než se pravidlo nasadí, adresy v něm jsou nečinné a živé jsou nové. Skončíte s rostoucí tabulkou, která se vyhodnocuje u každého paketu — prací, kterou vás útočník nutí dělat zadarmo.
Adresy se sdílejí. Mobilní operátoři schovají tisíce skutečných účastníků za jednu CGNAT adresu. Univerzity, firmy a celé země sedí za hrstkou výstupních IP. Zablokujete jednu a neodstranili jste bota — odstranili jste všechny, kdo sdílejí jeho výstup. Výpadek na vlastní žádost, k nerozeznání od toho, kterému se snažíte předejít.
Rezidenční proxy jsou z podstaty skutečné domácnosti. Neexistuje blocklist, který by je obsahoval, protože zítra táž adresa obslouží skutečného zákazníka. Reputační data pomáhají rozhodnutí zvážit; nemohou jím být.
Závěr není, že identita je k ničemu — je to, že identitu je třeba stanovovat na každý požadavek, z chování a vlastností klienta, místo dohledání podle adresy. Tenhle rozdíl odděluje DDoS mitigaci od pravidla ve firewallu.
Co funguje: udělat provoz drahým
Botnet je ekonomický nástroj. Vyhrává tím, že má víc levných odesílatelů, než vy máte levných způsobů, jak říct ne. Každá účinná obrana jeden z těch členů obrátí.
- Neviditelný proof-of-work. Než se požadavek dostane k aplikaci, klient musí spálit zlomek sekundy CPU. Skutečný návštěvník si toho nevšimne — žádná mřížka obrázků, žádná hádanka, žádné „označte všechny semafory". Botnet, který tu cenu násobí každým požadavkem záplavy, zjistí, že si za pronajatou hodinu koupí desetinu toho co dřív. Tohle je proti provozu botnetu obrana s největší pákou a zároveň důvod, proč jsou CAPTCHA špatný nástroj: daní vaše zákazníky, aby obtěžovaly stroj, který si je stejně může dovolit vyřešit.
- Behaviorální signatury. Sekvence cest, tvar a pořadí hlaviček a fingerprint TLS handshake (JA4) popisují, jak klient mluví, nezávisle na tom, odkud. Deset tisíc adres sdílejících jeden fingerprint je mnohem silnější signál než kterákoli z těch deseti tisíc adres.
- Reputace fingerprintů napříč weby. Signatura viděná při útoku na jeden host je známá veličina, než dorazí na další. Použitá k eskalaci výzvy místo k rovnou bloku nestojí případný omyl víc než pár milisekund CPU.
- Rate limiting podle identity, ne podle IP — relace, token, API přihlašovací údaj — aby CGNAT a proxy pooly přestaly být způsobem, jak prát rozpočet požadavků.
- Zahazování prokázaných útočníků v jádře. Jakmile je zdroj posouzen, nemá od té chvíle stát nic na paket. Blok, který pořád vyžaduje rozhodnutí v userspace, je blok, který vám útočník může vyfakturovat.
- Cachování a pohlcování pod tím vším, aby požadavky, které projdou, obsloužil edge, a ne vaše databáze.
Na takedown čekat nemůžete
Zásahy proti botnetům jsou reálné a občas velkolepé — infrastruktura Emotetu byla zabavena v koordinované mezinárodní operaci v roce 2021 a sinkholing poslal do důchodu další velké sítě. Jsou ale vzácné, pomalé a pro vaše úterní odpoledne bezvýznamné. Zdrojový kód Mirai vyšel v roce 2016 a jeho potomci útočí i o deset let později. Realistický plánovací předpoklad zní, že kapacita botnetů je trvale dostupná komukoli s platební metodou a že vaše obrana je výhradně otázkou toho, co se stane na vašem edge.
A když už jste tady: ověřte, že sami nejste jeho součástí. Cloudové instance se slabými SSH údaji, vystavené Docker nebo Kubernetes API nebo zapomenutý router s výchozím heslem jsou přesně ten náborový povrch popsaný výše. Změňte výchozí údaje, držte firmware aktuální, nevystavujte administrační rozhraní do internetu a sledujte odchozí provoz — stroj, který posílá vytrvalý proud požadavků cíli, se kterým nemá co mluvit, je ten nejjasnější příznak.
Jak si s provozem botnetu poradí Itnetic
Edge Itnetic staví na předpokladu, že zdrojová adresa neříká nic. Každá vrstva níže je v cestě v každém tarifu včetně bezplatného — neexistuje úroveň, kde by obrana proti botům byla příplatek.
| Vrstva | Co udělá s botnetem |
|---|---|
| Adaptivní detekce útoku | Baseline na každý host překlopí do režimu výzvy do sekundy od špičky, rozhodnuto na edge bez okružní cesty do control plane, a rozešle se na všechny ostatní uzly |
| Dvoustupňová proof-of-work výzva | Nejdřív neviditelné přesměrování, pod tlakem eskalace na viditelné řešení. Žádná CAPTCHA, žádné mřížky obrázků — cena dopadá na rozpočet CPU botnetu, ne na trpělivost vašich návštěvníků |
| Behaviorální signatury | Sekvence cest, tvar hlaviček a JA4 TLS fingerprint, takže flotila sdílející jednu implementaci klienta je rozpoznána jako jeden aktér bez ohledu na to, kolik drží adres |
| Reputace fingerprintů a ML skórování | Signatury viděné při útocích jinde přicházejí předem posouzené. Obě vrstvy eskalují na výzvu a nikdy neblokují rovnou, takže špatně posouzený skutečný návštěvník ztratí milisekundy, ne přístup |
| Rate limiting podle klíče, který zvolíte | Token-bucket limity podle hlavičky s přihlašovacím údajem nebo relací místo adresy, se správnými odpověďmi 429 pro strojové klienty místo HTML |
| Zahození prokázaných útočníků v jádře | Recidivisté drženi v nftables setu, od té chvíle bez ceny na paket; eBPF filtr na XDP hooku řeší paketové záplavy dřív, než se alokuje socket |
| Objemové pohlcení upstream | Frankfurt sedí za X4B, sítí s 500 Gbps mitigační kapacity; Praha běží na Eternyx za jeho vlastní ochranou na úrovni sítě; Toronto a Singapur běží na Linode (Akamai) za jejich. Aktuální seznam je na stránce sítě |
| Důkazy | Logy po jednotlivých požadavcích se stavem, latencí, fingerprintem klienta a uplatněným verdiktem, takže post-mortem je export, ne rekonstrukce |
O tom, jestli si tohle můžete dovolit nechat zapnuté, rozhodují dvě obchodní věci. Zmitigovaný útočný provoz se nikdy neměří proti vaší kvótě přenosů, takže botnet nemůže utratit váš limit jako druhý způsob, jak vám ublížit. A spuštění jsou dva DNS záznamy u vašeho stávajícího poskytovatele — žádná změna nameserverů, asi pět minut, klidně po jednom hostname, chcete-li si to nejdřív ohlídat. Zbytek mechaniky má DDoS ochrana od Itnetic.
Kontrolní seznam o sedmi bodech
- Postavte web za edge, který klienty zkouší cenou, ne CAPTCHOU, a ověřte, že skuteční návštěvníci žádnou mezistránku nevidí.
- Přestaňte udržovat IP blocklisty jako hlavní obranu; reputaci nechte jen jako váhový signál.
- Klíčujte rate limity relací, tokenem nebo přihlašovacím údajem, ne zdrojovou adresou.
- Cachujte agresivně a vězte, které vaše endpointy cachovat nelze — právě ty si botnet najde.
- Vynášejte požadavky za sekundu a CPU originu vedle přenosů. Botnet hýbe prvními dvěma, třetím ne.
- Zafirewallujte origin tak, aby přijímal provoz jen z vaší ochranné sítě, jinak je celý edge z pohledu útočníka volitelný — viz jak skrýt IP adresu originu.
- Proklepněte vlastní flotilu na výchozí hesla a vystavená administrační API, ať tenhle text nepopisuje z druhé strany vás.
Pokud je botnet namířený na vás právě teď, přestaňte číst a projděte si jak zastavit DDoS útok. Až bude po všem, sepsaný plán reakce je to, co udělá ten druhý útok nezajímavým.