- IPv6 Attack -

Vzdálená síť

Ve světě IPv4 probíhalo skenování vzdálené sítě poměrně snadno díky malému rozsahu adres, kterým daná síť obvykle disponovala. Jednoduše stačilo postupně otestovat všechny adresy daného rozsahu. Ve světě IPv6 je však situace odlišná. Koncová síť má vyhrazen adresový prostor o délce 64 bitů. To představuje 264 = 18 446 744 073 709 551 616 možných adres. Pokud bychom například skenovali rychlostí 1 milion paketů za sekundu obrovskou IPv6 síť s 10 tisíci aktivními zařízeními, trvalo by nám více než 28 let, než bychom objevili první zařízení. To však platí pouze v tom případě, kdy jsou adresy všech uzlů skutečně náhodné. V praxi se ale používají následující mechanismy či zjednodušení, které útočníkům mohou skenování sítě značně usnadnit.

Modifikované EUI-64

Modifikované EUI-64 je mechanismus definující podobu identifikátoru rozhraní, tedy posledních 64 bitů IPv6 adresy. Vznikne tak, že se mezi čtvrtý a pátý byte MAC adresy vloží konstanta FFFE. Navíc se ještě obrátí hodnota předposledního (druhého nejméně významného) bitu v nejvyšším bajtu identifikátoru rozhraní. Tento mechanismus je ilustrován na následujícím obrázku 6.1.

IPv6 adresy odvozené z IPv4 adres

Poměrně často se lze také setkat s IPv6 adresami, které do sebe vnořují IPv4 adresy. V reálném světě lze narazit především na dvě podoby takových adres, například 2000:db8::192.168.0.1 nebo 2000:db8::192:168:0:1. Adresový prostor je v obou případech roven adresovému prostoru IPv4, a tudíž je možné zařízení s těmito adresami opět úspěšně odhalit.

„Low-byte“ adresy

Tímto termínem jsou označovány adresy, které v části pro identifikaci rozhraní obsahují samé nuly kromě posledních 8 nebo 16 bitů (například 2000:db8::1, 2000:db8::2 atd.). Takovéto adresy jsou často manuálně konfigurovány správci sítí, ale mohou také být výsledkem práce některých DHCPv6 serverů, které z daného adresového prostoru přiřazují adresy sekvenčně. Pokud se v síti používá tento typ adres, útočníkům je tím redukován adresový prostor na pouhých 256 adres.

IPv6 adresy z hexadecimálních slov

Při manuání konfiguraci těchto adres je již potřeba trochu kreativity. Reálnou ukázkou takové adresy je například IPv6 adresa Facebooku, která má tvar 2a03:2880:2110:3f02:face:b00c::. V případě IPv6 adres tvořených z hexadecimáních slov není úplně jednoduché určit, jak bude redukován adresový prostor potřebný ke skenování. Je ale zřejmé, že takovéto adresy mohou být objeveny slovníkovými útoky.

Soukromé a dočasné adresy

V RFC 4941 je definován tzv. „Privacy Extensions for Stateless Address Autoconfiguration in IPv6“. Jde v podstatě o reakci na oprávněné obavy z možného sledování hostů, kterým jsou adresy přiřazovány prostřednictvím SLAAC. Tento dokument nařizuje, aby identifikátory rozhraní byly náhodné a navíc, aby se ještě v průběhu času měnily. Nicméně RFC 4941 navrhuje současné použití dočasných adres (pro komunikaci směrem ven ze sítě) spolu s adresou nakonfigurovanou prostřednictvím SLAAC (pro adresování konkrétního zařízení). Nejde tedy o náhradu mechanismu generování IPv6 adres pomocí EUI-64, ale o doplněk k bezstavové autokonfiguraci (SLAAC). A protože jsou adresy stále přiřazovány pomocí SLAAC, nic nebrání útočníkům, aby taková zařízení objevili.

IPv6 adresy generovány přechodovými mechanismy

Přechodové mechanismy jako například Teredo či 6to4 pro tvorbu IPv6 adres používají speciání syntaxi, která často vychází z hodnot IPv4 adres. Protože dnes existuje větší množství přechodových mechanismů, nebudou zde probrány podrobnosti týkající se generování příslušných adres. Podstatné je však to, že každý takový mechanismus vytváří adresy na základě jistých vzorců, a tím redukuje adresový prostor, který útočník musí prohledat.

Lokální síť

V případě lokální sítě je pro útočníka situace zcela odlišná. Největší rozdíl je v tom, že pro skenování lze využít linkové lokální adresy pro multicast. Útočník může jednoduše poslat paket na multicastovou adresu všech lokálních zařízení (ff02::1), a tak vyvolat odpověď od všech uzlů v síti. Protože ale zařízení s operačním systémem Windows (Vista, 7 atd.) neposílají odpověď na zprávu ICMPv6 Echo Request zaslanou na multicastové adresy, nástroje pro skenování sítě typicky implementují další prvky či volby ICMPv6 zpráv. Například neznámá IPv6 volba typu 10xxxxxx (bity 1 a 0 následovány libovolnými bity) vyvolá odpověď ICMPv6 Parametr Problem (kód 2, Error Message). Většina nástrojů pro skenování také objeví pouze lokální linkové adresy zařízení. Nicméně pomocí skenování několika pakety s různými prefixy lze objevit i globální adresy. Tuto techniku implementuje nástroj scan6 z balíku THC-IPv6 Toolkit.

DoS (Denial-of-service)

DoS útoky jsou síťové útoky, které blokují služby sítě zaplavováním spojení či nadměrným vytěžováním výpočetního výkonu konkrétního síťového zařízení. Tímto způsobem pak brání legitimním klientům v přístupu ke službám sítě. Ve světě IPv6 je známo několik druhů DoS útoků. Velmi často je pro tento účel zneužit protokol ICMPv6.

Smurf attack

Smurf attack je útok, který je znám již z protokolu IPv4, kde se odeslala podvrhnutá zpráva ICMP Echo Request na adresu broadcastu. Jako zdrojová adresa této zprávy se uvedla adresa oběti. Na tuto zprávu pak odpověděly všechny stroje v lokální síti, a tím zahltily stroj oběti. IPv6 protokol adresu broadcastu nevyužívá, ale pro komunikaci se všemi uzly v síti používá adresu multicastu. Následující obrázek ilustruje princip útoku. Jak je patrné z ilustrace, množství dat odeslaných útočníkem je minimální a síla tohoto útoku závisí ve značné míře na počtu uzlů v síti.

Duplicate Address Detection attack

Detekce duplicity adres je mechanismus, který využívá IPv6 při bezstavové konfiguraci k určení, zdali určitá adresa je již v síti přítomna. Při této komunikaci je odeslána zpráva ICMPv6 Neighbor Solicitation všem uzlům v síti prostřednictvím adresy multicastu. V případě, že odesílatel na tuto zprávu neobdrží žádnou odpověď, patrně daná adresa není v síti používána, a tak si ji odesílatel může sám nastavit a začít používat. Obrázek 6.3 ukazuje mechanismus DAD za běžných okolností.

ICMPv6 Router Advertisement flooding

Připojené uzly v IPv6 sítích automaticky zjišťují dostupné směrovače prostřednictvím ohlášení směrovače (ICMPv6 Router Advertisment). Tyto zprávy směrovače periodicky posílají do sítě. Ohlášení směrovače je také využito při autokonfiguraci, která v IPv6 sítích tvoří alternativu k DHCP. Pokud uzel obdrží ohlášení směrovače, aktualizuje si svoji směrovací tabulku přidáním nové cesty. Pokud je navíc v ohlášení uveden příznak autokonfigurace, daný uzel si také nastaví IPv6 adresu z ohlášeného adresového prostoru.

Man in the Middle Attack

Při útoku typu Man in the Middle je snahou útočníka dostat se mezi dvě komunikující strany, a tak mít možnost odposlouchávat nebo i měnit odesílaná a přijímaná data. Přičemž útočník zdaleka nemusí být fyzicky mezi těmito dvěma stranami připojen. V sítích IPv4 lze tento typ útoku provést několika způsoby. Mezi ty nejznámější patří techniky označované jako ARP cache poisoning a DHCP spoofing. V IPv6 je ARP protokol nahrazen ICMPv6 Neighbor Discovery protokolem a DHCP je nahrazeno podobným protokolem DHCPv6 nebo alternativně lze zvolit bezstavovou autokonfiguraci. Pro útoky typu MITM v sítích IPv6 lze využít:

MITM pomocí podvržené zprávy ICMPv6 Neighbor Advertisement

Pro komunikaci v lokální síti je potřeba znát k IP adrese také MAC adresu příslušného zařízení. V IPv4 se pro tento účel používá ARP protokol. Ten je v IPv6 nahrazen Neighbor Discovery protokolem, který využívá dva typy ICMPv6 zpráv – Neighbor Solicitation a Neighbor Advertisement. Proces objevování sousedů je vyznačen na následujícím obrázku 6.5.

MITM pomocí podvržené zprávy ICMPv6 Router Advertisement

Směrovače v IPv6 sítích pravidelně posílají zprávy typu Router Adverisement, a tím všem uzlům v síti sdělují, jaký je prefix sítě, doba jeho platnosti, případně příznak autokonfigurace či jiné volby. O tyto informace navíc může každý uzel požádat zprávou typu Router Solicitation. Na základě oznámení od směrovačů si pak uzly nastavují své směrovací tabulky. Typický proces této komunikace je znázorněn na následujícím obrázku 6.7.

MITM pomocí zprávy ICMPv6 Redirect

Přesměrování pomocí zprávy ICMPv6 Redirect představuje jednoduchý mechanismus směrovačů, jak příslušnému uzlu v síti sdělit, že pro požadovanou adresu příjemce existuje lepší cesta. Princip přesměrování znázorňuje následující obrázek 6.9.

MITM pomocí falešného DHCPv6 serveru

Stavové DHCPv6 je velmi podobné DHCP v IPv4 s následujícími výjimkami:

 DHCPv6 klient můž zaždat o více IPv6 adres.

 DHCPv6 použvá místo broadcastu multicastové adresy (ff02::1:2).

 Klienti i servery jsou identifikováni pomocí tzv. DUID, který si kažý uzel generuje sám lokálně.