Otrávení DNS cache se opravdu používá k únosu mailů

16. 9. 2014
Doba čtení: 5 minut

Sdílet

Útok zvaný otrávení DNS cache (DNS cache poisoning) je znám už řadu let, ale je považován spíše za teoretickou hrozbu, která byla předvedena v laboratorních podmínkách. Její potenciál je však ohromný a v případě úspěchu dokáže efektivně odklonit komunikaci. Bohužel se ukazuje, že je v praxi skutečně prováděn.

Otrávení DNS cache se opravdu používá k únosu mailů

DNS je naprosto klíčovou službou, protože překládá doménová jména používaná lidmi na IP adresy používané stroji. Pokud tento překlad selže nebo je záměrně ovlivněn, začne uživatel komunikovat s jiným počítačem, aniž to má šanci poznat. Doménové jméno (www.banka.cz) totiž stále platí, ale odkazuje se na IP adresu počítače ovládaného útočníkem.

Není proto divu, že jsou útoky na DNS velmi oblíbené. V poslední době se objevily například pokusy napadnout domácí routery a pozměnit v nich nastavení DNS, přičemž byly zaznamenány i případy v Česku. K podobným účelům byl (a pravděpodobně stále ještě je) zneužíván útok známý pod názvem rom-0, který postihuje až 1,5 milionů domácích routerů. Pomocí chyby si stačí nechat vypsat paměť routeru, získat heslo administrátora a změnit nastavení DNS. Provoz je unesen.

Tyto typy útoků jsou ovšem závislé na bezpečnostních chybách v jednotlivých zařízeních či na uživatelské chybě při volbě hesla či ponechání výchozího nastavení. Útok otrávením DNS cache je ale principiální a nevztahuje se na jednotlivá zařízení. Jednoduše je k němu náchylný princip fungování rekurzivních DNS serverů. Poprvé na reálnou hrozbu upozornil v roce 2008 Dan Kaminsky.

Nejde ale zdaleka jen o provoz na webových serverech, přestože právě ten je ve spojitosti s různými bankovními službami nejčastěji zmiňován. DNS je natolik obecná služba, že její ovlivnění má dopad prakticky na všechny myslitelné protokoly.

V případě webu poskytuje jistou ochranu SSL. Útočník je sice schopen změnit IP adresu v záznamu pro www.banka.cz, ale už na toto jméno není schopen vystavit důvěryhodný certifikát. Pokud tedy zkontrolujete, že vámi navštěvovaný web vám předal platný certifikát, lze mu důvěřovat.

Ovšemže PKI model má také řadu much, ale o tom až někdy příště…

Čertík se ale ukrývá u mail serverů, u kterých je situace jiná. Obvykle se u nich totiž nelpí na důvěryhodném certifikátu, protože málokterý SMTP server takový certifikát má. Pokud vůbec šifruje.

Otrava MX záznamů

Pokud posíláte mail, musí odesílatelův server zjistit adresu příjemcova serveru. To provede tak, že se podívá do DNS na takzvaný MX záznam. Ten určuje, na který server se má pošta pro danou doménu doručovat. Příklad:

$ dig +short MX root.cz
10 stana.iinfo.cz.

Pokud nám pošlete mail, bude se váš server snažit kontaktovat Stáňu, což je náš firemní mail server. Nezáleží na tom, že leží v jiné doméně. Prostě je určeno, že tento server je nakonfigurován tak, aby přijal poštu pro uživatele na doméně root.cz.

Pokud se útočníkovi podaří otrávit váš rekurzivní DNS server, může záznam změnit a nechat posílat poštu na vlastní mail server. Bum. A mám tě. Vlastně mám tvoji poštu.

Ještě horší zpráva je, že se to skutečně děje. Jonathan SpringLeigh Metcalf z CERT totiž takové chování objevili pomocí systému passive DNS. O něm přednášel Ondřej Caletka na letošní konferenci Internet a Technologie 14. Tento systém ukládá veřejné informace z rekurzivních serverů – tedy dotaz a odpověď. Z takto tvořené databáze je pak možné rekonstruovat podobu DNS v danou chvíli a sledovat veškeré změny v čase. Také je možné pokládat dotazy, na které vám DNS běžně neodpoví: například „která doménová jména vedou na tuto IP adresu“.

Spring a Metcalf v databázi passive DNS objevili nesrovnalosti v odpovědích z DNS. Jejich systém nevidí dotazy, ale zaznamenává jen odpovědi. To jim znemožňuje konkrétní analýzu, jsou ale přesvědčeni o tom, že neexistuje jiné vysvětlení než otrávení MX záznamů v cache rekurzivních DNS serverů. Zatím ale neví, jak přesně útočníci do cache záznamy dostanou.

Objevili manipulaci se záznamy u několika doménových jmen, které ovšem ve všech případech vystupují jako autoritativní DNS servery nebo mail servery pro jinou doménu. Pokud je takto pozměněn MX záznam, pošta doputuje k jinému serveru. Ten ji přijme, uloží a poté potichu pošle na správný server. Uživatel poštu normálně obdrží a změny se projeví jen v hlavičce mailu. Jsou ale tak nenápadné, že bez podrobnější analýzy (pokud víte, co hledáte) na ně nepřijdete.

Pokud není celý mail zašifrovaný a podepsaný, může navíc průchozí mail server poštu modifikovat, přidat do ní škodlivý obsah (třeba malware) nebo ji v případě potřeby potichu stopit. Možnosti jsou prakticky neomezené. Pošta prostě dorazí na jiný mail server a je na něm (a jeho správci), co s ní udělá.

Otrava byla objevena poměrně jednoduše, pánové Spring a Metcalf korelovali data z passive DNS databází různých sítí. To je také důvod, proč komunita kolem tohoto projektu data sdílí. Podařilo se jim tak odhalit různé odpovědi na dotazy týkající se MX serverů. Publikovali seznam IP adres, které v upravených záznamech figurovaly. Řada z nich patří různým sdíleným hostingům.

Jak se bránit?

Pomůže samozřejmě používání DNSSEC. Pokud jsou zóny podepsané a na straně uživatele je rekurzivní servery kontrolují, nemůže útočník nepozorovaně záznamy pozměnit. Není schopen vygenerovat podpisy, odpověď je neplatná a uživatel ji nedostane. Bohužel to vyžaduje spolupráci na obou stranách – já třeba mám zóny podepsané a můj rekurzivní DNS server (Unbound) podpisy kontroluje. Ovšem na globální úrovni to není běžný standard. V TLD .com a .net je podepsaných jen 0,5 % domén.

Čtěte: seriál DNSSEC a bezpečné DNS

Pomůže také end-to-end šifrování a podepisování pošty. To znemožňuje útočníkovi poštu přečíst a modifikovat, i když ji drží v ruce. Může ji jen pozdržet nebo úplně zahodit. Větší škody ale nenapáchá.

bitcoin_skoleni

Ukazuje se ale, že otrávení DNS není tak teoretická a laboratorní myšlenka, jak by se mohlo zdát. Pokud je útočník schopen otrávit DNS cache nějaké velké společnosti či některý z veřejných rekurzivních serverů, může se dostat k obrovskému množství pošty, která míří na velké a známé servery. Cíleně také může sledovat komunikaci dvou firem, protože ví, kdo si s kým bude dopisovat.

Zlaté pravidlo tedy zní: podepisujte, šifrujte a nasaďte na doménách DNSSEC.

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í.