1. Что такое отпечаток экрана
Отпечаток экрана браузера — это набор свойств дисплея, характерных для устройства, которые доступны через объект window.screen
:
screen.width
screen.height
screen.colorDepth
screen.pixelDepth
screen.availWidth
screen.availHeight
window.devicePixelRatio
Эти значения помогают платформам определять:
- Тип устройства (десктоп, мобильное, планшет)
- Вероятные настройки масштабирования
- Количество мониторов (через
window.screenLeft
,window.screenTop
) - Регион пользователя (через разрешение + ОС, иногда с перекрестной проверкой по IP)
- Состояние максимизации браузера (эвристически через сравнение размеров экрана и окна)
Хотя отпечаток экрана сам по себе не может однозначно идентифицировать пользователя, в сочетании с другими сигналами, такими как Canvas, User Agent, Часовой пояс и WebGL, он становится ключевым элементом уникальности цифрового отпечатка браузера.
2. Как платформы обнаруживают отпечатки экрана
Системы защиты от мультиаккаунтинга и сбора отпечатков активно отслеживают экранные параметры. Методы обнаружения включают:
- Проверка согласованности разрешения – Пользователи с аномальными значениями
screen.width
иscreen.height
для их ОС или региона могут вызвать подозрения. - Анализ devicePixelRatio – Некоторые платформы проверяют плотность пикселей (
window.devicePixelRatio
), чтобы определить, соответствует ли она реальному устройству (например, Retina-дисплеям на macOS). - Сравнение доступного размера экрана и окна – Распространенная эвристика: сравнение размеров экрана с фактическим размером окна для определения, находится ли браузер в полноэкранном режиме, максимизирован, запущен на ВМ или искажен.
- Перекрестная проверка с типом устройства – Например, если разрешение типично для ПК, но User Agent указывает на Android, это несоответствие может использоваться для пометки сессии.
- Обнаружение нереалистичных значений – Некоторые анти-спуфинговые системы выявляют поддельные разрешения, которые не существуют для указанного User Agent, что указывает на манипуляции с отпечатком.
- Отслеживание DOMRect и поведения макета – Платформы могут анализировать поведение элементов, зависящих от экрана (
window.screenX
,window.scrollX
), при изменении размеров для обнаружения синтетических сред.
Значения экрана часто связываются с логикой обнаружения подмены поведения и используются правилами или ML-системами для расчета уровня доверия к устройству при регистрации или аутентификации пользователя.
3. Как FlashID изменяет отпечатки экрана
FlashID позволяет пользователям полностью настраивать и сохранять данные отпечатка экрана, гарантируя, что каждый профиль браузера ведет себя как уникальное физическое устройство, даже при запуске с одной системы.
Ключевые функции управления экраном:
- Маскировка разрешения
- Настройка
screen.width
иscreen.height
для каждого браузера под реальные устройства - Выбор из стандартных размеров или ввод пользовательских (например,
1440x900
,1920x1080
,1242x2208
)
- Эмуляция глубины цвета
- Подмена
screen.colorDepth
,screen.pixelDepth
для соответствия эмулируемому устройству (например, 24-бит, 8-бит, 32-бит)
- Контроль пиксельного соотношения
- Настройка
window.devicePixelRatio
для каждого экземпляра (например,2.0
для Retina MacBook или1.0
для старых ноутбуков Windows)
- Реалистичное моделирование availWidth/availHeight
- Отражение доступной области рабочего стола (без панелей задач), повышая достоверность для десктоп-сценариев
- Управление ориентацией экрана
- Эмуляция ориентации (
портретная
илиальбомная
) на основе типа устройства
- Сопоставление разрешения с User Agent
- FlashID автоматически рекомендует разрешения и профили размеров на основе выбранного User Agent и ОС, предотвращая несоответствия
- Имитация событий изменения экрана
- Генерация
orientationchange
или событий изменения размера для имитации реального поведения браузера или датчиков устройства
Полностью контролируя API window.screen
, FlashID предотвращает утечки данных между сессиями, которые могли бы связать профили из-за общих параметров экрана, позволяя пользователям реализовывать правдоподобные и необнаруживаемые операции с множеством аккаунтов.
Рекомендуемое Чтение