TunnelVision, la tecnica di attacco contro le VPN che espone indirizzo IP e traffico
Lizzie Moratti e Dani Cronce, due ricercatori di Leviathan Security, hanno scoperto un attacco chiamato TunnelVision che può compromettere quasi tutte le applicazioni di VPN, forzandole a inviare e ricevere parte o tutto il traffico al di fuori del tunnel crittografato progettato per la protezione contro intercettazioni e manomissioni.
TunnelVision annulla essenzialmente lo scopo principale delle VPN, ovvero incapsulare il traffico Internet in un tunnel crittografato e mascherare l’indirizzo IP dell’utente. Gli attacchi sembrano colpire tutte le app VPN quando sono connesse a una rete ostile, tranne quando la VPN dell’utente è in esecuzione su Linux o Android. Questa tecnica di attacco potrebbe già essere stata scoperta e sfruttata in the wild.
TunnelVision funziona manipolando il server DHCP che assegna gli indirizzi IP ai dispositivi che tentano di connettersi alla rete locale. Un’impostazione nota come opzione 121 consente al server DHCP di sovrascrivere le regole di routing predefinite che inviano il traffico VPN attraverso un indirizzo IP locale che avvia il tunnel crittografato.
Utilizzando l’opzione 121 per instradare il traffico VPN attraverso il server DHCP stesso, l’attacco devia i dati al server DHCP. Questo fa sì che il traffico non venga mai crittografato dall’interfaccia virtuale della VPN, ma venga invece trasmesso dall’interfaccia di rete che comunica con il server DHCP.
L’attacco può essere eseguito più efficacemente da un utente che ha il controllo amministrativo sulla rete a cui si connette l’obiettivo, configurando il server DHCP per utilizzare l’opzione 121.
TunnelVision consente che parte o tutto il traffico venga instradato attraverso il tunnel non crittografato, anche se l’app VPN continuerà a segnalare che tutti i dati vengono inviati attraverso una connessione protetta. Il traffico dirottato non sarà crittografato dalla VPN e l’indirizzo IP Internet visibile dall’utente remoto apparterrà alla rete a cui è connesso l’utente VPN, anziché a quello designato dall’app VPN.
Android, come già accennato, è l’unico sistema operativo che immunizza completamente le app VPN da questo attacco poiché non implementa l’opzione 121. Per tutti gli altri sistemi operativi non esistono correzioni complete. Le contromisure più efficaci consistono nell’eseguire la VPN all’interno di una macchina virtuale la cui scheda di rete non è in modalità bridged o connettere la VPN a Internet attraverso la rete Wi-Fi di un dispositivo cellulare.