Detektering av OpenVPN-sessioner i transittrafik

En grupp forskare från University of Michigan publicerade resultaten av en studie om möjligheten att identifiera (VPN Fingerprinting) anslutningar till OpenVPN-baserade servrar vid övervakning av transittrafik. Som ett resultat identifierades tre metoder för att identifiera OpenVPN-protokollet bland andra nätverkspaket som kan användas i trafikinspektionssystem för att blockera OpenVPN-baserade virtuella nätverk.

Testning av de föreslagna metoderna på nätverket av internetleverantören Merit, som har mer än en miljon användare, visade förmågan att identifiera 85% av OpenVPN-sessioner med en låg nivå av falska positiva. För testning förbereddes en verktygslåda som först upptäckte OpenVPN-trafik i farten i ett passivt läge, och sedan verifierade resultatets korrekthet genom en aktiv serverkontroll. Ett trafikflöde med en intensitet på cirka 20 Gbps speglades på analysatorn som skapats av forskarna.

Detektering av OpenVPN-sessioner i transittrafik

Under experimentet kunde analysatorn framgångsrikt identifiera 1718 2000 av 40 39 test OpenVPN-anslutningar som upprättats av en oseriös klient, som använde 40 olika typiska OpenVPN-konfigurationer (metoden fungerade framgångsrikt för 3638 av 3245 konfigurationer). Dessutom, under de åtta dagar som experimentet pågick, identifierades XNUMX OpenVPN-sessioner i transittrafik, varav XNUMX sessioner bekräftades. Det noteras att den övre gränsen för falskt positiva i den föreslagna metoden är tre storleksordningar lägre än i tidigare föreslagna metoder baserade på användning av maskininlärning.

Separat utvärderades prestandan för skyddsmetoder för OpenVPN-trafikspårning i kommersiella tjänster - av 41 testade VPN-tjänster som använder OpenVPN-trafikdöljningsmetoder identifierades trafik i 34 fall. Tjänster som inte kunde upptäckas använde ytterligare lager utöver OpenVPN för att dölja trafik (till exempel vidarebefordra OpenVPN-trafik genom en extra krypterad tunnel). De flesta av de framgångsrikt identifierade tjänsterna använde XOR-trafikdistorsion, ytterligare lager av obfuskation utan ordentlig slumpmässig trafikutfyllnad eller närvaron av icke-obfuskerade OpenVPN-tjänster på samma server.

De involverade identifieringsmetoderna är baserade på bindning till OpenVPN-specifika mönster i okrypterade pakethuvuden, ACK-paketstorlekar och serversvar. I det första fallet kan en bindning till "opcode"-fältet i pakethuvudet användas som ett objekt för identifiering vid anslutningsförhandlingsstadiet, som tar ett fast värdeintervall och ändras på ett visst sätt beroende på anslutningen installationsstadiet. Identifiering handlar om att identifiera en viss sekvens av opkodändringar i de första N-paketen i flödet.

Den andra metoden är baserad på det faktum att ACK-paket används i OpenVPN endast vid anslutningsförhandlingsstadiet och samtidigt har en specifik storlek. Identifieringen baseras på det faktum att ACK-paket av en given storlek endast förekommer i vissa delar av sessionen (till exempel när man använder OpenVPN är det första ACK-paketet vanligtvis det tredje datapaketet som skickas i sessionen).

Detektering av OpenVPN-sessioner i transittrafik

Den tredje metoden är en aktiv kontroll och beror på det faktum att OpenVPN-servern som svar på en begäran om återställning av anslutning skickar ett specifikt RST-paket (kontrollen fungerar inte när du använder läget "tls-auth", eftersom OpenVPN-servern ignorerar förfrågningar från klienter som inte är autentiserade via TLS).

Detektering av OpenVPN-sessioner i transittrafik


Källa: opennet.ru

Lägg en kommentar