1. Client Hints trong Dấu vân tay Trình duyệt là gì?
Client Hints (CH) là một cơ chế dựa trên HTTP cho phép các trang web yêu cầu các thuộc tính thiết bị và trình duyệt cụ thể trực tiếp từ máy khách, bổ sung (hoặc thay thế) việc phân tích chuỗi User-Agent truyền thống.
Kể từ khi các chuỗi User-Agent đầy đủ dần bị ngừng sử dụng trong Chrome, Firefox và Edge, Client Hints đã trở thành một nguồn tạo dấu vân tay chính, tiết lộ các điểm dữ liệu như:
- Mẫu & thương hiệu thiết bị (
Sec-CH-UA-Model
,Sec-CH-UA-Platform
) - Phiên bản & nhà cung cấp trình duyệt (
Sec-CH-UA
,Sec-CH-UA-Full-Version-List
) - Kích thước màn hình (
Sec-CH-Viewport-Width
,Sec-CH-Width
) - Ngôn ngữ & mã hóa ưu tiên (
Sec-CH-Lang
,Sec-CH-Prefers-Reduced-Motion
) - Trạng thái phần cứng (
Sec-CH-Save-Data
,Sec-CH-DPR
cho tỷ lệ điểm ảnh hiển thị)
Không giống như User-Agent, Client Hints yêu cầu quyền rõ ràng của máy chủ (qua tiêu đề Accept-CH
) trước khi trình duyệt gửi chúng—tuy nhiên, nhiều script xâm phạm quyền riêng tư buộc phải gửi chúng qua JavaScript hoặc các thủ thuật iframe.
2. Các Nền tảng Phát hiện và Sử dụng Client Hints để Tạo Dấu vân tay như thế nào
Các hệ thống chống bot và phát hiện gian lận hiện đại chủ động thăm dò Client Hints để xây dựng dấu vân tay có độ entropy cao, kiểm tra các bất thường như:
Không nhất quán về phiên bản
Sec-CH-UA
không khớp với chuỗiUser-Agent
- Các kết hợp trình duyệt/hệ điều hành không thể có (ví dụ: Chrome 120 trên Windows 7)
Tấn công Thời gian Tiêu đề
- Phát hiện tiêu đề bị trì hoãn hoặc thiếu (dấu hiệu của phần mềm trung gian giả mạo)
- So sánh các quyền
Accept-CH
giữa các phiên
Tương quan Phần cứng/Phần mềm
Sec-CH-UA-Model
so vớinavigator.hardwareConcurrency
Sec-CH-DPR
so vớiwindow.devicePixelRatio
Trích xuất Client Hints Bắt buộc
- Sử dụng
<iframe>
hoặcfetch()
vớiimportance: 'high'
để vượt qua các hạn chế về quyền riêng tư - Ghi lại các hints mặc định so với các hints bị ghi đè để phát hiện môi trường VM/docker hóa
- Sử dụng
Client Hints đặc biệt nguy hiểm đối với ẩn danh vì chúng bỏ qua các công cụ giả mạo User-Agent truyền thống—đòi hỏi tích hợp sâu vào trình duyệt để thao túng một cách thuyết phục.
3. FlashID Kiểm soát Dấu vân tay Client Hints như thế nào
FlashID cung cấp cho người dùng khả năng kiểm soát chi tiết đối với các tiêu đề Client Hints, đảm bảo mỗi hồ sơ trình duyệt: ✔️ Chỉ gửi các hints được phép (phù hợp với hồ sơ dấu vân tay của nó) ✔️ Duy trì tính nhất quán giữa các API (ví dụ: JS so với HTTP headers) ✔️ Chặn việc trích xuất hints bị ép buộc thông qua việc che giấu quyền
Các tính năng giả mạo chính bao gồm:
➠ 1. Danh sách trắng Client Hints
- Chọn các tiêu đề
Sec-CH-*
nào được hiển thị cho mỗi hồ sơ - Mô phỏng đàm phán hints hợp pháp với
Accept-CH
vàCritical-CH
➠ 2. Tạo Tiêu đề Động
- Tự động tạo các chuỗi
Sec-CH-UA-*
khớp với phiên bản trình duyệt, hệ điều hành và loại thiết bị - Đồng bộ
Sec-CH-Viewport-Width
với kích thước cửa sổ thực tế (khi thay đổi kích thước)
➠ 3. Bảo vệ Chống Phát hiện
- Chặn trích xuất hints bắt buộc thông qua tiêm JS/iframe
- Bắt chước độ trễ gửi tiêu đề tự nhiên (~100-300ms) để tránh kiểm tra thời gian
➠ 4. Căn chỉnh Phần cứng/Phần mềm
- Thực thi tính nhất quán giữa:
Sec-CH-DPR
↔devicePixelRatio
Sec-CH-UA-Model
↔navigator.userAgentData
Sec-CH-Width
↔screen.width
Bằng cách ghi đè có chọn lọc Client Hints ở lớp mạng, FlashID đánh bại công nghệ dấu vân tay thế hệ tiếp theo đồng thời cho phép sử dụng đa tài khoản an toàn trên các nền tảng dựa vào các tín hiệu này để chấm điểm gian lận.
Bạn Cũng Có Thể Thích