Что сайты знают о вас
Сигнал — это всё, что сайт может прочитать о посетителе, не спрашивая разрешения: значение, которое ваш браузер передаёт в рамках обычного просмотра, свойство вашего соединения или настройку, которую вы задали давно и забыли. Ни один сигнал сам по себе не называет вас, но вместе они образуют портрет, достаточно подробный, чтобы узнать вас, примерно определить ваше местоположение и угадать, как вы любите просматривать страницы. Тест отпечатка браузера записывает этот портрет одним абзацем, чтобы вы могли прочитать себя так, как сайт видит вас в первую секунду визита. Эта статья проходит по каждому слою этого абзаца — соединение, устройство, браузер и тихие предпочтения — и заканчивается тем, чего сайт по-прежнему не может видеть. Она дополняет утечки VPN и проверки маскировки, где спрашивается, соответствует ли портрет истории, которую пытается рассказать ваш VPN.
Абзац идёт первым
Откройте любой современный сайт, и ещё до того, как вы щёлкнули, прокрутили или ввели хоть один символ, страница уже собрала рабочий портрет вас. Она примерно знает, где в мире вы, по-видимому, находитесь, какой язык вы, вероятно, читаете, какого класса устройство держите в руке, насколько велик ваш экран и выглядит ли ваша конфигурация обычной или необычной. Ничто из этого не потребовало запроса разрешения, входа или баннера о cookies. Это пришло из обычного согласования, которое каждый браузер выполняет, чтобы получить и отобразить страницу: само соединение, заголовки, сопровождающие каждый запрос, и API JavaScript, существующие для того, чтобы страницы могли адаптироваться к вашему устройству.
Абзац вверху теста отпечатка существует, чтобы сделать эту сборку видимой. Вместо таблицы сырых технических значений он пишет предложение, которое вы узнали бы как описание человека: кто-то в определённом городе, в определённой сети, использующий определённый браузер на определённом типе машины, предпочитающий определённый язык и внешний вид. Каждое заполненное значение в этом предложении прослеживается до его сигналов ниже на странице, так что вы можете проверить не только каков вывод, но и как он был получен. Когда значение отсутствует, абзац честно говорит об этом — и это отсутствие, как объясняет последний раздел, само по себе является информацией.
Почему это важно, если ни одно значение само по себе не секретно? Потому что суть в комбинации. Один размер экрана описывает миллионы людей. Размер экрана плюс модель GPU, часовой пояс, порядок языков, список поддерживаемых кодеков и тип сети резко сужают толпу. Сайты используют эту комбинацию для законной работы — проверки на мошенничество, предотвращение злоупотреблений, распознавание знакомого входа — а рекламодатели используют её, чтобы узнавать возвращающихся посетителей, даже когда cookies очищены. Вы не можете судить ни о том, ни о другом использовании, пока не увидите собственную комбинацию, и именно для этого нужен тест.
Что говорит ваше соединение
Первый слой — ваше соединение, и его заголовок — ваш IP-адрес. Каждый сервер, с которым вы связываетесь, видит его, потому что ему нужно куда-то отправить ответ. По одному этому адресу сайт может узнать немало: приблизительную геолокацию из коммерческих баз данных, номер автономной системы (ASN) и организацию, владеющую блоком, и принадлежит ли адрес домашнему широкополосному провайдеру, мобильному оператору, компании или хостинговой компании. Это последнее различие само по себе является сигналом — посетитель, приходящий из диапазона дата-центра, читается совсем иначе, чем приходящий с жилой улицы, и системы борьбы с мошенничеством это замечают.
Относитесь к геолокации осторожно: показанный город — это город выхода вашей сети, не обязательно ваш. Базы данных сопоставляют адреса с тем, где провайдеры их регистрируют и маршрутизируют, поэтому мобильные сети, корпоративные шлюзы и сельские провайдеры обычно помещают людей в десятках или сотнях километров от них, а иногда и в неверной стране. Тест улучшает картину, опрашивая более одной конечной точки трассировки, потому что разные сети могут видеть разные выходы — трассировка CDN, например, может показать адрес, который наблюдала та граничная сеть, и он может отличаться, когда задействованы прокси, ретранслятор или разделённый туннель. Различия между этими показаниями — не ошибки; это карта путей, по которым реально идёт ваш трафик.
Соединение также сообщает о собственной механике: версии TLS и протоколе, которые его защитили, и о том, пришло ли оно по IPv4 или IPv6. Именно этот слой сдвигает VPN — и только этот слой. VPN заменяет IP-адрес, который видят сайты, своим выходным адресом, поэтому город, страна, ASN и организация меняются на данные провайдера VPN. Он не меняет ваш экран, шрифты, часовой пояс или список языков. Это несоответствие — соединение заявляет одну страну, а браузер настроен на другую — именно то, что ищут проверки маскировки, и почему смена только адреса — более слабая маскировка, чем кажется.
Что говорят ваше устройство и браузер
Второй слой — само устройство и браузер. Самый старый сигнал — строка user agent, баннер, в котором браузер объявляет своё семейство, версию и операционную систему; современные браузеры Chromium всё чаще замораживают эту строку и переносят детали в User-Agent Client Hints — структурированные значения, которые сайт может запросить о модели, версии платформы и архитектуре. Вокруг неё — имя платформы, число логических процессоров, сообщаемое как аппаратная параллельность, приблизительный объём памяти устройства и максимальное число точек касания — по отдельности обыденные, вместе — набросок класса и возраста вашей машины.
Графика и дисплей добавляют длинный хвост. Геометрия вашего экрана — общий размер, доступный размер, глубина цвета и соотношение пикселей устройства — описывает ваш монитор и выбор масштаба. Зонд WebGL может прочитать производителя GPU и строку рендерера, которая часто называет точный графический чип или семейство драйверов. Рендеринг canvas, обработка аудио и измерение шрифтов работают аналогично: попросите браузер нарисовать фигуру, отобразить текст или перечислить, что он может показать, и крошечные различия в железе, драйверах и установленных шрифтах дают измеримо разные результаты. Тест также косвенно проверяет установленные шрифты, медиаустройства в совокупности и какие аудио- и видеокодеки браузер может воспроизводить — каждый по отдельности малый факт, вместе — комбинация, которую мало кто из других посетителей разделяет в точности.
Ничто из этого не требует экзотического доступа. Это те же API, которые законные сайты используют, чтобы подать правильный формат видео, выбрать макет, помещающийся в ваше окно, или не предлагать загрузку, которую ваша система не может выполнить. Это двойное использование и делает отпечаток трудным для отмены законом: нельзя убрать способность, не сломав обычную адаптацию. Что вы можете сделать — знать собственную экспозицию. Редкая комбинация — не проступок, но она означает, что очистка cookies делает для вашей анонимности меньше, чем вы могли надеяться, — слой устройства повторно опознаёт ту же машину при следующем визите вообще без сохранённого состояния.
Тихие предпочтения
Третий слой тише: предпочтения и настройки, которые несёт ваш браузер. Он сообщает, предпочитаете ли вы светлую или тёмную цветовую схему, просили ли вы уменьшить движение, предпочитаете ли сокращённые данные или настройки контраста, и аналогичные выборы доступности и внешнего вида, сделанные через операционную систему или настройки браузера. Они существуют, чтобы сайты могли их уважать, и большинство людей задают их один раз и больше никогда о них не думают — именно поэтому они достаточно стабильны, чтобы вносить вклад в отпечаток.
Язык и время громче. Браузер отправляет упорядоченный список языков — не только ваш основной язык, но и запасные и их порядок приоритета — и раскрывает часовой пояс, на который настроена ваша система, вместе с тем, как даты и числа форматируются в вашей локали. Список языков из одного обычного пункта непримечателен; список из трёх языков в необычном порядке в сочетании с часовым поясом и форматом даты близок к подписи. Он также сверяет слой соединения: браузер, настроенный на один регион, в то время как его IP-адрес заявляет другой, — классический признак путешествия, удалённой работы или выхода VPN, выбранного в стране, отличной от самой машины.
Некоторые предпочтения были задуманы как запросы о приватности. Do Not Track и его преемник Global Privacy Control позволяют браузеру сигнализировать, что вы возражаете против отслеживания или продажи ваших данных, — и GPC имеет юридический вес в некоторых юрисдикциях, чего у Do Not Track никогда не было. На практике оба соблюдаются неравномерно, а их отправка сама по себе является отличительным сигналом, потому что относительно немногие посетители это делают. Тот же парадокс проходит через весь этот слой: доступность cookies и хранилища, предлагается ли API батареи, какая раскладка клавиатуры подразумевается — настройки и отсутствия в равной мере описывают вас, включая те, что предназначены вас защищать. Тест сообщает, что говорит ваш браузер, и молчит о значениях, которые он удерживает, чтобы вы могли видеть обе стороны.
Чего сайт по-прежнему не может видеть
При всём вышесказанном границы значат не меньше, чем охват. Без запроса разрешения сайт не может прочитать ваше имя, точный адрес, возраст, контакты, файлы, точное местоположение GPS, микрофон или камеру. Геолокация, доступ к устройствам и уведомления стоят за явными разрешениями браузера не просто так, и хорошо ведущий себя тест — как этот — читает только то, что свободно предлагается, и ничего не просит. Если случайная страница утверждает, что знает ваше имя только по отпечатку, она блефует или купила эту связь где-то ещё.
Это «где-то ещё» — честная оговорка. Уверенные догадки рекламной индустрии о вашем возрасте, поле, доходе и интересах происходят не из этих показаний; они происходят из поведения, соединённого через многие сайты и приложения — что вы ищете, смотрите, покупаете и на чём задерживаетесь, — собранного в профили и прикреплённого к идентификаторам со временем. Роль отпечатка в этой экономике уже и техничнее: он помогает снова узнать тот же браузер, чтобы поведенческая запись могла продолжаться. Разделять эти две вещи важно, потому что защита различается: поведение регулируется аккаунтами, согласием и правилами отслеживания, а сигналы — тем, что ваш браузер решает раскрыть.
Вот почему отсутствующий сигнал заслуживает уважения. Когда тест говорит «этот браузер не говорит», это функция приватности, работающая как задумано, и браузеры здесь намеренно различаются: браузеры на основе Chromium обычно предлагают больше деталей, а Safari и Firefox удерживают, огрубляют или рандомизируют больше значений, а ориентированные на приватность браузеры идут ещё дальше. Сократить ваш абзац возможно — FAQ ниже даёт практические шаги, — но целью должен быть осознанный выбор, а не невидимость, которую никакая массовая конфигурация честно не обеспечивает. О том, как сам сопутствующий тест обращается с данными, которые читает, см. как тест приватности не хранит данные: короткая версия — ваш портрет пишется в вашем браузере, для вас, и его чтение не должно требовать доверия, что мы сохраним копию.