Hlavní navigace

Chyba v serveru BIND může vést k DoS útokům

Marek Kumpošt

Ve čtvrtek, 26. května 2011 zveřejnila společnost ISC (Internet Systems Consortium) zprávu o možném útoku na nejpoužívanější DNS servery, a to na ty se službou BIND (server DNS provádí překlad IP adres na doménová jména). Cíl útoku je přitom jednoduchý. Vyřadit DNS server z provozu jeho absolutním zahlcením. Server poté jednoduše přestane fungovat. Idea útočníka přitom vychází ze známé skutečnosti. DNS server totiž v případě odpovědi o neexistující doméně tuto odpověď na nějakou dobu uloží do…

Ve čtvrtek, 26. května 2011 zveřejnila společnost ISC (Internet Systems Consortium) zprávu o možném útoku na nejpoužívanější DNS servery, a to na ty se službou BIND (server DNS provádí překlad IP adres na doménová jména).

Cíl útoku je přitom jednoduchý. Vyřadit DNS server z provozu jeho absolutním zahlcením. Server poté jednoduše přestane fungovat. Idea útočníka přitom vychází ze známé skutečnosti. DNS server totiž v případě odpovědi o neexistující doméně tuto odpověď na nějakou dobu uloží do své cache (a to spolu s informacemi o tom, odkud byla odpověď získána). V  případě další potřeby, tak není nutný opětovný dotaz a již známou odpověď je možno poskytnout v mnohem kratším čase (tato technika se označuje jako negative caching). Záznamy uložené v cache DNS serveru jsou sice automaticky zahazovány, to ale až po určité době (např. 60 minut). Pokud se tedy útočníkovi podaří během krátké doby zahltit server množstvím dlouhých zpráv, problém je na světě. Dojde jednoduše k přetečení zásobníku (tzv. buffer overflow) a tím k pádu celé služby.

Princip útoku spočívá ve využití vlastního DNNSEC serveru, jenž poskytuje odpovědi na dotazy DNS serveru, na který je útok směřován. Odpověď o neexistující doméně, kterou odešle server útočníka, je záměrně velmi dlouhá (např. 300 PTR záznamů) a každý záznam je v důsledku využití služby DNSSEC ještě navíc digitálně podepsán (digitální podpis se označuje jako RRSIG). To ve výsledku způsobí, že je cílový DNS server nucen do své cache na určitou dobu uložit poměrně velké množství dat. Zejména když uvážíme, že tyto dotazy budou kladeny s vysokou frekvencí. Na cílovém serveru hrozí nebezpečí přetečení paměti a pádu služby. DNS server je pro síť něco jako telefonní seznam, bez kterého není možná žádná komunikace. Pád serveru tedy může v jakékoli organizaci způsobit značné škody.

Problém ale nastat nemusí. Existují totiž služby, které možnost takovýchto útoků eliminují. Firewall Kernun od společnosti Trusted Network Solutions obsahuje tzv. DNS proxy, která umí pracovat s obsahem přenášených DNS zpráv. V případě výše popsaného útoku tak lze systematicky zahazovat RRSIG záznamy a tím výrazně snížit velikost odpovědí od serveru útočníka. DNS server v organizaci, kde je nasazen firewall Kernun, může být proto plně v bezpečí i v situaci, ve které by byl sám o sobě zranitelný.

Našli jste v článku chybu?
6. 6. 2011 15:28

Přihřívání vlastní polívčičky děláme každý...

Přihřívání vlastní polívčičky nad vlastním neštěstím je podle mě už na hraně.

Nicméně přihřívání vlastní polívčičky tak, že uživatelům poradíme něco, co vlastně nepomůže, a tudíž je uvede do klamu (aneb RRSIG nemusí být největší, udělat TXT záznam, který má 64k není takový problém a útok vůbec nesouvisí s DNSSECem) a nabádá je k porušovaní platných standardů, a navíc reálné řešení je teprve v komentáři (Upgrade to ...), mi přijde již hodně za hrano…

6. 6. 2011 18:54

Ono to zrejme vzniklo tak ze prvni cast informace (RRSIG zaznamy) neni obecna ochrana proti teto chybe, ale proti konkretnimu jiz publikovanemu a pouzivanemu scriptu na tento utok.