Firma ExpressVPN ogłosiła udostępnienie kodu źródłowego realizacji protokołu Lightway, stworzonego w celu minimalizacji czasu nawiązywania połączenia przy zachowaniu wysokiego poziomu bezpieczeństwa i niezawodności. Kod napisany jest w języku C i jest udostępniany na mocy licencji GPLv2. Implementacja jest bardzo kompaktowa i mieści się w dwóch tysiącach linii kodu. Zapowiedziano wsparcie dla platform Linux, Windows, macOS, iOS, Android, routerów (Asus, Netgear, Linksys) oraz przeglądarek. Do budowy wymagane jest użycie systemów budowania Earthly i Ceedling. Implementacja przyjmuje formę biblioteki, którą można wykorzystać do integracji funkcji klienta i serwera. VPN w swoich aplikacjach.
W kodzie wykorzystano sprawdzone funkcje kryptograficzne dostarczane przez bibliotekę wolfSSL, używaną już w rozwiązaniach posiadających certyfikat FIPS 140-2. W trybie normalnym protokół korzysta z UDP do przesyłania danych oraz DTLS do tworzenia szyfrowanego kanału komunikacyjnego. Jako opcję zapewnia bardziej niezawodny, ale wolniejszy tryb strumieniowy, umożliwiający przesyłanie danych przez TCP i TLSv1.3. serwerem Wyniki testów przeprowadzonych przez firmę ExpressVPN pokazują, że w porównaniu do starszych protokołów (ExpressVPN wspiera L2TP/IPSec, OpenVPN, IKEv2, PPTP, WireGuard i SSTP, jednak nie szczegółowo wskazano, z czym dokładnie dokonano porównania), przejście na Lightway pozwoliło skrócić czas nawiązywania połączenia średnio 2,5 razy (w ponad połowie przypadków kanał komunikacyjny jest nawiązywany w mniej niż sekundę). Nowy protokół również umożliwił zmniejszenie liczby zerwań połączeń w niezawodnych sieciach mobilnych z problemami z jakością sygnału o 40%.
Rozwój odniesienia do realizacji protokołu będzie prowadzone na GitHubie z możliwością udziału w pracach dla członków społeczności (w celu przeniesienia zmian wymagane jest podpisanie umowy CLA o przeniesieniu praw majątkowych do kodu). Do współpracy zapraszani są także inni dostawcy VPN, którzy mogą bez ograniczeń wykorzystywać zaproponowany protokół.
Развитие эталонной реализации протокола будет производиться на GitHub с предоставлением возможности участия в разработке представителей сообщества (для передачи изменений требуется подписать CLA-соглашение о передаче имущественных прав на код). К сотрудничеству в том числе приглашаются другие VPN-провайдеры, которые без ограничений могут использовать предложенный протокол.
Bezpieczeństwo implementacji potwierdzone zostało wynikami niezależnego audytu przeprowadzonego przez firmę Cure53, która wcześniej audytowała NTPsec, SecureDrop, Cryptocat, F-Droid i Dovecot. Audyt obejmował przegląd kodu źródłowego oraz przeprowadzenie testów w celu wykrycia potencjalnych luk (kwestie związane z kryptografią nie były rozważane). Ogólnie jakość kodu oceniono jako wysoką, jednak audyt ujawnił trzy luki, które mogą prowadzić do odmowy usługi, oraz jedną lukę, która umożliwia użycie protokołu jako wzmacniacza ruchu w przypadku ataków DDoS. Wskazane problemy już rozwiązano, a uwagi dotyczące poprawy kodu zostały uwzględnione. Podczas audytu zwrócono również uwagę na znane luki i problemy w używanych komponentach zewnętrznych, takich jak libdnet, WolfSSL, Unity, Libuv i lua-crypt. W większości problemy są nieistotne, z wyjątkiem MITM w WolfSSL (CVE-2021-3336).
Źródło: opennet.ru
