TLS-фінгерпринтинг

TLS-фінгерпринтинг зчитує форму TLS ClientHello. Сервер бачить це повідомлення перед першим запитом HTTP, тому він може перевірити стек з’єднань, не чекаючи JavaScript сторінки.

JA3 і JA4 перетворюють вибрані поля ClientHello на значення, які легше порівнювати. Набори шифрів, розширення TLS, підтримувані групи та деталі протоколу можуть допомогти відрізнити веб-переглядач від мобільного додатка, зразка зловмисного програмного забезпечення або базової бібліотеки HTTP.

Корисною частиною є послідовність. Клієнт може називати себе Chrome у своєму агенті користувача. Його TLS-рукостискання все одно має відповідати браузеру та версії, що стоять за цією заявою. Якщо два рівні розходяться, запит заслуговує на більш ретельний розгляд.

Ця невідповідність є лише одним із сигналів. Відбиток TLS описує клієнтський стек, а не людину. Хороші системи ризику порівнюють його з історією IP-адрес, поведінкою HTTP та ширшим відбитком браузера.

Що таке TLS-фінгерпринтинг?

TLS захищає дані, що передаються між клієнтом і сервером. Перш ніж шифрування буде готове, обидві сторони повинні узгодити параметри підключення. Клієнт починає ці переговори з ClientHello.

Різне програмне забезпечення створює це повідомлення у впізнаваний спосіб. Chrome використовує BoringSSL. Firefox використовує NSS. Багато сценаріїв досягають OpenSSL через іншу бібліотеку. Їх підтримувані параметри та шаблони розширення рідко збігаються випадково.

CDN, брандмауер веб-додатків або вихідний сервер можуть записувати вибрані поля та групувати з’єднання з однаковими результатами. Не потрібно розшифровувати сторінку чи ідентифікувати користувача. Докази вже існують у налаштуваннях підключення.

Як працює TLS-фінгерпринтинг?

Типова перевірка складається з п’яти кроків.

  1. Клієнт відкриває з’єднання HTTPS.
  2. Він надсилає ClientHello з підтримуваними параметрами підключення.
  3. Сервер або CDN читає вибрані поля з цього повідомлення.
  4. Метод відбитків пальців нормалізує та підсумовує ці поля.
  5. Система безпеки порівнює результат із відомими шаблонами та іншими сигналами запиту.

Зміна агента користувача HTTP не перебудовує базовий стек TLS. Тому запит може претендувати на одне сімейство браузерів під час підключення, як інша програма.

Це привід перевірити запит, а не привід заблокувати його відразу. Корпоративні шлюзи, програмне забезпечення безпеки, незвичайні збірки браузерів і посередники TLS можуть змінити те, що спостерігає сервер.

Яка інформація використовується у відбитку TLS?

Формати відбитків пальців вибирають різні поля та правила нормалізації. Більшість малюють з тих самих частин ClientHello.

СигналЩо це описуєВажливе обмеження
Версія TLSВерсії протоколів, запропоновані клієнтомЦю ж версію поділяють багато клієнтів
Комплекти шифрівКриптографічні параметри, які підтримує клієнтСписок описує можливості, а не людину
Розширення TLSДодаткові функції, включені в ClientHelloСучасні браузери можуть змінювати порядок розширень
Підтримувані групиЕліптична крива та групи обміну ключамиРезультати можуть змінюватися з оновленням бібліотеки
Алгоритми підписуМетоди підпису, прийнятні клієнтомКілька програм можуть використовувати той самий список
ALPNПротоколи додатків, такі як HTTP/2Він не описує повну поведінку HTTP
наявність SNIЧи включено ім’я сервераКомпактний відбиток пальця може не містити самого імені
Порядок і кількість полівЯк клієнт структурує повідомленняДеякі формати сортують поля та відкидають порядок

Значення GREASE також потребують спеціального поводження. Браузери додають зарезервовані значення, щоб перевірити, чи можуть сервери терпіти майбутні зміни протоколу. І JA3, і JA4 ігнорують ці значення під час звичайного обчислення відбитків пальців.

Ці поля описують варіанти реалізації. Два комп’ютери з однаковою збіркою браузера можуть дати однаковий нормалізований результат.

Що таке відбиток пальця JA3?

JA3 – це метод, представлений дослідниками Salesforce у 2017 році. Для цього потрібно п’ять упорядкованих груп із ClientHello.

  1. Версія TLS або SSL
  2. Прийняті набори шифрів
  3. Розширення TLS
  4. Підтримувані еліптичні криві
  5. Формати точок еліптичної кривої

JA3 об’єднує десяткові значення з цих груп в один рядок. Потім створюється хеш MD5 із 32 символів. Хеш — це компактний ключ пошуку. MD5 не використовується тут для захисту пароля чи підтвердження цілісності даних.

оригінальний проект JA3 тепер заархівовано. JA3 все ще має значення, тому що роки мережевих інструментів і аналізу загроз залежать від його цінностей.

Його недоліком є ​​порядок розширення. JA3 зберігає його, а Chrome почав змінювати цей порядок у з’єднаннях у 2023 році. Тоді один браузер міг би створювати багато хешів JA3, не змінюючи своїх основних можливостей. Fastly задокументував ефект у своїй мережі.

Що таке відбиток пальця JA4?

JA4 — це новий формат відбитків клієнта TLS від FoxIO. Це зменшує шум, створюваний зміною шифру та порядку розширення.

Значення JA4 має три розділи.

РозділОсновний зміст
aТранспорт, версія TLS, наявність SNI, кількість шифрів, кількість розширень і ALPN
bКороткий хеш відсортованих шифрованих кодів
cКороткий хеш відсортованих кодів розширення та алгоритмів підпису

Сортування робить JA4 стабільним, коли єдиною відмінністю є шифр або порядок розширення. Він також видаляє цей наказ як доказ. Група безпеки, якій потрібна оригінальна послідовність, повинна зберігати пакет або необроблені дані рукостискання.

JA4 належить до ширшого проекту відбитків пальців мережі JA4. JA4 покриває привіт клієнта. JA4S охоплює відповідь сервера. JA4H охоплює поведінку клієнта HTTP. Це окремі відбитки пальців в одній родині.

Для нового трубопроводу збору JA4 часто є більш чистою відправною точкою. JA3 все ще завойовує своє місце, коли історичні збіги та наявні дані про загрози мають значення. Багато команд зберігають обидва під час переходу.

JA3 проти JA4

ПлощаJA3JA4
ВведенняКлієнт TLSПривітКлієнт TLS, QUIC або DTLS привіт
ВихідОдин хеш MD5Три структуровані розділи
Порядок шифруЗбереженоВідсортовано
Порядок продовженняЗбереженоВідсортовано
значення GREASEІгноруєтьсяІгнорується
ALPNНаявність розширення сприяєВидно коротке представлення ALPN
Найкраще підходитьІсторичні відповідності та існуючі дані про загрозиСучасне групування та часткове порівняння

Збіг означає, що вибрані поля рукостискання дали однакове представлення. Розглядайте це як класифікацію клієнта, а не збіг ідентичності.

TLS-фінгерпринтинг проти HTTP та Фінгерпринтинг браузера

Справжні системи виявлення не покладаються на один відбиток пальця. Вони порівнюють сигнали з кількох рівнів, і кожен рівень відповідає на різні запитання.

TLS сигнали

Сигнали TLS описують, як клієнт починає зашифроване з’єднання. JA3 і JA4 належать сюди. Сервер може перевірити їх перед виконанням коду сторінки.

Сигнали HTTP

Сигнали HTTP включають імена заголовків, порядок заголовків, вибір протоколу та структуру запиту. HTTP/2 додає кадри SETTINGS, розміри вікон і порядок псевдозаголовків. Ці деталі можуть підтримувати пошук TLS, але вони надходять з іншого етапу запиту.

Сигнали браузера

Сигнали браузера надходять із заголовків і API браузера. Шрифти, деталі екрана, висновок Canvas, Відбиток WebGL і Аудіофінгерпринтинг можуть визначити, чи відповідає середовище сторінки мережевому стеку. Для виконання більшості цих перевірок потрібен код сторінки.

Сигнали поведінки

Сигнали поведінки описують те, що клієнт робить протягом певного часу. Частота запитів, порядок навігації, історія сеансів, введення мишею та повторювані дії є ключовими для Виявлення ботів. Правильне рукостискання не може зробити підозрілу поведінку законною.

Корисне рішення виходить із узгодження між рівнями. Агент користувача Chrome, рукостискання TLS у стилі Chrome, очікувані налаштування HTTP/2 і робочі API браузера розповідають послідовну історію. Про людські наміри все ще потрібно судити по сеансу та його поведінці.

Що може виявити відбиток пальця TLS?

Відбиток TLS корисний для оцінки:

  • Чи схожий клієнт на браузер, програму, бота чи загальну бібліотеку HTTP
  • Яка реалізація TLS або сімейство програм могли створити з’єднання
  • Чи відповідає рукостискання зазначеному агенту користувача
  • Чи з'являвся шаблон підключення раніше
  • Чи належить трафік до відомої групи в базі даних загроз

Це погана підстава для твердження:

  • Ім'я або особу користувача
  • Право власності на обліковий запис
  • Унікальний фізичний пристрій
  • Точна операційна система в кожному випадку
  • Чи шкідливий запит
  • Чи два відповідні запити використовують один оператор

Cloudflare використовує JA3 і JA4 всередині керування ботами як частину більшого набору сигналів. Його JA3 і JA4 документація також зазначає, що відбиток пальця може бути відсутнім під час незашифрованого запиту або коли відновлення сеансу дозволяє уникнути нового рукостискання. Відсутні дані за умовчанням не вважаються підозрілими.

Де використовується TLS-фінгерпринтинг?

Відбитки пальців TLS отримують свою цінність у повторюваній роботі безпеки.

  • Полювання на загрози може групувати зашифровані з’єднання з відомих сімейств шкідливих програм.
  • Керівництво ботом може порівнювати заявки браузера зі стеком з’єднань.
  • Системи шахрайства можуть додати результат до моделі ризику рахунку або транзакції.
  • Команди API можуть відокремити очікуваних клієнтів від незвичних бібліотек.
  • Брандмауери веб-додатків можуть контролювати або обмежувати швидкість відомих груп відбитків пальців.
  • Операційні команди можуть знайти старі або неочікувані реалізації TLS.

Турбота про конфіденційність настільки ж практична. Дані TLS не залежать від файлів cookie або локального сховища. У поєднанні з ширшим відбитком пальця браузера він може підтримувати розпізнавання того самого користувача під час різних відвідувань.

Чи змінює VPN або проксі відбиток TLS?

VPN зазвичай змінює маршрут і загальнодоступну IP-адресу. Він не перебудовує браузер ClientHello. Пункт призначення все ще бачить рукостискання, створене браузером.

Стандартний тунель HTTP CONNECT або SOCKS зазвичай поводиться так само. Він передає з’єднання, не припиняючи TLS, тому клієнт усе ще веде переговори безпосередньо з метою.

Результат змінюється, коли посередник розриває TLS і створює нове вихідне з’єднання. У цьому випадку пункт призначення бачить ClientHello, створений посередником. Корпоративні інспекційні шлюзи та деякі керовані мережеві служби можуть працювати таким чином.

Ось чому проксі, VPN і Антидетект-браузер впливають на різні частини середовища. Пункт призначення бачить відбиток будь-якого програмного забезпечення, яке встановлює сеанс TLS, яке воно отримує.

Режим анонімного перегляду також має обмежений ефект. Він змінює локальне сховище та історію веб-перегляду. Зазвичай він не замінює реалізацію TLS у браузері.

Як читати тест відбитків пальців TLS

Тестова сторінка повідомляє про те, що спостерігав її власний сервер. Це інструмент порівняння, а не сертифікат проходження.

Використовуйте контрольоване порівняння.

  1. Запустіть той самий тест двічі в одному профілі веб-переглядача.
  2. Запишіть версію браузера, протокол, значення JA3 і JA4.
  3. Перезапустіть профіль і повторіть тест.
  4. Повторіть перевірку після оновлення браузера або операційної системи.
  5. Зверніть увагу, чи змінив шлях з’єднання VPN, проксі-сервер або інспекційний шлюз.

Результат стає корисним лише тоді, коли відомі умови тесту.

РезультатЙмовірний сенсЧого це не доводить
Той самий JA4 у всіх профіляхНормалізовані поля TLS збіглисяПрофілі - це той самий пристрій
Новий JA3 на кожному з'єднанніПорядок продовження може змінюватисяКлієнт повністю змінився
JA3 або JA4 відсутніНемає відповідного нового рукостискання TLSСайт не може оцінити запит
Агент користувача та сімейство TLS відрізняютьсяЗ’єднання потребує більше контекстуЗапит зловмисний

Різні тестові сайти можуть обчислювати або відображати значення різними способами. Почніть із повторюваних результатів однієї служби, перш ніж порівнювати хеші з інших служб.

TLS-фінгерпринтинг і профілі браузера

Профіль веб-переглядача зберігає разом середовище веб-переглядача, файли cookie, налаштування проксі-сервера та відповідну конфігурацію. Користувачі MoreLogin можуть вибрати ядро ​​веб-переглядача та керувати сигналами, що надходять через API браузера, у налаштуваннях профілю. До них належать Canvas, WebGL, AudioContext, WebRTC, мова, часовий пояс і медіапристрої.

TLS знаходиться нижче цих налаштувань API браузера. Зміна виводу Canvas не змінює JA3. Редагування тексту агента користувача не перебудовує ClientHello.

MoreLogin не показує окремий елемент керування JA3 або JA4 у поточних налаштуваннях профілю. Тому твердження про те, що кожен профіль отримує унікальний хеш TLS, виходить за рамки доступної інформації про продукт. Версія веб-переглядача, час виконання, протокол, дизайн проксі та шлях підключення впливають на те, що спостерігає сервер.

Для авторизованої командної роботи браузер із кількома обліковими записами зберігає файли cookie, призначення проксі та середовища веб-переглядача окремо. Це зменшує випадкове перекриття між профілями. Він не може контролювати, як кожна стороння система безпеки класифікує трафік.

Те саме обмеження стосується Автоматизація браузера. Робочий процес, що виконується в реальному браузері, використовує мережевий стек, відмінний від базової бібліотеки сценаріїв. Йому все ще потрібен дозвіл, розумна частота запитів і надійна обробка помилок.

Поширені запитання щодо TLS-фінгерпринтинг

Чи є відбиток TLS унікальним для одного пристрою?

Ні. Зазвичай він описує клієнтську програму або групу впровадження TLS. Багато пристроїв, на яких працює одна збірка браузера, можуть мати один результат. Оновлення також може змінити відбиток пальця на тому самому пристрої.

Чи може веб-сайт побачити мій відбиток TLS?

так Сервер або CDN, який отримує з’єднання, може перевірити ClientHello. Тестова сторінка може відображати значення, повернуте цим сервером.

Чи зміна агента користувача змінює JA3 або JA4?

Не сама по собі. Агент користувача є значенням HTTP, тоді як JA3 і JA4 походять від рукостискання TLS. Редагування одного заголовка не перебудовує мережевий стек.

Чому два браузери можуть мати однаковий JA4?

JA4 сортує вибрані списки та групує схожі рукостискання. Браузери з тим самим механізмом і можливостями TLS можуть ділитися результатом. Це не означає, що браузери пов’язані.

Чи змінює відбиток TLS очищення файлів cookie?

Ні. Файли cookie – це збережені дані сеансу, тоді як відбитки TLS надходять із налаштування з’єднання. Сайт може використовувати обидва, але очищення одного не скидає налаштування іншого.

Чи зупиняє Encrypted Client Hello TLS-фінгерпринтинг?

Encrypted Client Hello захищає конфіденційні частини рукостискання, включаючи запитане ім’я сервера. Мережа все ще може бачити зовнішній ClientHello, а пункт призначення все ще обробляє повне з’єднання. ECH покращує конфіденційність без видалення кожного сигналу TLS.

Ключ на винос

TLS-фінгерпринтинг показує, як клієнт починає зашифроване з’єднання. JA3 залишається цінним для історичного зіставлення. З JA4 зазвичай легше працювати, коли сучасні браузери змінюють порядок списку.

Відбиток стає значущим, коли він узгоджується з HTTP, браузером, мережею, сеансом і сигналами поведінки. Один хеш може керувати рішенням про ризик. Він не повинен приймати це рішення самостійно.

Агент випадкового користувача

Випадковий User-Agent може конфліктувати з реальним браузером, ОС, клієнтськими підказками або поведінкою TLS. Дізнайтеся, чому стабільні перевірені шаблони є більш послідовними.

Докладніше

Веб-скрейпінг

Веб-скрейпінг перетворює веб-сторінки на структуровані дані. Дотримуйтеся відповідального робочого процесу, який охоплює пошук, аналіз, обмеження швидкості, Автоматизація браузера та проксі.

Докладніше

Відбиток WebGL

Відбиток WebGL описує графічне середовище веб-переглядача через GPU та сигнали відтворення. Подивіться, що насправді змінюють тести, VPN і Режим анонімного перегляду.

Докладніше

Фармінг облікових записів

Фармінг облікових записів створює масштабні портфелі облікових записів із різними ризиками від законного Прогрів облікового запису. Зрозумійте його сигнали, методи та межі політики.

Докладніше

Підробка агента користувача

Підробка агента користувача змінює те, за що себе представляє клієнт, а не сам веб-переглядач. Подивіться, як клієнтські підказки, TLS і дані візуалізації можуть виявити невідповідність.

Докладніше

Фінгерпринтинг браузера

Фінгерпринтинг браузера зв’язують відвідування через сигнали пристрою, програмного забезпечення та графіки, а не файли cookie. Подивіться, що показують тести та які засоби контролю допомагають.

Докладніше

Почніть створювати з MoreLogin

Ознайомтеся з довідником API, автоматизуйте задачі з командного рядка, підключайте MCP-сумісні інструменти або створюйте багаторазові RPA-процеси.