Как сайты узнают вас после смены IP: Browser Fingerprint, TLS и антифрод
От IP и TLS/JA4 до Canvas, WebGL, WebGPU, WebAssembly и антифрода. Как сайты связывают браузерные сессии, где мифы и как проверить собственную приватность.
On this page
Вы сменили IP с помощью VPN, подключили мобильный прокси, удалили cookies и открыли сайт в новом окне. Кажется, для сервера вы стали новым посетителем. Однако сеть, браузер и сам сценарий взаимодействия по-прежнему оставляют десятки сигналов.
Browser fingerprint - не магический серийный номер и не одна строка с хешем Canvas. Это набор наблюдений, который сайты могут использовать для вероятностного связывания сессий, защиты аккаунтов, аналитики или отслеживания пользователей.
Мы разберём процесс от первого сетевого пакета до антифрод-оценки: IP, ASN, TLS/JA4, HTTP Client Hints, Canvas, WebGL, WebGPU, WebAssembly, WebRTC, cookies и поведенческие данные. Затем проведём безопасный эксперимент и построим архитектуру снижения отслеживания.
Видеоматериалы Vektor T13 о CPU/GPU Canvas, WebAssembly и сетевых отпечатках помогли определить интересные вопросы. Но далее мы используем собственные объяснения и проверяем утверждения по MDN, Cloudflare, Tor Project, EFF и исследованиям. Там, где технология экспериментальна, это будет сказано прямо.
1. Начнём с реального сценария: IP другой, браузер тот же
Представьте ноутбук с Chrome. Сначала он обращается к сайту напрямую, потом через домашний VPN, затем через мобильный прокси. Во всех трёх случаях удалённый сервис может видеть разные IP и провайдеров. Но набор доступных шрифтов, характеристики рендеринга, поддерживаемые браузерные API и часть настроек может почти не измениться.
Если человек входит в прежний аккаунт, связывание становится прямым: у сайта уже есть устойчивый идентификатор аккаунта. Если входа нет, остаётся статистическая задача: насколько похожи новые запросы на прежнюю сессию и достаточно ли признаков для решения?
Смена IP - это смена одного сигнала, а не сброс всей цифровой идентичности. И наоборот, похожий набор сигналов ещё не означает, что сайт нашёл конкретного человека. Миллионы пользователей могут делить распространённые конфигурации.
2. Три вещи, которые нельзя путать: отпечаток, идентификатор и риск
Идентификатор - значение, присвоенное пользователю или устройству: аккаунт, cookie с ID сессии или токен приложения. Оно может однозначно связывать действия внутри соответствующей системы, пока действительно сохраняется.
Fingerprint - набор измеренных свойств среды. Он может быть редким или распространённым, относительно стабильным или изменчивым. Его хеш является удобным представлением наблюдений, но не доказывает уникальность человека.
Risk score - оценка вероятности определённого события. Например, насколько запрос похож на автоматизированный. Оценка ботоподобности не равна доказательству мошенничества и тем более не доказывает личность посетителя.
Это важно для понимания антифрода: одна система может использовать fingerprint для корреляции, другая для выявления аномалий, третья только как один из вспомогательных факторов.
3. От соединения до решения: четыре уровня наблюдения
Упрощённая последовательность выглядит так. Сеть: сервер или CDN получает подключение и его сетевые характеристики. TLS и HTTP: анализируются параметры рукопожатия и запросов. Браузер: после загрузки страницы разрешённый JavaScript может изучать свойства веб-платформы. Приложение: сервер сопоставляет полученное с авторизацией, историей запросов и признаками поведения.
В реальном мире это не обязательно один линейный процесс. Некоторые сигналы доступны до выполнения JavaScript, другие появляются лишь после взаимодействия, а третьи не собираются вовсе. Работающая через CDN площадка и собственный сервер получают разные уровни детализации.
Одну и ту же технологию можно применять для разных целей: аналитики совместимости, противодействия ботам или скрытого межсайтового трекинга. Назначение определяется тем, кто собирает данные, какие данные объединяет и сколько их хранит.
Подключение
↓
IP / ASN / сетевой маршрут
↓
TLS ClientHello / HTTP-заголовки
↓
JavaScript / browser APIs / рендеринг
↓
Cookies / аккаунт / контекст сессии
↓
Антифрод: оценка риска + действие4. IP, ASN, география: контекст соединения, а не паспорт пользователя
IP помогает определить точку сетевого выхода. ASN описывает автономную систему, через которую анонсируется адрес: это может быть мобильный оператор, домашний провайдер, дата-центр или VPN-инфраструктура. Геолокация по IP является оценкой и может ошибаться, особенно для мобильных сетей и туннелей.
Домашний IP может менятьcя, за одним мобильным IP могут одновременно находиться многие абоненты из-за CGNAT, а серверный прокси может обслуживать множество клиентов. Поэтому один IP не доказывает одного человека, и один человек не обязан иметь один IP.
Антифрод может учитывать тип сети, известные истории злоупотреблений и резкие изменения маршрута. Однако нельзя утверждать, что любой датацентровый IP автоматически означает бота, а мобильный IP - реального человека. Это лишь признаки для контекста.
5. TLS-отпечаток: JA3 и JA4 появляются до JavaScript
При установке TLS-соединения клиент обычно отправляет ClientHello с набором поддерживаемых версий, шифров, расширений и других параметров. По характеристикам такого начала соединения можно построить групповой отпечаток клиента.
JA3 и JA4 - подходы к представлению части этих параметров. JA4 нормализует некоторые изменчивые детали, в том числе порядок расширений, чтобы удобнее группировать похожие клиенты. Cloudflare документирует JA3/JA4 как сигналы для Bot Management.
Важно: это не уникальный аппаратный ID. Тысячи экземпляров одной версии браузера могут иметь совпадающий отпечаток. Отпечаток зависит от TLS-реализации, конфигурации и точки, где наблюдается рукопожатие. Прокси, завершающий TLS от имени клиента, может изменить то, какой ClientHello видит конечный сервер.
Честный вывод: смена IP сама по себе не обязана менять JA4, но совпадение JA4 ещё не идентифицирует конкретное устройство.
6. HTTP/2, HTTP/3, QUIC и сетевые отпечатки
Поверх TLS и транспортного соединения существуют дополнительные особенности: согласование протоколов, порядок и параметры некоторых сообщений, поведение HTTP/2 и QUIC. Эти признаки могут помогать различать реализации клиентов и особенности промежуточных сетевых устройств.
Вектор Т13 обсуждал M1D/M1D1 как подходы к анализу сетевых характеристик TCP, UDP и QUIC. Это интересная тема, но не следует выдавать конкретные имена экспериментальных или проприетарных отпечатков за общедоступный стандарт с доказанной точностью во всех сетях.
Особенно важно местоположение наблюдателя. При VPN сеть сайта видит соединение через выходной сервер, но не обязательно все характеристики исходного TCP-сокета устройства. HTTP-прокси, SOCKS, TCP-туннель и конечный TLS-прокси могут менять наблюдаемые свойства по-разному.
Антифрод анализирует то, что действительно доступно в конкретной точке инфраструктуры, а не весь сетевой стек компьютера на расстоянии.
7. Cookies и аккаунты часто сильнее любого fingerprint
Если у сайта есть действующая cookie сессии, он может узнать возвращение браузера без Canvas, WebGL или анализа TLS. LocalStorage и другие веб-хранилища также могут удерживать идентификаторы в пределах доступной им области.
При входе в один и тот же аккаунт задача вообще меняется: сервис узнаёт аккаунт, даже если устройства, IP и браузер различаются. Отпечаток может помогать отличать привычную среду входа от незнакомой, но не требуется для самого связывания.
Удаление cookies может убрать один устойчивый идентификатор, но не обнулить все остальные сигналы. И наоборот, два одинаковых fingerprint не означают, что cookie или личность пользователя совпадают.
8. User-Agent и Client Hints: что браузер объявляет о себе
User-Agent традиционно сообщает название и версию браузера, платформу и часть сведений об ОС. Современные браузеры сокращают детализацию строки UA, потому что слишком подробный User-Agent сам способствует fingerprinting.
В Chromium часть сведений передаётся через User-Agent Client Hints: например, Sec-CH-UA, Sec-CH-UA-Platform и дополнительные значения, которые могут запрашиваться сайтом. Набор доступных полей зависит от реализации, политик разрешений и контекста.
Сама строка UA легко изменяется, но подмена одного поля не делает всю среду похожей на заявленную. На практике сервер может сопоставлять UA с набором поддерживаемых функций браузера. Несогласованность полезна как сигнал, но сама по себе не является доказательством злонамеренности.
9. Canvas: как рендеринг превращается в признак
Canvas позволяет странице рисовать текст, линии и фигуры. Затем код может считывать пиксели и вычислять хеш результата. Результат зависит от браузерного движка, шрифтов, графической библиотеки, масштабирования, ОС и пути рендеринга.
Важный нюанс из разборов Vektor T13: Canvas не всегда означает GPU. Часть операций выполняется программно на CPU или через библиотеку рендеринга, часть может задействовать GPU. Изменение аппаратного ускорения и графического окружения способно изменить результат, но не обязано менять его всегда.
Сам по себе Canvas hash не является серийным номером видеокарты. Один хеш встречается на нескольких устройствах, а на одном устройстве может измениться после обновления или смены настроек. Поэтому его полезность определяется статистикой по группе пользователей и стабильностью во времени.
10. WebGL и WebGPU: возможности и ограничения графических API
WebGL предоставляет сайту информацию о доступных графических функциях. В некоторых браузерах расширение WEBGL_debug_renderer_info может раскрывать строковые сведения о производителе и модели графического адаптера. Настройки приватности способны ограничивать этот доступ.
WebGPU предоставляет другой набор возможностей, в том числе вычисления на GPU и сведения об адаптере через GPUAdapterInfo, где это поддерживается. Браузеры могут ограничивать детализацию и возвращать пустые или обобщённые значения. Поддержка WebGPU отличается между платформами.
Можно исследовать особенности выполнения вычислений, но такие измерения зависят от драйвера, нагрузки, температуры, питания и реализации. Это не прямой доступ к серийному номеру устройства. В некоторых исследованиях GPU-сигналы помогают группировать среды, однако точность нельзя обещать без контролируемой валидации.
11. Шрифты, ClientRects, экран и локаль
Веб-страница может оценивать наличие некоторых шрифтов косвенно, сравнивая размеры отрисованного текста с эталонным шрифтом. CSS, ClientRects, размеры окна, devicePixelRatio, язык и временная зона могут добавлять наблюдаемые различия.
Но не стоит преувеличивать: сайт не получает полный системный список шрифтов и все сведения об ОС автоматически. Браузеры ограничивают API, а разные методы измеряют разный объём информации.
Редкий набор параметров может выделять сессию сильнее, чем один необычный параметр. При этом признаки коррелированы: определённые ОС обычно идут вместе с определёнными шрифтами и API. Поэтому нельзя просто сложить энтропию всех полей и объявить получившееся число уникальным идентификатором.
12. AudioContext и WebAssembly: измерения вместо серийных номеров
AudioContext может использоваться для вычислений со звуковыми сигналами и сравнения результатов цифровой обработки. WebAssembly позволяет выполнять код с иным профилем производительности, чем обычный JavaScript. Это даёт дополнительные возможности измерения различий среды.
У этих методов есть ограничения. Нагрузка процессора, энергосбережение, обновления движка, планировщик ОС и политика браузера вносят шум. Совпадающий результат не гарантирует одно устройство, а разные результаты не гарантируют разные устройства.
Исследования WebAssembly fingerprinting интересны, включая демонстрации Vektor T13, но нельзя утверждать, что любой WASM-тест способен без разрешения прочитать MAC-адрес, серийник диска или аппаратный UUID. Стандартный код веб-страницы не обладает такими полномочиями.
13. WebRTC, DNS и утечки: отделяем маршрутизацию от fingerprint
WebRTC использует механизмы поиска сетевых путей, включая ICE candidates. В зависимости от браузера, разрешений и сетевой конфигурации это может раскрывать локальные или внешние сетевые адреса. Современные браузеры применяют защитные механизмы, в том числе mDNS-обфускацию локальных адресов.
Важно различать утечку реального IP, локальную адресацию и обычный fingerprint браузера. Это разные классы информации. WebRTC не является универсальным API для получения MAC-адреса сетевой карты.
Аналогично, DNS-запросы могут обходить предполагаемую сетевую политику, но DNS-утечка не равна уникальному идентификатору человека. Для профилей с прокси и устройств с VPN проверки проводятся отдельно на уровне браузера и хоста.
14. Антифрод: как из сигналов получается решение
Представьте интернет-магазин. Он получает запросы, оценивает сеть, историю сессии, признаки автоматизации и состояние аккаунта. Он может использовать собственные правила, внешний сервис защиты от ботов или сочетание нескольких систем.
Cloudflare документирует Bot Score как численную оценку вероятности автоматизированного запроса, а не как вердикт о личности. При соответствующих настройках такой сигнал может использоваться для разрешения, дополнительной проверки или блокировки. В крупных системах используются эвристики, браузерные проверки и машинное обучение.
Антифрод платежей и защита от ботов - пересекающиеся, но разные задачи. Платёжный риск включает контекст операции и признаки злоупотребления, не сводится к fingerprint.
Профессиональная система должна учитывать ложные срабатывания: VPN, доступность браузера, корпоративные прокси и нестандартное оборудование могут выглядеть необычно, не будучи вредоносными.
15. Поведение и корреляция сессий
История переходов внутри одного сервиса, интервал между запросами, повторное использование URL, последовательность действий и динамика сессии могут быть использованы для оценки риска. Однако каждое поле имеет ограничения, а предсказуемость поведения не должна приравниваться к идентичности.
Сайт может видеть поведение в собственной системе. Третья сторона увидит данные только там, где ей действительно доступны события, скрипты или журналы. Поэтому утверждение «любая антифрод-система видит вас на всех сайтах» некорректно.
Для приватности важны границы передачи данных, разрешения сторонних скриптов и минимизация межсайтовых идентификаторов. Для владельцев сайтов важны объяснимость решений, срок хранения и возможность исправить ошибочное срабатывание.
16. Антидетект-браузер: что он умеет, а что нет
Антидетект-браузер может создавать отдельные профили, управлять cookies, частью API-значений и назначать конкретному профилю прокси. Это полезно для разделения рабочих контекстов, если сервисы разрешают такую организацию.
Но это не полноценная изоляция ОС. Профили могут пользоваться одним ядром, диском, общими библиотеками и сетевыми службами. Подмена свойств браузера может создавать внутренние несоответствия либо редкие комбинации, не встречающиеся на обычных устройствах.
Главная ошибка - проверять только «Canvas hash изменился». Изменение одного поля не доказывает, что меняется набор остальных сигналов. Обратная ошибка - считать любое совпадение гарантированным детектом.
Для повышенной безопасности рабочие контексты разумно разносить по отдельным VM или устройствам. Для конфиденциального веб-сёрфинга следует сравнивать защиту от fingerprinting, в том числе Tor Browser, а не полагаться на рекламное обещание «невидимого профиля».
17. Мобильные прокси и CGNAT: почему другой IP не меняет браузер
Мобильный прокси может направлять соединение через 4G/5G-инфраструктуру. В некоторых системах оператор использует CGNAT, а внешние IP динамически меняются. При этом ваш Chrome по-прежнему работает на том же ноутбуке и использует те же браузерные API.
Сменился внешний IP, возможно изменились сеть, география и характеристики задержки. Но cookies, поддерживаемые шрифты, свойства рендеринга и часть TLS-поведения могут сохраниться, если их не меняет промежуточный узел.
Вывод: прокси управляет маршрутом подключения. Браузерная изоляция управляет состоянием приложения. Изоляция виртуальной машины управляет более сильной границей окружения. Эти уровни не взаимозаменяемы.
18. Почему уникальность fingerprint нужно измерять, а не угадывать
Представим, что два пользователя получили одинаковые Canvas hashes. Это может быть коллизия среди типичных конфигураций. Если их WebGL, UA и язык тоже совпадают, уверенность в похожести увеличится, но часть этих свойств зависима друг от друга.
Исследования оценивают информативность признаков через энтропию и статистические распределения. При этом независимое сложение показателей может сильно переоценивать реальную различимость. Исследование Assessing Web Fingerprinting Risk (2024) специально подчёркивает необходимость учитывать корреляции между API.
Существуют две ошибки: ложное совпадение разных пользователей и потеря связи с тем же пользователем после обновления системы. Поэтому качественная модель оценивает не только редкость, но и устойчивость, размер выборки и долю ошибок.
Публичный checker показывает то, что видит именно его тест. Он не может доказать, какие данные собирает любой другой сайт.
19. Практический эксперимент: отделяем IP от браузерных свойств
Эксперимент можно провести на своём устройстве, без обхода чужих антифрод-систем и без публикации чужих данных.
Сеанс A. В обычном браузере откройте EFF Cover Your Tracks и собственный проверочный сервис. Запишите видимый IP, версию браузера, факт наличия cookies, набор полей теста и время проверки.
Сеанс B. Не меняя браузер и профиль, подключите разрешённый VPN или прокси. Повторите измерение. Сравните только собственные данные: какие сетевые поля изменились, какие браузерные сохранились.
Сеанс C. Откройте чистый профиль или другой браузер, не авторизуйтесь в личных аккаунтах, повторите сравнение. Затем по возможности проверьте стандартный Tor Browser, не модифицируя его произвольными расширениями.
Это не соревнование «обмануть антифрод». Цель - увидеть, какие сигналы связаны с сетью, профилем и браузерным движком. Не публикуйте полный fingerprint вместе с личными идентификаторами и учитывайте политику хранения данных тестового сайта.
| Сравнение | Что обычно меняется | Что может сохраниться |
|---|---|---|
| Тот же браузер + другой IP | IP / ASN / география | Cookies / Canvas / WebGL / UA |
| Чистый профиль того же браузера | Cookies / хранилище | Движок / графика / часть настроек |
| Другой браузер на том же ПК | UA / API / отпечатки | Оборудование / сеть / язык |
| Отдельная VM | ОС / окружение / часть рендера | Хостовый выход / общий шлюз |
| Tor Browser | Маршрут / нормализованные признаки | Аккаунты, введённые вручную |
20. Защита приватности: не обещать, а уменьшать наблюдаемость
Для повседневной защиты используйте актуальный браузер, ограничивайте сторонние трекеры, очищайте ненужные site data и не связывайте разные контексты единым аккаунтом без необходимости. Разделяйте личную и рабочую активность в разных профилях или средах.
Tor Browser специально уменьшает различимость параметров: letterboxing, ограничение информации о шрифтах, нормализация UA и другие механизмы защиты от fingerprinting. Его не следует беспорядочно «улучшать» расширениями и случайными подменами.
Для задач, где одна сессия не должна иметь доступ к данным другой, выбирайте VM или отдельные устройства. Для защиты сетевого маршрута применяйте VPN и корректную DNS/IPv6-политику, но не путайте это с гарантией незаметности браузера.
Эффективная конфигурация - та, где ясно, от какого наблюдателя вы защищаетесь и что именно проверили.
21. Для владельцев сайтов: антифрод без избыточной слежки
Если вы управляете сервисом, отделяйте предотвращение злоупотреблений от неограниченного отслеживания пользователей. Сведите собираемые признаки к необходимым, используйте ограниченные сроки хранения, контролируйте доступ к телеметрии и заранее определите допустимые действия по каждому risk score.
Вместо автоматического наказания за «подозрительный fingerprint» лучше применять последовательные меры: контекстную проверку, дополнительную аутентификацию при повышенном риске, лимиты запросов и процедуры ручного разбора спорных случаев.
Системы антифрода неизбежно ошибаются. Адаптивные модели изменяются со временем, поэтому нужны контроль ложных срабатываний и проверка влияния правил на реальных пользователей. Юридические требования к трекингу и информированию различаются по юрисдикции.
Чем прозрачнее цель каждого сигнала и короче жизненный цикл данных, тем проще защищать и пользователя, и собственную инфраструктуру.
22. Семь мифов, которые стоит оставить в прошлом
«Сменил IP - стал другим человеком». Нет, аккаунты и браузерные сигналы могут сохраняться.
«Canvas hash уникален всегда». Нет, бывают совпадения и изменения на одном устройстве.
«JA4 раскрывает серийник ноутбука». Нет, он описывает характеристики TLS-клиента.
«WebAssembly считывает всё железо». Нет, действует песочница браузера, а измерения вероятностны.
«Мобильный IP невозможно распознать». Нет, тип сети - лишь один из факторов.
«Антидетект-профиль равен виртуальной машине». Нет, уровень изоляции принципиально иной.
«Антифрод всегда знает личность по отпечатку». Нет, оценка риска и достоверная идентификация - разные процессы.
23. Итоговая архитектура: сеть, браузер, окружение, поведение
Если строить систему приватности как инженерный проект, разделите её на четыре зоны ответственности.
Сеть: IP, DNS, TLS, прокси, VPN и маршрутизация. Браузер: cookies, разрешённые API, кросс-сайтовые трекеры, ограничения fingerprinting. Окружение: ОС, VM, отдельные устройства, обмен файлами. Поведение: аккаунты, повторное использование идентификаторов, публикуемые данные и операционные процедуры.
Часть характеристик неизбежно остаётся видимой для работы интернета. Задача не в тотальной подмене всех полей, а в сокращении ненужной наблюдаемости и недопущении слияния независимых контекстов.
Сайт не обязательно знает вас по одному признаку. Он может делать выводы из сочетания слабых сигналов. Поэтому и защита должна состоять из согласованных границ, а не из одной кнопки «сменить IP».
24. Контрольный список и следующий шаг
Перед оценкой приватности браузера ответьте на вопросы: известен ли сайту ваш аккаунт или session cookie? Изменился ли только IP или всё окружение? Какие поля доступны через JavaScript? Кто наблюдает TLS и транспорт? Применяется ли сторонняя аналитика? Сколько сохраняются собранные идентификаторы? Что происходит при смене профиля, браузера и устройства?
Для самостоятельной диагностики проведите три безопасных сравнения из раздела 19, а затем попробуйте объяснить каждое изменение без предположений про «невидимость». Это даст больше пользы, чем стремление получить уникально случайный fingerprint.
Для дальнейшего изучения Signal рекомендует материалы о мобильных прокси и архитектуре цифровой приватности. Они объясняют сетевые маршруты и изоляцию, которые дополняют эту статью.
Технические источники и материалы Vektor T13
Cloudflare - JA3/JA4 fingerprint
Cloudflare - Bot Score
Cloudflare - Bot detection engines
MDN - User-Agent Client Hints
MDN - WEBGL_debug_renderer_info
MDN - GPUAdapterInfo
MDN - WebRTC ICE candidate address
Tor Project - Fingerprinting protections
EFF - Cover Your Tracks
Research - Assessing Web Fingerprinting Risk (2024)
Vektor T13 - CPU vs GPU Canvas webinar
Vektor T13 - WebAssembly fingerprinting
Vektor T13 - M1D/M1D1 network fingerprints