Ще не з нами?
Зареєструйтеся, щоб отримати доступ до всіх можливостей сайту.
Зареєструватися26.08.26
Ще недавно браузерна анонімність виглядала за нинішніми мірками майже наївно. На початку 2010-х вистачало змінити IP, запустити Tor і злегка почаклувати над браузером — і для багатьох систем ти перетворювався практично на нового користувача. Потім прийшли Canvas, WebGL, AudioContext, WebRTC, Client Hints, WebAssembly, WebGPU і десятки інших джерел сигналів, і антифрод перестав дивитися однією параметр — він почав дивитися їх поєднання.
BrowserFM пропонує зробити крок далі. Замість чергового відбитка він намагається збудувати фактично модель браузерного оточення користувача, збираючи до 16 000 різних атрибутів. І ось тут все стає по-справжньому цікаво - тому що для арбітражника, мультиаккаунтера, рекламника, бонусхантера або просто людини, впевненої, що "новий IP плюс новий профіль браузера і новий користувач", правила гри тихо змінюються.
FM тут ні до чого до радіо: BrowserFM розшифровується як Browser Future Model. Ідея проекту досить радикальна — навіщо вибирати кілька десятків «хороших» характеристик браузера, якщо можна зібрати практично все, що він може розповісти про пристрій? В основі лежить так звана BOM Enumeration, Browser Object Model Enumeration: система обходить доступні браузеру об'єкти і знімає характеристики з безлічі джерел - Window, Navigator, Screen, Performance, CSS, GPU, розмірів вікна, параметрів дисплея, DPI, роздільної здатності, доступних API, особливостей програм. У сумі набігає близько 16 000 атрибутів.
Багато звичних рішень шукають відносно невеликий набір найінформативніших ознак. BrowserFM виходить із зворотної філософії: якщо браузер віддає параметр - чому б його не використовувати? Саме тому вважати BrowserFM ще одним відбитком не зовсім правильно. Це швидше конструктор, з якого можна зібрати величезну кількість незалежних fingerprints.
Уявіть, що антифрод взяв 16 000 значень і просто звернув їх до одного SHA-256. Змінився DPI – новий хеш. Змінився розмір вікна - знову новий. Обновився Chrome ще один. Така система була б надзвичайно чутливою та практично марною для довгострокової ідентифікації. BrowserFM надходить розумніше: всі параметри розподіляються по гілках - Window, Navigator, Screen, CSS, GPU, Performance та іншим, - і кожна галузь описує свою частину оточення.
Це важливий зрушення. Тепер антифрод може порівнювати як «відбиток A дорівнює відбитку B?», а й ставити куди тонше питання: «які частини відбитка A схожі на B і наскільки це схожість статистично значуще?». Звідси прямий слідство. Допустимо, людина змінила відеокарту, і класичний відбиток, сильно зав'язаний на WebGL і WebGPU, помітно змінився. Навіщо викидати решту даних? BrowserFM дозволяє умовно сказати: гілка GPU відрізняється - добре, тимчасово проігноруємо її та порівняємо все інше. Якщо Window, Navigator, Performance, CSS і безліч інших характеристик, як і раніше, збігаються, у системи є підстави вважати, що перед нею той самий користувач із залізом, що змінився. Не потрібно шукати повного збігу — достатньо збігу окремих частин моделі.
Головна проблема навіть у кількості характеристик. Знаєте, що система аналізує роздільну здатність екрана? Змінюємо дозвіл. Знаєте про hardwareConcurrency? Змінюємо. Про User-Agent – тим більше. Якби відбиток був звичайним хеш від набору параметрів, вистачило б змінити вхідні дані, щоб на виході отримати зовсім інше значення. Але BrowserFM спирається на ідею fuzzy hashing – нечіткого порівняння. Замість вимоги повного збігу, система шукає схожий відбиток.
Інакше кажучи, fingerprint — це пароль: йому необов'язково збігатися біт в біт. Системі важливо зрозуміти, наскільки два оточення схожі один на одного і модель заздалегідь допускає значну варіативність частини характеристик. Тому зміна кількох очевидних параметрів ще означає розрив зв'язку зі старим оточенням. У матеріалах BrowserFM заявляється точність ідентифікації близько 99,7% у відповідних тестових умовах — і це вже набагато цікавіше, ніж цифра «16 000».
Наочний приклад. Перший запуск: 1920×1080, DPI 96, Chrome, відеокарта NVIDIA, 8 потоків CPU, певний набір шрифтів та певні Performance-показники. Другий запуск: 1366×768, DPI 120, той же Chrome, та сама NVIDIA, ті ж 8 потоків, майже ті ж шрифти, схожі показники продуктивності. Якщо дивитися тільки на відбиток екрана, то перед нами різні користувачі. Якщо дивитися на всю модель, то вже далеко не факт. Причому гілки мають різну вагу: параметр, що легко змінюється, нема чого цінувати так само високо, як характеристику, яку важко стабільно підробити. І тут ми підходимо до, мабуть, найцікавішої частини BrowserFM.
Можна замінити рядок. Можна змінити значення JavaScript API. Можна повідомити сайту іншу роздільну здатність. Але змусити комп'ютер стабільно працювати як інше залізо - завдання незрівнянно складніше. BrowserFM приділяє гілці Performance особливу увагу: у демонстраційному чекері лише ця категорія включає десятки різних метриків продуктивності. Логіка проста: якщо два пристрої заявляють однакові характеристики, але виконують одні й самі операції принципово по-різному, виникає додатковий сигнал. Особливо яскраво це проявляється у разі віртуалізації та штучно зібраних браузерних оточень.
Можна написати "я звичайний домашній комп'ютер". Але Performance Fingerprinting ставить інше питання: «А чи працюєш ти справді як звичайний домашній комп'ютер?». Тому гілка Performance потенційно отримує більшу вагу, ніж легко змінювані Window або Navigator. Це ключове зрушення у всьому фінгерпринтінг: антифрод поступово переходить від питання «що браузер про себе повідомляє?» до питання «як браузер і пристрій реально поводяться?».
Якщо ваш план анонімізації досі серйозно спирається на пункт «підмінити User-Agent» — у нас погані новини. User-Agent лише один сигнал з безлічі, а браузерний двигун видає себе через інші API. Класичний приклад - AudioContext fingerprinting: відмінності в реалізації аудіостеку і двигуна дають параметри, які не можна узгоджено змінити одним рядком User-Agent.
А тепер додайте до цього Canvas, WebGL, WebGPU, WebAssembly, CSS, Performance, шрифти, Navigator, Screen і тисячі менш очевидних характеристик. Виходить проста річ: ви можете сказати сайту, що використовуєте інший браузер, але інші 15999 параметрів теж повинні з вами погодитися. Саме консистентність стає однією з центральних проблем сучасного fingerprint spoofing.
Є деталь, яку часто недооцінюють. Припустимо, ви справді підготували абсолютно нову машину: свіжа Windows, свіжий браузер, новий IP, ніяких cookies. Здавалося б, ідеальний новий користувач. Але виникає несподівана проблема: звичайні люди майже не користуються ідеально чистими комп'ютерами. За місяці та роки на машині накопичується цифрове сміття — програми, шрифти, розширення, офісний пакет, графічні редактори, службові додатки — і все це поступово змінює оточення, яке бачить браузер. Тому абсолютно чиста Windows сама по собі може стати цікавим антифрод-сигналом.
Font fingerprinting існує давно, але у великій моделі на кшталт BrowserFM він стає особливо корисним. Набір доступних шрифтів опосередковано видає локалізацію системи, встановлене програмне забезпечення, вік оточення та характер використання комп'ютера. Microsoft Office приносить власні шрифти, програми Adobe залишають інший набір артефактів, мовні пакети – третій. Виходить своєрідна історія життя системи.
Уявіть користувача, який запевняє: «я звичайний американець, який давно працює на цьому комп'ютері під Windows». А оточення виглядає як система, встановлена двадцять хвилин тому, - без характерного користувальницького софту і з набором шрифтів зовсім іншої локалі. Кожна окрема ознака нічого не доводить, але фінгерпринтінг XXI століття саме так і влаштований: слабкі сигнали складаються у сильний висновок.
Для частини сценаріїв зручно взяти VPS або віддалений сервер, поставити браузер і працювати через нього - і з точки зору мережі все може виглядати бездоганно. Але мережа лише один шар. Система рівня BrowserFM аналізує ознаки самого оточення: серверна версія Windows відрізняється від звичайної домашньої, свіжа установка має характерний профіль, віртуалізоване середовище додає ще один набір сигналів. Якісний residential-IP сам по собі не перетворює сервер на домашній ноутбук. Сформулювати можна дуже просто: IP каже сайту, звідки ви прийшли, а fingerprint намагається зрозуміти, на чому ви прийшли, — і антифрод цікавлять обидві відповіді.
Окрема історія – віртуальні машини. Колись VM була майже універсальним інструментом поділу оточень; сьогодні сама віртуалізація стає частиною risk scoring. BrowserFM цікавий тут тим, що не намагається знайти один магічний прапор на зразок isVirtualMachine = true, а збирає безліч непрямих ознак: GPU, Performance, шрифти, екран, доступні API, програмне оточення, поведінка браузера, особливості системи. Окремо кожен сигнал цілком легітимний, але їхня комбінація здатна сформувати характерний профіль віртуальної машини — і це набагато складніше виправити одним налаштуванням.
Історично завдання антидетект-браузера виглядало приблизно так: отримати відбиток, змінити відбиток, створити незалежний профіль. Але чим більше незалежних джерел інформації з'являється у браузері, тим важче підтримувати їхню взаємну узгодженість. Припустимо, антидетект змінює GPU – добре. А чи відповідає цьому GPU його Performance? Чи погоджується з ним WebGPU? Чи в'яжеться кількість ядер CPU з продуктивністю? Чи відповідає Screen заявленому пристрою? Чи сумісний набір шрифтів з операційною системою та локаллю? Чи вказана версія браузера підтримує саме такий набір API? Генерувати правдоподібні значення вже недостатньо – потрібно генерувати правдоподібну систему взаємопов'язаних значень. І різниця тут величезна.
Хороша аналогія – паспорт. Ім'я John Smith. Країна США. Рік народження: 1990. Все виглядає нормально. Але потім з'ясовується, що паспорт видано у Франції, номер має німецький формат, фотографія зроблена тридцять років тому, а дата видачі завтра. Кожен параметр окремо правдоподібний, а разом вони абсурдні. З відбитком браузера відбувається те саме. Сучасний антифрод все менше турбує питання «чи можна підмінити цей параметр?» — набагато важливіше за іншу: «чи можна підмінити тисячі параметрів так, щоб вони залишилися узгодженими між собою?». BrowserFM перетворює цю проблему на архітектурний принцип.
Здається, що на смартфонах все простіше: модельний ряд обмежений, мільйони людей мають однакові iPhone і Samsung, залізо уніфіковано — отже, і відбиток має бути менш унікальним. Чи не обов'язково. Особливо цікавий Android: незважаючи на апаратну уніфікацію, браузер все одно отримує велику кількість характеристик програмного та апаратного оточення. Поєднайте їх у велику модель, додайте Performance-метрики — і кількість потенційних комбінацій різко зростає. Тому технології класу BrowserFM здатні скоротити розрив між фінгерпринтінгом у браузері та ідентифікацією, для якої раніше потрібно було встановлювати програму. Для мобільного антифроду це особливо перспективний напрямок.
Є сторона технології, про яку користувач зазвичай не думає: зберігання даних коштує грошей. Особливо, коли у вас не тисяча відвідувачів на місяць, а сотні мільйонів подій щодня. Google, Amazon, рекламні мережі, банки, маркетплейси та великі антифрод-платформи працюють з колосальними обсягами інформації. За заявленою архітектурою вистава BrowserFM зберігається значно компактніше звичайного JSON - у матеріалах фігурує економія приблизно до дев'яти разів.
Для одного користувача це дрібниця. Для сотень мільйонів відбитків – інфраструктурна перевага. І часто долю технології вирішує не лише питання «наскільки добре це працює?», а й «скільки варто застосовувати це на 500 мільйонів запитів?». Якщо відбиток одночасно точніший і дешевший у зберіганні, мотивація впроваджувати його різко зростає.
І ще одна неприємна особливість концепції: вона не прив'язана до сьогоднішнього API. З'явився новий браузерний інтерфейс його додають у відповідну гілку. З'явився новий спосіб отримати інформацію про GPU ще один сигнал. Новий Performance API – ще кілька характеристик. Саме тому назва Future Model має доречний вигляд: це не фіксований відбиток, а архітектура, в яку можна нескінченно додавати нові джерела інформації. Сьогодні 16 тисяч параметрів. Завтра їх може бути більше.
Висновок неприємний, але корисний: епоха боротьби з фінгерпринтінг через підміну декількох популярних параметрів закінчується. Сучасна система може одночасно аналізувати мережеве оточення, браузер, залізо, продуктивність, програмне оточення, історію змін, узгодженість характеристик та поведінку користувача. BrowserFM закриває насамперед величезний шматок браузерного та апаратно-програмного шару. Тому й питання поступово змінюється. Раніше запитували: "у мене змінився відбиток?". Тепер правильніше запитувати: «Чи виглядає нове оточення як незалежний реальний пристрій?». Це абсолютно різні питання.
Особливо важливо пам'ятати про це під час роботи з fingerprint-чекерами. Користувач змінює параметр, оновлює сторінку, бачить "Fingerprint ID змінився" - і радісно робить висновок, що сайт тепер вважає його іншою людиною. Але це може бути помилковим почуттям безпеки. Повний хеш дійсно змінюється навіть від невеликої правки вхідних даних, ось тільки антифрод зовсім не обов'язково використовувати його як єдиний ідентифікатор. Він може окремо зберігати та порівнювати гілки GPU, Performance, Navigator, Screen, CSS та оцінювати ступінь подібності старого та нового профілів. Питання не в тому, чи змінився хеш, — питання в тому, наскільки зрушив сам простір ознак.
І це підводить до самої фундаментальної ідеї BrowserFM, яка цікавіша за будь-яку цифру. Через кілька років «16 000» може виглядати повсякденно - важливо інше: браузерний відбиток перестає бути ідентифікатором і стає моделлю пристрою. А модель за своєю природою допускає зміни. Користувач може змінити відеокарту, оновити браузер, змінити роздільну здатність, з'явитися новий монітор, інсталювати Office. Реальні комп'ютери змінюються постійно — і добрий антифрод не повинен втрачати людину після кожної такої зміни. Він повинен розуміти характер змін: відрізняти природну еволюцію живої системи від поспіхом зібраного оточення, яке лише прикидається справжнім.
Звідси й нове, набагато складніше питання для всіх, хто будує незалежні профілі. Раніше він звучав як "як отримати новий відбиток?". Тепер — «як зібрати оточення, яке веде себе як по-справжньому інший пристрій і залишається внутрішньо узгодженим, змінюючись у часі так, як би змінювався реальний комп'ютер?». А це вже не перемикач в інтерфейсі, а повноцінне інженерне завдання.
Натискаючи "Прийняти", ви погоджуєтеся з тим, що Detect Expert може використовувати файли cookie для персоналізації контенту.
Ви завжди можете відмовитися від участі, дотримуючись інструкцій у нашому Cookie Policy.