Большинство VPN-провайдеров для построения сервисов использует стандартные решения вроде OpenVPN и IKEv2. Однако малая их часть выбирает другой путь и разрабатывает собственные протоколы — одним из них стал Lightway. В статье обсуждаем его возможности, достоинства, недостатки и безопасность.
Unsplash / Dayne Topkin
В основе нового протокола лежит криптографическая библиотека wolfSSL. Она соответствует стандарту компьютерной безопасности FIPS 140-2, который разрабатывает институт NIST в США, и уже нашла применение в «боевых» криптографических задачах. Например, её используют разработчики IoT-систем и производители GPRS-терминалов. Первые шифруют данные в устройствах умного дома, а вторые — реализуют интерфейсы типа machine-to-machine (M2M).
При передаче данных Lightway использует UDP, а для установления защищенного канала связи — DTLS. В то же время протокол может работать поверх TCP и TLS 1.3. Для обмена ключами разработчики использовали механизм Диффи-Хеллмана на эллиптических кривых (ECDH). Обмен происходит каждые 15 минут или при переключении сети. Если по какой-то причине использовать ECDH невозможно, система обращается к классическому протоколу Диффи — Хеллмана (DH).
Lightway не привязывает ключи к внутренним IP-адресам (как это делают некоторые VPN-протоколы), и пользователи получают новый адрес при каждом переподключении — в теории такой подход повышает приватность.
В то же время разработчики говорят, что кодовая база протокола меньше, чем у других популярных решений, и её проще проверять на ошибки. Хотя один из резидентов Hacker News в тематическом треде отметил некоторые непостоянства в структурировании кода, что немного мешает оценить его качество.
Однако в начале лета код прошел независимый аудит безопасности — его провели специалисты из Cure53, оценившие реализацию NTP-протокола NTPsec и свободный IMAP-сервер Dovecot. Проект получил высокий балл, хотя эксперты обнаружили уязвимости (стр.3), открывающие возможности для DoS [их сразу устранили]. Ряд недостатков связали со сторонними библиотеками и компонентами — например, была уязвимость CVE-2020-3336 в WolfSSL, позволяющая злоумышленникам проводить MITM-атаки [в середине июня разработчики выпустили для неё патч].
Unsplash / Jon Moore
Ряд ИБ-специалистов среди потенциальных недостатков также выделяет отсутствие обфускации. Так, интернет-провайдер, в сети которого работает Lightway, может понять, что клиент использует VPN-подключение. В любом случае это довольно молодой протокол, поэтому может пройти еще какое-то время, прежде чем недостатки устранят. Разработчики приглашают поучаствовать всех желающих — свои предложения и «пул-реквесты» можно оставлять на GitHub.
В начале прошлого года его даже включили в ядро Linux. Однако авторы отмечают, что WireGuard — экспериментальный протокол и работа с ним несет определенные риски. Например, он сохраняет подключённые IP-адреса на сервере, что отрицательно влияет на приватность. Потенциальным проблемам, связанным с ним, даже была посвящена отдельная большая статья на Хабре.
Хотя сегодня многие VPN-провайдеры нашли способы борьбы с этими недостатками и постепенно внедряют WireGuard в свои сервисы. Возможно, в будущем он и Lightway найдут более широкое применение, если на их развитии не отразится желание регуляторов ввести ограничения на работу с end-to-end шифрованием.
Что «под капотом»
Lightway разработал VPN-провайдер ExpressVPN, который в начале августа передал исходники в open source под лицензией GPLv2. По словам авторов, они хотели сделать легкий и производительный протокол, поэтому использовали язык программирования C и реализовали только необходимые функции безопасности — объем кодовой базы составил примерно две тысячи строк. Lightway совместим с Linux, Windows, macOS, мобильными платформами и маршрутизаторами (Netgear, Linksys).В основе нового протокола лежит криптографическая библиотека wolfSSL. Она соответствует стандарту компьютерной безопасности FIPS 140-2, который разрабатывает институт NIST в США, и уже нашла применение в «боевых» криптографических задачах. Например, её используют разработчики IoT-систем и производители GPRS-терминалов. Первые шифруют данные в устройствах умного дома, а вторые — реализуют интерфейсы типа machine-to-machine (M2M).
При передаче данных Lightway использует UDP, а для установления защищенного канала связи — DTLS. В то же время протокол может работать поверх TCP и TLS 1.3. Для обмена ключами разработчики использовали механизм Диффи-Хеллмана на эллиптических кривых (ECDH). Обмен происходит каждые 15 минут или при переключении сети. Если по какой-то причине использовать ECDH невозможно, система обращается к классическому протоколу Диффи — Хеллмана (DH).
Lightway не привязывает ключи к внутренним IP-адресам (как это делают некоторые VPN-протоколы), и пользователи получают новый адрес при каждом переподключении — в теории такой подход повышает приватность.
Перспективы и критика
Протокол обладает высокой производительностью, и по оценкам разработчиков, в 2,5 раза быстрее конкурентов — OpenVPN, IKEv2, PPTP и SSTP. Но справедливости ради стоит отметить, что авторы не раскрыли критерии и условия тестирования. В связи с этим к указанному показателю стоит относиться с долей скептицизма.В то же время разработчики говорят, что кодовая база протокола меньше, чем у других популярных решений, и её проще проверять на ошибки. Хотя один из резидентов Hacker News в тематическом треде отметил некоторые непостоянства в структурировании кода, что немного мешает оценить его качество.
Однако в начале лета код прошел независимый аудит безопасности — его провели специалисты из Cure53, оценившие реализацию NTP-протокола NTPsec и свободный IMAP-сервер Dovecot. Проект получил высокий балл, хотя эксперты обнаружили уязвимости (стр.3), открывающие возможности для DoS [их сразу устранили]. Ряд недостатков связали со сторонними библиотеками и компонентами — например, была уязвимость CVE-2020-3336 в WolfSSL, позволяющая злоумышленникам проводить MITM-атаки [в середине июня разработчики выпустили для неё патч].
Ряд ИБ-специалистов среди потенциальных недостатков также выделяет отсутствие обфускации. Так, интернет-провайдер, в сети которого работает Lightway, может понять, что клиент использует VPN-подключение. В любом случае это довольно молодой протокол, поэтому может пройти еще какое-то время, прежде чем недостатки устранят. Разработчики приглашают поучаствовать всех желающих — свои предложения и «пул-реквесты» можно оставлять на GitHub.
Кто еще
К относительно новым VPN-протоколам можно отнести WireGuard. Это — VPN-туннель, разработка которого идет с 2016 года. Он использует алгоритмы ChaCha20 и Poly1305, а его пропускная способность в четыре раза выше, чем у OpenVPN.В начале прошлого года его даже включили в ядро Linux. Однако авторы отмечают, что WireGuard — экспериментальный протокол и работа с ним несет определенные риски. Например, он сохраняет подключённые IP-адреса на сервере, что отрицательно влияет на приватность. Потенциальным проблемам, связанным с ним, даже была посвящена отдельная большая статья на Хабре.
Хотя сегодня многие VPN-провайдеры нашли способы борьбы с этими недостатками и постепенно внедряют WireGuard в свои сервисы. Возможно, в будущем он и Lightway найдут более широкое применение, если на их развитии не отразится желание регуляторов ввести ограничения на работу с end-to-end шифрованием.
Новый открытый VPN-протокол — на что обратить внимание
Большинство VPN-провайдеров для построения сервисов использует стандартные решения вроде OpenVPN и IKEv2. Однако малая их часть выбирает другой путь и разрабатывает собственные протоколы — одним из...
habr.com