Über das Wochenende haben wir uns nochmal eingehend mit der WebRTC-Schwachstelle beschäftigt und können dazu einige neue Informationen liefern.
Die wichtigste Erkenntnis ist, dass in diesem Fall zwar WebRTC benutzt wurde, um das IP-Leak auszunutzen, aber WebRTC ist nicht die Ursache dafür, dass dies überhaupt möglich ist. Vielmehr handelt es sich um ein Windows-Feature, dass es erlaubt, unter gewissen Bedingungen die Routing-Table zu umgehen. Microsoft schreibt in seinem Techblog wie folgt:
„If the program specifies a source IP address, that IP address is used as the source IP address for connections sourced from that socket and the adapter associated with that source IP is used as the source interface. The route table is searched but only for routes that can be reached from that source interface.“ [1]
Normalerweise wird beim Aufbau eines VPN-Tunnels eine spezifischere Route zum TUN/TAP-Adapter gesetzt, so dass diese grundsätzlich für allen Netzwerkverkehr bevorzugt wird. Die „Source IP address selection“ erlaubt es Windows-Programmen allerdings eine generellere Route zu verwenden, wenn die angegebene Quell-IP an ein entsprechendes Interface gebunden ist.
Das lässt sich mit folgendem Befehl in der Konsole überprüfen:
ping -S <lokale LAN-IP> <Ziel-IP>
Wenn man als „lokale LAN-IP“ die von Router zugewiesene IP-Adresse verwendet, so werden die Ping-Anfragen über das unverschlüsselte Interface gesendet, auch wenn ein VPN-Tunnel besteht. In unseren Tests hat das nicht auf allen Systemen funktioniert (in einigen Fällen scheitern die Anfragen mit „Allgemeiner Fehler) aber wir konnten dies auf einem frisch installierten Windows 7 reproduzieren.
Folglich können Windows-Applikationen grundsätzlich auf diese Methode zurückgreifen, um Pakete über unverschlüsselte Interfaces zu senden – das Problem ist nicht nur auf WebRTC beschränkt. Die Installation eines Browser-Plugins, dass WebRTC blockiert beseitigt also nicht die zugrundeliegende Ursache.
Der Perfect Privacy VPN Manager verhindert dieses IP-Leak mit den Standardeinstellungen. Der integrierte Firewall-Schutz ist defaultmäßig aktiviert, sobald ein VPN-Tunnel aufgebaut wird. Das verhindert, dass Pakete über unverschlüsselte Interfaces gesendet werden, auch wenn „Source IP address selection“ genutzt wird: Solche Pakete werden grundsätzlich blockiert.
Fazit: Solange der Firewall-Schutz in der Perfect-Privacy-Software aktiviert ist, besteht keine Möglichkeit, über diese Methode an die öffentliche IP zu gelangen – egal ob über WebRTC oder andere Methoden.
[1] https://blogs.technet.com/b/networking/archive/2009/04/25/source-ip-address-selection-on-a-multi-homed-windows-computer.aspx
Mit freundlichen Grüssen,
Euer Perfect Privacy Team