11. Februar 2010

Gedankenspiel zu SSL-VPN

Category: Hacking — Christian @ 10:05

Wir sind in einer Diskussion auf folgende Überlegung gekommen:

Ich sitze an einem Windows-PC (ohne Desktop-Firewall) in einem geschützten Netz hinter der großen Firmen-Firewall. Surfen im Internet ist erlaubt. Außerdem ist auf dem Rechner hier ein SSL-VPN Client installiert, in meinem Fall Juniper Network Connect der Juniper SSL-VPN SA-Serie. Welches Produkt von welchem Hersteller verwendet wird, ist für die Fragestellung aber egal. Das Network Connect wird normalerweise gestartet, indem man auf die Anmeldeseite des SSL-VPN-Gateways geht und sich dort anmeldet. Abhängig von der Konfiguration wird der eigentliche Network Connect Client dann automatisch gestartet. Ich habe dann ein SSL-basiertes VPN von meinem Windows-PC durch die große Firmen-Firewall hindurch zu meinem Juniper Gateway.

Die klassische Diskussion ist dann, dass ich da natürlich beliebige Daten hinaus schleusen kann, weil der Juniper Gateway z.B. Uploads erlaubt und das ja SSL-verschlüsselt ist, d.h. die Firmen-Firewall nichts mehr sieht. Geschenkt.

Die interessante Frage die sich in unserer Diskussion jetzt gestellt hat geht genau anders herum:

    Kann ein Angreifer im Internet einen bösartigen Webserver aufsetzen der automatisch diesen Network Connect startet und so einen VPN-Tunnel aufbauen, wenn der Benutzer ihn ansurft?

Das würde nämlich bedeuten, ich habe dann eine IP-basierte VPN-Verbindung von diesem Webserver im Internet durch die Firmen-Firewall hindurch zum eigentlich geschützten Client im LAN und kann diesen direkt angreifen. Eine fehlende Desktop-Firewall natürlich vorausgesetzt.

Das ist eine ähnliche Frage wie mit den diversen ActiveX-Controls die sich im Browser wiederfinden. Die können im Grunde auch von einem beliebigen Webserver gestartet werden, wenn sie „safe“ sind. Und wenn dann eine Sicherheitslücke bekannt wird, muss Microsoft wie diesen Monat wieder, Killbits für ActiveX verteilen. Oder haben die Hersteller von SSL-VPN Clients ein Verfahren implementiert mit dem der Client feststellen kann, ob er mit einem unmodifizierte Gateway des Herstellers kommuniziert?