Nhiều người dùng tin rằng việc mở thẻ ẩn danh hoặc cửa sổ duyệt web riêng tư sẽ xóa sạch mọi dấu vết theo dõi mạng. Trong mô hình bảo mật truyền thống, việc đóng cửa sổ riêng tư sẽ dọn dẹp các cookie phiên, bản ghi localStorage và cơ sở dữ liệu IndexedDB. Tuy nhiên, các mạng lưới quảng cáo thương mại và đơn vị thu thập dữ liệu đã phát triển những kỹ thuật theo dõi sâu hơn trong cấu trúc giao thức mạng. Bằng cách khai thác cơ chế bộ nhớ đệm giao thức nền tảng, họ tạo ra các mã định danh xuyên phiên được gọi là supercookie.

Hai cơ chế theo dõi trạng thái bền bỉ hiện nay hoạt động trực tiếp qua bộ nhớ đệm giao thức: vector trạng thái HTTP Strict Transport Security (HSTS) và cây chuyển hướng bộ nhớ đệm biểu tượng trang (favicon). Những phương thức này tận dụng chính các tính năng bảo mật và hiệu năng của trình duyệt để ghi nhận số định danh trực tiếp vào thiết bị của người dùng mà không cần dựa vào cookie thông thường.

[Trình duyệt Người dùng]
  │
  ├─ Bộ nhớ Cookie Chuẩn      ──> [Xóa sạch khi đóng ẩn danh]
  ├─ LocalStorage / IndexedDB ──> [Xóa sạch khi đóng ẩn danh]
  │
  ├─ Bảng Trạng thái HSTS     ──> [Lưu lại trong hồ sơ mạng]
  └─ Bộ nhớ đệm Favicon       ──> [Dùng chung giữa các cửa sổ]

Cơ chế Hoạt động của HSTS Supercookie

HTTP Strict Transport Security (HSTS), được chuẩn hóa trong tiêu chuẩn IETF RFC 6797, yêu cầu trình duyệt chỉ liên lạc với một tên miền qua các kết nối mã hóa HTTPS. Khi máy chủ trả về tiêu đề phản hồi Strict-Transport-Security: max-age=31536000; includeSubDomains, trình duyệt sẽ lưu chính sách bảo mật nội bộ. Trong suốt 365 ngày tiếp theo, mọi nỗ lực truy cập vào tên miền đó bằng giao thức HTTP không mã hóa sẽ được tự động nâng cấp nội bộ lên HTTPS trước khi gửi qua card mạng.

Mục đích ban đầu của tính năng này là ngăn chặn tấn công hạ cấp kết nối trung gian (downgrade attack). Tuy nhiên, cơ chế này vô tình tạo ra một bit lưu trữ trạng thái nhị phân: một tên miền cụ thể hoặc là đã được lưu trong bảng HSTS của máy (giá trị 1), hoặc là chưa từng được lưu (giá trị 0).

Mạng máy chủ theo dõi (tracker-network.example)
  ├── bit00.tracker-network.example (HSTS Đã bật = 1)
  ├── bit01.tracker-network.example (HSTS Chưa bật = 0)
  ├── bit02.tracker-network.example (HSTS Đã bật = 1)
  └── ... (32 đến 64 tên miền phụ riêng biệt)

Hệ thống theo dõi tổng hợp các cờ nhị phân đơn lẻ này thành một số nguyên định danh:

  1. Giai đoạn Ghi Trạng thái: Khi người dùng truy cập một trang web có nhúng mã theo dõi, kịch bản ngầm sẽ kích hoạt hàng loạt yêu cầu tài nguyên ẩn tới 32 tên miền phụ (bit01 đến bit32). Đối với mỗi bit trong chuỗi định danh người dùng (ví dụ: 11010010...), máy chủ sẽ gửi phản hồi HTTPS chứa tiêu đề HSTS cho các tên miền phụ ứng với số 1. Các tên miền phụ ứng với số 0 sẽ không có tiêu đề HSTS hoặc không gửi qua HTTPS.
  2. Giai đoạn Đọc Trạng thái: Trong các lần duyệt web tiếp theo hoặc trên các trang đối tác khác, đoạn mã sẽ kích hoạt yêu cầu ảnh HTTP (http://bitXX...) tới toàn bộ 32 tên miền phụ. Nếu tên miền phụ đã được ghi nhận HSTS trước đó, trình duyệt tự nâng cấp lên https://. Nếu chưa có, kết nối truyền đi bằng http:// thông thường.
  3. Tái tạo Mã Định danh: Máy chủ theo dõi ghi nhận yêu cầu nào gửi tới cổng HTTPS (cổng 443) và yêu cầu nào tới cổng HTTP thường (cổng 80). Bằng cách ánh xạ cổng 443 thành 1 và cổng 80 thành 0, máy chủ dựng lại chính xác mã số 32-bit của thiết bị chỉ trong vòng vài trăm mili giây.

Vì giao diện xóa dữ liệu duyệt web truyền thống thường tách biệt phần "Cookie và dữ liệu trang web" khỏi "Cài đặt bảo mật và bộ nhớ đệm giao thức", dữ liệu HSTS thường tồn tại qua nhiều lần dọn dẹp bộ nhớ thông thường.

Khai thác Bộ nhớ Đệm Favicon để Nhận diện Thiết bị

Bộ nhớ đệm favicon tạo ra một bề mặt theo dõi thậm chí còn tinh vi hơn. Các trình duyệt hiện đại lưu trữ biểu tượng trang web trong một cơ sở dữ liệu SQLite riêng biệt trên ổ đĩa (như bảng Favicons trong Chromium) nhằm hiển thị thẻ tab, dấu trang và lịch sử tức thì mà không gây nghẽn kết nối mạng.

Khác với bộ nhớ đệm HTTP tiêu chuẩn tuân theo chỉ thị Cache-Control, việc tải favicon trước đây diễn ra bên ngoài môi trường cách ly tài liệu:

[Công cụ Điều hướng Trình duyệt]
  │
  ├─ Bước 1: Yêu cầu tài liệu gốc (example.com)
  │
  ├─ Bước 2: Bộ phân tích phát hiện thẻ <link rel="icon" href="/favicon-A.ico">
  │
  ├─ Bước 3: Kiểm tra Cơ sở dữ liệu SQLite Favicon
  │     ├── Đã có sẵn: Dùng biểu tượng từ đĩa (Không phát sinh kết nối mạng)
  │     └── Chưa có: Gửi yêu cầu HTTP GET đến máy chủ
  │
  └─ Ma trận theo dõi: Máy chủ giám sát kết nối gửi về để xác định chuỗi bit

Nghiên cứu tại hội thảo USENIX Security chứng minh rằng máy chủ theo dõi có thể tạo một chuỗi chuyển hướng mã HTTP 302 qua cây favicon phân nhánh. Nếu trình duyệt đã từng duyệt qua nhánh biểu tượng đó, thiết bị sẽ sử dụng bản đệm trên đĩa và dừng gửi yêu cầu mạng. Nếu biểu tượng chưa có, trình duyệt sẽ gửi gói tin tải về máy. Bằng việc đối chiếu các yêu cầu mạng phát sinh, máy chủ xác định vị trí của trình duyệt trên cây nhị phân, tạo thành một mã số phần cứng cố định.

Giới hạn của Cơ chế Phòng thủ Phía Trình duyệt

Các nhà phát triển trình duyệt đã triển khai nhiều giải pháp kỹ thuật đáng chú ý:

  • Phân vùng Trạng thái (State Partitioning): Các trình duyệt hiện đại áp dụng cơ chế khóa đôi (như Total Cookie Protection trên Firefox và Network State Partitioning trên Chromium). Bộ nhớ đệm được phân chia theo cặp tên miền cấp cao và tài nguyên (top_level_site, resource_site). Nhờ đó, dữ liệu trạng thái đặt trên trang A không tự động chia sẻ sang trang B.
  • Bảng HSTS Tạm thời trong Chế độ Riêng tư: Các phiên bản trình duyệt mới tạo bảng HSTS tạm thời cho cửa sổ ẩn danh và hủy bỏ khi đóng cửa sổ.

Tuy nhiên, phân vùng trình duyệt không triệt tiêu được nguy cơ liên kết siêu dữ liệu:

  1. Ngụy trang CNAME bên thứ nhất: Khi chủ sở hữu trang ủy quyền tên miền phụ cho nền tảng theo dõi qua bản ghi CNAME, mã theo dõi hoạt động dưới tư cách bên thứ nhất, vượt qua ranh giới phân vùng giữa các trang.
  2. Thành phần WebView dùng chung trên di động: Trên hệ điều hành Android và iOS, các ứng dụng thường tải trang thông qua WebView hệ thống vốn không áp dụng triệt để chính sách cách ly giữa các tiến trình ứng dụng độc lập.
  3. Liên kết qua Siêu dữ liệu Mạng: Dù bộ nhớ đệm được phân vùng, máy chủ theo dõi vẫn dễ dàng liên kết các phân vùng khác nhau thông qua địa chỉ IP công cộng, số hiệu mạng ASN của nhà cung cấp dịch vụ Internet và dấu vân tay giao thức TLS.

Giải pháp Bảo vệ Toàn diện với RiceGuard

Cơ chế bảo vệ ở tầng trình duyệt chỉ cô lập bộ nhớ cục bộ, nhưng không che giấu được các yếu tố mạng mà hệ thống theo dõi dùng để liên kết danh tính. Khi máy chủ nhận các yêu cầu từ các phân vùng khác nhau, hệ thống phân tích sẽ đối soát địa chỉ IP và luồng định tuyến của bạn.

VPNRice cung cấp giải pháp bảo vệ ở Lớp 3 thông qua kiến trúc RiceGuard:

[Trình duyệt & Ứng dụng Thiết bị]
  │
  │ (Truy vấn HSTS / Dò tìm Tên miền phụ / Yêu cầu Favicon)
  ▼
[Giao diện Mạng Ảo RiceGuard]
  │
  ├─ Đường hầm mã hóa Chacha20-Poly1305 (RFC 8439)
  ├─ Cổng DNS mã hóa chặn đứng rò rỉ (Cổng 53 / 853)
  │
  ▼
[Hạ tầng Cổng ra VPNRice]
  │
  ├─ Địa chỉ IP ẩn danh trong cụm máy chủ dùng chung
  ├─ Phân tách thông tin định tuyến ASN của nhà mạng
  │
  ▼
[Máy chủ Web & Mạng lưới Theo dõi]
  1. Phân tách Điểm tựa Định danh Mạng: RiceGuard chuyển toàn bộ lưu lượng qua đường hầm WireGuard kiên cố. Khi máy chủ theo dõi ghi nhận các yêu cầu kiểm tra HSTS hoặc favicon, địa chỉ gửi đến là IP của cụm máy chủ VPNRice. Mạng theo dõi không thể gắn kết trạng thái đệm với đường truyền gia đình, vị trí địa lý thực tế hay thông tin thuê bao của bạn.
  2. Cô lập Truy vấn DNS qua Kênh Mã hóa: Quá trình đọc HSTS đòi hỏi gửi liên tiếp hàng chục truy vấn tên miền phụ (bit01 đến bit32). RiceGuard định tuyến toàn bộ phân giải tên miền qua máy chủ DNS nội bộ không ghi nhật ký, ngăn ngừa nhà mạng và các thiết bị trên mạng cục bộ theo dõi đợt truy vấn này.
  3. Luân chuyển Cổng ra Linh hoạt: Bằng cách phân bổ luồng dữ liệu qua nhiều máy chủ khác nhau, hệ thống ngăn các đơn vị giám sát duy trì hồ sơ theo dõi dài hạn, vô hiệu hóa khả năng ghép nối các phân vùng bộ nhớ đệm.

Các Bước Tăng cường An toàn Cấu hình Thiết bị

Để chủ động giảm thiểu nguy cơ từ các kỹ thuật theo dõi qua bộ nhớ đệm giao thức:

  • Định kỳ Dọn dẹp Bảng HSTS: Trên trình duyệt nhân Chromium, truy cập chrome://net-internals/#hsts, nhập tên miền nghi vấn vào mục "Delete domain security policies" và xác nhận xóa.
  • Kích hoạt Phân vùng Mạng Chặt chẽ: Trên Firefox, kiểm tra thiết lập privacy.partition.network_state trong about:config được đặt là true để đảm bảo kết nối mạng và bộ nhớ đệm luôn được chia tách theo trang gốc.
  • Giữ Kết nối VPN Lớp 3 Thường trực: Duy trì VPNRice liên tục trên cả thiết bị di động và máy tính cá nhân. Việc mã hóa toàn bộ luồng mạng đảm bảo rằng những đặc tính giao thức hay bộ nhớ đệm không làm lộ địa chỉ IP và thông tin thiết bị thực tế của bạn.