Zelfs als we de IPv6-kat nog even uit de boom kijken, zorgt de introductie van nieuwe besturingssystemen ervoor dat we binnen ons netwerk actie zullen moeten ondernemen om de controle over onze netwerkpaden te behouden.
Dat IPv4 vanwege zijn beperkte hoeveelheid adressen niet heel erg toekomstvast is zal de meeste ICT-ers niet zijn ontgaan. Al ruim 10 jaar is de industrie bezig om de techniek voor te bereiden op de overstap naar IPv6. Hoewel, overstappen…, vermoedelijk zullen IPv4 en IPv6 nog lange tijd naast elkaar blijven bestaan, totdat alle randapparatuur IPv6 ondersteunt en alle internetbronnen hun informatie op beide protocollen aanbieden.
Over de beveiliging van IPv6 doen verschillende verhalen de ronde. Als we sommige stemmen mogen geloven biedt IPv6 dé oplossing voor onveilig netwerkverkeer. Het biedt immers IPSEC, wat de techniek is achter veel VPN oplossingen.
Bekijk je IPv6 echter iets beter, dan zie je al snel dat het protocol helaas geen oplossing biedt voor de beveiligingsproblemen die zich in IPv4 voordoen. Hoewel de IPSEC-functionaliteit in IPv6 een bijdrage kan leveren aan de vertrouwelijkheid en integriteit van de dataverbinding, zijn de beveiligingsproblemen die we bij het gebruik van IPv4 kennen na een migratie naar IPv6 grotendeels vergelijkbaar.
Het IP-adres
Ook een apparaat dat via IPv6 met het netwerk is verbonden, heeft gewoon een IP-adres nodig om met andere apparaten te kunnen communiceren. Binnen IPv6 kennen we 3 hoofdsmaken aan IP-adressen: Link-local, Site-local en Global.
Link-local: Het link-local adres is enkel bruikbaar binnen het lokale subnet. Routers zullen verkeer dat van dit adrestype afkomstig is niet doorsturen. Het IPv4 equivalent van het link-local adres maakt gebruik van het subnet 169.254.0.0/16.
Site-local: Een site-local adres is enkel bruikbaar binnen een intern (bedrijfs)netwerk. Routers zullen verkeer dat van dit adrestype afkomstig is doorsturen, maar bijvoorbeeld niet richting internet. Hiervoor zal het eerste vertaald moeten worden naar een op internet bruikbaar adres. IPv4 maakt voor site-local adressen bijvoorbeeld gebruik van de adresreeksen 10.0.0.0/8, 172.16.0.0/12 en 192.168.0.0/16.
Global: Een global adres is overal bruikbaar. Het is opgebouwd uit 48bits waarmee de publieke locatie wordt aangeduid, 16 bits voor het aanduiden van de locatie binnen de site en 64 bits voor het aanduiden van unieke apparaten binnen een site. Het global adres is vergelijkbaar met een (32bits) IPv4 internetadres. Alleen al voor de aanduiding van publieke locaties kent IPv6 ontelbaar meer adressen dan IPv4 (2^48 adressen aan ruimte, ipv. de 2^32 adressen onder IPv4).
Aanvals-strategieën
Op de link-local adressen na, worden IPv6 adressen onder andere afgeleid van het adres van hun gateway. Als je als kwaadwillende het netwerkverkeer van een apparaat wilt beïnvloeden heb je hiervoor dus vergelijkbare mogelijkheden als binnen IPv4.
– Je doet je voor als router.
– Je geeft via je een zelf ingerichte DHCPv6 server IP adressen uit met jezelf als gateway.
Bij de eerste mogelijkheid speelt het Neighbor Discovery Protocol een centrale rol.
Het Neighbor Discovery Protocol
Het Neighbor Discovery Protocol (NDP) is een onderdeel van IPv6 dat niet voorkomt binnen IPv4. NDP maakt voor het versturen van berichten gebruik van ICMPv6. NDP wordt bijvoorbeeld gebruikt voor functies als router detectie, het achterhalen van IPv6 adressen van andere apparaten binnen het netwerk en het zonder DHCP uitdelen van IPv6 adressen. Het protocol combineert hiermee een aantal functies uit IPv4 protocollen zoals ARP en DHCP. De kwetsbaarheden die we uit de IPv4 tijd kennen, zijn helaas ook binnen IPv6 nog aanwezig.
Ik ben de router
Een kwaadwillende kan NDP gebruiken voor het versturen van zgn. Router Advertisements. Hiermee geeft hij binnen het netwerk aan dat hij kan optreden als gateway. Binnen IPv4 is deze aanval vergelijkbaar met ARP spoofing.
Omdat binnen IPv6 de IP adressen van apparaten afgeleid kunnen worden van het adres van de gateway, is er geen kwaadaardige DHCP-server meer nodig om apparaten te voorzien van een IP-adres dat standaard van de kwaadaardige gateway gebruik maakt.
Ik geef adressen uit – DHCPv6
Omdat IPv6 geen DHCP nodig heeft voor het uitgeven van IP-adressen, maar dit protocol wel ondersteunt, blijft ook dit protocol bruikbaar voor aanvallen. Bijvoorbeeld als er binnen de infrastructuur maatregelen zijn getroffen om NDP kwetsbaarheden weg te nemen. Via het opzetten van een kwaadaardige DHCP server, kan de netwerkcommunicatie van apparaten beïnvloed worden. Deze aanval is identiek aan de mogelijkheden binnen IPv4.
Gevolgen
Op het moment dat een aanvaller er in slaagt een centrale rol in het netwerk te vergaren, is hij in staat om netwerkverkeer te onderscheppen en te manipuleren. Zo kan hij onversleutelde vertrouwelijke gegevens inzien, evt. financiële data muteren en mogelijk wachtwoorden onderscheppen.
Beschikbaarheid
Binnen IPv6 (en het NDP protocol in het bijzonder) zijn net als binnen IPv4 verschillende Denial of Service aanvallen mogelijk. Dit artikel zal hier verder niet uitgebreid op ingaan.
Maar gelukkig, ik gebruik geen IPv6!
Zoals uit de bovenstaande voorbeelden is op te maken is de introductie van IPv6 niet per definitie zonder gevaren. Dit maakt IPv6 niet per definitie onveiliger dan IPv4, maar met de introductie van het protocol zal het kwetsbaarhedenlandschap binnen een bedrijfsnetwerk wel veranderen.
Met de introductie van Windows Vista is Microsoft bijvoorbeeld gestart met het standaard ondersteunen van IPv6. Ook Linux, Mac en Solaris ondersteunen het protocol standaard. Door deze ondersteuning krijgt het locale LAN ook automatisch te maken met de in dit document beschreven NDP en DHCP kwetsbaarheden.
Zeker als binnen de basis netwerkinfrastructuur van een bedrijf nog geen-IPv6 support wordt geleverd, kan een aanvaller zichzelf eenvoudig "promoveren" tot de primaire (en enige) IPv6 leverancier. Doordat Windows 7 systemen de voorkeur geven aan het gebruik van IPv6 boven IPv4, is het voor een aanvaller hierdoor vrij eenvoudig om het netwerkverkeer van deze systemen te onderscheppen en/of te manipuleren.
Basismaatregelen
De kwetsbaarheden in het NDP protocol hebben inmiddels geleid tot het SeND (Secure Neighbor Discovery) protocol. Cisco is 1 van de eerste leveranciers die deze veiliger variant van het NDP protocol in zijn apparatuur verwerkt. Omdat dit protocol door Windows Vista/7 nog niet wordt ondersteund, is het momenteel helaas nog niet bruikbaar als beschermingsmaatregel.
Naast SeND biedt Cisco op bepaalde switches de mogelijkheid om bepaalde typen NDP en DHCPv6 verkeer te blokkeren. Door deze blokkade in te stellen op de door werkplekken gebruikte toegangspoorten tot het netwerk, kan voorkomen worden dat een werkplek zichzelf al te eenvoudig voordoet als router of DHCP server.
In Windows Vista en 7 is het mogelijk om IPv6 uit te schakelen, of het apparaat de voorkeur te laten geven aan het gebruik van IPv4 boven IPv6. In netwerken waar IPv4 aanwezig is, maar geen IPv6 aanwezig behoort te zijn, kan deze instelling helpen om dit type werkplek eerst op zoek te laten gaan naar de officiële IPv4 voorzieningen.
Samengevat
De geleidelijke introductie van IPv6, waar we op dit moment middenin zitten, creëert een aantal serieuze aandachtspunten waar we binnen onze infrastructuur rekening mee moeten houden. Zelfs als we de IPv6-kat nog even uit de boom kijken, zorgt de introductie van nieuwe besturingssystemen ervoor dat we binnen ons netwerk actie zullen moeten ondernemen om de controle over onze netwerkpaden te behouden. Hier ligt vermoedelijk voor de meeste bedrijven nog een schone taak.
Maarten Hartsuijker, beveiligingsconsultant bij Classity informatiebeveiliging
Oproep
Waar ik het in dit artikel nog niet over hebben gehad, zijn onderwerpen als IPv6->IPv4 tunnels en het privacy aspect rondom overal uniek herkenbare apparaten. Wellicht aardige onderwerpen voor een volgende auteur?
We lezen veel berichten op Computable (en elders) dat we over moeten naar IPv6 en dan nu krijgen we te horen dat het niet eens veiliger is dan IPv4? Er was al reden genoeg om (nog) niet over te gaan (klaarblijkelijk) maar nu is er nog een reden bij.
Ik ben eigenlijk wel benieuwd naar wat reacties van Computable Experts op deze post! Ik heb helaas niet de kennis om dit goed te kunnen beoordelen. Veiligheid vind ik wel een zeer belangrijk punt en wellicht kan dit punt op de agenda van de IPv6 Taskforce?
@Berrie:
Welke redenen zijn er dan allemaal om niet over te schakelen naar IPv6?
Inderdaad, je kunt zeggen dat IPv6 an sich niet veiliger is dan IPv4, maar ook niet onveiliger. IPv4 gebruik jij en de rest van de wereld nu ook en daar hoor je niemand over klagen.
En precies om de security aan te pakken is IPsec verplicht gesteld in de IPv6 spec. Dus met IPv6 is het makkelijker om je netwerk veilig te maken dan met IPv4 (waarbij IPsec optioneel is).
Ik wil zeker de security issues zoals in bovenstaand artikel onder de aandacht worden gebracht niet bagatelliseren (dit hebben we al vele jaren gedaan), maar blijf alles wel in perspectief zien. Elk protocol, OS of applicatie heeft bepaalde security issues. Deze moet je identificeren, het risico ervan inschatten en liefst ook oplossen.
De artikelen die her en der verschijnen over IPv6 doen vermoeden dat IPv6 een grote bak ellende is, maar ik denk dat dit een kwestie is van sensatie en/of onwetendheid. Onbekend maakt onbemind. Wil je er serieus iets van af weten, schaf dan een boek aan of doe een cursus en vorm je eigen mening.
@Marcel, op netwerk nivo denk ik dat er geen problemen meer zijn, maar op server / software nivo zijn die er nog wel, er is nog veel IMO belangrijke (security) software niet klaar voor IPv6. Ook is de kennis van beheerders nog onvoldoende aanwezig en er is onvoldoende getest. Hierdoor kan ik als Hoster niet dezelfde kwaliteit leveren als nu met IPv4. Ik heb dus niet eens een keus, als zou ik het graag willen… Dit voorbeeld staat niet op zich, vrijwel alle hosting providers die managed secure dediacted services leveren hebben hier mee te maken.
Feit blijft dat zelf als Bit alles gratis weggeeft nog steeds maar 20% hier gebruik van maakt, dit lijkt veel maar IMO veels te weinig en dit heeft een reden… En als je ziet hoeveel data er over IPv6 gaat is dit ook nog minimaal.
En dit bericht bewijst gewoon dat WE niet klaar zijn, er is te weinig getest, er te weinig klaar, er is te weinig geld beschikbaar om het duidelijk te maken dat we toch moeten… en last but not least er is geen keus…