ADMIN

2023

04

2023-03-30T12:00:00

Storage

PRAXIS

058

Security-Tipp

Sicherheit

Virtual Private Network

Datenverkehr am VPN-Tunnel vorbei

Schleichwege sperren

von Dr. Matthias Wübbeling

Veröffentlicht in Ausgabe 04/2023 - PRAXIS

Benutzer erhoffen sich von VPN-Diensten vor allem die im Namen enthaltene Privatheit ihrer Kommunikation. Manchmal ist es aber gar nicht der Benutzer, der bestimmen kann, ob die Daten auch wirklich durch einen verfügbaren VPN-Tunnel fließen oder einfach daran vorbei den normalen Weg in das Netzwerk wählen. Dieser Security-Tipp zeigt, wie Sie solche Datenlecks aufspüren.

VPNs (Virtual Private Networks) sind Dienste, die eine sichere und verschlüsselte Verbindung zwischen einem Computer oder einem mobilen Gerät und einem anderen Netzwerk herstellen. Sie finden häufig Verwendung, um die Privatsphäre des Benutzers zu schützen und sicherzustellen, dass nur bestimmte Personen Zugang zu den Inhalten der Kommunikation erhalten. Einige Anbieter verkaufen VPNs auch als Schutz vor Malware, aber für die meisten Benutzer geht es hauptsächlich um die Vertraulichkeit der Inhalte.
VPN-Tunnel über unterschiedliche Anbieter sind derzeit hoch im Kurs. Obwohl die Nutzung eines Tunnels nicht zwangsläufig bedeutet, dass die Kommunikation verschlüsselt ist, wird dies bei den meisten Diensten so umgesetzt. Neben der Vertraulichkeit ist für private Anwender die Anonymität eine Motivation zum Einsatz von VPNs. Dabei soll die eigene IP-Adresse auch für den Kommunikationspartner nicht erkennbar sein. Findige Benutzer verwenden diese Eigenschaft dafür, etwa die Geolocation-Beschränkungen von Streaming-Diensten zu umgehen.
Zum Einsatz kommen VPNs heute also nicht mehr nur auf Computern, sondern vor allem auch auf mobilen Geräten wie Tablets oder Smartphones. Insbesondere in fremden Netzwerken, wie dem der Bahn, in Hotels oder Cafés gibt es einen konkreten Bedarf für VPNs. Benutzer vertrauen dabei darauf, dass nach der Aktivierung des Tunnels auch alle Kommunikation über diesen Tunnel gesendet wird. Leider ist das nicht immer der Fall und oft ist dies nicht unmittelbar zu erkennen.
VPNs (Virtual Private Networks) sind Dienste, die eine sichere und verschlüsselte Verbindung zwischen einem Computer oder einem mobilen Gerät und einem anderen Netzwerk herstellen. Sie finden häufig Verwendung, um die Privatsphäre des Benutzers zu schützen und sicherzustellen, dass nur bestimmte Personen Zugang zu den Inhalten der Kommunikation erhalten. Einige Anbieter verkaufen VPNs auch als Schutz vor Malware, aber für die meisten Benutzer geht es hauptsächlich um die Vertraulichkeit der Inhalte.
VPN-Tunnel über unterschiedliche Anbieter sind derzeit hoch im Kurs. Obwohl die Nutzung eines Tunnels nicht zwangsläufig bedeutet, dass die Kommunikation verschlüsselt ist, wird dies bei den meisten Diensten so umgesetzt. Neben der Vertraulichkeit ist für private Anwender die Anonymität eine Motivation zum Einsatz von VPNs. Dabei soll die eigene IP-Adresse auch für den Kommunikationspartner nicht erkennbar sein. Findige Benutzer verwenden diese Eigenschaft dafür, etwa die Geolocation-Beschränkungen von Streaming-Diensten zu umgehen.
Zum Einsatz kommen VPNs heute also nicht mehr nur auf Computern, sondern vor allem auch auf mobilen Geräten wie Tablets oder Smartphones. Insbesondere in fremden Netzwerken, wie dem der Bahn, in Hotels oder Cafés gibt es einen konkreten Bedarf für VPNs. Benutzer vertrauen dabei darauf, dass nach der Aktivierung des Tunnels auch alle Kommunikation über diesen Tunnel gesendet wird. Leider ist das nicht immer der Fall und oft ist dies nicht unmittelbar zu erkennen.
VPN-Leaks durch IPv6
Es gibt unterschiedliche Ursachen, durch die sogenannte VPN-Leaks auftreten können. Auch heute noch ist die Verwendung von IPv6 oft einer dieser Gründe. VPN-Tunnel, die lediglich auf Basis von IPv4 arbeiten, leiten meist keinen IPv6-Datenverkehr weiter. Für IPv6 gibt es nämlich auf den meisten Systemen andere Routingtabellen als für IPv4. Ist ein Kommunikationspartner nur über IPv6 erreichbar oder bevorzugt die genutzte Applikation IPv6 für die Kommunikation, wird der VPN-Tunnel vom Routing des Betriebssystems einfach ignoriert. Für den Benutzer ist das zunächst nicht nachvollziehbar.
Das Routing ist auch verantwortlich für sogenannte DNS-Leaks. Oft kommen lokale DNS-Resolver für die Namensauflösung zum Einsatz. Die IP-Adressen des lokalen Netzwerks werden aber in den Routingtabellen explizit aufgelistet und daher nicht über das Standardgateway des VPNs weitergeleitet. So finden DNS-Abfragen am VPN-Tunnel vorbei statt und sind wie üblich sichtbar. Auch über WebRTC, das für Echtzeitkommunikation wie Videochats verwendete Protokoll, sind Informationslecks möglich.
Betroffen ist dabei meist die IP-Adresse, was insbesondere die Anonymität des Benutzers gefährdet. Dabei werden die zugewiesenen IP-Adressen der verfügbaren Netzwerkschnittstellen abgefragt und übermittelt, um möglichst direkte Wege zwischen den Kommunikationspartnern zu etablieren. Auch hier fließen über IPv6 deutlich mehr Informationen als bei IPv4, was daran liegt, dass etwa mittels IPv6-Autokonfiguration erstellte IP-Adressen die MAC-Adresse des Geräts enthalten.
Ist ein Tunnel nicht verfügbar, entsteht das wohl größte Leak-Risiko. Die meisten Systeme sind nämlich so konfiguriert, dass Sie über das Standardgateway kommunizieren. Dieser wird bei aktiver VPN-Verbindung entsprechend auf das VPN-Netzwerk gesetzt. Ist der Tunnelendpunkt aber nicht erreichbar, wählt das System dann einfach wieder das Gateway, das ursprünglich etwa mittels DHCP konfiguriert wurde. Für den Benutzer sind solche Änderungen oft nicht erkennbar.
Lecks aufspüren
Regelmäßig wird berichtet, dass sowohl Android als auch iOS immer wieder Datenverkehr – häufig den eigener Werkzeuge – an VPNs vorbeischleusen [1]. Mit wenigen Hilfsmitteln ist es möglich, Ihr Smartphone auf mögliche VPN-Leaks abzuklopfen. Installieren und konfigurieren Sie dafür einen VPN-Dienst auf Ihrem Gerät und deaktivieren Sie bestenfalls den Zugang über das mobile Internet, sodass nur noch WLAN für Datenverbindungen zur Verfügung steht. Wenn Sie einen Router mit einem offenem Betriebssystem verwenden, etwa OpenWRT [2], können Sie dort in den meisten Fällen auch per SSH direkt auf der Konsole arbeiten. Tools wie tcpdump sind manchmal bereits installiert, unter OpenWRT richten Sie dieses andernfalls mit dem folgenden Kommando ein:
opkg install tcpdump
Haben Sie keinen solchen Router zur Hand, können Sie sich selbst einen bauen. Nutzen Sie dafür etwa einen Laptop mit einer kabelgebundenen und einer Wireless-Netzwerkkarte. Schließen Sie das Kabel direkt an Ihren Router und öffnen das WLAN-Gerät als Access Point für Ihr Smartphone. Teilen Sie die Internetverbindung des Kabels mit dem WLAN und Sie haben eine perfekte "Man-in-the-Middle"-Station für Ihre Untersuchung errichtet. Mit einer grafischen Benutzeroberfläche lässt sich dann auch Wireshark [3] verwenden, um die Verbindungen anzuzeigen und zu filtern.
Möchten Sie nun die Verbindungen Ihres Smartphones untersuchen, finden Sie zunächst die IP-Adressen heraus, die diesem zugewiesen sind. Bestenfalls prüfen Sie sowohl IPv6 als auch IPv4, in diesem Beispiel beschränken wir uns zunächst auf die Angabe der IPv4-Adressen. Angenommen, Ihr Smartphone erhält vom DHCP-Server die Adresse 192.168.178. 200, dann können Sie mit tcpdump alle Verbindungen des Geräts mit folgendem Aufruf prüfen:
tcpdump -i any -n -U host 192.168.178.200
Mit "-i" wählen Sie das Interface aus, an dem Sie die Verbindungen beobachten möchten, "any" wählt alle verfügbaren Interfaces aus. Mit "-n" sehen Sie IP-Adressen anstatt DNS-Namen für die Endpunkte, was die Anzeige im ersten Schritt etwas einfacher lesbar macht, und "-U" gibt weitere Informationen zum Paketinhalt aus. Der Suchstring "host 192.168. 178.200" filtert die Adressfelder (also Sender und Empfänger des Pakets) der Paketheader auf die entsprechende IP-Adresse. Wenn Sie Ihr Smartphone in der Zeit nutzen, werden Sie hier viele Verbindungen sehen.
Finden Sie nun im zweiten Schritt heraus, welche IP-Adresse der von Ihnen genutzte VPN-Server besitzt. In unserem Beispiel ist das 1.2.3.4, die wir nun mit dem Suchstring "host 192.168.178.200 and not host 1.2.3.4" herausfiltern können. Damit sehen Sie nun alle Verbindungen Ihres Smartphones, die nicht über den VPN-Tunnel geleitet werden. Entfernen Sie das "-n" wieder aus dem Aufruf, erhalten Sie die DNS-Namen der IP-Adressen, sofern diese auflösbar sind. Oft gibt dies schon einen Anhaltspunkt, welche Anwendung gerade kommuniziert beziehungsweise mit welchem Anbieter gerade Daten ausgetauscht werden.
Können Sie keine Kommunikation erkennen, ist das zunächst ein gutes Zeichen. Um zu prüfen, dass Sie nicht versehentlich jeglichen Zugang filtern, können Sie etwa von Ihrem Gerät eine Verbindung zum Acces Point oder zu anderen Geräten im selben Netzwerk direkt öffnen. Diese sollten auf jeden Fall erkennbar sein. Mit etwas Übung können Sie zwischen Netzwerkmanagement-Paketen oder UPnP und Nutzdaten in das Internet unterscheiden und den Suchstring immer weiter anpassen und akzeptable Kommunikation herausfiltern.
Alternative Datenwege verhindern
Vermutlich haben auch Sie festgestellt, dass Ihre mobilen Geräte am VPN vorbei die ein oder andere Verbindung in das Internet aufbauen. Um dies möglichst noch weiter einzuschränken, bestehen unterschiedliche Möglichkeiten. Um Verbindungen ohne VPN direkt im Gerät zu verhindern, können Sie etwa unter Android in den Einstellungen des VPNs die Optionen "Durchgehend aktives VPN" und "Verbindungen ohne VPN blockieren" aktivieren. Unter iOS verwenden Sie für Ihr VPN die Option "automatisch verbinden", um die Verbindung möglichst immer aktiv zu haben. Einen Weg, um Verbindungen ohne VPN ganz zu verhindern, scheint es unter iOS nicht zu geben.
Möchten Sie die Kontrolle schlussendlich nicht ihrem mobilen Gerät selbst überlassen, benötigen Sie einen Mittelsmann, ähnlich wie Sie diesen oben bereits eingerichtet haben. Auf diesem Router können Sie Verbindungen individuell mit einem Paketfilter blockieren, wenn diese nicht über den VPN-Tunnel geleitet werden. Bestenfalls endet der VPN-Tunnel dann gar nicht auf dem Gerät, sondern schon auf dem Router. So kann sich auch das Betriebssystem nicht über die Tunnelwahl hinwegsetzen und eigene Regeln aufstellen. Mit entsprechenden Routingregeln leiten Sie dann einfach alles, was von Ihrem Endgerät kommt, automatisch über den Tunnel weiter. Die Kommunikation mit Geräten im selben lokalen Netzwerk können Sie jedoch auch mit einem speziell konfigurierten Router allein nicht kontrollieren, da diese immer direkt stattfinden kann.
Fazit
Die sichere Nutzung von VPNs ist nicht immer intuitiv. Um ein VPN sicher zu betreiben, benötigen Sie gewisse Eingriffsmöglichkeiten in das Routing Ihres Betriebssystems oder zusätzliche Geräte. Dennoch bieten die VPN-Funktionen der gängigen Smartphones für den Hausgebrauch akzeptable Konfigurationsmöglichkeiten, um sicher mit einem privaten Tunnel arbeiten zu können.
(dr)
Link-Codes