Ваш VPN утверждает, что вы во Франкфурте. Сайт, который вы только что открыли, не убеждён — и ему не пришлось гадать. Где-то между вашим новым IP-адресом и вашим старым браузером есть противоречие, а поиск противоречий и есть вся работа системы детекта. Панель на этой странице прямо сейчас проводит те же сравнения с вашим браузером.
Путаница начинается с того, что VPN делает на самом деле. Он шифрует ваш трафик и выпускает его в интернет с другого адреса. Всё. Он не меняет ни часы в вашей операционной системе, ни языки, которые запрашивает браузер, ни форму ваших TCP-пакетов, ни тот факт, что новый адрес принадлежит компании, сдающей серверы в аренду. Сайт, которому нужно знать, читает всё это — и всё это согласуется между собой, но не с IP.
На вашем новом 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, работающий сегодня, перестаёт работать через месяц: диапазон попал в список.
- Владелец диапазона IP соединение теперь «сервер»
- Репутационные списки соединение теперь «сервер»
- TCP-отпечаток (MTU, TTL) соединение теперь «сервер»
- Ваш DNS-резолвер соединение без изменений, всё ещё дом
- Часовой пояс ваш браузер без изменений, всё ещё дом
- Языки браузера ваш браузер без изменений, всё ещё дом
- Адрес WebRTC ваш браузер без изменений, всё ещё дом
- Отпечаток браузера ваш браузер без изменений, всё ещё дом
Браузер продолжает говорить правду
Всё, что было выше, касалось адреса. Остальное — про браузер, и это та часть, которую большинство руководств по 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
Ничто из этого не требует знать, что такое VPN. Детектор не думает «VPN»; он думает «сигналы этого посетителя расходятся», а расхождение и есть то, что идёт в оценку.
Сигналы, которые не прочитает ни одна веб-страница
Ещё две проверки происходят ниже уровня браузера, и они важны, потому что именно так попадается даже чистый браузер на резидентном выходе.
TCP-отпечаток. VPN-туннель заворачивает ваши пакеты внутрь собственных, поэтому пакеты, доходящие до сайта, чуть меньше, чем у обычного соединения (максимальный размер сегмента уменьшается на накладные расходы туннеля), а их TTL успел потратить лишний хоп. Инструменты пассивного фингерпринтинга из семейства p0f считывают эти поля с сетевой карты сервера ещё до ответа на ваш первый запрос, и «MSS 1360 с адреса, который называет себя домашним роутером» — давно известный силуэт.
DNS. Когда браузер резолвит имя хоста, какой-то резолвер где-то отправляет этот запрос DNS-серверу сайта. Если этот резолвер принадлежит вашему домашнему провайдеру, а веб-трафик приходит с VPN-выхода в другой стране, у сайта снова два адреса на вас. Тесты на утечку заставляют браузер разрезолвить уникальное имя хоста и смотрят, какой резолвер объявится; именно так проверяется настройка «DNS leak protection» в VPN-приложениях.
Почему обфусцированный режим здесь не помогает
VPN-приложения продают «stealth»- или «обфусцированные» серверы, и те решают реальную задачу: провести VPN-трафик через сеть, которая его блокирует, замаскировав туннель под обычный HTTPS для файрвола посередине. Это борьба с вашим провайдером или офисной сетью. Сайт на другом конце никогда не видит туннеля. Он видит адрес выхода и ваш браузер, и оба читаются ровно так же, как раньше. Обфускация и детект — две разные задачи, а маркетинг сливает их в одну.
Что делать на самом деле
- Запустите тест и почините то, что он отметит. Панель в начале этой страницы — неплохое приближение того, что видит сайт; полное сканирование браузера добавляет вокруг неё проверки отпечатков и утечек. Примета, которую вы нашли сами, — примета, которую вы можете устранить.
- Приведите браузер к согласию с адресом. Подгоните часовой пояс и язык под страну выхода или выберите выход в собственной стране, если цель — приватность, а не география. Отключите WebRTC или доверьте его VPN-приложению. Согласованная история с адреса дата-центра оценивается лучше, чем противоречивая.
- Если нужно выглядеть человеком, используйте адрес человека. Диапазоны дата-центров попадают в списки и остаются в них; выделенные или резидентные IP — единственный способ из этих списков выбраться. Стоит ли оно того, зависит от того, чем вы занимаетесь.
- Если вы ведёте несколько идентичностей, разделяйте их полностью. Каждому профилю нужен собственный адрес выхода и браузер, чьи часы, языки и отпечаток совпадают с этим адресом, иначе описанные выше противоречия возвращаются в каждом аккаунте по отдельности. Ровно для этого и существуют антидетект-браузеры. Incogniton привязывает к каждому профилю свой прокси и выставляет под него часовой пояс и язык, так что браузер и адрес рассказывают одну историю вместо двух.
VPN остаётся правильным инструментом для того, ради чего его создали: шифровать трафик в сетях, которым вы не доверяете, и перемещать ваш адрес. Речь именно об IP-адресе: ваш MAC-адрес и так никогда не был виден сайтам. А вот для того, чтобы браузер убедительно лгал, VPN никогда не строили, и большая часть описанного выше детекта — это просто браузер, говорящий правду.