SWITCH Security-Blog

SWITCH-CERT IT-Security Blog

IPv6 Adress-Autokonfiguration aus Security-Sicht


Wer in seiner Organisation IPv6 einführt, muss sich darüber Gedanken machen, wie die Adressvergabe für Server und Clients geregelt werden soll. Dabei spielen auch Sicherheits- und Privatsphären-Aspekte eine Rolle. In diesem Beitrag wollen wir dazu die Themen Adress-Autokonfiguration und Privacy Extensions etwas näher betrachten.

SLAAC – Autokonfiguration

Neben den von IPv4 bekannten Möglichkeiten – statische Adresskonfiguration oder DHCP – gibt es für IPv6 zusätzlich den Mechanismus der Adress-Autokonfiguration (RFC 4862: IPv6 Stateless Address Autoconfiguration, SLAAC). Dieser bedarf weder einer manuellen Konfiguration auf dem Client noch einer zentralen Instanz, welche die Adressen zuteilt. Der lokale Teil der IPv6-Adresse (Interface Identifier, IID, 64 Bit) wird dabei lokal auf dem Host gebildet, und zwar gemäss Standard abgeleitet von der MAC-Adresse des Interfaces nach dem Modified EUI-64 Verfahren.

ipv6adresse

IPv6-Adresse bestehend aus Präfix (Global Routing Präfix + Subnet ID) und Interface ID. Die Interface ID ist hier aus der MAC-Adresse 3c:07:54:5d:45:67 abgeleitet nach dem Modified EUI-64-Verfahren.

Da die MAC-Adresse in aller Regel gleich bleibt, hat nun der Host – beispielsweise der Laptop eines Geschäftsreisenden – weltweit eine IPv6-Adresse, deren letzten 64 Bit immer konstant bleiben. Dadurch hat man neben den existierenden Tracking-Mechanismen (Cookies, Browser-Fingerprint, etc.) noch ein statisches Datum, mit dem der Client auf Ressourcen zugreift – und damit dauerhaft und weltweit trackbar ist. Ein Problem für die Privatsphäre des Nutzers.

Weitere Nachteile dieses Verfahrens aus Security-Sicht sind:

  1. Der Vendor-Anteil (die ersten 24 Bit) der MAC-Adresse wird ins Internet exponiert und gibt damit Auskunft über den Hersteller des Geräts (im obigen Beispiel steht die “3e07:54” für die Vendor-ID 3c:07:54: und damit für ein Apple-Gerät).
  2. Bei bekanntem Präfix und bekannter Vendor-ID reduziert sich der Adressraum für das sequentielle Scannen des Subnetzes durch einen Angreifer von äusserst zeitaufwändigen 64 Bit auf praktikable 24 Bit.

Privacy Extensions

Das Tracking- bzw- Privacy-Problem haben auch die IPv6-Entwickler erkannt und in den RFCs 3041 und 4941 die “Privacy Extensions for Stateless Address Autoconfiguration in IPv6” spezifiziert. Ziel: Eine 1.) zufällig generierte und 2.) regelmässig (z.B. alle 24 Stunden) wechselnde Interface-ID soll es Lauschern und Datensammlern erschweren, verschiedene Verbindungen bzw. Transaktionen einem Endgerät zuzuordnen.

Diese ‘Privacy-Adresse’ wird zusätzlich zur vorhandenen statischen IPv6-Adresse generiert und bei ausgehenden Verbindungen bevorzugt. Aufgrund der Tatsache, dass die statische Adresse erhalten bleibt, ist der Sicherheitsgewinn in bezug auf Scan-Attacken allerdings gering.

Ob bei Verwendung der Autokonfiguration Privacy Extensions verwendet werden, bestimmt eine lokale Konfiguration auf dem Client. Heutzutage sind diese auf gängigen Computer-Betriebssystemen oft standardmässig aktiviert (Stichwort: Privacy by default). Bei Mobile-Betriebssystemen ist ein umkonfigurieren unter Umständen gar nicht möglich.

Privacy Extensions am Endkundenanschluss

Wer von seinem ISP einen eigenen festen Präfix zugeteilt bekommt, um zu Hause oder als Kleinunternehmer über IPv6 ins Internet zu gehen, der ist durch dieses Präfix bereits als Endkunde trackbar, auch wenn die Interface-IDs regelmässig wechseln. Deshalb bieten manche ISPs ihren Kunden wechselnde Präfixe an (oder planen dies zumindest). Entweder auf Knopfdruck im Router-Webinterface oder in bestimmten Zeit-Intervallen wechselt dann das Präfix. Allerdings müssten diese Wechsel im Idealfall natürlich mit der Neugenerierung der Interface-IDs synchronisiert werden, was nicht ohne weiteres Zutun der Fall ist.

Privacy Extensions in der Organisation

Im Bereich von Unternehmen und Grossorganisationen erschwert der Einsatz von Privacy Extensions die Nachvollziehbarkeit bei Zugriffen auf (lokale und nichtlokale) Ressourcen. Dies gilt nicht nur in dem seltenen Fall, wo eine forensische Analyse notwendig wird, sondern auch im normalen alltäglichen Troubleshooting. Auch andere operative Erfordernisse, wie z.B. das Konfigurieren feingranularer Firewall-Polices kann durch Privacy Extensions erschwert werden. Trotzdem sollte natürlich auch der Schutz der Privatsphäre von Mitarbeitern ein wichtiges Anliegen sein. Das Kleinreden von Privacy-Bedürfnissen nach dem Motto “Wir sind doch eh trackbar”, ist da sicher nicht der Königsweg.

Zu den Aspekten ‘Wahrung der Privatsphäre’ und ‘Sicherstellung von Nachvollziehbarkeit’ wird es ggf. auch Erfordernisse aus rechtlicher Sicht geben, die man abklären sollte. Ideal ist es, eine technische Lösung zu finden, die beides sicherstellt: Möglichst wenig Preisgabe nach aussen bei hinreichender Nachvollziehbarkeit intern.

Was gibt es also für Lösungsansätze und welche Grenzen haben sie?

DHCPv6 statt SLAAC

Ein wesentlicher Vorteil von DHCPv6 ist, dass es eine zentrale Instanz gibt, die über die Adresszuteilung Buch führt. D.h. auch wenn der DHCPv6-Dienst so konfiguriert wird, dass die Clients über die Zeit verschiedene IP-Adressen bekommen, ist die Nachvollziehbarkeit über den Umweg der DHCPv6-Logs immernoch zu bewerkstelligen. Ausserdem werden die Interface-IDs vei Verwendung von DHCPv6 im allgemeinen nicht aus der MAC-Adresse generiert. Zudem sollte es bei DHCPv6-Servern möglich sein, den gesamten 64-Bit-Adressraum der Interface-ID zu verwenden und zufällig zuzuteilen, um Scanning-Attacken entgegenzuwirken.

DHCPv6 steht allerdings nicht überall zur Verfügung. Sowohl serverseitig als auch bei den Clients gibt es einen gewissen Nachholbedarf. Ausserdem möchte man gerade in Netzsegmenten mit vielen BYOD-Geräten (z.B. Gastnetze) vielleicht auch nicht auf die Möglichkeit der Autokonfiguration verzichten.

Internet-Zugriff über Proxy

Ein weiterer gleichsam bekannter wie auch beliebter Ansatz ist, die lokalen Client-IP-Adressen nicht im Internet zu exponieren, sondern nur über ein Gateway die Konnektivität in die weite Welt herzustellen. Diese Option macht allerdings eine eigentlich grundlegende Eigenschaft eines Netzwerks zunichte, nämlich die Ende-zu-Ende-Konnektivität. Im Rahmen eines IPv6-Deployments sollte man darüber nachdenken, ob man sein Netz für die Zukunft mit dieser Einschränkung designen möchte. Denn auch wenn der Einsatz von Proxies in manchem Umfeld absolut sinnvoll ist, sollte nicht die interne IPv6-Adressierung der Grund dafür sein.

Nachvollziehbarkeit durch Neighbor Cache Monitoring

Werden die Netzsegmente so designt, dass a) Ende-zu-Ende-Konnektivität ins Internet gegeben ist und b) Privacy Extensions eingeschaltet bleiben, kann man sich den Neighbor Cache zunutze machen, um Nachvollziehbarkeit herzustellen: Durch Monitoren der IPv6 Neighbor-Informationen (ähnlich ARP bei IPv4) ist die Zuordnung von MAC- zu IP-Adressen zu einem bestimmten Zeitpunkt verfügbar. Dies ist auch hilfreich, um Anomalien bei der IP-Adressvergabe (zum Beispiel durch Angreifer) im Netz aufzuspüren. Ein frei verfügbares Tool dazu ist beispielsweise NDPmon. Naturgemäss funktioniert dies jedoch nur lokal, so dass bei einer grossen Anzahl von Subnetzen der Aufwand entsprechend steigt.

Microsoft-Sonderweg

Windows-Systeme bilden übrigens die Interface-ID per default nicht nach dem Modified EUI-64 Verfahren aus der MAC-Adresse, sondern gehen einen Sonderweg: Die Interface-ID wird zufällig gebildet und bleibt konstant. Damit ist die MAC-Adresse nicht im Netz exponiert und der Adressraum für Scanning-Attacken wird nicht unnötig reduziert. (Das Standardverfahren kann bei Bedarf jedoch auch konfiguriert werden.)

Stable Privacy Addresses

Ein aktuelles IETF-Draft beschäftigt sich mit einer weiteren Möglichkeit, die Anforderungen aus Netzbetrieb, Sicherheit und Privatsphäre zu vereinen, die ‘Stable Privacy Addresses‘. Die Idee dabei: Der Client benutzt eine dauerhafte Adresse, so lange er sich in einem Netz befindet. Wechselt er das Netz, wird auch die Interface-ID neu generiert. Damit bleiben die Vorteile von statischen Adressen im lokalen Netz erhalten, ohne dass damit gleichzeitig eine weltweite Trackbarkeit des mobilen Hosts einhergeht. Als zusätzlicher Sicherheitsgewinn wird bei diesem Verfahren der Adressraum für Scanning-Attacken nicht reduziert und die Vendor-ID nicht exponiert.

Am Beispiel IPv6-Adress-Autokonfiguration und Privacy Extensions wird einmal mehr deutlich, dass IPv6 nicht einfach “IPv4 mit grösserem Adressraum” ist. Für sinnvolle und nachhaltige Entscheidungen in bezug auf die Integration von IPv6 müssen die neuen Konzepte verstanden und deren Vor- und Nachteile bewusst sein. Erst dann können die Lösungen gefunden werden, die den Anforderungen an das eigene Netzwerk bezüglich Funktionalität, Sicherheit und Privatsphäre am besten gerecht wird.

Comments are closed.