От Selectel: эта статья первая в цикле переводов очень детальной статьи об отпечатках браузера и том, как работает технология. Здесь собрано все, что вы хотели знать, но боялись спросить по этой теме.
Что такое отпечатки браузера?
Это метод, используемый сайтами и сервисами для отслеживания посетителей. Пользователям присваивается уникальный идентификатор (отпечаток). Он содержит много информации о настройках и возможностях браузера пользователей, что используется для их идентификации. Кроме того, отпечаток браузера позволяет сайтам отслеживать поведенческие паттерны, чтобы впоследствии еще точнее идентифицировать пользователей.
Уникальность примерно такая же, как у реальных отпечатков пальцев. Только последние собирает полиция для поиска подозреваемых в совершении преступлений. А вот технология отпечатка браузеров применяется вовсе не для отслеживания преступников. Ведь мы же здесь не преступники, верно?
Какие данные собирает отпечаток браузера?
О том, что человека можно отследить по IP, мы знали еще на заре существования интернета. Но в данном случае все гораздо сложнее. Отпечаток браузера включает IP-адрес, но это далеко не самая важная информация. На самом деле, для того, чтобы идентифицировать вас, IP не нужен.
Согласно исследованию EFF (Electronic Frontier Foundation), отпечаток браузера включает в себя:
- User-agent (включая не только браузер, но и версию ОС, тип устройства, языковые настройки, панели инструментов и т.п.).
- Часовой пояс.
- Разрешение экрана и глубину цвета.
- Supercookies.
- Настройки куки.
- Системные шрифты.
- Плагины к браузеру и их версии.
- Журнал посещений.
Согласно результатам исследования EFF, уникальность отпечатка браузера очень высока. Если говорить о статистике, то только раз на 286777 случаев случается полное совпадение отпечатков браузеров двух разных пользователей.
Согласно еще одному исследованию, точность идентификации пользователя при помощи отпечатка браузера составляет 99,24%. Изменение одного из параметров браузера снижает точность идентификации пользователя лишь на 0,3%. Существуют тесты на отпечаток браузера, которые показывают, насколько большой объем информации собирается.
Как работает отпечаток браузера
Почему вообще возможен сбор информации о браузере? Все просто — ваш браузер обменивается данными с веб-сервером, когда вы запрашиваете адрес сайта. В обычной ситуации сайты и сервисы присваивают пользователю уникальный идентификатор.
Например, «gh5d443ghjflr123ff556ggf».
Эта строчка из случайных букв и цифр помогает серверу узнать ваc, ассоциировать ваш браузер и ваши предпочтения с вами. Действиям, которые вы совершаете онлайн, будет присвоен примерно тот же код.
Так, если вы зашли в Twitter, где есть какая-то информация о вас, все эти данные будут автоматически связаны с тем же идентификатором.
Конечно, этот код не будет с вами до конца ваших дней. Если вы начнете серфить с другого устройства или браузера, то идентификатор, скорее всего, тоже поменяется.
Как сайты собирают пользовательские данные?
Это двухуровневый процесс, который работает как на стороне сервера, так и на стороне клиента.
На стороне сервера
Логи доступа к сайту
В этом случае речь идет о сборе данных, отправляемых браузером. Как минимум это:
- Запрошенный протокол.
- Запрошенный URL.
- Ваш IP.
- Referer.
- User-agent.
Заголовки
Веб-серверы получают их от вашего браузера. Заголовки важны, поскольку они позволяют быть уверенным, что запрошенный сайт работает с вашим браузером.
Например, информация в заголовке позволяет сайту узнать, используете ли вы ПК или мобильное устройство. Во втором случае произойдет редирект на оптимизированную для мобильных устройств версию. К сожалению, эти же данные попадут в ваш отпечаток.
Куки
Здесь все понятно. Веб-серверы всегда обмениваются куки с браузерами. Если вы в настройках указываете возможность работы с куки, они сохраняются на вашем устройстве и отправляются на сервер, когда бы вы ни зашли на сайт, который уже посещали прежде.
Куки помогают серфить более комфортно, но они же открывают и больше информации о вас.
Canvas Fingerprinting
В этом методе используется элемент холста (canvas) HTML5, который WebGL также использует для визуализации 2D- и 3D-графики в браузере.
Этот метод обычно «заставляет» браузер обрабатывать графический контент, включая изображения, текст или то и другое разом. Для вас этот процесс незаметен, поскольку все происходит в фоне.
Как только процесс завершен, canvas fingerprinting превращает графику в хэш, который становится тем самым уникальным идентификатором, о котором мы говорили выше.
Этот метод позволяет получать следующую информацию о вашем устройстве:
- Графический адаптер.
- Драйвер графического адаптера.
- Процессор (если нет выделенного графического чипа).
- Установленные шрифты.
Логирование на стороне клиента
Здесь подразумевается, что ваш браузер обменивается большим количеством информации благодаря:
Adobe Flash и JavaScript
Согласно FAQ AmIUnique, если у вас активирован JavaScript, то вовне передаются данные о ваших плагинах или спецификациях железа.
Если установлен и активирован Flash, то это предоставляет стороннему «наблюдателю» еще больше информации, включая:
- Ваш часовой пояс.
- Версию ОС.
- Разрешение экрана.
- Полный список установленных в системе шрифтов.
Куки
Они играют очень важную роль в логировании. Так, вам обычно нужно решить, позволить ли браузеру обрабатывать куки или полностью удалить их.
В первом случае веб-сервер получает просто огромное количество информации о вашем устройстве и предпочтениях. Если вы не одобрите работу с куки, сайты все равно получат кое-какие данные о вашем браузере.
Зачем нужна технология отпечатка браузера?
В основном для того, чтобы пользователь устройства получил оптимизированный для его устройства сайт, вне зависимости, зашел он в интернет с планшета или смартфона.
Кроме того, технология используется для рекламы. Это просто идеальный инструмент дата-майнинга.
Так, получив собранную сервером информацию, поставщики товаров или услуг могут создавать очень тонко нацеленные рекламные кампании с персонализацией. Точность таргетирования гораздо выше, чем если использовать просто IP-адреса.
Например, рекламщики могут использовать отпечатки браузеров для того, чтобы получить список пользователей сайта, разрешение экрана которых можно назвать низким (например, 1300*768), кто ищет более качественные мониторы в интернет-магазине продавца. Или же пользователей, которые просто серфят по сайту без намерения что-либо купить.
Затем полученную информацию можно использовать для таргетирования рекламы качественных мониторов с высоким разрешением на пользователей с небольшим и устаревшим морально дисплеем.
Кроме того, технология отпечатка браузера используется еще и для:
- Обнаружения фрода и ботнетов. Это реально полезная для банков и финансовых организаций функция. Они позволяют отделить поведение пользователя от активности злоумышленников.
- Определение VPN и proxy пользователей. Разведслужбы могут использовать этот метод для отслеживания интернет-пользователей со скрытыми IP-адресами.
В конечном счете, даже если отпечатки браузера используются в законных целях, это все равно очень плохо сказывается на конфиденциальности пользователей. Особенно если последние пытаются защититься при помощи VPN.
Кроме того, отпечатки браузера могут быть лучшим другом хакера. Если им известны точные данные о вашем устройстве, они могут использовать специальные эксплойты для взлома устройства. В этом нет ничего сложного — любой киберпреступник может создать поддельный сайт со скриптом снятия отпечатков пальцев.
Напомним, эта статья — только первая часть, впереди еще две. В них рассматриваются вопросы законности сбора персональных данных пользователей, возможности использования этих данных и методы защиты против слишком уж активных «?собирателей»?.
yamifa_1234
читал в свое время, что появилась методика идентификации пользователя по стилю печатания(скорость нажатия на клавиши, интервалы между нажатиями и все такое...)
paulmann
Даже уже есть готовые сервисы с API для идентификации по параметрам печати: https://www.typingdna.com/
Ну и патент на это дело: US8332932B2 — Keystroke dynamics authentication techniques
nobodysu
github.com/vmonaco/kloak
Защита встроена в Tor Browser и, вроде бы, в privacy.resistFingerprinting.
Также связано: стилометрия (и попытка защиты).
raamid
По движению мыши можно еще. Там даже больше информации можно извлечь, ИМХО.