1. Що таке відбитки екрану
Відбиток екрану браузера (Screen Fingerprint) стосується набору властивостей дисплея, характерних для пристрою, які доступні через об’єкт window.screen
:
screen.width
screen.height
screen.colorDepth
screen.pixelDepth
screen.availWidth
screen.availHeight
window.devicePixelRatio
Ці значення допомагають платформам визначити:
- Тип пристрою (настільний комп’ютер, мобільний пристрій, планшет)
- Ймовірні налаштування масштабування або збільшення
- Кількість моніторів (через
window.screenLeft
,window.screenTop
) - Регіони користувача (за роздільною здатністю + ОС, іноді перевіряється з IP)
- Стан максимального розгортання браузера (евристично за розмірами екрану проти розмірів вікна)
Хоча відбитки екрану самі по собі недостатні для унікальної ідентифікації користувача, у поєднанні з іншими сигналами, такими як Canvas, User Agent, Timezone та WebGL, вони стають основним елементом унікальності відбитка браузера.
2. Як платформи виявляють відбитки екрану
Платформи для боротьби з мульти-акаунтами та фінгерпринтингом ретельно відстежують значення, пов’язані з екраном. Методи виявлення включають:
- Перевірка узгодженості роздільної здатності – Користувачі з іншими значеннями
screen.width
таscreen.height
, ніж типові для їхньої ОС або географії, можуть викликати підозру. - Аналіз devicePixelRatio – Деякі платформи аналізують щільність екрану (
window.devicePixelRatio
), щоб визначити, чи відповідає вона реальній поведінці браузера (наприклад, Retina дисплеї на macOS). - Моніторинг доступного розміру екрану проти розміру вікна – Загальноприйнята евристика: порівняння розмірів екрану з фактичним розміром вікна для виявлення, чи є браузер повноекранним, розгорнутим, на віртуальній машині або спотвореним.
- Перехресна перевірка з типом пристрою – Наприклад, якщо екран показує роздільну здатність, типову для настільного комп’ютера, але користувацький агент заявляє Android, ця невідповідність може бути використана для позначення сесій.
- Виявлення нереалістичних значень – Деякі двигуни для боротьби з підробкою можуть виявити, чи є підроблені роздільні здатності неіснуючими “викидами” для цільового профілю користувацького агента, що вказує на інструменти маніпуляції відбитками.
- Відстеження впровадження DOMRect та поведінки макета – Платформи можуть відстежувати, як елементи макета, засновані на екрані (
window.screenX
,window.scrollX
), поводяться під час зміни розміру, щоб виявити синтетичні середовища.
Значення екрану часто пов’язані з логікою виявлення поведінкової підробки і використовуються системами, заснованими на правилах або машинному навчанні, для обчислення оцінки довіри пристрою під час реєстрації або автентифікації користувача.
3. Як FlashID змінює відбитки екрану
FlashID надає користувачам можливість повністю налаштовувати та зберігати дані відбитка екрану, гарантуючи, що кожен профіль браузера діє як окремий фізичний пристрій, навіть при запуску з однієї системи.
Ключові функції маніпуляції екраном включають:
Маскування роздільної здатності
- Встановлення
screen.width
таscreen.height
для кожного браузера для імітації реальних пристроїв - Вибір зі стандартних розмірів або введення власних (наприклад,
1440x900
,1920x1080
,1242x2208
)
- Встановлення
Емуляція глибини кольору та глибини пікселів
- Підробка
screen.colorDepth
,screen.pixelDepth
для точного відображення симульованого обладнання (наприклад, 24-біт, 8-біт, 32-біт)
- Підробка
Контроль співвідношення пікселів пристрою
- Налаштування
window.devicePixelRatio
для кожного екземпляра (наприклад,2.0
для Retina MacBooks або1.0
для старих ноутбуків Windows)
- Налаштування
Реалістична симуляція availWidth/availHeight
- Відображення доступної області робочого столу (за винятком панелей завдань або док-станцій), підвищуючи реалістичність для десктопних патернів
Контроль функції орієнтації екрану
- Симуляція орієнтації екрану (
portrait
абоlandscape
) на основі очікуваного типу пристрою
- Симуляція орієнтації екрану (
Підбір роздільної здатності до User-Agent
- FlashID автоматично рекомендує профілі роздільної здатності та розміру пристрою на основі вибраного user agent та операційної системи — допомагаючи уникнути позначок про невідповідність
Імітація поведінки ScreenChangeEvent
- Імітація подій
orientationchange
або зміни розміру для відтворення реальної поведінки перегляду або датчиків пристрою
- Імітація подій
Повністю контролюючи API window.screen
, FlashID усуває витоки між сесіями, які могли б пов’язати кілька профілів через спільні відбитки екрану, дозволяючи користувачам виконувати правдоподібні та непомітні операції з кількома акаунтами.
Вам також може сподобатися