La société ExpressVPN a annoncé l'ouverture du code source de l'implémentation du protocole Lightway, conçu pour atteindre un temps de connexion minimal tout en préservant un haut niveau de sécurité et de fiabilité. Le code est écrit en C et distribué sous la licence GPLv2. L'implémentation est très compacte et tient en deux mille lignes de code. La prise en charge des plateformes Linux, Windows, macOS, iOS, Android, des routeurs (Asus, Netgear, Linksys) et des navigateurs est déclarée. Pour la compilation, l'utilisation des systèmes de construction Earthly et Ceedling est requise. L'implémentation est présentée sous la forme d'une bibliothèque qui peut être utilisée pour intégrer les fonctionnalités client et serveur. VPN dans leurs applications.
Le code utilise des fonctions cryptographiques pré-approuvées fournies par la bibliothèque wolfSSL, déjà utilisée dans des solutions ayant obtenu la certification FIPS 140-2. En mode standard, le protocole utilise UDP pour la transmission des données et DTLS pour la création d'un canal de communication chiffré. En option, pour garantir le fonctionnement dans des réseaux UDP peu fiables ou contraignants, serveur un mode de flux plus fiable mais moins rapide est fourni, permettant de transmettre des données sur TCP et TLSv1.3.
Les tests réalisés par ExpressVPN ont montré qu'en comparaison avec d'anciens protocoles (ExpressVPN prend en charge L2TP/IPSec, OpenVPN, IKEv2, PPTP, WireGuard et SSTP, mais ne précise pas avec quoi la comparaison a été effectuée), le passage à Lightway a permis de réduire en moyenne le temps de connexion de 2,5 fois (dans plus de la moitié des cas, le canal de communication est établi en moins d'une seconde). Le nouveau protocole a également permis de diminuer le nombre de déconnexions dans des réseaux mobiles peu fiables, rencontrant des problèmes de qualité de communication, de 40%.
Le développement de l'implémentation de référence du protocole se fera sur GitHub avec la possibilité pour les membres de la communauté de participer au développement (pour soumettre des modifications, il est nécessaire de signer un accord CLA concernant le transfert des droits de propriété sur le code). D'autres fournisseurs de VPN sont également invités à collaborer, pouvant utiliser sans restrictions le protocole proposé.
La sécurité de la mise en œuvre a été confirmée par les résultats d'un audit indépendant réalisé par Cure53, qui a également audit NTPsec, SecureDrop, Cryptocat, F-Droid et Dovecot. L'audit a concerné la vérification des codes sources et a inclus des tests pour identifier d'éventuelles vulnérabilités (les questions liées à la cryptographie n'ont pas été examinées). Dans l'ensemble, la qualité du code a été évaluée comme élevée, mais l'inspection a tout de même révélé trois vulnérabilités pouvant entraîner des défaillances et une vulnérabilité permettant d'exploiter le protocole comme amplificateur de trafic lors d'attaques DDoS. Ces problèmes ont déjà été corrigés et les suggestions d'amélioration du code ont été prises en compte. L'audit a également porté sur les vulnérabilités et problèmes connus dans les composants tiers impliqués, tels que libdnet, WolfSSL, Unity, Libuv et lua-crypt. Globalement, les problèmes sont mineurs, sauf pour la vulnérabilité MITM dans WolfSSL (CVE-2021-3336).
Source : opennet.ru
