Vì sao visitor ID dựa trên dấu vân tay sống sót qua xóa cookie, chế độ riêng tư và VPN — và tín hiệu nào thực sự khiến nó bền vững.
Xóa cookie, mở một cửa sổ riêng tư, bật VPN — vậy mà rất nhiều trang web vẫn nhận ra bạn. Đó không phải là lỗi. Một visitor ID bền vững thường không phải là một tệp được lưu trên thiết bị của bạn; đó là một giá trị được tính lại mỗi lần truy cập dựa trên đặc điểm của trình duyệt và phần cứng, nên chẳng có gì để xóa cả.
Điểm chính
- Một visitor ID bền vững thường được suy ra từ các tín hiệu ổn định của thiết bị/trình duyệt (canvas, WebGL, phông chữ, phần cứng), chứ không lưu trong cookie — nên nút "xóa dữ liệu duyệt web" chẳng có gì để xóa.
- Cửa sổ ẩn danh/riêng tư xóa sạch bộ nhớ cục bộ nhưng không đụng đến dấu vân tay kết xuất của bạn, nên một trang web vẫn có thể nhận ra cùng một thiết bị bên dưới.
- VPN chỉ đổi địa chỉ IP, không đổi trình duyệt hay phần cứng của bạn — dấu vân tay làm nền cho ID đó không hề thay đổi theo.
- Một số script theo dõi cố tình nhân bản một ID ra nhiều nơi lưu trữ — cookie,
localStorage,IndexedDB, và cả các kho dựa trên cache — để việc xóa một bản sao không làm mất ID, một kỹ thuật gọi là respawning (hồi sinh). - Bạn có thể tự kiểm tra khả năng chống chịu của mình: chạy kiểm tra dấu vân tay trước và sau khi xóa dữ liệu, chuyển sang chế độ ẩn danh, hoặc kết nối VPN, rồi so sánh ID.
Hai kiểu "visitor ID" hoàn toàn khác nhau
Không phải mọi visitor ID đều được xây dựng theo cùng một cách, và sự khác biệt đó giải thích vì sao xóa dữ liệu trình duyệt đôi khi đặt lại được việc theo dõi, đôi khi thì không.
ID dựa trên lưu trữ là một giá trị ngẫu nhiên mà máy chủ tạo ra một lần rồi ghi vào cookie, localStorage, hoặc một kho lưu trữ phía client tương tự. Nó tồn tại đúng bằng thời gian kho lưu trữ đó còn tồn tại — xóa cookie là ID biến mất. Đây là loại mà phần lớn các công cụ bảo vệ quyền riêng tư được thiết kế để chống lại, và cũng là lý do vì sao "xóa cookie" từng là lời khuyên khá hiệu quả.
ID suy ra từ dấu vân tay thì khác: thay vì ghi một giá trị vào thiết bị của bạn, trang web tính ra một giá trị băm từ những gì trình duyệt và phần cứng của bạn vốn đã để lộ — kết xuất canvas, chuỗi renderer WebGL, phông chữ đã cài, độ phân giải màn hình và số luồng CPU, những đặc điểm riêng của bộ xử lý âm thanh, và nhiều hơn nữa. Xem hướng dẫn về dấu vân tay trình duyệt của chúng tôi để biết danh sách đầy đủ các tín hiệu và vì sao kết hợp đủ nhiều tín hiệu khiến hầu hết trình duyệt trở nên gần như độc nhất. Vì không có gì trong số này được ghi vào bộ nhớ, nên chẳng có gì trên thiết bị của bạn để nút "xóa dữ liệu duyệt web" có thể chạm tới. ID không được lưu trữ — nó được nhận ra lại ở lần truy cập tiếp theo, từ chính những đầu vào đó.
Các nhà cung cấp giải pháp định danh và chống gian lận thương mại (visitorId của Fingerprint là một ví dụ nổi tiếng cho mô hình này) dựa chính vào đặc tính này: một định danh ổn định luôn khớp với cùng một thiết bị qua nhiều phiên, chính vì nó không nằm trong một "lọ cookie" chờ bị đổ ra ngoài.
Tín hiệu nào thực sự sống sót qua việc xóa dữ liệu
Không phải đầu vào nào của dấu vân tay cũng bền như nhau. Một cách chia hữu ích là phân biệt thứ bạn có thể bật/tắt bằng một cài đặt với thứ đến từ phần cứng và driver:
| Tín hiệu | Có sống sót qua việc xóa cookie/lưu trữ không? | Vì sao |
|---|---|---|
| Giá trị băm Canvas & WebGL | Có | Suy ra từ việc kết xuất của GPU/driver, không phải dữ liệu lưu trữ |
| Danh sách phông chữ đã cài | Có | Đến từ hệ điều hành, không phải bộ nhớ của trình duyệt |
| Dấu vân tay âm thanh | Có | Suy ra từ quá trình xử lý tín hiệu của chồng âm thanh |
| Số luồng CPU, thông số màn hình | Có | Được đọc trực tiếp từ thiết bị mỗi lần |
| Cookie, localStorage, IndexedDB | Không (mặc định) | Bị xóa hẳn bởi "xóa dữ liệu duyệt web" |
| Supercookie dựa trên cache | Thường có, trừ khi cache cũng bị xóa | Lợi dụng cơ chế cache, không phải các API lưu trữ mà nút "xóa dữ liệu" nhắm tới |
Chính các tín hiệu kết xuất và phần cứng là thứ khiến một ID suy ra từ dấu vân tay trở nên bền vững, vì chúng được tính lại từ chính thiết bị chứ không phải đọc lại từ một tệp. Đó cũng là lý do chúng khó phòng vệ nhất — bạn không thể "xóa" những đặc điểm kết xuất riêng của GPU theo cách bạn xóa một cookie.
Supercookie: cố tình làm cho ID lưu trữ trở nên bền vững
Một số script theo dõi còn đi xa hơn và cố tình chống lại việc xóa dữ liệu. Kỹ thuật này — thường gọi là respawning (hồi sinh) — ghi cùng một ID vào nhiều kho lưu trữ độc lập cùng lúc: cookie, localStorage, IndexedDB, và thậm chí cả cơ chế cache HTTP như giá trị ETag, thứ mà máy chủ có thể phản hồi lại để âm thầm xác nhận một client quay lại. Nếu bạn xóa cookie nhưng để yên cache, script sẽ đọc bản sao còn sót lại và ghi đè nó vào những kho bạn vừa xóa.
evercookie, một bằng chứng khái niệm (proof-of-concept) nổi tiếng của nhà nghiên cứu bảo mật Samy Kamkar, minh họa ý tưởng này bằng cách lưu trữ dư thừa một định danh trên càng nhiều cơ chế lưu trữ trình duyệt càng tốt, cụ thể là để việc xóa bất kỳ một kho nào cũng vẫn để lại ID có thể khôi phục từ những kho còn lại. Đây là một ví dụ tham khảo hữu ích để hiểu vì sao chỉ "xóa cookie" chưa bao giờ là một biện pháp phòng vệ trọn vẹn, ngay cả trước khi việc lấy dấu vân tay khiến việc lưu trữ trở nên không cần thiết nữa.
Các trình duyệt đã phản công bằng những cơ chế được thiết kế để xóa toàn bộ dữ liệu đã lưu của một trang web chỉ trong một thao tác — xem header Clear-Site-Data của MDN, cho phép một trang web (hoặc một cài đặt trình duyệt chú trọng quyền riêng tư) yêu cầu trình duyệt xóa sạch cookie, cache và bộ nhớ của origin đó cùng một lúc, khép lại lỗ hổng mà respawning khai thác. Tuy nhiên, nó chẳng làm được gì với loại ID suy ra từ dấu vân tay đã nói ở trên — vì làm gì có "dữ liệu trang web" nào để xóa khi định danh đó chưa bao giờ được lưu trữ.
Vì sao chế độ ẩn danh không đặt lại được nó
Chế độ duyệt web riêng tư được thiết kế để giải quyết một vấn đề cục bộ: không để lại dấu vết trên thiết bị này sau khi đóng cửa sổ. Nó cô lập cookie và bộ nhớ vào một container dùng-một-lần rồi bị hủy khi đóng, đó chính xác là lý do vì sao ID dựa trên lưu trữ được đặt lại trong một cửa sổ riêng tư mới.
Nhưng việc kết xuất canvas, chuỗi renderer WebGL, danh sách phông chữ và đặc điểm phần cứng của bạn không hề thay đổi chỉ vì bạn mở một tab riêng tư — dù thế nào chúng cũng đến từ cùng một GPU, hệ điều hành và phần mềm đã cài. Một trang web dựa vào ID suy ra từ dấu vân tay sẽ thấy cùng những tín hiệu đó trong chế độ ẩn danh lẫn cửa sổ bình thường, và có thể liên kết hai phiên đó lại thành cùng một khách truy cập. Một số trang web còn đi xa hơn, chủ động phát hiện xem bạn có đang ở chế độ riêng tư hay không, thường thông qua những đặc điểm bất thường trong API hạn ngạch lưu trữ (storage-quota) — xem cách các trang web phát hiện chế độ ẩn danh và duyệt web riêng tư để biết cơ chế cụ thể.
Vì sao VPN cũng không đặt lại được nó
VPN chỉ hoạt động thuần túy ở tầng mạng: nó đổi địa chỉ IP mà máy chủ nhìn thấy và, thường là, vị trí địa lý biểu kiến. Điều đó thực sự hữu ích để chống lại việc theo dõi dựa trên IP và định vị địa lý, nhưng nó không có tác động gì đến bất cứ thứ gì mà trình duyệt hoặc thiết bị tự báo cáo về chính mình. Giá trị băm canvas, renderer WebGL, phông chữ và thông số màn hình của bạn đi qua đường hầm VPN mà hoàn toàn không đổi, vì VPN chưa bao giờ chạm vào tiến trình trình duyệt tạo ra những giá trị đó.
Vì vậy, đổi máy chủ hay nhà cung cấp VPN không cho bạn một ID suy ra từ dấu vân tay "mới" — chỉ là một IP mới gắn với cùng những tín hiệu thiết bị bên dưới. Thậm chí, một địa chỉ IP nhảy qua nhiều quốc gia khác nhau mỗi vài phút, trong khi phần còn lại của dấu vân tay vẫn không đổi, tự nó đã là một kiểu mẫu mà một số hệ thống chống gian lận gắn cờ là đáng ngờ.
Sự đánh đổi về quyền riêng tư
Visitor ID bền vững không hoàn toàn mang tính đối nghịch — chính những đặc tính khiến chúng khó xóa cũng làm cho chúng hữu ích trong việc ngăn chặn gian lận và phát hiện lạm dụng tài khoản, khi một dịch vụ muốn nhận ra một thiết bị quay lại ngay cả khi nó nói dối về cookie của mình. Sự đánh đổi nằm ở chỗ, chính cơ chế đó, khi nhắm vào một khách truy cập bình thường thay vì một kẻ gian lận, lại trở thành việc theo dõi xuyên phiên mà các biện pháp bảo vệ quyền riêng tư thông thường (xóa cookie, dùng chế độ ẩn danh, dùng VPN) không thể chạm tới.
Sự bất đối xứng đó là lý do vì sao "tôi đã xóa lịch sử" là một bằng chứng yếu ớt cho một khởi đầu mới, và vì sao những biện pháp phòng vệ thực sự có ý nghĩa là những biện pháp thay đổi chính các tín hiệu — một trình duyệt đồng nhất hóa dấu vân tay như Tor, hoặc một trình duyệt ngẫu nhiên hóa như Brave — chứ không phải bộ nhớ nơi các tín hiệu đó được ghi vào. Hướng dẫn về dấu vân tay trình duyệt của chúng tôi trình bày sâu hơn về cả hai hướng tiếp cận này, và các tiện ích mở rộng cũng đáng được xem xét kỹ, vì một tiện ích cẩu thả có thể tự tạo ra một bề mặt theo dõi riêng — xem rủi ro quyền riêng tư của tiện ích mở rộng trình duyệt trước khi cài bất cứ thứ gì mới.
Cách tự kiểm tra khả năng chống chịu của bạn
Cách nhanh nhất để biết thiết lập của bạn có thực sự chống lại được các visitor ID bền vững hay không là so sánh nó với chính nó:
- Chạy công cụ kiểm tra dấu vân tay của BrowserInsight trên trình duyệt bình thường của bạn và ghi lại các giá trị canvas/WebGL/âm thanh cùng điểm ẩn danh tổng thể.
- Xóa toàn bộ dữ liệu trang web, rồi tải lại trang kiểm tra. Nếu cùng những giá trị băm đó xuất hiện trở lại, nghĩa là chúng chưa bao giờ được lưu trữ ngay từ đầu — chúng được tính lại từ thiết bị của bạn.
- Lặp lại trong một cửa sổ riêng tư/ẩn danh, rồi lại lặp lại khi đã kết nối VPN. Nếu các giá trị vẫn khớp với lần chạy đầu tiên, dấu vân tay nền tảng — và bất kỳ ID nào được xây trên đó — vẫn không hề thay đổi.
Vì mọi thứ đều chạy phía client ngay trên trình duyệt của bạn, không dữ liệu nào trong số này rời khỏi thiết bị của bạn trong suốt quá trình kiểm tra.
Câu hỏi thường gặp
Xóa cookie có loại bỏ được visitor ID dựa trên dấu vân tay không?
Không. Một ID suy ra từ dấu vân tay không được lưu ở bất cứ đâu trên thiết bị của bạn — nó được tính lại từ đặc điểm trình duyệt và phần cứng mỗi lần bạn được nhận diện. Xóa cookie, cache hay dữ liệu trang web chẳng có gì để xóa cả.
VPN có cho tôi một visitor ID mới không?
Không. VPN chỉ đổi địa chỉ IP của bạn, không đổi trình duyệt hay thiết bị. Một ID suy ra từ dấu vân tay được xây dựng từ các tín hiệu kết xuất, phông chữ và phần cứng — những thứ đi qua đường hầm VPN mà không hề thay đổi.
Chế độ ẩn danh có vô dụng trước việc lấy dấu vân tay không?
Không hẳn là vô dụng, nhưng có giới hạn. Nó xóa sạch một cách đáng tin cậy các ID dựa trên lưu trữ cục bộ khi cửa sổ đóng lại, nhưng không thay đổi các tín hiệu kết xuất và phần cứng mà một ID suy ra từ dấu vân tay dựa vào, nên những tín hiệu đó vẫn có thể liên kết một phiên ẩn danh với phiên bình thường của bạn.
Điều gì thực sự chặn được một visitor ID bền vững?
Thay đổi các tín hiệu nền tảng, chứ không phải bộ nhớ lưu trữ. Một trình duyệt chuẩn hóa dấu vân tay của nó (như Tor) hoặc ngẫu nhiên hóa nó theo từng phiên (như Brave) sẽ loại bỏ những đầu vào ổn định mà một ID phụ thuộc vào. Chỉ xóa cookie thôi thì không làm được điều đó.
Kết luận
Một visitor ID bền vững sống sót qua việc xóa cookie, chế độ ẩn danh và VPN không phải là một cách vượt qua các biện pháp bảo vệ quyền riêng tư của bạn — nó chỉ đơn giản được xây dựng từ một tầng khác mà những biện pháp đó không chạm tới. ID dựa trên lưu trữ nằm trong cookie và phản ứng với "xóa dữ liệu duyệt web"; ID suy ra từ dấu vân tay nằm trong đặc điểm kết xuất và phần cứng của thiết bị bạn, và được tính lại ở mỗi lần truy cập. Biết mình đang đối mặt với loại nào là bước đầu tiên để phòng vệ trước nó — và kiểm tra dấu vân tay của chính bạn trước và sau mỗi biện pháp phòng vệ là cách duy nhất để biết nó có thực sự hiệu quả hay không.
Đọc thêm:


