Skupina výzkumníků z Michiganské univerzity zveřejnila výsledky výzkumu možnosti identifikace (VPN Fingerprinting) spojení k serverům na bázi OpenVPN při monitorování tranzitního provozu. Byly odhaleny tři způsoby identifikace protokolu OpenVPN mezi ostatními síťovými pakety, které mohou být použity v systémech inspekce provozu k blokování virtuálních sítí na bázi OpenVPN.
Testování navrhovaných metod v síti poskytovatele internetových služeb Merit, který má více než milion uživatelů, ukázalo možnost identifikace 85% OpenVPN sezení při nevysoké úrovni falešných pozitiv. Pro ověření byl připraven nástroj, který nejprve pasivně a v reálném čase určoval provoz OpenVPN, a poté ověřoval správnost výsledků prostřednictvím aktivního testování serveru. Na vytvořený analytik byl zrcadlen tok provozu s intenzitou přibližně 20 Gbps.

Během experimentu dokázal analytik úspěšně určit 1718 z 2000 testovacích OpenVPN spojení, která byla nastavena na zkušebním klientovi, na kterém bylo použito 40 různých typových konfigurací OpenVPN (metoda úspěšně fungovala pro 39 z 40 konfigurací). Kromě toho bylo během osmi dní trvání experimentu v tranzitním provozu odhaleno 3638 sezení OpenVPN, z nichž bylo potvrzeno 3245 sezení. Uvádí se, že horní mez falešných pozitiv v navrhované metodě je třikrát nižší než v dříve navrhovaných metodách založených na použití strojového učení.
P zvlášť byla hodnocena účinnost metod ochrany proti sledování provozu OpenVPN ve komerčních službách — z 41 testovaných VPN-služeb, které používaly metody skrývání provozu OpenVPN, bylo možné provoz identifikovat ve 34 případech. Služby, které nebyly odhaleny, kromě OpenVPN používaly další vrstvy pro skrývání provozu (např. posílání OpenVPN provozu přes další šifrovaný tunel). Ve většině úspěšně identifikovaných služeb byla použita deformační technika provozu pomocí operace XOR, dodatečné vrstvy obfuskování bez dostatečného náhodného doplnění provozu či přítomnost neobfuskovaných OpenVPN služeb na stejném serveru.
Použité metody identifikace se zakládají na vazbě na specifické vzory OpenVPN v nezašifrovaných hlavičkách paketů, velikosti ACK-paketů a odpovědích serveru. V prvním případě může být jako objekt pro identifikaci ve fázi zajištění spojení použita vazba na pole „opcode“ v hlavičce paketů, které přijímá pevný rozsah hodnot a určitém způsobem se mění v závislosti na fázi navazování spojení. Identifikace se redukuje na zjištění určité sekvence změn opcode v prvních N paketech toku.
Druhá metoda se zakládá na tom, že ACK-pakety se v OpenVPN používají pouze ve fázi zajištění spojení a přitom mají specifickou velikost. Identifikace se zakládá na tom, že ACK-pakety dané velikosti se vyskytují pouze v určitých částech relace (například při použití OpenVPN je první ACK-paket obvykle třetím paketem s daty odeslanými v relaci).

Třetí metoda je aktivní kontrolou a spočívá v tom, že jako odpověď na požadavek na resetování spojení server OpenVPN odesílá specifický RST-paket (kontrola nefunguje při použití režimu „tls-auth“, protože OpenVPN-server v tomto režimu ignoruje požadavky od klientů, kteří nebyli autentizováni prostřednictvím TLS).

Zdroj: opennet.ru
