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 // Number of MIME types supported by each plugin pluginItem.item(index).type
Старі підписи плагінів Навіть якщо фактичні плагіни вимкнено, деякі сайти використовують старіші API або шукають ознаки слідів встановлення плагінів у сховищі або поведінці.
Перехресна перевірка Антифрод-системи порівнюють плагінові відбитки з:
navigator.userAgent
navigator.language
- Системні кольори та поведінка JS/Canvas
- Історія виявлених плагінів між сесіями
Якщо виявлено невідповідність — наприклад, новий список плагінів з’являється для того ж ідентифікатора сесії — це може бути інтерпретовано як спроби фальсифікації або використання кількох облікових записів.
Важлива примітка: Хоча більшість плагінів більше не є активними через безпеку та застарілість, їх існування та повідомлена структура (PluginArray
, MimeTypeArray
) все ще використовуються для профілювання та класифікації передовими антифрод-платформами.
3. Як FlashID маскує плагінові відбитки
FlashID забезпечує комплексне маскування через API navigator.plugins
та navigator.mimeTypes
, щоб надати командам повний контроль над послідовністю відбитків та уникнути кореляції облікових записів.
Основні можливості спуфінгу плагінових відбитків у FlashID включають:
- Маскування/Налаштування списку плагінів
FlashID змінює вихідні дані
navigator.plugins
, щоб відображати фальшивий (але реалістичний) масив плагінів. Ви можете вибрати з:
- Базова лінія плагінів браузера за замовчуванням
- Динамічна генерація плагінів на основі профілю
- Надання статичного користувацького списку (
JSON-based array template
)
Спуфінг типів MIME FlashID ідеально маніпулює тим, які типи MIME відображаються як підтримувані кожним плагіном, забезпечуючи відповідність підробленого списку обраній особистості браузера:
// FlashID-spoofed mimeTypes response navigator.mimeTypes['application/x-shockwave-flash'] = undefined;
Обробка несумісності об’єктів PluginItem Бібліотеки виявлення веб-додатків часто викликають підатрибути плагінів, такі як
item.enabledPlugin
. FlashID імітує реальну семантику, включаючи:
- Повернення null або об’єкта залежно від контексту браузера
- Відповідні посилання на типи MIME для кожного елемента
- Симуляція опису плагіна та можливостей версії
Ізоляція між профілями Кожен екземпляр браузера FlashID має свій власний список плагінів. На відміну від загальних спуферів, які транслюють один і той же фальшивий список плагінів на кілька вкладок, FlashID забезпечує розрізнення між профілями, щоб користувачі могли одночасно входити з окремими ідентичностями.
Фальшивий перелік плагінів При відображенні масивів плагінів FlashID гарантує, що розкриваються лише ті плагіни, які відповідають вибраній локалі, ОС та версії браузера. Це включає імітацію стандартних імен, пов’язаних з Adobe, на Chrome 70, та більш чисті, схожі на розширення описи на більш сучасних профілях.
Евристичний щит FlashID впроваджує навмисні варіації (невеликі фальсифікації властивостей або затримки доступу), щоб уникнути логіки виявлення ботів, яка перевіряє:
- Швидкі шаблони перерахування (типові для безголових режимів)
- Завжди стандартні або завжди порожні масиви плагінів
- Порядок плагінів, несумісний зі справжніми браузерами загального призначення
4. Підсумок
Хоча багато фактичних функцій плагінів застаріли, їх наслідки для відбитків залишаються сильними в логіці виявлення та профілювання. FlashID забезпечує підтримку профілями послідовних, відповідних контексту спуфінгових станів плагінів за допомогою перехоплення JS-об’єктів, генерації на основі профілів та введення правдоподібної ентропії — все це без шкоди для сумісності.
Для команд, що керують кількома обліковими записами або анонімізованими екземплярами браузера, спуфінг плагінів FlashID дозволяє безпечне поведінкове розділення та стабільність при розширеному аналізі відбитків.
Вам також може сподобатися