1. Dấu vân tay thông tin bộ nhớ là gì
Trong thế giới số, mỗi thiết bị đều có “danh tính” riêng. Ngoài các địa chỉ IP, Cookie, model thiết bị phổ biến, công nghệ dấu vân tay trình duyệt ngày càng trở nên tinh vi. Dấu vân tay thông tin bộ nhớ là một khía cạnh phụ thường bị bỏ qua nhưng lại có tính định danh cao trong dấu vân tay trình duyệt. Nó không phải là dung lượng vật lý tuyệt đối của bộ nhớ, mà là tập hợp các đặc trưng thu thập được thông qua JavaScript từ các đối tượng Window như navigator.deviceMemory (số lượng luồng phần cứng), navigator.hardwareConcurrency (số lõi CPU), và các tham số jsHeapSizeLimit, totalJSHeapSize, usedJSHeapSize từ performance.memory (API riêng của Chrome), tạo thành một vector đặc trưng.
Các tham số này phản ánh giới hạn bộ nhớ có sẵn cho tiến trình trình duyệt, trạng thái hiện tại của heap JavaScript, thậm chí có thể tạo ra sự khác biệt nhỏ giữa các phiên bản trình duyệt khác nhau. Kẻ tấn công hoặc dịch vụ theo dõi sử dụng tổ hợp các dữ liệu này để tăng đáng kể độ chính xác nhận dạng người dùng. Theo nghiên cứu công khai trên GitHub, chỉ riêng tổ hợp ba thuộc tính của performance.memory đã có thể tạo ra khoảng 0,78 bits entropy bổ sung trong cơ sở dữ liệu dấu vân tay thông thường, tương đương với việc tăng thêm gần 70% khả năng phân biệt so với dấu vân tay gốc.
2. Nguyên lý hoạt động của dấu vân tay thông tin bộ nhớ
Trình duyệt không trực tiếp tiết lộ kích thước bộ nhớ vật lý, nhưng có thể suy luận gián tiếp thông qua các giao diện sau:
navigator.deviceMemory: Trả về giá trị xấp xỉ của bộ nhớ thiết bị (ví dụ: 0.25, 0.5, 1, 2, 4, 8), đơn vị GB. Giá trị này ảnh hưởng lớn đến quyền riêng tư của người dùng, một số trình duyệt (như Firefox) đã mặc định vô hiệu hóa giao diện này.navigator.hardwareConcurrency: Trả về số lõi CPU logic, thường liên quan đến chiến lược cấp phát bộ nhớ.performance.memory: Riêng của Chrome, bao gồmjsHeapSizeLimit(giới hạn trên của heap JavaScript),totalJSHeapSize(kích thước heap đã cấp phát),usedJSHeapSize(kích thước heap đang sử dụng). Lưu ý thuộc tính này có thể bị chặn trong ngữ cảnh không an toàn hoặc chế độ ẩn danh.
Tập dữ liệu này có tính động theo thời gian. Ngay cả khi cùng một trình duyệt mở nhiều tab, usedJSHeapSize của các tab khác nhau cũng có sự khác biệt nhỏ, tạo ra khía cạnh “mềm” cho dấu vân tay – trạng thái được chụp tại một thời điểm cụ thể. Dịch vụ theo dõi thường lấy giá trị trung bình qua nhiều lần lấy mẫu hoặc kết hợp với các dấu vân tay khác (như Canvas, AudioContext, WebGL) để tạo ra mã định danh duy nhất.
3. Mối đe dọa của dấu vân tay bộ nhớ trong bối cảnh bảo mật
Đối với người dùng tham gia thương mại điện tử xuyên biên giới, vận hành mạng xã hội, tiếp thị liên kết quảng cáo, dấu vân tay thông tin bộ nhớ là “sát thủ vô hình” trong việc liên kết tài khoản. Ví dụ, một người bán vận hành đồng thời 10 tài khoản Amazon, nếu các phiên bản trình duyệt của các tài khoản này đều chạy trên cùng một máy vật lý, dù đã xóa Cookie, thay đổi proxy IP, dữ liệu dấu vân tay bộ nhớ vẫn có thể tiết lộ mối quan hệ giữa chúng.
Các tình huống cụ thể:
- Phát hiện nhiều tài khoản: Máy chủ nền tảng định kỳ gửi mã JavaScript để thu thập dấu vân tay bộ nhớ. Nếu nhiều tài khoản trên cùng một thiết bị có cùng
deviceMemory,hardwareConcurrencyvà các ảnh chụpperformance.memorytương tự nhau, dù IP khác nhau, hệ thống hậu trường cũng có thể quy chúng về cùng một người dùng. - Chống crawler và chống leo thang: Hệ thống chống leo thang phân tích quy luật chu kỳ của đường cong sử dụng bộ nhớ để phân biệt sự khác biệt giữa trình duyệt người dùng thực và tập lệnh tự động (như Puppeteer, Selenium). Các công cụ tự động thường có mẫu cấp phát bộ nhớ quá đều đặn hoặc giá trị bất thường (ví dụ
jsHeapSizeLimitcao hơn nhiều so với giới hạn của trình duyệt thông thường). - Rò rỉ quyền riêng tư: Một số trang web độc hại sử dụng dấu vân tay bộ nhớ kết hợp với thông tin khác (như dấu vân tay Canvas) để tạo ra mã token theo dõi vĩnh viễn, dù người dùng có xóa trình duyệt hàng ngày, miễn là không thay đổi môi trường phần cứng, token vẫn tồn tại.
4. Cách kiểm tra dấu vân tay bộ nhớ của bạn
Bạn có thể xem dữ liệu dấu vân tay bộ nhớ hiện tại trong console trình duyệt bằng mã JavaScript đơn giản sau:
console.log('deviceMemory:', navigator.deviceMemory);
console.log('hardwareConcurrency:', navigator.hardwareConcurrency);
if (performance.memory) {
console.log('jsHeapSizeLimit:', performance.memory.jsHeapSizeLimit);
console.log('totalJSHeapSize:', performance.memory.totalJSHeapSize);
console.log('usedJSHeapSize:', performance.memory.usedJSHeapSize);
}
Lưu ý: Các trình duyệt khác nhau hỗ trợ API khác nhau. Ví dụ Safari không cung cấp deviceMemory và performance.memory, trong khi Chrome, Edge (phiên bản Chromium) thì hoàn toàn hiển thị. Điều này có nghĩa là trong các trình duyệt lõi Chromium chính thống, rủi ro thu thập dấu vân tay bộ nhớ là cao nhất.
5. Các biện pháp bảo vệ và đối phó
5.1 Các biện pháp bảo vệ thông thường
- Tắt JavaScript: Ngăn chặn hoàn toàn việc thu thập dấu vân tay, nhưng khiến hầu hết các trang web hiện đại không thể hiển thị bình thường.
- Sử dụng tiện ích mở rộng bảo mật: Như uBlock Origin, CanvasBlocker, nhưng các công cụ này thường không thể mô phỏng hoặc ngẫu nhiên hóa hoàn toàn giá trị trả về của
performance.memory, vì thuộc tính này chỉ đọc và phụ thuộc vào trạng thái nội bộ của trình duyệt. - Sử dụng chế độ ẩn danh: Chỉ ngăn chặn bộ đệm cục bộ được chia sẻ, không thể thay đổi tính liên quan vật lý của dấu vân tay bộ nhớ (vì phần cứng không thay đổi).
5.2 Giải pháp chuyên nghiệp – Trình duyệt dấu vân tay
Đối với người vận hành nhiều tài khoản, việc tự điều chỉnh các tham số chi tiết này gần như là không thể. Cách phổ biến là sử dụng Trình duyệt dấu vân tay, có thể làm giả hoặc ngẫu nhiên hóa hàng trăm khía cạnh dấu vân tay, bao gồm thông tin bộ nhớ, ở cấp độ lõi trình duyệt. Ví dụ, Trình duyệt dấu vân tay Nest có thể cung cấp các tham số phần cứng ảo hoàn toàn cách ly cho từng môi trường trình duyệt (Profile), bao gồm deviceMemory, hardwareConcurrency và các mục con của performance.memory. Bằng cách mô phỏng phân phối bộ nhớ thực của các thiết bị khác nhau, nhiều tài khoản trên cùng một máy vật lý sẽ được nhìn nhận từ máy chủ như đến từ các thiết bị có cấu hình bộ nhớ khác nhau, từ đó cắt đứt hiệu quả các mối liên hệ.
5.3 Kết quả thực tế và dữ liệu
Theo phản hồi từ một người bán thương mại điện tử, sau khi sử dụng Trình duyệt dấu vân tay Nest để chạy 5 tài khoản trên các nền tảng khác nhau, so sánh qua công cụ phát hiện dấu vân tay (ví dụ amiunique.org) cho thấy: entropy dấu vân tay của mỗi môi trường tăng từ 16 bits ban đầu lên 22 bits, và không có đặc điểm chung nào giữa các môi trường. Điều này chứng tỏ hiệu quả ngẫu nhiên hóa dấu vân tay bộ nhớ tốt, đồng thời không ảnh hưởng đến hiệu suất đồ họa như WebGL, Canvas, vì mô phỏng phần cứng dựa trên việc sửa đổi nhẹ nhàng GPU thực tế, không phải là kết xuất phần mềm hoàn toàn.
6. Xu hướng tương lai của dấu vân tay bộ nhớ và công nghệ chống dấu vân tay
Khi các nhà sản xuất trình duyệt quan tâm đến quyền riêng tư, một số API đang bị loại bỏ. Ví dụ, Chrome 133+ đã bắt đầu cảnh báo performance.memory sắp bị xóa, nhưng đến nay vẫn chưa chính thức loại bỏ. Trong khi đó, navigator.deviceMemory vì tiện lợi cho việc theo dõi quảng cáo, vẫn có tiếng nói mạnh mẽ trong cộng đồng Chromium. Lĩnh vực chống dấu vân tay sẽ tiếp tục “trò chơi mèo vờn chuột”: người theo dõi sẽ tìm kiếm các API thay thế mới (ví dụ suy luận hiệu suất CPU gián tiếp qua thời gian kết xuất Canvas, hoặc đo độ trễ truy cập bộ nhớ qua WebAssembly), trong khi công nghệ chống theo dõi cần các biện pháp ngụy trang sâu hơn, triệt để hơn.
Đối với người dùng cần vận hành nhiều tài khoản ổn định lâu dài, việc chọn một trình duyệt dấu vân tay được cập nhật liên tục là rất quan trọng. Trình duyệt dấu vân tay Nest cập nhật cơ sở dữ liệu dấu vân tay mỗi quý dựa trên phiên bản trình duyệt mới nhất, đảm bảo bao phủ các điểm thu thập dấu vân tay mới, đồng thời hỗ trợ cấu hình dấu vân tay tùy chỉnh, người dùng thậm chí có thể tinh chỉnh thủ công phạm vi ngẫu nhiên của các tham số bộ nhớ để phù hợp với thuật toán chống leo thang của nền tảng cụ thể.
7. Tổng kết
Dấu vân tay thông tin bộ nhớ tuy nhỏ nhưng đủ để trở thành bằng chứng liên kết tài khoản. Từ nguyên lý đến phát hiện, từ phòng thủ thụ động đến giả mạo chủ động, bài viết này đã hé lộ toàn cảnh của khía cạnh vô hình này. Đối với người dùng thông thường, việc hiểu và cảnh giác với sự theo dõi của dấu vân tay bộ nhớ là đủ; đối với người vận hành chuyên nghiệp, phải sử dụng công cụ chuyên nghiệp để triệt tiêu hoàn toàn rủi ro. Khuyến nghị khi thiết lập môi trường mới, hãy sử dụng tính năng tạo hàng loạt của Trình duyệt dấu vân tay Nest để tạo một cú nhấp chuột các tổ hợp dấu vân tay bộ nhớ phù hợp với phân phối thực tế, cắt đứt chuỗi liên kết từ gốc.
Hành động khuyến nghị: Ngay lập tức mở about:blank trong trình duyệt hiện tại của bạn và thực thi mã kiểm tra trên, ghi lại giá trị dấu vân tay bộ nhớ của bạn. Sau đó chuyển sang một môi trường trình duyệt dấu vân tay mới, kiểm tra lại và cảm nhận sự cải thiện an toàn do sự thay đổi dấu vân tay mang lại. Nếu bạn vận hành hơn 5 tài khoản, sự khác biệt này có thể là “liều thuốc an thần” cho bảo mật tài khoản.