Der Öffentlichkeit wird die Angriffsmethode TunnelVision vorgestellt, die es bei Zugang zum lokalen Netzwerk oder Kontrolle über ein WLAN ermöglicht, den Verkehr des Opfers umzuleiten und dabei die VPN-Verbindung zu umgehen (anstatt über das VPN gesendet zu werden, wird der Verkehr unverschlüsselt ohne Tunnelung an das System des Angreifers gesendet). Betroffen sind alle VPN-Clients, die keine isolierten Namensräume (network namespace) der Netzwerksubsysteme nutzen, wenn sie den Verkehr in den Tunnel leiten oder keine Regeln für die Paketfilterung festlegen, die eine Routing von VPN-Verkehr über vorhandene physische Netzwerkschnittstellen verhindern.
Das Konzept des Angriffs besteht darin, dass der Angreifer seinen eigenen DHCP-Server starten und diesen nutzen kann, um dem Client Informationen zur Routenänderung zu übermitteln. Insbesondere kann der Angreifer die im DHCP-Protokoll bereitgestellte Option 121 (RFC-3442, angenommen im Jahr 2002) nutzen, die dazu dient, Informationen über statische Routen zu übermitteln, um Änderungen in der Routingtabelle des Opfers vorzunehmen und den Verkehr umzuleiten. VPN. Die Umleitung erfolgt durch die Festlegung einer Reihe von Routen für Subnetze mit dem Präfix /1, die eine höhere Priorität haben als die standardmäßig verwendete Route mit dem Präfix /0 (0.0.0.0/0), sodass der Verkehr anstelle der für die VPN-virtuelle Netzwerkschnittstelle festgelegten Route über die physische Netzwerkschnittstelle zum Host des Angreifers im lokalen Netzwerk geleitet wird.
Der Angriff kann auf allen Betriebssystemen durchgeführt werden, die die Option 121 im DHCP unterstützen, einschließlich Linux, Windows, iOS und macOS, unabhängig vom verwendeten VPN-Protokoll (Wireguard, OpenVPN, IPsec) und der verwendeten Cipher-Suites. Android ist von dem Angriff nicht betroffen, da es die Option 121 im DHCP nicht verarbeitet. Der Angriff ermöglicht den Zugriff auf den Verkehr, erlaubt jedoch nicht das Eindringen in Verbindungen oder die Identifizierung des Inhalts, der über sichere Anwendungsschichtprotokolle wie TLS und SSH übertragen wird; beispielsweise kann der Angreifer den Inhalt von HTTPS-Anfragen nicht bestimmen, aber verstehen, an welche Server sie gesendet werden.
Um sich vor dem Angriff zu schützen, kann auf der Ebene der Paketfilterung das Senden von Paketen, die an die VPN-Schnittstelle adressiert sind, über andere Netzwerkschnittstellen verboten werden; DHCP-Pakete mit der Option 121 blockiert werden; VPN innerhalb einer separaten virtuellen Maschine (oder eines Containers), isoliert vom externen Netzwerk, verwendet werden oder spezielle Tunnelkonfigurationen, die Namensräume in Linux (network namespace) nutzen, angewandt werden. Für Experimente mit der Durchführung des Angriffs wurde ein Satz von Skripten veröffentlicht.

Es ist anzumerken, dass die Idee der lokalen Routenänderung nicht neu ist und zuvor häufig in Angriffen verwendet wurde, die auf die Manipulation von DNS-Servern abzielten. In einem ähnlichen Angriff, TunnelCrack, bei dem der Verkehr durch den Austausch des Standardgateways umgeleitet wurde, war das Problem alle getesteten VPN-Clients für iOS, 87,5 % der VPN-Clients für macOS, 66,7 % für Windows, 35,7 % für Linux und 21,4 % für Android betroffen. Im Kontext von VPN und DHCP wurde die Methode ebenfalls zuvor erwähnt, beispielsweise war ein Bericht hierüber auf der letztjährigen Konferenz USENIX 2023 (eine Studie zeigte, dass 64,6 % von 195 getesteten VPN-Clients anfällig für den Angriff waren).
Zur Einspeisung von Routen wurde zuvor auch ein speziell gestalteter USB-Stick vorgeschlagen, der die Funktionalität eines Netzwerkadapters simuliert und beim Anschluss an den Computer über DHCP sich als Gateway ausgibt. Darüber hinaus wurde, bei Kontrolle über das Gateway (z. B. beim Anschluss des Opfers an ein vom Angreifer kontrolliertes WLAN), eine Technik zur Einspeisung von Paketen in den Tunnel entwickelt, die im Kontext der VPN-Netzwerkschnittstelle wahrgenommen werden.
Datenströme bei Nutzung von VPN:

Datenströme nach Durchführung des Angriffs:

Quelle: opennet.ru
