1. Что такое отпечаток плагинов
API navigator.plugins
предоставляет список всех плагинов, установленных и включенных в браузере. Сюда входят такие плагины, как Adobe Flash Player (если поддерживается), Java, QuickTime, PDF-ридеры и аудио/видео-декодеры.
Отпечаток плагинов чаще всего используется для:
- Анализа разнообразия программного обеспечения в браузере
- Перекрестной проверки с другими характеристиками, такими как
userAgent
,languages
илиbattery
- Выявления инструментов автоматизации браузера (безголовых сред, которые часто скрывают или искажают список плагинов)
- Обнаружения аномалий в версиях плагинов, указывающих на подмену или автоматизацию
Несмотря на то, что большинство современных браузеров отказались от стандартных плагинов или изолировали их, платформы по-прежнему анализируют информацию о плагинах, чтобы построить более надежный и уникальный аппаратно-программный составной отпечаток.
2. Как сайты обнаруживают и используют отпечаток плагинов
Формирование отпечатка плагинов обычно происходит следующим образом:
- Перечисление установленных плагинов
С помощью выполнения кода вроде:
Array.from(navigator.plugins).map(p => p.name)
Веб-платформы собирают список доступных плагинов, часто индексируя их по названию и поддерживаемым MIME-типам.
Сопоставление MIME-типов Flash и старые плагины раскрывают детали о поддерживаемых MIME-типах, что обнаруживают скрипты формирования отпечатка:
pluginItem.length // Количество поддерживаемых MIME-типов для каждого плагина pluginItem.item(index).type
Следы устаревших плагинов Даже если реальные плагины отключены, некоторые сайты используют старые API или ищут следы установленных плагинов в хранилище или поведении.
Перекрестная проверка Системы антифрода сравнивают отпечатки плагинов с:
navigator.userAgent
navigator.language
- Системными цветами и поведением JS/Canvas
- Историей обнаруженных плагинов в разных сеансах
Если обнаруживается несоответствие (например, новый список плагинов для того же ID сеанса), это может расцениваться как попытка подмены или мультиаккаунтинга.
Важно: Хотя большинство плагинов больше не активны из-за вопросов безопасности и устаревания, их наличие и структура (PluginArray
, MimeTypeArray
) все еще используются для профилирования продвинутыми антифрод-платформами.
3. Как FlashID маскирует отпечаток плагинов
FlashID обеспечивает комплексную маскировку API navigator.plugins
и navigator.mimeTypes
, предоставляя полный контроль над согласованностью отпечатка и предотвращая корреляцию аккаунтов.
Ключевые возможности подмены отпечатка плагинов в FlashID:
- Маскировка/настройка списка плагинов
FlashID изменяет вывод
navigator.plugins
, чтобы отображать поддельный (но реалистичный) массив плагинов. Доступные варианты:
- Базовый набор плагинов браузера
- Динамическая генерация на основе профиля
- Статический пользовательский список (шаблон
JSON-based array
)
Подмена MIME-типов FlashID точно управляет поддерживаемыми MIME-типами для каждого плагина, согласуя их с выбранным профилем браузера:
navigator.mimeTypes['application/x-shockwave-flash'] = undefined;
Обработка несоответствий в объектах PluginItem Библиотеки обнаружения часто проверяют атрибуты вроде
item.enabledPlugin
. FlashID имитирует реальное поведение, включая:
- Возврат
null
или объектов в зависимости от контекста - Соответствие ссылок на MIME-типы
- Симуляцию
description
иversion
плагинов
Изоляция между профилями Каждый экземпляр FlashID имеет уникальный список плагинов. В отличие от обычных спуферов, рассылающих одинаковый список, FlashID обеспечивает различия между профилями для безопасного использования нескольких аккаунтов.
Поддельное перечисление плагинов FlashID раскрывает только плагины, соответствующие выбранным локали, ОС и версии браузера. Например:
- Adobe-плагины для Chrome 70
- Современные описания для новых профилей
- Защита от эвристики FlashID добавляет контролируемые вариации (например, задержки или незначительные искажения), чтобы избежать обнаружения:
- Быстрого перечисления (характерного для безголовых браузеров)
- Всегда-пустых или шаблонных массивов плагинов
- Неестественного порядка плагинов
4. Итоги
Хотя функциональность многих плагинов устарела, их значение для формирования отпечатков остается высоким. FlashID обеспечивает согласованную и правдоподобную подмену через:
- Перехват JS-объектов
- Генерацию на основе профиля
- Контролируемые отклонения для реалистичности
Для работы с мультиаккаунтами или анонимизации FlashID гарантирует стабильность даже при детальном анализе отпечатков.
Рекомендуемое Чтение