BrowserLeaks là một bộ các bài test riêng biệt, không phải một điểm số. WebRTC, DNS, Canvas, WebGL, font và TLS thực sự lộ ra gì — và điểm mù chung của tất cả.
Tìm "browserleaks" trên Google, bạn sẽ đến một trang gồm các ô test riêng lẻ — IP, WebRTC, Canvas, WebGL, font, TLS — mỗi ô mở ra một báo cáo riêng của nó. Người lần đầu ghé thăm thường kỳ vọng một con số duy nhất, kiểu như điểm tín dụng hay điểm tin cậy, rồi bối rối khi không thấy con số đó đâu. Đó không phải lỗi thiết kế. Đó là phản ứng đúng đắn trước một loại công cụ hoàn toàn khác: một bộ dò tìm mà mỗi bài test đo độc lập một bề mặt của trình duyệt bạn, và không cái nào cố gắng tóm tắt những cái còn lại.
Những điểm chính
- Các bộ công cụ kiểu BrowserLeaks chạy một bài test độc lập cho mỗi bề mặt — IP/WebRTC, DNS, Canvas, WebGL, font, TLS — không có điểm số tổng hợp nào để theo đuổi cả.
- Mỗi bài test trả lời câu hỏi "điều gì bị lộ ở đây", chứ không phải "toàn bộ những thứ này cộng lại khiến tôi dễ bị nhận diện đến mức nào". Đó là hai câu hỏi khác nhau, có câu trả lời khác nhau.
- Kết quả "sạch" ở từng bài test riêng lẻ không có nghĩa là bạn khó bị theo dõi — nó chỉ có nghĩa là những bề mặt được kiểm tra đó tự thân không lộ ra điều gì bất ngờ.
- Điểm mù cấu trúc của mọi bài test chạy trong trình duyệt: không thứ gì chạy bên trong trình duyệt có thể so sánh múi giờ hay ngôn ngữ bạn khai báo với địa chỉ IP mà máy chủ thực sự thấy kết nối của bạn đến từ đó.
- Cách đọc đúng là xem kết quả từng bài test riêng biệt; xếp hạng hay gộp cả bộ thành một điểm tổng sẽ áp đặt một độ chính xác mà nó chưa bao giờ được thiết kế để cung cấp.
Một bộ bài test, không phải một điểm số
Lý do các công cụ kiểu BrowserLeaks trông rời rạc so với điểm số tổng hợp của một nhà cung cấp là vì chúng giải quyết một vấn đề khác. Điểm số tổng hợp nén nhiều tín hiệu thành một con số mà nhà cung cấp tự chọn cách gán trọng số. Bộ bài test làm ngược lại: nó cố tình giữ mỗi bề mặt tách biệt, vì rò rỉ quyền camera, một resolver DNS cũ còn sót lại, và hash canvas đặc trưng là ba kiểu lỗi không liên quan gì đến nhau, mỗi kiểu có cách khắc phục riêng. Gộp chúng thành một hạng mức chỉ che mất việc lỗi nào mới thực sự quan trọng với bạn.
Điều đó có nghĩa là để đọc kết quả của một bộ test cho đúng, trọng tâm không nằm ở con số tổng mà nằm ở việc đi qua từng bảng và đặt hai câu hỏi: bài test cụ thể này lộ ra điều gì, và điều đó có quan trọng với thứ bạn đang muốn bảo vệ hay không. Phần tiếp theo sẽ đi qua các bảng chính theo đúng thứ tự đó.
Từng bảng thực sự lộ ra điều gì
IP và WebRTC. Bảng WebRTC kiểm tra xem ngăn xếp giao tiếp thời gian thực của trình duyệt bạn — được xây dựng cho video và thoại ngang hàng — có làm lộ địa chỉ IP công khai thật của bạn ngay cả khi VPN đang bật hay không. WebRTC đàm phán kết nối bằng khung ICE, vốn thu thập mọi đường mạng có thể liên lạc tới thiết bị bạn, kể cả những đường VPN không định tuyến qua, và có thể đưa toàn bộ danh sách đó cho bất kỳ trang nào yêu cầu. Rò rỉ WebRTC phá hỏng chính mục đích mà hầu hết mọi người dùng VPN để làm: giấu IP. Chống rò rỉ WebRTC: Điều bắt buộc cho người dùng VPN nói chi tiết cách rò rỉ này xảy ra và cách chặn nó mà không làm hỏng cuộc gọi video.
DNS. Bảng DNS kiểm tra xem resolver nào thực sự xử lý các truy vấn tên miền của bạn — resolver mã hóa của VPN, hay resolver của nhà mạng (ISP), làm lộ mọi tên máy chủ bạn từng truy cập ra ngoài đường hầm mà bạn tưởng đang được bảo vệ. Bài test này tồn tại vì VPN có thể âm thầm không chuyển hướng DNS dù vẫn định tuyến đúng phần còn lại của lưu lượng, và lỗi này vô hình trừ khi có thứ gì đó kiểm tra riêng cho nó. Ngăn rò rỉ DNS: Che giấu dấu vết duyệt web của bạn giải thích cơ chế và cách DNS over HTTPS bịt lỗ hổng này.
Canvas. Bảng canvas vẽ văn bản và hình dạng ẩn lên một phần tử Canvas không hiển thị, rồi đọc lại các pixel kết quả và băm (hash) chúng — một giá trị chênh lệch rất nhỏ tùy theo GPU, driver, hệ điều hành và engine font, và giữ ổn định qua nhiều lần truy cập mà không cần cookie. Bài test này cho bạn biết hash đó có được tạo ra hay không và trông ổn định thế nào qua các lần tải lại; bản thân nó không nói gì về việc hash cụ thể của bạn phổ biến hay hiếm gặp so với các khách truy cập khác. Nhận diện Canvas Fingerprint: Cách website nhận ra thiết bị bạn đi sâu vào cách các pixel khác biệt và tại sao một số biện pháp phòng vệ phổ biến lại phản tác dụng.
WebGL. Bảng WebGL truy vấn trực tiếp phần cứng đồ họa của bạn — chuỗi nhà sản xuất và renderer của GPU, các extension được hỗ trợ, giới hạn số — và cũng có thể render một cảnh 3D rồi băm kết quả giống như canvas. Nó kiểm tra xem dấu vân tay phần cứng đó có bị lộ hay không và chứa bao nhiêu chi tiết, chứ không phải bản thân việc bị lộ đó có nguy hiểm hay không. Phân tích sâu vân tay WebGL: GPU tiết lộ danh tính bạn có đầy đủ cơ chế kỹ thuật.
Font. Bảng font liệt kê hoặc đo lường những font nào được cài trên hệ thống bạn — một trong những tín hiệu đặc trưng hơn mà một trình duyệt tiêu chuẩn để lộ ra chỉ đơn giản vì có một hệ điều hành, gói ngôn ngữ, và tập ứng dụng đã cài cụ thể. Nó báo cáo những gì có thể phát hiện được, chứ không phải điều đó khoanh vùng bạn hẹp đến mức nào giữa tất cả những người khác. Lấy dấu vân tay phông chữ: Phông đã cài để lộ bạn ra sao nói về sự khác biệt giữa liệt kê và đo lường, và tại sao hai kỹ thuật này làm lộ lượng thông tin khác nhau.
TLS và tầng mạng. Bảng TLS nhìn xuống một tầng thấp hơn bất cứ thứ gì JavaScript có thể thấy: thứ tự và nội dung chính xác của các cipher suite, extension, và đường cong elliptic mà client TLS của bạn đưa ra trong quá trình bắt tay (handshake), được tóm tắt thành một hash kiểu JA3/JA4. Đây là bảng duy nhất hoàn toàn không đọc API trình duyệt — nó đọc cách ngăn xếp TLS của bạn đàm phán kết nối, đó là lý do nó có thể phân biệt một trình duyệt thật với một client HTTP viết bằng script ngay cả khi mọi tín hiệu khác đều bị giả mạo hoàn hảo. TLS Fingerprinting: Cách JA3/JA4 Nhận Diện Client của Bạn phân tích chi tiết nội dung của quá trình bắt tay đó.
Bị lộ không đồng nghĩa với độc nhất
Mỗi bảng ở trên trả lời câu hỏi "tín hiệu này có bị lộ không, và nó chứa gì". Không bảng nào trả lời câu hỏi "sự kết hợp của tất cả các tín hiệu này khiến tôi dễ bị nhận diện đến mức nào". Đó thực sự là hai câu hỏi khác nhau, và việc nhầm lẫn chúng là cách hiểu sai phổ biến nhất khi đọc một bộ test rò rỉ: bảng WebRTC sạch và bảng DNS cũng sạch không nói cho bạn biết liệu tổ hợp canvas, font, và WebGL của bạn, gộp lại, có đủ hiếm để theo dõi bạn qua nhiều phiên mà không cần bất kỳ cookie nào hay không.
Entropy dấu vân tay trình duyệt và tập ẩn danh là gì giải thích cách các tín hiệu riêng lẻ gộp lại thành một con số duy nhất về mức độ độc nhất — phép tính mà một bộ test theo từng bề mặt cố tình không thực hiện. Và nếu bạn từng so sánh kết quả của một bộ test rò rỉ với tỷ lệ phần trăm ẩn danh của một nhà cung cấp nào đó và thấy khó dung hòa, đó là điều bình thường chứ không phải dấu hiệu một trong hai bị sai: Vì Sao Các Công Cụ Kiểm Tra Vân Tay Bất Đồng Về Bạn giải thích tại sao kiểm tra mức độ bị lộ, điểm độc nhất, và kiểm tra tính nhất quán là ba phép đo khác nhau chỉ đang mang chung một cái tên "điểm số".
Điểm mù mà mọi bộ công cụ chạy trong trình duyệt đều có
Mọi bảng đã nói ở trên đều chạy hoàn toàn bên trong trình duyệt bạn, đọc những gì JavaScript (hoặc với TLS, là ngăn xếp client) có thể thấy từ bên trong. Điều đó khiến tất cả chúng có cùng một giới hạn về mặt cấu trúc: không thứ gì chạy trong trình duyệt của bạn biết được kết nối mạng của bạn thực sự kết thúc ở đâu phía bên kia. Intl.DateTimeFormat().resolvedOptions().timeZone trả về những gì trình duyệt bạn được cấu hình để khai báo, chứ không phải tuyến đường mà các gói tin của bạn đã đi, cũng không phải địa chỉ IP mà máy chủ thực sự thấy kết nối đến từ đó.
So sánh múi giờ và ngôn ngữ mà trình duyệt bạn khai báo với vị trí địa lý thực tế của IP bắt được một lỗi cụ thể và phổ biến: một VPN đổi IP hiển thị ra ngoài của bạn nhưng để nguyên đồng hồ hệ thống và cài đặt vùng miền, tạo ra một trình duyệt trông nhất quán bên trong nhưng lại mâu thuẫn với nơi nó tự nhận đang ở. Lộ múi giờ và ngôn ngữ: khi trình duyệt mâu thuẫn với IP của bạn nói chi tiết về cách sự sai lệch này xảy ra và cách các hệ thống phát hiện sử dụng nó. Để bịt lỗ hổng này cần một máy chủ đã quan sát kết nối thực sự đến, thứ nằm ngoài mọi bài test chỉ đọc thuộc tính trình duyệt — dù có thêm bao nhiêu bảng chạy trong trình duyệt vào một bộ test, cũng không thể làm nó lộ ra.
Đọc kết quả của chính bạn
Tất cả những điều trên không phải là lý do để không chạy một bộ test rò rỉ — kiểm tra từng bảng độc lập thực sự là cách đúng để tìm ra một lỗ hổng cụ thể, có thể khắc phục được, như rò rỉ WebRTC mà VPN của bạn bỏ sót, hay một resolver DNS đang bỏ qua đường hầm của bạn. Sai lầm là kỳ vọng tập hợp các bảng đó cộng lại thành một kết luận duy nhất về mức độ bạn dễ bị theo dõi hay an toàn nói chung.
Nếu điều bạn thực sự muốn là cái nhìn tổng hợp đó — các tín hiệu của bạn được kiểm tra cùng nhau về tính nhất quán nội bộ, cộng thêm phép so sánh phía mạng mà một bộ test chỉ chạy trong trình duyệt không thể làm được về mặt cấu trúc — hãy chạy kiểm tra dấu vân tay của BrowserInsight cùng với kiểm tra VPN và proxy. Cùng nhau, chúng bao phủ đúng những bề mặt cơ bản đó (canvas, WebGL, font, TLS ở phía vân tay; WebRTC và DNS ở phía VPN) và thêm phép so sánh múi giờ với IP, trình bày dưới dạng các kết luận về tính nhất quán thay vì một tập hợp các bảng rời rạc. Nếu bạn chỉ cần nửa phần mạng, kiểm tra địa chỉ IP cho biết vị trí địa lý, nhà mạng và ASN mà máy chủ thấy ở kết nối của bạn.
Câu hỏi thường gặp
Nếu mọi bài test kiểu BrowserLeaks đều "sạch", điều đó có nghĩa là tôi ẩn danh không?
Không. Mỗi bài test chỉ báo cáo liệu bề mặt cụ thể của nó có bị lộ hay không — kết quả sạch ở WebRTC và DNS chỉ nói rằng VPN của bạn không rò rỉ qua hai kênh đó. Nó không nói gì về việc tổ hợp canvas, WebGL, và font của bạn, gộp lại, có đủ hiếm để theo dõi bạn qua các lần truy cập mà không cần cookie hay không. Đó là một câu hỏi riêng về mức độ độc nhất, được bàn trong Entropy dấu vân tay trình duyệt và tập ẩn danh là gì.
Tại sao BrowserLeaks không đưa ra một điểm tổng như một số công cụ khác?
Vì một bộ test theo từng bề mặt được xây dựng để cô lập và chẩn đoán từng lỗ rò rỉ một, chứ không phải để tóm tắt chúng. Một điểm tổng hợp đòi hỏi phải chọn trọng số cho mức độ quan trọng của mỗi tín hiệu, đó là quyết định chủ quan của nhà cung cấp chứ không phải một phép đo — xem Vì Sao Các Công Cụ Kiểm Tra Vân Tay Bất Đồng Về Bạn để biết quyết định đó khác nhau ra sao giữa các nhà cung cấp.
Nếu chỉ có thời gian kiểm tra một thứ, thứ nào quan trọng nhất?
Tùy vào việc bạn đang bảo vệ điều gì. Nếu bạn dựa vào VPN để giấu IP, các bảng WebRTC và DNS bắt được hai cách phổ biến nhất mà VPN rò rỉ dù vẫn hoạt động đúng ở những mặt khác. Nếu bạn lo lắng về việc bị theo dõi xuyên trang web mà không cần cookie, các bài test canvas, WebGL, và font quan trọng hơn hai bài trên.
Một bộ test chạy trong trình duyệt có thể tự bắt được VPN có múi giờ không khớp không?
Tự nó thì không. Phép so sánh đó cần một quan sát phía máy chủ về địa chỉ IP mà kết nối thực sự đến từ đó, đối chiếu với những gì trình duyệt báo cáo về múi giờ và vùng miền — thứ mà không trang nào chạy thuần trong trình duyệt có thể thấy được. Các công cụ kết hợp kiểm tra trình duyệt với tra cứu IP phía máy chủ, như một kiểm tra VPN và proxy chuyên dụng, có thể thực hiện phép so sánh đó; một bộ test rò rỉ chỉ chạy trong trình duyệt thì về mặt cấu trúc không thể.
Đọc thêm
- Chống rò rỉ WebRTC: Điều bắt buộc cho người dùng VPN
- Ngăn rò rỉ DNS: Che giấu dấu vết duyệt web của bạn
- Nhận diện Canvas Fingerprint: Cách website nhận ra thiết bị bạn
- Phân tích sâu vân tay WebGL: GPU tiết lộ danh tính bạn
- TLS Fingerprinting: Cách JA3/JA4 Nhận Diện Client của Bạn
- Entropy dấu vân tay trình duyệt và tập ẩn danh là gì
- Lộ múi giờ và ngôn ngữ: khi trình duyệt mâu thuẫn với IP của bạn
- Vì Sao Các Công Cụ Kiểm Tra Vân Tay Bất Đồng Về Bạn


