Beschreibung:
Dieses Dokument enthält Informationen zu den Abwehrmöglichkeiten, der von Mathy Vanheof im Paper "Leaking VPN Client Traffic by Abusing Routing Tables" beschriebenen Angriffsmöglichkleiten "LocalNet-Angriff" und "ServerIP-Angriffe".
Alle Angriffe sind in folgenden CVE-Meldungen detailliert beschrieben:
- CVE-2023-35838 (LocalNet-Angriff)
- CVE-2023-36672 (ServerIP-Angriff - Deanonymisierung)
- CVE-2023-36673 (ServerIP-Angriff - DNS spoofing)
In der Standard-Einstellung sind sowohl die Windows- als auch die macOS-Clients anfällig für beide Angriffe (LocalNet und ServerIP).
1. Advanced VPN Client für Windows
1.1 Nutzung der integrierten Firewall
Der Advanced VPN Client für Windows enthält eine Firewall, die beide Angriffe abwehren kann. Dabei ist zu beachten, dass auch Pakete gedroppt werden können.
Standardmäßig ist die Firewall des Advanced VPN Cient ausgeschaltet. Sie muss eingeschaltet werden und entsprechende Regeln müssen konfiguriert werden.
Zur Abwehr der Angriffe "LocalNet-Angriff" und "ServerIP-Angriffe" können die vordefinierten Regeln verwendet werden:
In diesem Beispiel werden alle ausgehenden IPv4-VPN-Verbindungen erlaubt und die Kommunikation auschließlich über die IPSec-Protokolle sowie IPSec-over-HTTPS zugelassen.
1.2 Aktivierung des "Full Local Network Enclosure Mode"
Zur Abwehr des "LocalNet-Angriffs" kann auch der "Full Local Network Enclosure Mode" (Option "Auch lokale Netze im Tunnel weiterleiten") aktiviert werden, der die Daten für das lokale Netz in den Tunnel leitet.
- Dazu müssen Sie in der Konfiguration des Verbindings-Profils das Menü Split-Tunneling aufrufen und den Modus Alles durch den Tunnel verwenden.
- Aktivieren Sie zusätzlich die Option Auch lokale Netze im Tunnel weiterleiten".
Die Konfiguration des Advanced VPN Client kann auch über eine *.ini-Datei importiert werden. In diesem Fall muss darin die Option "UseTunnel = 1" gesetzt sein, um den "Full Local Network Enclosure Mode" zu aktivieren.
2. Advanced VPN Client für macOS
2.1 Verwendung einer externen Firewall im lokalen Netzwerk
Da der Advanced VPN Client für macOS keine integrierte Firewall besitzt, empfiehlt sich zur Abwehr beider Angriffe die Verwendung einer Firewall im lokalen Netzwerk (z.B. eine LANCOM R&S Unfied Firewall) oder einer Software-Firewall, welche auf dem Betriebsystem vorhanden ist.
2.2 Aktivierung des "Full Local Network Enclosure Mode"
Zur Abwehr des LocalNet-Angriffs muss der "Full Local Network Enclosure Mode" (Option "Auch lokale Netze im Tunnel weiterleiten") aktiviert werden, der die Daten für das lokale Netz in den Tunnel leitet.
Wie Sie diese Funktion nutzen, ist im Abschnitt 1.2 beschrieben.
OPTIONAL:
3. Technische Details zu den Angriffen
3.1 LocalNet-Angriff
Bei diesem Angriff werden Ausnahmeregeln für das Routing ins lokale Netz ausgenutzt.
Der Nutzer verbindet sich mit einem fremden Access-Point und bekommt als lokales Netz einen Adressbereich zugewiesen. Dieser Adressbereich wird vom Angreifer so gewählt, dass die IP-Adresse eines Ziel-Servers, den er überwachen will, darin enthalten ist. Das Ziel des Angreifers kann dabei sein:
3.1a) Datenverbindungen zum Ziel-Server zu registrieren, mitzulesen oder zu verfälschen. (Im Preprint Abschnitt "4.1.1 Leaking local traffic", CVE-2023-36672) oder
3.1b) Verbindungen zum Ziel-Server zu blockieren. (Im Preprint Abschnitt "4.1.2 Blocking traffic", CVE-2023-35838)
Verhalten des Advanced VPN Client
Alle Windows- und macOS-Clients senden mit den Standard-Einstellungen Daten am Tunnel vorbei ins lokale Netzwerk, wenn die Zieladresse im lokalen Netz liegt. Daher sind die Clients für den bei Punkt 3.1a beschriebenen Angriff anfällig.
Empfehlung von LANCOM Systems:
- Der "Full Local Network Enclosure Mode" verhindert die Angriffe 3.1a und 3.1b.
- Im Windows-Client kann man die integrierte Firewall verwenden, um den Datenverkehr ins lokale Netz zu blockieren. Damit wird Angriff 3.1a abgewehrt.
- Zur Abwehr von Angriff 3.1b müsste man die Firewall-Logs regelmäßig kontrollieren.
3.2 ServerIP-Angriffe
Hier werden Ausnahmeregeln für das Routing der VPN-Daten zum VPN-Server ausgenutzt. Das Preprint beschreibt hier zwei unterschiedliche Angriffe.
3.2.1 Deanonymisierung
Erlaubt es das Routing, beliebige Pakete außerhalb des Tunnels zum VPN-Server zu schicken (also nicht nur den gewünschten IPsec-Traffic), dann ermöglicht dies einen Deanonymisierungsangriff.
Der Angreifer platziert auf der Website, die überwacht werden soll, einen Link mit der IP-Adresse des VPN-Servers, z.B. in einem Forum Post. Der Angreifer kann nun überwachen, wann der Nutzer die Website besucht.
Der im CVE-2023-36671 beschriebene Fall, dass ein Anwender anonym in Internet surfen und die besuchten Webseiten geheim halten will, entspricht nicht dem typischen Enterprise-Szenario unserer Kunden. Diese verwenden die VPN-Verbindungen hauptsächlich, um sicher aufs Firmennetzwerk zugreifen zu können.
Verhalten des Advanced VPN Client
Die Firewall des Advanced VPN Client ist in den Standard-Einstellungen deaktiviert, und in Folge dessen werden alle Pakete zur IP-Adresse des VPN-Servers außerhalb des Tunnels verschickt. Daher sind die Windows- und macOS-Clients anfällig für den Angriff.
Empfehlung von LANCOM Systems
Zur Abwehr des Angriffs kann, wie oben beschrieben, die integrierte Firewall im Windows-Client verwendet werden.
3.2.2 - DNS spoofing
Falls die IP-Adresse des VPN-Servers mit Hilfe von ungesichertem DNS aufgelöst wird, kann ein Angreifer dies Nutzen um dem VPN-Client eine falsche VPN-Server-Adresse zuzuweisen. Zusätzlich konfiguriert der Angreifer in seinem Access Point Address-Translation speziell für den VPN-Tunnel, so dass der Anwender diesen normal benutzen kann. Das Ziel des Angreifers kann dabei sein:
3.2.2a Verbindungen zur vermeintlichen IP-Adresse des VPN-Servers werden am Tunnel vorbei aufgebaut. (siehe auch CVE-2023-36673 Abschnitt "4.2.2 Leaking arbitrary traffic")
3.2.2b Verbindungen zur vermeintlichen IP-Adresse des VPN-Servers werden unbemerkt blockiert. (siehe auch CVE-2023-36673 Abschnitt "4.2.3 Blocking traffic")
Verhalten des Advanced VPN Client
Die Advanced VPN Clients erlauben ungesicherte DNS-Abfragen, daher ist es möglich, dass der Angreifer die IP-Adresse des VPN-Servers verfälscht.
Die Firewall des Advanced VPN Client ist in den Standard-Einstellungen deaktiviert, und in Folge dessen werden alle Verbindungen zur falschen IP-Adresse des VPN-Servers außerhalb des Tunnels aufgebaut.
Wurde der VPN-Server mit einem Hostnamen konfiguriert, dann sind die Windows- und macOS-Clients anfällig für den Angriff.
Empfehlung von LANCOM Systems
- Der Angriff 3.2 kann nicht durchgeführt werden, falls der Tunnelendpunkt nicht mit einem Hostnamen, sondern mit einer IP-Adresse konfiguriert wurde.
- Andernfalls sollte im Windows-Client, wie oben beschrieben die intergrierte Firewall konfiguriert werden, um Datenverkehr außerhalb des Tunnels zum VPN-Server zu blockieren. Damit wird Angriff 3.2.2a abgewehrt,
- Zur Abwehr von Angriff 3.2.2b müsste man die Firewall-Logs regelmäßig kontrollieren.