ExpressVPN has announced the release of the source code for its Lightway protocol, designed to achieve minimal connection setup time while maintaining a high level of security and reliability. The code is written in C and is distributed under the GPLv2 license. The implementation is very compact, consisting of just two thousand lines of code. Support is claimed for platforms such as Linux, Windows, macOS, iOS, Android, routers (Asus, Netgear, Linksys), and browsers. Assembly requires the use of the Earthly and Ceedling build systems. The implementation is structured as a library that can be used to integrate client and server functionalities. VPN into their applications.
The code utilizes established cryptographic functions provided by the wolfSSL library, which is already used in solutions that have obtained FIPS 140-2 certification. In default mode, the protocol uses UDP for data transmission and DTLS to create an encrypted communication channel. As an option to ensure functionality in unreliable or restrictive UDP networks, proxy server a more reliable, albeit slower, streaming mode is available, allowing data to be transmitted over TCP and TLSv1.3.
Tests conducted by ExpressVPN have shown that compared to older protocols (ExpressVPN supports L2TP/IPSec, OpenVPN, IKEv2, PPTP, WireGuard, and SSTP, but does not specify what the comparison was made against), the switch to Lightway has reduced connection setup time by an average of 2.5 times (in more than half of cases, the connection is established in less than a second). The new protocol also enabled a 40% decrease in the number of connection drops in unreliable mobile networks with poor connection quality.
The development of the reference implementation of the protocol will be conducted on GitHub, providing an opportunity for community members to participate in the development (to submit changes, signing a CLA agreement on the transfer of intellectual property rights to the code is required). Other VPN providers are also invited to collaborate, as they can use the proposed protocol without restrictions.
The security of the implementation has been confirmed by the results of an independent audit conducted by Cure53, which previously audited NTPsec, SecureDrop, Cryptocat, F-Droid, and Dovecot. The audit covered the review of source codes and included conducting tests to identify potential vulnerabilities (issues related to cryptography were not considered). Overall, the code quality was rated as high; however, the review identified three vulnerabilities that could lead to denial of service and one vulnerability that allows the protocol to be used as a traffic amplifier in DDoS attacks. The identified issues have already been resolved, and suggestions made for code improvement have been noted. The audit also focused on known vulnerabilities and issues in the third-party components involved, such as libdnet, WolfSSL, Unity, Libuv, and lua-crypt. Most of the issues are minor, except for the MITM in WolfSSL (CVE-2021-3336).
Source: opennet.ru
