L'azienda ExpressVPN ha annunciato l'apertura del codice sorgente dell'implementazione del protocollo Lightway, sviluppato per garantire un tempo di connessione minimo mantenendo un alto livello di sicurezza e affidabilità. Il codice è scritto in C e distribuito sotto licenza GPLv2. L'implementazione è molto compatta e si adatta in duemila righe di codice. È dichiarato il supporto per le piattaforme Linux, Windows, macOS, iOS, Android, router (Asus, Netgear, Linksys) e browser. Per la compilazione è necessario utilizzare i sistemi di build Earthly e Ceedling. L'implementazione è fornita come libreria, che può essere utilizzata per integrare le funzioni client e server. VPN nelle proprie applicazioni.
Nel codice sono utilizzate funzioni crittografiche già verificate, fornite dalla libreria wolfSSL, già utilizzata in soluzioni che hanno ottenuto la certificazione FIPS 140-2. In modalità predefinita, il protocollo utilizza UDP per il trasferimento dei dati e DTLS per creare un canale di comunicazione crittografato. Come opzione per garantire il funzionamento in reti UDP inaffidabili o restrittive, server viene fornita una modalità di streaming più affidabile, ma meno veloce, che consente di trasmettere dati su TCP e TLSv1.3.
I test condotti da ExpressVPN hanno dimostrato che rispetto ai protocolli precedenti (ExpressVPN supporta L2TP/IPSec, OpenVPN, IKEv2, PPTP, WireGuard e SSTP, ma non dettagliando con cosa è stata effettuata la comparazione), il passaggio a Lightway ha permesso di ridurre il tempo di connessione in media di 2,5 volte (in oltre la metà dei casi, il canale di comunicazione viene creato in meno di un secondo). Il nuovo protocollo ha anche permesso di ridurre del 40% il numero di disconnessioni in reti mobili inaffidabili, con problemi di qualità della connessione.
Lo sviluppo dell'implementazione di riferimento del protocollo avverrà su GitHub, offrendo la possibilità di partecipazione allo sviluppo ai membri della comunità (per inviare modifiche è necessario firmare un accordo CLA di cessione dei diritti di proprietà sul codice). Sono invitati a collaborare anche altri fornitori di VPN, che possono utilizzare il protocollo proposto senza restrizioni.
La sicurezza dell'implementazione è stata confermata dai risultati di un audit indipendente condotto da Cure53, che in passato ha eseguito audit su NTPsec, SecureDrop, Cryptocat, F-Droid e Dovecot. L'audit ha riguardato il controllo del codice sorgente e ha incluso test per identificare potenziali vulnerabilità (le questioni relative alla crittografia non sono state considerate). Complessivamente, la qualità del codice è stata valutata come elevata, tuttavia, il controllo ha rivelato tre vulnerabilità che potrebbero portare a un'interruzione del servizio e una vulnerabilità che consente di utilizzare il protocollo come amplificatore di traffico durante attacchi DDoS. I problemi indicati sono già stati risolti e le osservazioni per migliorare il codice sono state prese in considerazione. Durante l'audit è stata anche prestata attenzione a vulnerabilità e problemi noti nei componenti di terze parti coinvolti, come libdnet, WolfSSL, Unity, Libuv e lua-crypt. In generale, i problemi non sono significativi, eccetto per un MITM in WolfSSL (CVE-2021-3336).
Fonte: opennet.ru
