вернуться к обзору Больше статей

Как сайты определяют ваш VPN (и как проверить свой)

Загрузка...

Ваш VPN утверждает, что вы во Франкфурте. Сайт, который вы только что открыли, не убеждён — и ему не пришлось гадать. Где-то между вашим новым IP-адресом и вашим старым браузером есть противоречие, а поиск противоречий и есть вся работа системы детекта. Панель на этой странице прямо сейчас проводит те же сравнения с вашим браузером.

Путаница начинается с того, что VPN делает на самом деле. Он шифрует ваш трафик и выпускает его в интернет с другого адреса. Всё. Он не меняет ни часы в вашей операционной системе, ни языки, которые запрашивает браузер, ни форму ваших TCP-пакетов, ни тот факт, что новый адрес принадлежит компании, сдающей серверы в аренду. Сайт, которому нужно знать, читает всё это — и всё это согласуется между собой, но не с IP.

Если коротко: VPN подменяет ровно один сигнал, ваш IP-адрес, и оставляет все остальные на месте. Сайты вычисляют его по тому, чем является новый IP (хостинговый диапазон, запись в репутационном списке, владелец из мира дата-центров), и по тому, что по-прежнему сообщает браузер (домашние часовой пояс и язык, адрес WebRTC в обход туннеля). «Обфусцированные» режимы прячут туннель от вашего провайдера, а не точку выхода от сайта.

На вашем новом IP уже висит ярлык

Каждый публичный IP-адрес принадлежит автономной системе — блоку адресов, зарегистрированному на одну организацию, и эта регистрация публична. Ваше домашнее подключение выходит из диапазона, которым владеет Comcast, Vodafone или Ziggo. VPN-выход — из диапазона M247, DataCamp, Leaseweb или того, у кого VPN-провайдер арендует стойки, и тот же запрос, который сообщает сайту вашу страну, сообщает и это, в том же ответе, в полях org или asn. Сканирование на главной странице показывает эту строку; в панели выше это строка «Оператор сети».

В самом запросе нет ничего хитрого. Домашние провайдеры раздают адреса людям; хостинговые компании — машинам. Адрес из второй группы, который ходит по интернет-магазину, логинится в банк или смотрит сериал, выглядит странно ещё до всех остальных проверок, и антифрод-движки взвешивают его соответственно. Это тот же сигнал, что мы описали в статье почему вам постоянно показывают капчу, потому что спрашивает тот же самый движок.

Репутационные списки уже знают диапазоны VPN

Над ASN работает второй слой: коммерческие базы репутации IP. IPQualityScore, privacy detection от ipinfo, IP2Proxy, Spur и десяток других классифицируют каждый диапазон как домашний, корпоративный, хостинг, прокси, VPN или Tor, и собрать такие списки несложно. VPN-провайдеры сами публикуют списки своих серверов, чтобы их собственные приложения могли подключаться. Хостинговые диапазоны записаны в реестрах. Остальное делают жалобы на злоупотребления и простая плотность: за домашним адресом стоит горстка людей, за популярным VPN-выходом — сотни одновременно, из всех часовых поясов, и этот паттерн виден по одному лишь трафику. Строка «Репутационный список IP» в панели спрашивает о вашем адресе одну из таких баз.

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

Что читает сайт и что меняет VPN
Сигнал Откуда читается С включённым VPN
  1. Владелец диапазона IP соединение теперь «сервер»
  2. Репутационные списки соединение теперь «сервер»
  3. TCP-отпечаток (MTU, TTL) соединение теперь «сервер»
  4. Ваш DNS-резолвер соединение без изменений, всё ещё дом
  5. Часовой пояс ваш браузер без изменений, всё ещё дом
  6. Языки браузера ваш браузер без изменений, всё ещё дом
  7. Адрес WebRTC ваш браузер без изменений, всё ещё дом
  8. Отпечаток браузера ваш браузер без изменений, всё ещё дом
VPN подменяет первую строку. Следующие три становятся хуже, потому что у арендованного адреса дата-центра есть собственный ярлык. Остальные не сдвигаются вовсе, и читается именно противоречие между ними и новым IP.

Браузер продолжает говорить правду

Всё, что было выше, касалось адреса. Остальное — про браузер, и это та часть, которую большинство руководств по VPN пропускает, потому что ни один VPN её не чинит.

Часовой пояс. Часы вашей операционной системы говорят Europe/Amsterdam, и JavaScript читает их одним вызовом, без запроса разрешения. Немецкий IP с нидерландскими часами — противоречие, которое сайт проверяет за миллисекунду, и мы написали целый пост о том, почему VPN не может починить часовой пояс.

Языки. Каждый запрос вашего браузера несёт заголовок Accept-Language, а navigator.languages говорит скриптам то же самое. VPN не трогает ни то, ни другое. nl-NL с немецкого адреса — то же противоречие в другой колонке; пост об утечке языка разбирает его, включая случай, когда это лишь слабый сигнал, как чисто английский браузер за границей.

WebRTC. Браузер может спросить у STUN-сервера «какой у меня публичный адрес?», чтобы установить соединение для звонка, и в некоторых конфигурациях VPN этот вопрос уходит в обход туннеля. Ответ — ваш настоящий адрес, лежащий рядом с VPN-адресом на одной и той же странице. Это и есть утечка WebRTC, и панель выше выполняет эту проверку.

Геолокация и IPv6. Если вы когда-нибудь давали сайту доступ к местоположению, позиция браузера берётся из GPS или ближайших сетей Wi-Fi и вместе с VPN не переезжает. А VPN, туннелирующий только IPv4, оставляет ваш IPv6-адрес, выданный домашним провайдером, доступным любому сайту с IPv6-эндпоинтом.

Локация по IP
Frankfurt, DE
перемещена VPN
Владелец сети
M247 Europe (hosting)
серверная стойка, а не гостиная
Часовой пояс браузера
Europe/Amsterdam
противоречит IP
Языки браузера
nl-NL, en
противоречит IP
3 противоречия
IP переехал в Германию. Сеть теперь принадлежит хостинговой компании, а часы и языки по-прежнему говорят «Нидерланды». Сайту не нужно знать, что такое VPN, чтобы это заметить.
VPN изменил ровно одно поле. Детект и есть сравнение этого поля с тремя, которые не сдвинулись.

Ничто из этого не требует знать, что такое VPN. Детектор не думает «VPN»; он думает «сигналы этого посетителя расходятся», а расхождение и есть то, что идёт в оценку.

Сигналы, которые не прочитает ни одна веб-страница

Ещё две проверки происходят ниже уровня браузера, и они важны, потому что именно так попадается даже чистый браузер на резидентном выходе.

TCP-отпечаток. VPN-туннель заворачивает ваши пакеты внутрь собственных, поэтому пакеты, доходящие до сайта, чуть меньше, чем у обычного соединения (максимальный размер сегмента уменьшается на накладные расходы туннеля), а их TTL успел потратить лишний хоп. Инструменты пассивного фингерпринтинга из семейства p0f считывают эти поля с сетевой карты сервера ещё до ответа на ваш первый запрос, и «MSS 1360 с адреса, который называет себя домашним роутером» — давно известный силуэт.

DNS. Когда браузер резолвит имя хоста, какой-то резолвер где-то отправляет этот запрос DNS-серверу сайта. Если этот резолвер принадлежит вашему домашнему провайдеру, а веб-трафик приходит с VPN-выхода в другой стране, у сайта снова два адреса на вас. Тесты на утечку заставляют браузер разрезолвить уникальное имя хоста и смотрят, какой резолвер объявится; именно так проверяется настройка «DNS leak protection» в VPN-приложениях.

Почему обфусцированный режим здесь не помогает

VPN-приложения продают «stealth»- или «обфусцированные» серверы, и те решают реальную задачу: провести VPN-трафик через сеть, которая его блокирует, замаскировав туннель под обычный HTTPS для файрвола посередине. Это борьба с вашим провайдером или офисной сетью. Сайт на другом конце никогда не видит туннеля. Он видит адрес выхода и ваш браузер, и оба читаются ровно так же, как раньше. Обфускация и детект — две разные задачи, а маркетинг сливает их в одну.

Что делать на самом деле

  1. Запустите тест и почините то, что он отметит. Панель в начале этой страницы — неплохое приближение того, что видит сайт; полное сканирование браузера добавляет вокруг неё проверки отпечатков и утечек. Примета, которую вы нашли сами, — примета, которую вы можете устранить.
  2. Приведите браузер к согласию с адресом. Подгоните часовой пояс и язык под страну выхода или выберите выход в собственной стране, если цель — приватность, а не география. Отключите WebRTC или доверьте его VPN-приложению. Согласованная история с адреса дата-центра оценивается лучше, чем противоречивая.
  3. Если нужно выглядеть человеком, используйте адрес человека. Диапазоны дата-центров попадают в списки и остаются в них; выделенные или резидентные IP — единственный способ из этих списков выбраться. Стоит ли оно того, зависит от того, чем вы занимаетесь.
  4. Если вы ведёте несколько идентичностей, разделяйте их полностью. Каждому профилю нужен собственный адрес выхода и браузер, чьи часы, языки и отпечаток совпадают с этим адресом, иначе описанные выше противоречия возвращаются в каждом аккаунте по отдельности. Ровно для этого и существуют антидетект-браузеры. Incogniton привязывает к каждому профилю свой прокси и выставляет под него часовой пояс и язык, так что браузер и адрес рассказывают одну историю вместо двух.

VPN остаётся правильным инструментом для того, ради чего его создали: шифровать трафик в сетях, которым вы не доверяете, и перемещать ваш адрес. Речь именно об IP-адресе: ваш MAC-адрес и так никогда не был виден сайтам. А вот для того, чтобы браузер убедительно лгал, VPN никогда не строили, и большая часть описанного выше детекта — это просто браузер, говорящий правду.

Логотип Incogniton

Повысьте уровень своей приватности

Стрелка