Kiểm Tra Dấu Vân Tay Trình Duyệt: Đo Độ Độc Nhất Canvas, WebGL, Audio & Thiết Bị

Đánh giá môi trường & dấu vân tay chuyên sâu

Dấu vân tay trình duyệt

Dấu vân tay trình duyệt tạo một mã định danh thiết bị độc nhất bằng cách thu thập các đặc trưng phần cứng, phông chữ và kết xuất đồ họa.

SHA-256 Hash Đang kiểm tra...
Trạng thái can thiệp
Đang kiểm tra...
Nhận diện Bot
Đang kiểm tra...
Rò rỉ WebRTC
Đang kiểm tra...
Điểm số độc nhất
Đang kiểm tra...

Phần cứng & Môi trường

Đang kiểm tra...

                            

Đồ họa & Kết xuất

Đang kiểm tra...

                            

Trình duyệt & Bảo mật

Đang kiểm tra...

                            

Dấu vân tay vi mô nâng cao

Đang kiểm tra...

                            

Mạng & WebRTC

Đang kiểm tra...

                            

Khả năng & Đầu dò API

Đang kiểm tra...

                            

Tóm tắt đánh giá dấu vân tay

Đang kiểm tra...
Đang kiểm tra...
Phân tích ngăn xếp giao thức mạng xuyên tầng

Kết hợp độ độc nhất Canvas/WebGL phía máy khách với dấu vân tay gói tin TCP/TLS/QUIC phía máy chủ để đánh giá toàn diện nguy cơ theo dõi.

Kiểm tra dấu vân tay mạng →

Câu hỏi thường gặp về dấu vân tay trình duyệt

Khám phá cách thức hoạt động của dấu vân tay trình duyệt, các mâu thuẫn xuyên tầng và tính khả thi của các công cụ chống phát hiện.

Chỉ thay đổi tiêu đề User-Agent không những không thể ngụy trang cho trình duyệt của bạn mà còn tạo ra "những mâu thuẫn xuyên tầng" rõ rệt kích hoạt tính năng phát hiện gian lận nâng cao: Thứ nhất, sự không khớp giữa tầng ứng dụng và ngăn xếp truyền tải: nếu bạn đặt UA của trình duyệt Windows thành iPhone Safari, tiêu đề HTTP của bạn khai báo thiết bị di động của Apple, nhưng gói tin TCP SYN của bạn lại đưa ra chữ ký hạt nhân Windows (không có tùy chọn TS và thứ tự tùy chọn là MSS, NOP, WS, NOP, NOP, SACK_PERM), mâu thuẫn trực tiếp với chuỗi 8 tùy chọn của Apple. Thứ hai, các bất biến giao thức HTTP/3 và HTTP/2: các công cụ Chromium, WebKit và Gecko khác nhau theo những cách không thể làm giả, chẳng hạn như ánh xạ loại luồng một chiều HTTP/3 (Chromium: 2:control,10:encoder so với WebKit: 2:control,6:encoder) và thứ tự giả tiêu đề HTTP/2 (Chromium: m,a,s,p so với không phải Chromium: m,s,a,p). Việc thay đổi chuỗi UA chỉ sửa đổi một tiêu đề bề ngoài trong khi khiến các tầng truyền tải thấp hơn rơi vào xung đột trực tiếp.

💡 Tìm hiểu thêm về chữ ký cấp độ truyền tải trong Phân tích tính ẩn danh của proxy của chúng tôi.

Các trình duyệt chống phát hiện thường vá lỗi Chromium hoặc chèn các hook JavaScript để ghi đè các thuộc tính của đối tượng navigator, chèn nhiễu vào đầu ra Canvas/WebGL, và mô phỏng ngữ cảnh màn hình hoặc âm thanh. Tuy nhiên, các hệ thống phát hiện nâng cao dễ dàng nhận ra các dấu vết nhân tạo: Thứ nhất, can thiệp vào nguyên mẫu (prototype) và hàm gốc: việc ủy quyền JS và chắp vá API (monkey-patching) thường làm thay đổi Function.prototype.toString, Object.getOwnPropertyDescriptor và các chuỗi kế thừa nguyên mẫu. Thứ hai, các bất biến của GPU và bộ đổ bóng (shader): trong khi nhiễu được tiêm làm thay đổi giá trị băm của hình ảnh được hiển thị, thì độ chính xác dấu phẩy động của GPU vật lý và các mẫu raster hóa của bộ đổ bóng vẫn cố định; bản thân nhiễu nhân tạo thường tạo thành một chữ ký dễ nhận biết. Thứ ba, ngăn xếp mạng cơ bản không được chạm tới: hầu hết các trình duyệt chống phát hiện chỉ hoạt động ở cấp độ JavaScript và không mô phỏng các đặc tính bắt tay TCP/TLS của hệ điều hành máy chủ lưu trữ.

Không. Chế độ ẩn danh được thiết kế dành riêng để ngăn chặn "các dấu vết duyệt web cục bộ trên thiết bị của chính bạn", chứ không phải để ngăn chặn "sự nhận dạng từ xa của các trang web". Khi một cửa sổ ẩn danh đóng lại, các cookie cục bộ, localStorage và lịch sử duyệt web sẽ bị loại bỏ. Tuy nhiên, việc lấy dấu vân tay trình duyệt hoạt động bằng cách đo lường các thuộc tính phần cứng và phần mềm vật lý thông qua JavaScript (bao gồm kết xuất đồ họa GPU, độ chính xác của bộ đổ bóng WebGL, phông chữ đã cài đặt, phản hồi của bộ dao động âm thanh, tính đồng thời của CPU và độ sâu màu). Bởi vì phần cứng vật lý, trình điều khiển đồ họa và công cụ kết xuất trình duyệt của bạn hoàn toàn giống hệt nhau trong chế độ ẩn danh, giá trị băm dấu vân tay thu được do máy chủ từ xa tạo ra là không thay đổi.

Đây không phải là một kết quả dương tính giả — nó phản ánh kiến trúc cơ bản của iOS: Thứ nhất, Nguyên tắc của Apple App Store bắt buộc tất cả các trình duyệt web trên iOS/iPadOS (bao gồm Chrome, Edge, Firefox và Opera) phải sử dụng công cụ kết xuất WKWebView / WebKit của Apple và bị cấm chạy các công cụ Chromium Blink hoặc Gecko. Thứ hai, xác minh giao thức: trên iOS, Chrome (CriOS) thể hiện ánh xạ luồng HTTP/3 độc quyền của WebKit (2:control,6:encoder), hoàn toàn khác biệt với Chromium trên máy tính để bàn hoặc Android (2:control,10:encoder). Chrome trên iOS thực chất là một trình duyệt WebKit với giao diện người dùng của Google, và việc xác định nó là WebKit là hoàn toàn chính xác về mặt kỹ thuật.

Có, nhưng theo các điều kiện nghiêm ngặt và giới hạn rõ ràng, và điều này hoàn toàn khác với việc xác thực người dùng. Việc khôi phục danh tính trên trang web này sử dụng mô hình tính trọng số bốn tầng: 1) Tầng mỏ neo phần cứng (chuỗi kiểu máy GPU, độ trễ cơ sở âm thanh, số lượng thiết bị phương tiện); 2) Tầng độ hỗn loạn cao của hệ thống (danh sách phông chữ đã cài đặt, giọng nói tổng hợp giọng nói); 3) Tầng có thể thay đổi của trình duyệt (giá trị băm kết xuất Canvas, giá trị băm tính toán AudioContext); 4) Tầng môi trường hiển thị (độ phân giải màn hình, múi giờ). Sau khi tổng hợp cả bốn tầng, cả hai điều kiện sau đây phải được đáp ứng đồng thời để xác nhận một danh tính hiện có: tổng điểm phải vượt qua ngưỡng, và ít nhất một đặc trưng cốt lõi có độ hỗn loạn cao phải khớp (danh sách phông chữ, danh sách tổng hợp giọng nói, Canvas hoặc Audio). Điều kiện thứ hai này là có chủ đích: các thuộc tính công khai có độ hỗn loạn thấp như kiểu GPU, múi giờ và độ phân giải màn hình lặp lại rộng rãi trên các lô phần cứng giống hệt nhau, và không có sự kết hợp nào của chúng được phép tự thiết lập danh tính; các phiên bản trước đây không có cổng này có thể ghép nhầm hai người hoàn toàn xa lạ. Hơn nữa, tầng mỏ neo phần cứng thực thi một quyền phủ quyết nghiêm ngặt: nếu số lõi logic của CPU khác nhau, bộ nhớ chênh lệch quá 4GB, độ trễ cơ sở âm thanh chênh lệch hơn 0.005 giây hoặc điểm chạm tối đa khác nhau, ứng viên sẽ ngay lập tức bị phân loại là một máy khác và bị loại trước khi tính điểm.

⚠ Mục tiêu của cơ chế này là căn chỉnh nhất quán các quan sát lặp lại từ cùng một thiết bị, chứ không phải để chứng minh bạn là ai — nó không cấu thành việc xác thực danh tính và không bao giờ được sử dụng như vậy.

Cả hai đều là "các đặc trưng độ hỗn loạn cao của hệ thống" không yêu cầu quyền hạn và chạy hoàn toàn âm thầm mà không có bất kỳ dấu vết trực quan nào trên trang. Dấu vân tay AudioContext: Kết xuất một bộ đệm âm thanh ngoại tuyến trong OfflineAudioContext bằng cách dẫn một Bộ dao động (Oscillator) qua một Bộ nén động (DynamicsCompressor), đọc lại các giá trị mẫu dấu phẩy động và băm chúng. Cùng một đồ thị xử lý âm thanh mang lại sự khác biệt nhỏ ở các bit ít quan trọng nhất trên các triển khai trình duyệt, thư viện toán học và phần phụ trợ dấu phẩy động khác nhau, tất cả đều không phát ra bất kỳ âm thanh nào có thể nghe thấy. Nằm liền kề với nó nhưng hoàn toàn độc lập là AudioContext.baseLatency: giá trị này phản ánh kích thước bộ đệm đầu ra của card âm thanh do trình điều khiển âm thanh và phần cứng chi phối; hệ thống của chúng tôi coi nó là một mỏ neo phần cứng (sự khác biệt vượt quá 0.005 giây ngay lập tức loại bỏ kết quả khớp) thay vì một mã băm danh tính — chúng có nguồn gốc khác nhau và không nên nhầm lẫn. Dấu vân tay liệt kê phông chữ: Đo hộp giới hạn (bounding box) của một chuỗi thử nghiệm được hiển thị bằng từng phông chữ từ danh sách ứng viên so với các phông chữ dự phòng mặc định; sự khác biệt cho thấy phông chữ đó đã được cài đặt. Các phông chữ đã cài đặt phản ánh phần mềm được cài đặt trên máy của bạn (các bộ phần mềm như Office, Adobe, công cụ lập trình và các gói IME mang lại các phông chữ riêng biệt), làm cho danh sách phông chữ thường là chỉ số có khả năng phân biệt cao nhất trong toàn bộ tập hợp đặc trưng.

💡 Sự khác biệt về độ ổn định bắt nguồn từ những yếu tố kích hoạt sự thay đổi: Các mã băm Canvas và Audio bị trôi dạt bất cứ khi nào phiên bản trình duyệt cập nhật (do thay đổi công cụ kết xuất và thư viện toán học), trong khi danh sách phông chữ chỉ thay đổi khi bạn cài đặt hoặc gỡ bỏ phần mềm — đó là lý do tại sao nó mang trọng số cao nhất.

MSS (Maximum Segment Size) là tải trọng tối đa của mỗi phân đoạn TCP được công bố trong quá trình bắt tay TCP. Máy chủ của chúng tôi đọc trực tiếp thông số này từ gói tin SYN của bạn mà không cần bất kỳ phần mềm máy khách hay cấu hình nào. Cộng lại phần hao phí tiêu đề IP và TCP sẽ tái tạo lại MTU của đường truyền: cộng 40 byte cho IPv4, cộng 60 byte cho IPv6. Các giá trị thông dụng mang ý nghĩa kỹ thuật rõ rệt: 1500 chỉ ra mạng Ethernet tiêu chuẩn hoặc đường truyền đám mây máy chủ vật lý bare-metal; 1492 chỉ ra mạng băng thông rộng PPPoE (kết nối dân dụng DSL / FTTH), nơi tiêu đề PPPoE 8 byte làm giảm dung lượng tải trọng; nhỏ hơn hoặc bằng 1420 chỉ ra một lớp đóng gói bổ sung, điển hình là từ các đường hầm VPN như WireGuard / Tailscale hoặc proxy nguồn CDN.

⚠ Điểm mấu chốt là: MSS mô tả đường truyền mạng, không phải thiết bị của bạn. Nó chỉ có thể chỉ ra rằng "tồn tại sự đóng gói dọc theo đường truyền này", và bản thân nó không chứng minh việc sử dụng proxy — PPPoE dân dụng cũng không phải là 1500. Điều mang lại giá trị chẩn đoán thực sự là sự mâu thuẫn: khi vị trí do tầng ứng dụng khai báo liên tục xung đột với các thuộc tính của đường truyền tải (chẳng hạn như tự nhận là kết nối trực tiếp cục bộ trong khi MSS liên tục rơi vào phạm vi đường hầm), điều đó cấu thành một tín hiệu có ý nghĩa. Xem Phân tích mức độ ẩn danh của Proxy để biết chi tiết.

Đây là loại sai sót mà chúng tôi xử lý với mức độ nghiêm ngặt cao nhất (sai lệch hợp nhất dương tính giả), và chúng tôi phòng vệ chống lại nó bằng ba phòng tuyến tuần tự — nếu bất kỳ phòng tuyến nào kích hoạt, việc khôi phục sẽ bị từ chối. Thứ nhất, Cách ly phân vùng cứng (Hard Bucket Isolation): Các danh tính ứng viên được phân vùng nghiêm ngặt theo nền tảng hệ điều hành (OS) và lõi engine trình duyệt, hoàn toàn không có sự so sánh chéo giữa các phân vùng — đồng nghĩa với việc hai engine trình duyệt khác nhau trên cùng một máy vật lý, ngay cả khi có các thông số phần cứng giống hệt nhau, cũng sẽ không bao giờ bị hợp nhất thành một danh tính duy nhất. Thứ hai, Phủ quyết mỏ neo phần cứng (Hardware Anchor Veto): Số lượng lõi logic CPU, dung lượng RAM (dung sai 4GB), độ trễ âm thanh cơ sở (dung sai 0.005 giây) và số điểm cảm ứng tối đa: nếu hai bên báo cáo các giá trị xung đột vượt quá dung sai, ứng viên sẽ bị loại bỏ trước khi tính điểm. Thứ ba, Cổng công nhận đặc trưng cốt lõi (Core Feature Admission Gate): Ngay cả khi có điểm tổng hợp cao, nếu ứng viên không khớp với bất kỳ đặc trưng cốt lõi nào có độ hỗn loạn cao (phông chữ, giọng đọc, Canvas, Audio), yêu cầu sẽ bị từ chối — cổng này được thiết kế riêng nhằm ngăn chặn một nhóm các thuộc tính công khai có độ hỗn loạn thấp tích lũy điểm số cao không xứng đáng.

⚠ Công bố trung thực: Hiện tại chúng tôi chưa có tỷ lệ hợp nhất sai đo được từ lưu lượng thực tế tự nhiên để công bố. Chỉ số này đòi hỏi dữ liệu lưu lượng thực tế theo thời gian dài để định lượng chính xác; việc đưa ra bất kỳ con số phần trăm nào khi chưa đạt đủ quy mô mẫu đều là thiếu trung thực.