3 Punkte von GN⁺ 2024-05-07 | 1 Kommentare | Auf WhatsApp teilen
  • Ein VPN ist eine Technologie, die einen Tunnel für den Netzwerkverkehr zwischen dem Gerät eines Nutzers und einem Server in einem anderen Netzwerk erstellt. Das dadurch geschaffene virtuelle Netzwerk funktioniert wie ein physisches Netzwerk, ist jedoch nicht durch geografische Standorte eingeschränkt.
  • Ein VPN-Client erstellt eine virtuelle Netzwerkschnittstelle, verschlüsselt/entschlüsselt den Datenverkehr und sendet ihn anschließend über die physische Netzwerkschnittstelle.
  • VPNs wurden so entworfen, dass sie für Nutzer möglichst einfach zu verwenden sind und außer dem Einloggen und einem Klick auf einen Button kaum Arbeit erfordern.
  • Da VPNs Netzwerkverkehr niedriger Schichten über das Internet übertragen, vergrößern sie die Angriffsfläche eines Hosts tatsächlich. VPNs kapseln LAN-Verkehr aus dem Internet heraus und schaffen so ein lokales Netzwerk (LAN) über das Internet.
  • VPNs mindern die erweiterte LAN-Angriffsfläche durch kompensierende Kontrollen wie Paketverschlüsselung. Allerdings schützen VPNs Nutzer nicht vor lokalen Netzwerkangriffen auf das physische LAN.

DHCP und DHCP-Option 121

  • DHCP ist ein Protokoll, das IP-Adressen dynamisch zuweist und Optionen bereitstellt, mit denen sich Gerätekonfigurationen aus der Ferne anpassen lassen.
  • DHCP-Option 121 ist eine Option, mit der Administratoren statische Routen zur Routing-Tabelle eines Clients hinzufügen können.
  • Eine interessante Eigenschaft von DHCP-Option 121 ist, dass der DHCP-Server nicht angeben kann, auf welcher Netzwerkschnittstelle die Routen installiert werden sollen. Stattdessen wählt der DHCP-Client beim Installieren der Routing-Regeln für diese Option implizit die Netzwerkschnittstelle aus, über die er mit dem DHCP-Server kommuniziert.

Voraussetzungen und Ablauf des Decloaking-Angriffs

  • Der Ziel-Host muss ein DHCP-Lease von einem durch den Angreifer kontrollierten DHCP-Server akzeptieren.
  • Der DHCP-Client des Ziel-Hosts muss DHCP-Option 121 implementieren.
  • Der Angreifer betreibt einen DHCP-Server im selben Netzwerk wie der VPN-Nutzer und trägt sich in der DHCP-Konfiguration selbst als Gateway ein.
  • Mithilfe von DHCP-Option 121 werden Routen in die Routing-Tabelle des VPN-Nutzers eingetragen.
  • Durch diese Routenkonfiguration wird der Netzwerkverkehr nicht über die virtuelle Schnittstelle des VPNs gesendet, sondern über die Netzwerkschnittstelle, die mit dem DHCP-Server kommuniziert.
  • Der Verkehr wird außerhalb des verschlüsselten VPN-Tunnels übertragen, während der VPN-Kontrollkanal bestehen bleibt, sodass das VPN weiterhin als verbunden angezeigt wird.

Betroffene Systeme

  • Betroffen sind die meisten Betriebssysteme wie Windows, Linux, iOS und MacOS, sofern sie DHCP-Clients gemäß der RFC-Spezifikation implementieren und Routen über DHCP-Option 121 unterstützen. (Android ist nicht betroffen, da es DHCP-Option 121 nicht unterstützt.)
  • Verwundbar sind VPNs, die sich zum Schutz des Host-Verkehrs ausschließlich auf Routing-Regeln verlassen.
  • Wer einen eigenen VPN-Server hostet, kann ebenfalls verwundbar sein, wenn die VPN-Client-Konfiguration nicht gehärtet wird.
  • Betroffen sind VPNs unabhängig vom zugrunde liegenden VPN-Protokoll (WireGuard, OpenVPN, IPsec usw.), da der Angriff den vom VPN verwendeten Netzwerk-Stack des Betriebssystems umkonfiguriert.

Gegenmaßnahmen und Grenzen

  • Die Verwendung von Netzwerk-Namespaces unter Linux kann dieses Problem vollständig lösen, wird in der Praxis jedoch meist nicht gut umgesetzt.
  • Bei einigen VPN-Anbietern wurde beobachtet, dass sie per Firewall-Regeln eingehenden/ausgehenden Verkehr auf physischen Schnittstellen blockieren, doch das ist nur eine teilweise Gegenmaßnahme.
  • Das Ignorieren von DHCP-Option 121 ist ebenfalls eine mögliche Gegenmaßnahme, kann jedoch zu Verbindungsabbrüchen führen.
  • Die Nutzung eines Hotspots oder einer VM kann helfen, da es für Angreifer dadurch schwieriger wird, Zugriff auf das lokale Netzwerk zu erhalten.
  • Wenn absolute Vertraulichkeit des Datenverkehrs erforderlich ist, ist die beste Verteidigung, die Nutzung nicht vertrauenswürdiger Netzwerke zu vermeiden.

Meinung von GN⁺

  • Da VPNs nicht dafür entwickelt wurden, LAN-Angriffe im physischen Netzwerk abzuwehren, können Marketingaussagen von VPN-Anbietern, wonach VPNs Kunden in nicht vertrauenswürdigen Netzwerken schützen, riskant sein. VPN-Anbieter sollten Gegenmaßnahmen oder Korrekturen für TunnelVision öffentlich dokumentieren und ihre Nutzer informieren.
  • Unternehmens-VPNs werden häufig in Cafés, Hotels und Flughäfen verwendet. Netzwerkadministratoren sollten Mitarbeitende daher über die Risiken des Arbeitens an solchen Orten aufklären und empfehlen, dies nach Möglichkeit zu vermeiden. Zusätzlich sollten interne Ressourcen mit Verschlüsselungsprotokollen wie HTTPS abgesichert werden, um Datenabflüsse durch VPN-Nutzer zu verhindern, die sich aus nicht vertrauenswürdigen Netzwerken verbinden.
  • Da der Großteil des Internetverkehrs bereits durch HTTPS geschützt ist, dürften die meisten Nutzerdaten selbst dann nicht für lokale Netzwerkangreifer offengelegt werden, wenn ein VPN ausgehebelt wird. Für sensiblen Verkehr ist jedoch Vorsicht geboten.
  • Betriebssystem-Maintainer außer unter Linux sollten prüfen, ob Funktionen im Zusammenhang mit Netzwerk-Namespaces hinzugefügt oder verbessert werden können.
  • Auch wenn die Sicherheitseigenschaften der VPN-Technologie selbst nicht verletzt werden, widerspricht der Angriff den Garantien der VPN-Anbieter und kann daher als Schwachstelle betrachtet werden. Die Forschenden schätzen, dass diese Technik seit 2002 möglich gewesen sein könnte, und haben beschlossen, ihre Ergebnisse zu veröffentlichen, um die Betroffenen breit zu informieren.

1 Kommentare

 
GN⁺ 2024-05-07
Hacker-News-Kommentar

Zusammenfassung:

  • Dieser Angriff ähnelt Samy Kamkars "Poison Tap"-Angriff von 2016. Mit einem USB-/Thunderbolt-Netzwerkadapter können zwei spezifischere Routen angekündigt und dadurch sämtlicher Traffic bevorzugt vor den anderen Interfaces des Systems abgefangen werden.
  • Die Überschrift behauptet, dass alle VPN-Clients betroffen seien, aber viele Clients setzen Firewall-Regeln, die Traffic über physische Interfaces blockieren. Produktiver wäre es gewesen, zu dokumentieren, bei welchem Anteil der großen privaten/kommerziellen und Enterprise-VPN-Lösungen diese Funktion standardmäßig aktiviert ist.
  • Mit DHCP-Option 121 kann ein DHCP-Server Routing-Regeln für bestimmte CIDR-Bereiche setzen. Diese haben wegen des längeren Präfixes eine höhere Priorität als die Standardregel 0.0.0.0/0.
  • Dieser "Angriff" ist eine clevere Nutzung von DHCP-Option 121. Für eine saubere Isolierung braucht man korrektes policy-basiertes Routing, z. B. Linux-Netzwerk-Namespaces, FreeBSD vnet oder OpenBSD rdomains.
  • Unter Linux lässt sich das entschärfen, indem das VPN-Interface in ein VRF gelegt wird. systemd-networkd unterstützt das standardmäßig.
  • Das Bedrohungsmodell, dass ein Angreifer zum DHCP-Server im LAN werden kann, ist zwar unwahrscheinlich, aber nicht unmöglich.
  • Auch VM-basierte Architekturen können dieses Problem lösen. QubesOS macht eine ähnliche Konfiguration sehr einfach.
  • Eine interessante Alternative zu Netzwerk-Namespaces ist, das Kernel-Networking vollständig zu umgehen und einen User-Space-Netzwerk-Stack zu verwenden.
  • Besorgniserregender ist die Nutzung eines reinen IPv4-VPN-Dienstes bei gleichzeitig aktiviertem IPv6 auf dem System. Das kann zu ernsthaften Problemen führen.