DDoS Útoky časť 2, Techniky vzniku UDP DDoS útokov

Vítam ťa pri čítaní druhej časti našej minisérie o DDoS útokoch. Prvá, úvodná časť sa venovala princípu a dôvodom týchto útokov. Táto časť bude trocha technickejšia a bude sa detailnejšie zaoberať mechanizmami, ako sa dajú bežné UDP protokoly zneužiť na generovanie DDoS útokov.

DDOS UDP
Možný priebeh DDoS útoku

Často využívaný, ale aj zneužívaný DNS

Pravdepodobne najbežnejšie útoky sú vedené prostredníctvom protokolu DNS, ktorý využíva takmer každé zariadenie pripojené k internetu. Veľká časť zariadení pritom nie je správne zabezpečená, čo umožňuje zneužitie na útok. DNS protokol je paušálne v sieti väčšinou povolený a nie je jednoduché predchádzať zneužitiu DNS na útok v celej sieti. Väčšinou je potrebné ošetriť každé zariadenie samostatne, to poskytuje veľké možnosti pre odrazenie (reflection) a zosilnenie útoku.

Mnohé zariadenia odpovedajú na dopyty na domény zvonka siete, aj keď sa za nimi priamo nenachádza DNS server. Na záznamy sa potom dopytujú autoritatívneho servera (rekuzia). Takáto slabina sa nazýva openresolver a je dostupná na množstve domácich smerovačov s nesprávnym nastavením filtrov. Útočník pošle dopyt na doménu s podvrhnutou adresou cieľa, čo spôsobí že odpovede sa posielajú na cieľovú adresu, ktorú zahlcujú, keďže sú niekoľkonásobne väčšie ako pôvodný dopyt na záznam. Dá sa to dosiahnuť napríklad zaslaním dopytu typu „ANY“, na ktorý server odpovedá všetkými informáciami o DNS zóne ktoré má. Zosilnenie útoku je približne 28, až 54-násobné (podľa počtu záznamov v zóne). Napríklad dopyt typu ANY na doménu o veľkosti 64 bajtov dokáže vyvolať odpoveď až 3876 bajtov (plus réžia UDP prenosu).

DDOS UDP wireshark
Príklad odrazeného útočného DNS paketu

Stará zraniteľnosť NTP umožňuje masívne UDP DDoS útoky

Jedny z najmasívnejších útokov boli realizované zneužitím protokolu NTP, ktorý využíva väčšina serverov a sieťových zariadení pre synchronizáciu času. Staršie verzie protokolu majú v sebe funkcionalitu (monlist), ktorá je zneužiteľná na realizáciu UDP DDoS útoku. Útočník pošle paket s dopytom na monlist (MON_GETLIST) s podvrhnutou adresou cieľa na zraniteľný server, ktorý odpovedá zoznamom posledných 600 hostov ktorí sa na server pripojili. Oproti pôvodnej správe je to pomerne veľký objem dát, čo útok značne zosilňuje.

Slabina v službe monlist sa dá odstrániť prechodom na novšiu verziu, zakázaním tejto funkcionality v systéme, alebo správnym nastavením paketových filtrov na vstupe do siete. Zraniteľnosť umožňuje veľmi efektívne zosilnenie útoku (podľa počtu záznamov servera, údajne až 556.9-násobne), pričom NTP je v sieťach bežne povolený protokol. Tieto faktory robia z NTP veľmi efektívny nástroj na zneužitie pre DDoS útok, čo sa v praxi aj veľmi často deje.

Nenápadný protokol SSDP dokáže spôsobiť nečakané problémy

Pár rokov dozadu (2016) sa začali častejšie vyskytovať útoky zneužívajúce menej známy protokol SSDP, ktorý je protokolom balíka UPnP. Tento protokol využíva veľká časť zariadení, ktoré sa pripájajú do siete, vrátane periférnych zariadení, ako napríklad tlačiarne alebo inteligentné televízie.

Nesprávnou implementáciou protokolu (napríklad v domácich routroch) zariadenia odpovedajú aj na výzvy z vonkajšej siete, čo sa dá zneužiť pre UDP DDoS útok. Útoky postavené na SSDP zneužívajú to, že zariadenia počúvajú na výzvu discovery (search) aj na portoch na strane WAN (internetu). Ak zariadenie s takouto slabinou dostane paket s podvrhnutou výzvou, odpovie na ňu rádovo dlhšou správou s identifikáciou zariadenia a služieb ktoré poskytuje. Toto spôsobí zosilnenie útoku, ktorý je smerovaný na cieľ.

Zosilnenie útoku nie je až tak výrazné (30.8-násobne) ako pri NTP. Zraniteľných zariadení v sieťach je však dostupné obrovské množstvo (zmapované milióny zraniteľných zariadení). Takýmto útokom sa dá jednoducho predchádzať zakázaním protokolu (UDP port 1900) na vstupe do siete, keďže protokol nemá význam vo WAN sieťach. Používa sa na jednoduché prepojenie zariadení v lokálne sieti. Riešením je aj prípadné vypnutie UPnP na zariadeniach ktoré majú konektivitu priamo do internetu a funkcionalitu nevyužívajú.

DDOS UDP wireshark 2
Príklad odrazeného útočného SSDP paketu

Takmer zabudnutý protokol CharGEN dopláca na svoju jednoduchosť

Menej častými sú útoky zneužívajúce CharGEN, protokol používaný napríklad na troubleshooting serverov. Princíp je podobný ako pri predchádzajúcich útokoch. Ak zašleme požiadavku s podvrhnutou adresou zraniteľnému serveru, ktorý má povolený tento protokol (UDP port 19), zašle naspäť pseudonáhodný reťazec (až 512 B). Tento mechanizmus je zneužívaný na DDoS a zosilňuje útočnú prevádzku, keďže odpoveď servera je oveľa väčšia ako pôvodná požiadavka. Predchádzať vzniku takéhoto útoku sa dá zakázaním funkcionality, ak nie je aktuálne využívaná na zariadení. Prípadne na vstupe do siete zakázať port ktorý využíva.

Príklad odrazeného útočného CharGEN paketu

Nový útok cez Memcached s masívnym účinkom

Najnovším „trendom“ v UDP DDoS útokoch je zneužitie služby Memcached. Táto služba funguje na UDP porte 11211 a slúži na caching databázových systémov pre zrýchlenie webov a sietí. Útok funguje podobne ako pri predchádzajúcich príkladoch (NTP, DNS). Útočník pošle požiadavku s podvrhnutou adresou na veľký objekt uložený v pamäti servera, ten následne odpovie násobne väčšou odpoveďou na adresu obete útoku. Väčšie množstvo takto zraniteľných serverov umožní úplné zahltenie obete. V tomto prípade nie je zmapované až také veľké množstvo zraniteľných serverov (cca do 100000), ale útok má obrovský amplifikačný potenciál, až 51200-krát. V praxi sme sa mohli stretnúť s útokom cez Memcached s veľkosťou až 260 Gbps. Zabrániť tomu, aby sme sa sami nepodieľali na vzniku podobných útokov môžeme zakázaním dostupnosti Memcached funkcionality cez UDP a nasadením firewallu pred náš server.

Čo príde ďalšie

Ako na týchto pár príkladoch vidíme, aj bežné UDP protokoly za istých okolností umožňujú zneužitie a vznik masívnych útokov. Zneužívaných protokolov je mnoho, na útoky sa zneužívajú tie, ktoré majú dostatočný potenciál na zväčšenie a zároveň je k dispozícii dostatočný počet zraniteľných serverov. V ďalšej časti sa pozrieme na možnosti obrany a prevenciu vzniku DDoS útokov.

Ak vás tento článok zaujal a chcete dostávať mailovú notifikáciu, pri publikovaní podobných článkov o hackingu, sieťovej bezpečnosti, Linux serveroch, Cisco zariadeniach, či o programovaní, môžete sa prihlásiť na odber článkov.

Picture of Adrián Kocián

Adrián Kocián

ICT bezpečnosti sa venujem už nejaký ten rok. Stretávam sa s množstvom technológií, ako aj aktuálnymi hrozbami a bezpečnostnými rizikami, budem sa snažiť podeliť sa o tieto znalosti v mojich blogoch.
Picture of Adrián Kocián

Adrián Kocián

ICT bezpečnosti sa venujem už nejaký ten rok. Stretávam sa s množstvom technológií, ako aj aktuálnymi hrozbami a bezpečnostnými rizikami, budem sa snažiť podeliť sa o tieto znalosti v mojich blogoch.
Zdieľať príspevok:

Súvisiace príspevky