Eine Gruppe von Forschern der UniversitĂ€t Michigan hat die Ergebnisse einer Untersuchung zur Identifizierung von (VPN-Fingerprinting) Verbindungen zu Servern auf Grundlage von OpenVPN bei der Ăberwachung des Transitverkehrs veröffentlicht. Es wurden drei Methoden zur Identifizierung des OpenVPN-Protokolls unter anderen Netzwerkpaketen entdeckt, die in Verkehrsintegration-Systemen verwendet werden können, um virtuelle Netzwerke auf Basis von OpenVPN zu blockieren.
Die Tests der vorgeschlagenen Methoden im Netzwerk des Internetdienstanbieters Merit, der mehr als eine Million Nutzer hat, zeigten die Möglichkeit, 85 % der OpenVPN-Sitzungen mit einer geringen Rate an Fehlalarmen zu identifizieren. Zur ĂberprĂŒfung wurde ein Werkzeug vorbereitet, das zunĂ€chst im passiven Modus den OpenVPN-Verkehr in Echtzeit erfasste und dann die Richtigkeit des Ergebnisses durch aktive ĂberprĂŒfung des Servers bestĂ€tigte. Der von den Forschern entwickelte Analyzer wurde mit einem Verkehrsfluss von etwa 20 Gbps gespiegelt.

Im Laufe des Experiments konnte der Analyzer erfolgreich 1718 von 2000 getesteten OpenVPN-Verbindungen identifizieren, die von einem Schein-Client hergestellt wurden, bei dem 40 verschiedene Standardkonfigurationen von OpenVPN verwendet wurden (die Methode funktionierte erfolgreich fĂŒr 39 von 40 Konfigurationen). DarĂŒber hinaus wurden wĂ€hrend der acht Tage des Experiments 3638 OpenVPN-Sitzungen im Transitverkehr identifiziert, von denen 3245 Sitzungen bestĂ€tigt wurden. Es wird festgestellt, dass die obere Grenze der Fehlalarme in der vorgeschlagenen Methode um drei GröĂenordnungen niedriger ist als bei zuvor vorgeschlagenen Methoden, die auf maschinellem Lernen basieren.
Separat wurde die Leistung der Methoden zum Schutz vor der Verfolgung des OpenVPN-Verkehrs in kommerziellen Diensten bewertet â von 41 getesteten VPN-Diensten, die Methoden zur Verschleierung des OpenVPN-Verkehrs verwendeten, konnte der Verkehr in 34 FĂ€llen identifiziert werden. Dienste, die nicht erkannt werden konnten, verwendeten zusĂ€tzlich zu OpenVPN weitere Schichten zur Verschleierung des Verkehrs (zum Beispiel das Durchleiten des OpenVPN-Verkehrs durch einen zusĂ€tzlichen verschlĂŒsselten Tunnel). In den meisten erfolgreich identifizierten Diensten wurde eine Verzerrung des Verkehrs durch eine XOR-Operation verwendet, zusĂ€tzliche Schichten der Obfuskation ohne angemessene zufĂ€llige ErgĂ€nzung des Verkehrs oder die Anwesenheit nicht obfuskierter OpenVPN-Dienste auf demselben Server.
Die verwendeten Identifikationsmethoden basieren auf der Bindung an spezifische OpenVPN-Templates in den unverschlĂŒsselten Paket-Headern, der GröĂe der ACK-Pakete und den Antworten des Servers. Im ersten Fall kann bei der Aushandlung der Verbindung das Feld "opcode" im Paket-Header als Identifikationsobjekt verwendet werden, das einen festen Wertebereich annimmt und sich entsprechend der Phase des Verbindungsaufbaus verĂ€ndert. Die Identifizierung besteht darin, eine bestimmte Sequenz der Ănderung des opcode in den ersten N-Paketen des Datenstroms zu ermitteln.
Die zweite Methode basiert darauf, dass ACK-Pakete in OpenVPN nur in der Aushandlungsphase der Verbindung verwendet werden und dabei eine spezifische GröĂe haben. Die Identifizierung erfolgt auf Basis der Tatsache, dass ACK-Pakete mit einer bestimmten GröĂe nur an bestimmten Stellen der Sitzung auftreten (zum Beispiel ist das erste ACK-Paket in einer OpenVPN-Sitzung ĂŒblicherweise das dritte Paket mit Daten, das in der Sitzung ĂŒbertragen wird).

Die dritte Methode ist eine aktive ĂberprĂŒfung und hĂ€ngt damit zusammen, dass der OpenVPN-Server als Antwort auf eine Verbindungsabbauanfrage ein bestimmtes RST-Paket sendet (die ĂberprĂŒfung funktioniert nicht im "tls-auth"-Modus, da der OpenVPN-Server in diesem Fall Anfragen von nicht ĂŒber TLS authentifizierten Clients ignoriert).

Quelle: opennet.ru
