Открыть сервис

Fingerprinting

Fingerprinting (от англ. fingerprint — отпечаток пальца) — это совокупность методов и технологий сбора, анализа и сопоставления уникальных цифровых характеристик устройства, программного обеспечения или пользователя в компьютерных сетях. Основная цель fingerprinting — идентификация или отслеживание объекта без использования традиционных идентификаторов (таких как cookies, логины или IP-адреса). Метод основан на том, что комбинация множества параметров (версия браузера, разрешение экрана, список шрифтов, установленные плагины, часовой пояс, язык системы и т.д.) образует уникальный «цифровой отпечаток», который может быть достаточно стабильным для идентификации.

История

Концепция fingerprinting возникла в начале 2000-х годов как ответ на ограничения и недостатки традиционных методов отслеживания пользователей в интернете. Первые работы в этой области были связаны с анализом HTTP-заголовков, которые передают информацию о браузере и операционной системе. В 2006 году исследователи из Electronic Frontier Foundation (EFF) опубликовали статью «How Unique Is Your Web Browser?», в которой продемонстрировали, что комбинация стандартных параметров браузера (User-Agent, Accept, язык, часовой пояс и т.д.) позволяет идентифицировать более 80% пользователей.

В 2010-х годах развитие JavaScript и HTML5 значительно расширило возможности fingerprinting. Появились методы сбора информации о разрешении экрана, глубине цвета, установленных шрифтах (через JavaScript), поддержке WebGL, Canvas API и AudioContext. Эти технологии позволили создавать более точные и стабильные отпечатки. В 2014 году компания Panopticlick (проект EFF) запустила публичный сервис для проверки уникальности браузера, что привлекло внимание к проблеме конфиденциальности.

В 2020-х годах fingerprinting стал широко использоваться в рекламных сетях, антифрод-системах, банковских приложениях и сервисах аналитики. Одновременно с этим началась активная борьба с ним со стороны производителей браузеров (например, Safari, Firefox, Brave) и законодателей (например, GDPR в Европе). В России вопросы fingerprinting регулируются в рамках общего законодательства о персональных данных (ФЗ-152 «О персональных данных»), однако специальных норм, прямо запрещающих этот метод, нет.

Классификация методов fingerprinting

Методы fingerprinting можно классифицировать по нескольким признакам: по объекту идентификации, по способу сбора данных и по используемым технологиям.

По объекту идентификации

  • Браузерный fingerprinting — идентификация веб-браузера на основе его настроек, версии, установленных плагинов, шрифтов и т.д. Наиболее распространённый тип.
  • Устройственный fingerprinting — идентификация физического устройства (компьютера, смартфона, планшета) на основе аппаратных характеристик: MAC-адрес, серийные номера компонентов, параметры GPU, датчики (акселерометр, гироскоп).
  • Пользовательский fingerprinting — идентификация человека на основе поведенческих характеристик: скорость набора текста, движения мыши, паттерны скроллинга, стиль использования интерфейса.

По способу сбора данных

  • Активный fingerprintingсбор данных происходит с помощью активного кода (JavaScript, Java, Flash), который запрашивает информацию у браузера или устройства. Требует выполнения скрипта на стороне клиента.
  • Пассивный fingerprinting — сбор данных осуществляется на основе информации, передаваемой в HTTP-заголовках, без выполнения кода на стороне клиента. Менее точный, но более скрытный метод.

По используемым технологиям

  • Fingerprinting на основе HTTP-заголовков — анализ User-Agent, Accept, Accept-Language, Accept-Encoding, DNT и других заголовков.
  • Canvas fingerprinting — метод, при котором на HTML5-элементе canvas отрисовывается скрытое изображение или текст, а затем снимается его хэш. Различия в рендеринге (из-за разных драйверов, графических карт, настроек сглаживания) создают уникальный отпечаток.
  • WebGL fingerprinting — анализ возможностей и параметров графического процессора через WebGL API.
  • AudioContext fingerprinting — анализ характеристик звуковой подсистемы устройства (частота дискретизации, задержки, искажения).
  • Font fingerprinting — определение списка установленных шрифтов через JavaScript (с помощью методов измерения ширины текста).
  • Time zone fingerprinting — определение часового пояса устройства.
  • Screen resolution fingerprinting — сбор данных о разрешении экрана, глубине цвета, количестве мониторов.
  • Battery fingerprinting — анализ состояния батареи (уровень заряда, время до разрядки) через Battery Status API (метод ограничен из-за отзыва API в некоторых браузерах).
  • Media Device fingerprinting — идентификация на основе списка подключённых аудио- и видеоустройств (микрофоны, камеры).

Технические аспекты

Стабильность и уникальность отпечатка

Эффективность fingerprinting зависит от двух ключевых характеристик: стабильности (насколько отпечаток изменяется со временем) и уникальности (насколько он различается у разных пользователей). Исследования показывают, что комбинация из 10–15 параметров может обеспечить уникальность для 90–99% устройств. Однако стабильность может снижаться при обновлении браузера, установке новых плагинов, смене разрешения экрана или подключении внешних устройств.

Сбор и хранение данных

Процесс fingerprinting обычно включает следующие этапы:

  1. Сбор параметров — веб-сайт или приложение запускает скрипт, который собирает доступные характеристики.
  2. Нормализация — данные приводятся к единому формату (например, сортируются, хэшируются).
  3. Вычисление хэша — из набора параметров вычисляется уникальный идентификатор (например, SHA-256).
  4. Сравнение с базой — полученный хэш сравнивается с ранее сохранёнными отпечатками в базе данных.
  5. Принятие решения — если совпадение найдено, пользователь идентифицируется; если нет — создаётся новая запись.

Способы обхода и защиты

  • Использование приватных режимов — большинство браузеров в режиме инкогнито не отключают fingerprinting, но могут ограничить доступ к некоторым API.
  • Блокировка JavaScript — отключение JavaScript полностью предотвращает активный fingerprinting, но ломает работу большинства современных сайтов.
  • Специализированные расширения — такие как Privacy Badger, CanvasBlocker, NoScript, которые блокируют или фальсифицируют данные.
  • Использование Tor Browser — браузер, специально разработанный для защиты от fingerprinting, унифицирует множество параметров (разрешение экрана, шрифты, User-Agent).
  • Изменение параметров вручную — смена User-Agent, разрешения экрана, отключение WebGL или Canvas.
  • Виртуальные машины и прокси — использование разных IP-адресов и виртуальных окружений для каждого сеанса.

Применение

Реклама и маркетинг

Fingerprinting широко используется в рекламных сетях для отслеживания пользователей через разные сайты и устройства, даже если они очищают cookies или используют разные браузеры. Это позволяет создавать профили интересов и показывать таргетированную рекламу. В России такие технологии применяются, например, в системах Яндекс.Директ и myTarget.

Антифрод и безопасность

Банки, платёжные системы и онлайн-сервисы используют fingerprinting для выявления мошеннических действий. Например, если с одного устройства входит несколько разных аккаунтов, это может указывать на фрод. Также fingerprinting помогает обнаруживать попытки взлома, когда злоумышленник использует поддельные данные.

Аналитика и исследования

Веб-аналитика использует fingerprinting для подсчёта уникальных посетителей, анализа поведения пользователей и выявления ботов. Это особенно актуально для сайтов, где cookies не работают (например, из-за блокировки третьесторонних cookies).

Судебная экспертиза

В некоторых случаях fingerprinting может использоваться для сбора доказательств в киберпреступлениях. Например, отпечаток браузера может помочь идентифицировать подозреваемого, который оставил цифровые следы на сайте.

Критика и правовые аспекты

Нарушение конфиденциальности

Основная критика fingerprinting связана с тем, что он позволяет отслеживать пользователей без их согласия и без возможности отказа. В отличие от cookies, которые можно очистить или заблокировать, fingerprinting работает скрытно и не требует хранения данных на устройстве пользователя. Это делает его особенно опасным с точки зрения приватности.

Законодательство

  • В Европейском союзе — fingerprinting подпадает под действие Общего регламента по защите данных (GDPR). Сбор данных без явного согласия пользователя считается нарушением. В 2023 году Европейский совет по защите данных (EDPB) выпустил рекомендации, в которых fingerprinting признаётся формой отслеживания, требующей согласия.
  • В США — единого федерального закона нет, но некоторые штаты (например, Калифорния через CCPA) требуют раскрытия факта использования fingerprinting и предоставления возможности отказа.
  • В России — fingerprinting не упоминается напрямую в законодательстве, но может рассматриваться как обработка персональных данных (ФЗ-152). Если собранные данные позволяют идентифицировать конкретного пользователя, требуется его согласие. Однако на практике доказать нарушение сложно, так как fingerprinting часто собирает «обезличенные» технические параметры.

Этика

Этическая проблема fingerprinting заключается в том, что пользователь часто не знает о том, что его отслеживают, и не может этому воспрепятствовать. В ответ на это некоторые компании (например, Apple в Safari, Mozilla в Firefox) внедряют встроенные механизмы защиты от fingerprinting, такие как блокировка Canvas API, фальсификация данных о разрешении экрана или ограничение доступа к WebGL.

Интересные факты

  • В 2019 году исследователи из Принстонского университета обнаружили, что около 10% из 100 000 самых популярных сайтов используют fingerprinting.
  • Tor Browser считается одним из самых защищённых от fingerprinting браузеров, так как он унифицирует параметры всех пользователей, делая их отпечатки практически неразличимыми.
  • Canvas fingerprinting был впервые описан в 2012 году исследователем Кейт Митчелл (Keaton Mowery) из Калифорнийского университета в Сан-Диего.
  • Некоторые методы fingerprinting могут работать даже через VPN, так как они идентифицируют устройство, а не IP-адрес.

Источники

  • Electronic Frontier Foundation. «How Unique Is Your Web Browser?» (2006)
  • Panopticlick: How Unique, and Trackable, Is Your Browser? (EFF)
  • Mowery K., Shacham H. «Pixel Perfect: Fingerprinting Canvas in HTML5» (2012)
  • Eckersley P. «How Unique Is Your Web Browser?» (2010)
  • Общий регламент по защите данных (GDPR) Европейского союза
  • Федеральный закон РФ «О персональных данных» № 152-ФЗ (2006)
  • Рекомендации Европейского совета по защите данных (EDPB) по отслеживанию пользователей (2023)

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →