Bráníme se odposlechu: specifické útoky

V dnešním, již třetím díle seriálu se podíváme na obranu proti útokům DHCP Spoofing, ICMP Redirect, Port stealing, MAC Flooding a DNS Spoofing. Zároveň si také vysvětlíme, jak tyto útoky detekovat.

Pro pochopení dnešního dílu je třeba znát, jak útoky probíhají. Tyto informace naleznete v minulém seriálu Odposloucháváme data na přepínaném Ethernetu. Každý nadpis útoku je pro větší srozumitelnost odkazem na článek o tomto útoku.

Dále je potřeba se zmínit, že veškeré zde probírané útoky mohou být detekovány a odstraněny přímo na switchi. Jelikož technologiím proti odposlechu na úrovni switchů se budu věnovat v příštím, čtvrtém dílu seriálu, nejsou zde zmiňovány.

DHCP Spoofing

Tento útok je spolehlivý a lehký, naštěstí je ale pomalý. Při jeho včasném odhalením si můžeme být téměř jisti, že útočník ještě nezískal potřebná data. Ostatně vhodným nastavením sítě můžeme tento útok také znemožnit.

Detekce

Detekci lze provádět pasivně a aktivně. Pasivní detekce má tu nevýhodu, že je potřeba, aby přes vás procházela veškerá data (síťový provoz). Sice některé DHCP servery a někteří DHCP klienti posílají veškeré pakety s cílovou adresou nastavenou na broadcast (nastavují tak MAC i IP adresu), některé DHCP servery a DHCP klienti to tak ovšem nedělají (hlavně DHCP servery útočníků), proto se na to nelze spoléhat. Aktivní detekce má zase nevýhodu, že útočník může pasivním (pouze přepnutím do promiskuitního režimu) odposloucháváním odhalit, že kontrolujete síť na výskyt cizích DHCP serverů, a učinit takové kroky, aby zamezil svému odhalení. Například jeho DHCP server nebude reagovat na vaši MAC adresu.

Pasivní detekce probíhá odposloucháváním sítě a sledováním paketů DHCP Discover a DHCP Offer. Tento paket je zaslán počítačem (nebo síťovým zařízením) žádajícím o IP adresu. Na tento paket odpoví každý DHCP server paketem DHCP Offer. Pokud se tedy objeví dvě a více odpovědí, pak je v naší síti cizí DHCP server. Je třeba také kontrolovat zdrojovou MAC a IP adresu v paketu DHCP Offer, protože útočník nejdříve může odstavit náš regulérní DHCP server tím, že z něj vysaje veškeré volné IP adresy (které DHCP server nabízí). Pokud se toto stane, přestává DHCP server odpovídat na pakety DHCP Discover, jelikož již nemá co nabídnout. V takovém případě by se na síti objevil pouze jeden DHCP Offer, a přesto bychom měli v síti cizí DHCP server. Proto se nelze spoléhat pouze na počet DHCP Offer paketů.

Aktivní detekce probíhá podobně jako pasivní. Pouze není třeba „slyšet“ celý provoz sítě a čekat, až někdo pošle paket DHCP Discover. Místo toho v určitých intervalech generujeme DHCP Discover pakety a kontrolujeme odpovědi DHCP Offer. Jak jsem již uvedl, má to nevýhodu v tom, že útočník může nejdříve pasivně poslouchat síť, a když zjistí, že nějaký klient často posílá pakety DHCP Discover, může spustit DHCP server, který bude ignorovat vaši MAC adresu. Toto umí například program Wesley. Ještě dodám, že výskyt DHCP Discover paketů na síti je minimální a u stálých počítačů téměř žádný, proto bude posílání DHCP Discover paketů ze stejné MAC adresy tak nápadné.

K detekci můžete například použít program Rogue Detection (Linux) nebo DHCP Explorer (Windows).

Obrana

Nejúčinnější obranou je nepoužívat DHCP server a používat statickou konfiguraci, ovšem toto jste asi slyšet nechtěli. Proto tomuto útoku můžete zabránit tak, že nastavíte hodnotu „lease time“ třeba na týden nebo i měsíc či déle. Lease time určuje, jak dlouho bude IP adresa přiřazena oběti a nedostane ji nikdo jiný. Pokud je počítač zapnut, tak si toto přiřazení prodlužuje (obnovuje). To, jak často je přiřazení prodlužováno, určí buď server, nebo se často bere 50 procent doby přiřazení. Jediná možnost, jak by útočník mohl napadnout takovýto počítač pomocí svého DHCP serveru, je tedy ta, že by počítač nebyl přítomen v síti nebo byl vypnut po dobu „lease time“.

Síť s takovýmto nastavením DHCP serveru by se jevila jako síť se statickými IP adresami. Proto se toto nastavení nehodí tam, kde nejsou počítače nastálo a často se střídají – zde by mohlo docházet k nedostatku IP adres.

ICMP Redirect

Detekce

Detekce tohoto útoku je možná pouze v případě, že můžete odposlouchávat provoz celé sítě. Pokud tomu tak je, vyhledáváte veškeré ICMP pakety typu 5. Jelikož se v síti normálně nevyskytují (toto neplatí pro některé složité podnikové sítě, ovšem pokud správce takovou síť ve firmě má, tak takovéto články rozhodně nepotřebuje). Zaslechnutí tohoto paketu znamená, že je v síti „škodná“. Analýzou tohoto paketu můžete odhalit, kdo je útočník, a to tak, že se podíváte na IP adresu, na kterou měl být provoz přesměrován. Bohužel vždy tato IP adresa nemusí patřit útočníkovi. Útočník ji může totiž nastavit na IP adresu někoho, komu se chce pomstít, s vědomím toho, že vy budete tohoto člověka považovat za útočníka.

Můžete namítat, že tento útok lze také poznat kontrolováním směrovací tabulky, ovšem tento způsob se nepoužívá. Směrovací tabulku si můžete vypsat pomocí route print (Windows), ip route nebo ip route show cache (Linux).

Obrana

Obrana proti tomuto útoku je jednoduchá, a to odfiltrovat veškeré tyto pakety. Microsoft na to také přišel, a proto firewall integrovaný v systému Microsoft Windows XP SP2 defaultně nepropouští tyto pakety. Toto nastavení můžete najít v ovládacích panelech – položka „Brána firewall systému Windows“, zde vyberete ouško upřesnit a v sekci „Protokol ICMP“ aktivujete tlačítko nastavení.

ICMP

Port Stealing

Detekce

Pokud útočíme na počítač na stejném switchi, je tento útok celkem tichý, jelikož na síť se dostanou z paketů potřebných k útoku pouze pakety žádající o překlad IP adresy na MAC adresu (sloužící k port recovery). Proto pokud chceme tento útok detekovat, musíme se zaměřit na tyto pakety.

Každý paket přicházející k oběti vygeneruje jeden ARP Request, který se používá k obnovení CAM tabulky switche. Z toho vyplývá, že počet těchto ARP Requestů bude závislý na síťovém provozu k oběti. A čím víc v síti bude ARP Request paketů tázajících se na překlad stejné IP adresy, tím snazší bude detekce tohoto útoku.

Pokud bude útočník útočit na počítač připojený k jinému switchi, tak na síti budou kromě ARP Requestů slyšet (pasivním odposlechem) i pakety, které jsou určené zařízením s jinou MAC adresou (tyto pakety jsou používány k ukradení portu). Zdrojová MAC adresa uvedená v paketu bude adresou oběti (pokud útočník útočí pouze na jeden počítač, tak se zdrojová MAC adresa nebude měnit).

Obrana

Proti tomuto útoku existuje pouze obrana na switchi.

MAC Flooding

Detekce

Pokud útočník bude útočit pouze na switch, ke kterému je připojen, a útok ještě nebude kompletní (tzn. ještě nebude zaplněna CAM tabulka), pak ho není možné detekovat (tedy jediná možnost je, že stavová dioda na switchi nám rychle bliká ;-) ). Jakmile je CAM tabulka zaplněna, lze útok detekovat snadno pouhou pasivní detekcí (pokud jsme připojeni ke stejnému switchi). Sledujeme, zda na naši síťovou kartu nepřichází data určená jiným MAC adresám. Jestliže ano, znamená to, že CAM tabulka již byla zaplněna a switch neví, kam má posílat data, a rozesílá je na všechny porty.

Pokud útočník útočí na veškeré switche v síti, tak je možné zjistit útok ještě před zaplněním CAM tabulek switchů. Detekce probíhá pasivním odposlechem a kontrolováním, zda na naši síťovou kartu nepřichází spousta dat s jinými cílovými MAC adresami.

Je-li útok úspěšný, projevuje se také tím, že veškeré stavové LED diody na switchi blikají najednou a rychle. Ovšem takovýto jev může nastat, aniž by byla zaplněna CAM tabulka, tzn. detekovat tento útok pouze pomocí stavových LED diod je nesmysl.

Obrana

Proti tomuto útoku existuje pouze obrana na switchi.

DNS Spoofing

Detekce

Pokud budeme nahlížet na tento útok z možnosti útoku na klienta, lze říci, že nám nebezpečí nehrozí, pokud používáme updatovaný systém Windows nebo jiný operační systém. Jediná možnost, jak tohoto útoku efektivně využít, vyžaduje zapojení dalšího útoku, abychom mohli odposlouchávat provoz od oběti. V tomto případě ale také tento útok ztrácí většinu svého využití.

Jestli někdo použije tento útok bez znalosti odchozích dat oběti, bude muset několik parametrů hádat (odchozí port a ID požadavku, někdy i překládané jméno). Proto bude útočit způsobem, že bude generovat spoustu paketů, kde se budou jednotlivé parametry lišit. Na nás už je jenom analyzovat síťový provoz a takovéto věci kontrolovat.

Content

Obecně se dá říct že jakákoliv DNS odpověď, které nepředcházel DNS dotaz, je útok.

Obrana

Proti tomuto útoku není potřeba se v současné době bránit. Důležité je se bránit spíše ostatním útokům.

Anketa

Vyhovuje vám firewall integrovaný v operačním systému Microsoft Windows XP SP2?

2 názory Vstoupit do diskuse
poslední názor přidán 22. 8. 2006 17:00
Zasílat nově přidané názory e-mailem

Školení App Store optimalizace

  •  
    Jak dostat svou mobilní aplikaci mezi lidi
  • Jak na akvizici uživatelů mobilních aplikací na českém i světovém trhu
  • Jak správně spustit, propagovat, měřit a vyhodnotit svoji aplikaci v Google Play i v Apple App Store

Detailní informace o školení App Store optimalizace »