Все мы знаем, как работают файлы куки, однако стоит обратить внимание и на другую технику сбора данных является fingerprinting.
В конце 2016 года отпечатки пальцев собирались с ограничением в рамках браузера. То есть, поменяв браузер, пользователь мог зайти на любой онлайн-ресурс и быть идентифицированным как абсолютно новый посетитель. Однако к 2017 году fingerprinting развился и стал межбраузерным, позволяя следить за пользователем из разных браузеров на одном устройстве.
Что такое Fingerprinting?
Fingerprinting, или отпечатки пальцев - это техника, используемая для идентификации пользователей путем сбора и анализа уникальных открытых характеристик их устройства или поведения в браузере. Сюда входит сбор такой информации, как операционная система пользователя, тип и версия браузера, установленные шрифты, разрешение экрана и другие технические данные.
С помощью Javascript можно собрать множество данных о браузере и устройстве пользователя. При соединении этих данных вместе получается уникальная комбинация информации, которая формирует "цифровой отпечаток пальца" каждого пользователя. Он в дальнейшем может быть применен для отслеживания действий пользователя в Интернете на различных сайтах и платформах.
Примечательно, что отпечаток можно отследить во всех сеансах просмотра, даже если пользователь переходит в режим инкогнито или использует VPN для доступа к сайту.
Отпечаток браузера сложнее обойти, чем куки, поскольку отпечаток пользователя не меняется между сеансами просмотра в режиме инкогнито или при очистке данных браузера. Таким образом это является одним из способов остановить мошенников от попыток взлома и спама владельцев сайтов путем точной идентификации посетителей сайта.
Чем полезен фингерпринтинг простым пользователям? Цифровой отпечаток пальца может быть использован для выявления инцидентов кражи личности или мошенничества с банковскими счетами. Когда ваш профиль и поведение известно в виде фингерпринта, повышаются шансы успешного предсказания вероятности мошенничества. Вы можете узнать свой уникальный отпечаток пальцев на данном сервисе.
Тем не менее, многие пользователи находят сбор отпечатков нарушением конфиденциальности, что вызывает споры.
Типы фингерпринтинга
Каждый метод "отпечатков пальцев" браузера может собирать один или несколько фрагментов информации, тем самым отличая одного пользователя от другого.
- Canvas Fingerprinting. Эта техника использует элемент HTML5 canvas для создания уникального отпечатка на основе того, как браузер пользователя отображает текст, изображения и другие элементы.
- Отпечатки шрифтов. Владелец сайта может определить шрифты, установленные на устройстве пользователя, путем встраивания невидимого текста в веб-страницу и анализа того, как браузер отображает его.
- Аудиоотпечатки. Отпечаток пальца создается на основе аудиохарактеристи после записи и анализа аудиовыхода устройства пользователя.
- WebGL Fingerprinting. Данная техника с помощью WebGL API собирает информацию о видеокарте и драйвере пользователя.
- Отпечатки заголовков HTTP. Путем анализа HTTP-заголовков, отправляемых браузером пользователя, можно получить такую информацию, как IP-адрес, языковые предпочтения и версия браузера.
Используя несколько техник фингерпринтинга одновременно и объединяя полученные данные, можно собрать достаточно информации для составления отпечатков пальцев посетителей сайта. А отличие сервисов фингерпринтинга от сбора файлов куки позволяют более полноценно составлять представление о пользователях.
Плюсы и минусы фингерпринта
Как и у любой технологии отслеживания пользователей, у сервисов фингерпринтинга есть свои плюсы и минусы.
Плюсы |
Минусы |
Отпечатки пальцев можно использовать для выявления мошеннических действий и защиты от онлайн-угроз, идентифицируя уникальные устройства и пользователей. |
Некоторые методы фингерпринтинга могут быть совместимы не со всеми браузерами или устройствам. |
Расширенные возможности предоставления целевой рекламы, отслеживая поведение и предпочтения пользователей в Интернете |
Методы снятия отпечатков пальцев не всегда могут быть точными и надежными, поскольку на них могут влиять такие факторы, как настройки браузера, изменения в устройстве пользователя или его поведении при просмотре веб-страниц. |
Аналитика сайтов для выявления дополнительных данных о пользователях. |
Пользователи могут использовать методы защиты от отпечатков пальцев или другие средства обеспечения конфиденциальности |
Как работает фингерпринтинг?
Вкратце, процесс сбора отпечатков пальцев можно описать следующим образом:
- Для сбора исходных данных об устройстве и составления отпечатков обычно используется JavaScript или другие скриптовые языки. Код вставляется в веб-сайты, чтобы запустить процесс сбора отпечатки пальцев в фоновом режиме без ведома пользователя.
- Когда устройство подключается к онлайн-ресурсу, серверу становятся доступны некоторые сведения о нем: операционная система, версия браузера, установленные шрифты, плагины, языковые настройки, разрешение экрана и многое другое.
- Сервер анализирует эти данные и генерирует отпечаток пальца. Такие параметры, как IP-адреса, не являются полностью уникальными и могут меняться, но отпечатки пальцев более надежны.
- Отпечатки пальцев хранятся на сервере вместе с файлом cookie или уникальным идентификатором. Последующие посещения того же устройства могут быть распознаны путем сопоставления нового отпечатка пальца с отпечатком, хранящимся в файле.
- Такие факторы, как промежуток времени между посещениями, IP-адрес и особенности браузера, также анализируются для повышения точности идентификации в тех случаях, когда отпечатки пальцев не являются полностью уникальными.
Измерение отпечатка пальцев
Мера информации, которая предоставляется каждой точкой данных, называется энтропией и измеряется в битах. Признак с большим количеством возможных значений, например список установленных шрифтов, вносит значительный вклад в общую энтропию. В то время как признак с малым количеством отличий, например используемая операционная система, может добавить всего несколько бит.
Существующие библиотеки отпечатков пальцев автоматизируют процесс объединения полученных от нескольких API данных в "хэш", по которому можно идентифицировать небольшую группу пользователей или даже одного.
Скрытый и активный режимы
Активное снятие отпечатков пальцев подразумевает активное исследование устройства или браузера пользователя с целью сбора информации для создания уникального отпечатка пальца.
Обычно это делается путем выполнения кода JavaScript или загрузки определенных ресурсов на веб-странице, которые запускают сбор данных об устройстве пользователя и его поведении в браузере. Такой код фингерпринтинга будет иметь доступ к более недоступным параметрам (MAC-адрес, уникальные серийные номера оборудования и др.).
Активные методы сбора отпечатков пальцев могут быть более навязчивыми и собирать более широкий спектр информации по сравнению с пассивными (скрытыми).
Скрытый отпечаток пальца, также известный как пассивный отпечаток пальца, предполагает сбор информации об устройстве пользователя и его поведении в браузере без активного исследования устройства или браузера.
Чаще всего скрытый фингерпринтинг осуществляется путем анализа информации, которая пассивно передается браузером пользователя во время обычной работы в браузере. Эти методы основываются на точной классификации таких параметров клиента, как конфигурация TCP/IP, цифровой отпечаток ОС, настройки IEEE 802.11 (WiFi) и смещение времени. Скрытые методы снятия отпечатков пальцев менее интенсивны, и их сложнее обнаружить или заблокировать по сравнению с активными методами.
Как активные, так и скрытые методы снятия отпечатков пальцев могут использоваться для различных целей. Однако выбор метода зависит от конкретных требований, таких как конфиденциальность, точность и надежность.
Цифровой отпечаток с использованием Canvas
Цифровой отпечаток с использованием Canvas работает за счет использования элемента HTML5 Canvas без применения cookie файлов и других средств.
Одного цифрового отпечатка может быть недостаточно для идентификации определенного пользователя, что подтверждает необходимость комбинирования нескольких источников информации. При этом было обнаружено, что графический процессор может влиять на отпечаток.
Способ отображения изображения может зависеть от браузера, операционной системы, видеокарты, настроек рендеринга шрифта, алгоритмов сглаживания и других факторов. В результате чего получается уникальное изображение, которое можно использовать для создания отпечатка пальца. Сервис фингерпринтинга с Canvas основан именно на различиях в отображении изображений в разных веб-браузерах и платформах.
К январю 2022 года эта концепция была расширена до определения характеристик производительности графического оборудования, которое исследователи назвали DrawnApart.
Фингерпринтинг на сайтах
Отпечатки пальцев можно использовать для уникальной идентификации возвращающихся на сайт пользователей, не полагаясь на файлы cookie и учетные данные для входа. Это позволяет осуществлять пассивную аутентификацию на основе устройства пользователя без необходимости каждый раз явно входить на сайт.
Такие функции, как восстановление корзины, персонализированные рекомендации, предварительное заполнение платежных карт и т. д. будут восстановлены автоматически на основе прошлого поведения конкретного пользователя.
SDK для работы с отпечатками пальцев предлагают API для интеграции этой возможности в существующие рабочие процессы аутентификации. Цифровые отпечатки могут дополнять обычные формы входа для второго фактора аутентификации.
Почему фингерпринтинг важен для сайтов:
- Повышение удобства работы пользователей за счет снижения сложностей в процессе аутентификации.
- Повышение безопасности за счет усложнения доступа к учетным записям без устройства.
- Обеспечение более персонализированного опыта для разных сеансов и устройств.
При этом разработчики должны обеспечить безопасное хранение и передачу отпечатков пальцев партнерам во избежание утечек.
Благодаря GDPR пользователи часто видят информацию о cookie-трекинге при первом посещении веб-сайта и могут более осознанно принимать решения о передачи своих данных. Однако фингерпринтинг отличается от файлов куки, поскольку в первом случае собираются данные об устройстве, а во втором - данные о пользователе. Можно сделать вывод, что вторжение в частную жизнь отслеживающим сервисами становится менее глубоким, но оно все же сохраняется.
Как использовать фингерпринтинг на сайте?
Для подключения сервисов фингерпринтинга на сайте необходимо пройти следующие шаги:
- Выберите провайдера сервиса отпечатков пальцев/SDK. Среди популярных вариантов Fingerprint.com, Shield и др.
- Зарегистрируйте аккаунт и получите фрагмент кода JavaScript SDK. Его необходимо интегрировать в код вашего сайта.
- Добавьте сниппет кода SDK прямо перед закрывающим тегом </body> кода вашего сайта.
- Настройте SDK с помощью ключа/учетных данных API и укажите, куда отправлять данные отпечатков пальцев.
- Настройте конечную точку на стороне сервера, например PHP-файл, чтобы получать полезную нагрузку отпечатков пальцев, отправленную JS-кодом.
- Надежно храните полученные отпечатки пальцев в своей базе данных, помечая их идентификаторами пользователей.
- Отправляйте отпечатки пальцев вместе с другими идентификаторами, такими как cookies, в запросах на ваш сервер для сопоставления.
- Разработайте логику для распознавания возвращающихся пользователей на основе совпадения отпечатков пальцев и включения персонализированных функций.
- Четко изложите свои методы работы с отпечатками пальцев в политике конфиденциальности. Получите согласие на сбор данных в зависимости от законодательства вашего региона.
Хостинг и фингерпринтинг
SDK для снятия отпечатков пальцев может быть внедрен в серверную инфраструктуру, чтобы обнаружить аномалии и защитить ее пользователей от атак. Отпечатки пальцев помогают обнаружить бот-трафик, мошеннический доступ к учетным записям и найти скомпрометированные учетные записи в общей инфраструктуре.
Данная техника позволяет хостам оптимизировать распределение ресурсов и обеспечить высокую скорость работы за счет идентификации отдельных устройств/браузеров, а не только IP-адресов.
Я - пользователь. Как заблокировать фингерпринтинг?
Поскольку сбор информации с помощью сервисов фингерпринтинга может осуществляться как скрыто, так и с согласия пользователя, наиболее эффективными способами предотвратить этот сбор являются:
- Блокировка трекеров. Некоторые веб-браузеры, например Firefox или Tor, стандартно блокируют трекеры, но существуют также плагины или расширения для браузеров, которые не только обеспечивают дополнительную конфиденциальность, но и работают как защита от вредоносного ПО.
- Блокировка скриптов. Отключение JavaScript и использование расширений типа NoScript или ScriptSafe является одним из способов предотвращения слежки. Однако блокировка скриптов часто делает сайты непригодными для использования.
- Настройки на сайтах. Иногда в браузерах (Firefox, Chrome и Safari) можно установить определенные настройки и попросить сайты не отслеживать вас, тем самым сообщая владельцам сайтов и третьим сторонам, что вы хотите не делиться информацией о вашем личном взаимодействии с приложением или веб-сайтом.
Вы по-прежнему можете использовать VPN, который скроет ваш реальный IP-адрес, поскольку он может быть виден посещаемым вами онлайн-ресурсам. Однако стоит помнить, что данные вашего устройства могут собраны без вашего ведома посредством фингерпринтинга.
VPS
Выбирайте конфигурацию для сайта и пользуйтесь всеми преимуществами виртуального приватного сервера.
От $5.00/месяц