La empresa ExpressVPN ha anunciado la apertura del código fuente de la implementación del protocolo Lightway, diseñado para lograr el mínimo tiempo de establecimiento de conexión mientras se mantiene un alto nivel de seguridad y fiabilidad. El código está escrito en C y se distribuye bajo la licencia GPLv2. La implementación es muy compacta y ocupa dos mil líneas de código. Se ha declarado soporte para plataformas Linux, Windows, macOS, iOS, Android, enrutadores (Asus, Netgear, Linksys) y navegadores. Para compilar se requiere el uso de sistemas de construcción Earthly y Ceedling. La implementación se presenta como una biblioteca que se puede utilizar para integrar funciones de cliente y servidor. VPN en sus aplicaciones.
El código emplea funciones criptográficas verificadas y disponibles mediante la biblioteca wolfSSL, que ya se utiliza en soluciones que han obtenido la certificación FIPS 140-2. En modo normal, el protocolo utiliza UDP para la transmisión de datos y DTLS para establecer un canal de comunicación cifrado. Como opción, para asegurar la operatividad en redes UDP poco fiables o limitadas, el servidor se ofrece un modo de transmisión más fiable, aunque menos rápido, que permite enviar datos a través de TCP y TLSv1.3.
Las pruebas realizadas por ExpressVPN han demostrado que en comparación con los antiguos protocolos (ExpressVPN soporta L2TP/IPSec, OpenVPN, IKEv2, PPTP, WireGuard y SSTP, aunque no se detalla con qué exactamente se llevó a cabo la comparación), la transición a Lightway ha permitido reducir el tiempo de establecimiento de la conexión en un promedio de 2.5 veces (en más de la mitad de los casos, el canal de comunicación se establece en menos de un segundo). El nuevo protocolo también ha permitido reducir en un 40% el número de desconexiones en redes móviles poco fiables con problemas de calidad en la conexión.
El desarrollo de la implementación de referencia del protocolo se llevará a cabo en GitHub, ofreciendo la posibilidad de participación en el desarrollo a representantes de la comunidad (para la transferencia de cambios es necesario firmar un acuerdo CLA sobre la transferencia de derechos de propiedad sobre el código). También se invita a colaborar a otros proveedores de VPN, que pueden utilizar el protocolo propuesto sin restricciones.
La seguridad de la implementación ha sido confirmada por los resultados de una auditoría independiente realizada por Cure53, que previamente auditó NTPsec, SecureDrop, Cryptocat, F-Droid y Dovecot. La auditoría abarcó la revisión del código fuente e incluyó pruebas para identificar posibles vulnerabilidades (los temas relacionados con la criptografía no fueron analizados). En general, la calidad del código fue evaluada como alta; sin embargo, la revisión encontró tres vulnerabilidades que podrían llevar a una denegación de servicio y una vulnerabilidad que permite usar el protocolo como amplificador de tráfico en ataques DDoS. Los problemas mencionados ya han sido solucionados y se han considerado las observaciones para mejorar el código. La auditoría también resaltó las vulnerabilidades y problemas conocidos en los componentes de terceros involucrados, como libdnet, WolfSSL, Unity, Libuv y lua-crypt. En general, los problemas son menores, excepto el MITM en WolfSSL (CVE-2021-3336).
Fuente: opennet.ru
