3 популярных VPN-сервиса оказались не защищены от утечки пользовательских IP-адресов

иллюстрация: канцелярская кнопка прикреплена к земле (IP-адрес)

В ходе аудита популярных VPN — Hotspot Shield, PureVPN и Zenmate — исследователи обнаружили, что все три сервиса не обеспечивают надёжную защиту приватных данных пользователей. В частности, бреши в безопасности позволяют злоумышленникам быстро вычислять актуальные приватные IP-адреса.

Детали

Экспертам удалось найти три независимые уязвимости в Hotspot Shield, каждая из которых эксплуатируется через расширение для браузера Chrome.

Первая — CVE-2018-7879 — позволяет перехватывать трафик. Она активируется PAC-скриптом:

function FindProxyForURL(url, host) {
if(url.indexOf('act=afProxyServerPing') != -1) {
let parsed = url.match(/act=afProxyServerPing&server=([^&]+)/);
if(parsed && parsed[1]) return 'https '+parsed[1]+':443; DIRECT;';
}

Эта функция проверяет запрос на наличие параметра act=afProxyServerPing и в случае успеха перенаправляет весь трафик на указанный сервер. При случайном переходе по скомпонованной таким образом ссылке жертва попадает на страницу с сообщением об ошибке. При этом все чувствительные данные уже отправляются злоумышленнику.

пример «опасного» запроса в браузереВторая уязвимость — CVE-2018-7878 — провоцирует утечку DNS. С помощью короткого скрипта let ip = dnsResolve(host); можно послать DNS-запрос через системную DNS до того, как «приватный» прокси-сервер начал свою работу. Проверить работоспособность идеи можно с помощью специального сервиса.

dns leaks testЧерез эксплуатацию третьей бреши (CVE-2018-7880) можно заполучить приватный IP-адрес. Оказалось, что «белый список» на прямые соединения в Hotspot Shield ограничен недостаточно жёсткими рамками. Это позволяет любому домену с локальным узлом или любому URL-адресу с атрибутом type=a1fproxyspeedtest обходить прокси. Составленная таким образом ссылка (например, https://example.com/?act=afProxyServerPing&server=mywebsite.com) позволяет сайту напрямую узнать действительный IP-адрес компьютера.

PAC-скрипт:

let whiteList = /localhost|accounts\.google|google\-analytics\.com|chrome\-
signin|freegeoip\.net|event\.shelljacket|chrome\.google|box\.anchorfree|googleapis|
127\.0\.0\.1|hsselite|firebaseio|amazonaws\.com|shelljacket\.us|
coloredsand\.us|ratehike\.us|pixel\.quantserve\.com|googleusercontent\.com|easylist\-
downloads\.adblockplus\.org|hotspotshield|get\.betternet\.co|betternet\.co|
support\.hotspotshield\.com|geo\.mydati\.com|control\.kochava\.com/;if(isPlainHostName(host) 
|| shExpMatch(host, '*.local') || isInNet(ip, '10.0.0.0', '255.0.0.0') || isInNet(ip, '172.16.0.0', '255.240.0.0')
 || isInNet(ip, '192.168.0.0', '255.255.0.0') || isInNet(ip, '173.37.0.0', '255.255.0.0')
 || isInNet(ip, '127.0.0.0', '255.255.255.0') || !url.match(/^https?/) || whiteList.test(host) || url.indexOf('type=a1fproxyspeedtest') != -1) return 'DIRECT';

Подобным уязвимостям также подвержены сервисы PureVPN и Zenmate. Однако патч пока выпущен только для Hotspot Shield, поэтому технические особенности взлома других инструментов не разглашаются.

По предположению исследователей, такими проблемами могут обладать все существующие VPN. Эксперты настоятельно рекомендуют всем пользователям регулярно обновлять программы и заявляют, что опубликовали этот отчёт с целью подстегнуть разработчиков этих сервисов как можно скорее создать соответствующие патчи.

Вопросы безопасности и анонимности в Сети волнуют многих пользователей. К счастью, каждый человек при желании может настроить свой собственный VPN-сервис быстро и за небольшие деньги. Это позволяет не только сэкономить, но и обезопасить себя от недобросовестных поставщиков востребованной услуги.

Источник: vpnMentor

Ещё интересное для вас:
Тест: чьё это рабочее место? Угадываем айтишников по их столам
Тест: что вы знаете о работе мозга?
Тест: какой язык программирования вам стоит выбрать для изучения?