1. Dấu vân tay thông tin pin là gì?

Khi bạn duyệt web, trình duyệt sẽ tiết lộ nhiều thông tin thiết bị cho trang web, chẳng hạn như độ phân giải màn hình, phiên bản hệ điều hành, múi giờ, model card đồ họa, v.v. Sự kết hợp của các thông tin này có thể tạo ra một “dấu vân tay kỹ thuật số” độc đáo, dùng để nhận dạng và theo dõi người dùng. Năm 2016, nhóm nghiên cứu từ Đại học Princeton và Đại học Leuven phát hiện ra rằng thông qua HTML5 Battery Status API (API trạng thái pin) có thể lấy được trạng thái thời gian thực của pin – đang sạc hay không, phần trăm pin còn lại, thời gian ước tính trước khi hết pin. Những dữ liệu tưởng chừng vô dụng này, dưới đủ số lượng mẫu thu thập, có thể hình thành một “dấu vân tay pin” độc đáo.

Nguyên lý cốt lõi của dấu vân tay pin nằm ở trạng thái pin thay đổi động theo thời gian. Thói quen sạc của mỗi người dùng khác nhau: có người thích vừa sạc vừa chơi, pin dao động trong khoảng 20%~80%; có người sạc vào một thời điểm cố định mỗi ngày; cũng có người hầu như không sạc, pin giảm dần. Trình duyệt có thể đọc trạng thái pin tại nhiều thời điểm khi người dùng truy cập trang web, kết hợp với dấu thời gian và trạng thái sạc để xây dựng một mô hình sạc gần như duy nhất. Nghiên cứu cho thấy, chỉ cần 30 lần lấy mẫu, kết hợp với các thông tin thầm lặng khác của thiết bị, có thể phân biệt hơn 99% người dùng độc lập. Điều này khiến thông tin pin trở thành một công nghệ theo dõi thụ động nguy hiểm, sau Canvas fingerprint và WebGL fingerprint.

2. Các trường pin được thu thập như thế nào? – Chi tiết kỹ thuật

Để hiểu sức mạnh của dấu vân tay pin, cần tìm hiểu cách hoạt động của Battery Status API. API này lần đầu được triển khai trong Chrome, Firefox và Opera, nhằm giúp nhà phát triển tối ưu hóa năng lượng (ví dụ: tự động giảm chất lượng video khi pin yếu). Mã JavaScript có thể gọi như sau:

navigator.getBattery().then(function(battery) {
    console.log('Trạng thái sạc:', battery.charging);
    console.log('Phần trăm pin:', battery.level);
    console.log('Thời gian còn lại (sạc/xả):', battery.chargingTime, battery.dischargingTime);
});

Trang web có thể đặt bộ đếm thời gian (ví dụ: đọc mỗi 10 giây) hoặc lắng nghe các sự kiện chargingchange, levelchange, để liên tục thu thập dữ liệu pin trong thời gian người dùng ở lại. Vì phần trăm pin thường được trình duyệt trả về với độ chính xác 0.01 (ví dụ: 0.87 tương ứng 87%), trạng thái sạc có hai giá trị true/false, cộng với thời gian sạc (số nguyên giây) và thời gian xả (số nguyên giây), bốn trường này có thể tạo ra hàng trăm trạng thái khác nhau trong một phiên.

Quan trọng hơn, dấu vân tay pin có thể liên kết với các thông tin dấu vân tay khác đã có. Ví dụ, kết hợp với Canvas fingerprint và rò rỉ IP cục bộ WebRTC, kẻ tấn công có thể thu hẹp phạm vi người dùng đáng kể. Trong một thử nghiệm thực tế năm 2018, các nhà nghiên cứu đã cài script trên một trang web thật, chỉ thu thập dữ liệu pin trong 30 giây, đã nâng tỷ lệ nhận dạng dấu vân tay từ 80% (vốn cần hàng chục đặc điểm) lên 94%.

3. Kịch bản ứng dụng thực tế của dấu vân tay pin

3.1 Theo dõi người dùng xuyên trang web

Các liên minh quảng cáo và công ty phân tích dữ liệu sử dụng dấu vân tay pin làm “điểm neo phụ trợ”. Ngay cả khi đã xóa Cookie, thay đổi IP, miễn là mô hình sạc pin của người dùng không thay đổi (ví dụ: sạc từ 5h-6h chiều mỗi ngày), nhiều trang web có thể liên kết cùng một người dùng bằng cách khớp chuỗi thời gian trạng thái pin. Cơ quan giám sát quyền riêng tư Pháp (CNIL) từng báo cáo rằng hơn 1% các trang web phổ biến châu Âu có gọi API pin trực tiếp hoặc gián tiếp, trong đó phần lớn đến từ script theo dõi bên thứ ba.

3.2 Chống gian lận và kiểm soát rủi ro tài khoản

Trên các nền tảng thương mại điện tử, tài chính và mạng xã hội, hệ thống kiểm soát rủi ro thu thập dấu vân tay môi trường của người dùng. Nếu cùng một tài khoản hoặc thiết bị có đường cong thay đổi pin khác biệt rõ rệt trong thời gian ngắn (ví dụ: giao dịch trước pin 30% và đang sạc, giao dịch sau pin 80% và không sạc), hệ thống sẽ kết luận “môi trường thiết bị không nhất quán” và kích hoạt xác minh hai yếu tố hoặc khóa trực tiếp. Điều này ít ảnh hưởng đến người dùng bình thường dùng nhiều thiết bị, nhưng rất nguy hiểm đối với người bán hàng, nhà quảng cáo cần vận hành nhiều tài khoản – khi bạn đăng nhập nhiều tài khoản cửa hàng trên cùng một trình duyệt, thông tin pin của mỗi tab hoàn toàn giống nhau, nền tảng dễ dàng phát hiện các tài khoản này đến từ cùng một thiết bị.

3.3 Phát hiện proxy và máy ảo

Nhiều hệ thống chống thu thập dữ liệu và phát hiện phi thực thể kiểm tra xem API pin có trả về giá trị cố định hay không. Máy ảo hoặc máy chủ đám mây thường không có pin thực, do đó battery.charging luôn là true, level là 1.0 (100%), dischargingTime là Infinity (vô hạn). Kẻ tấn công có thể dễ dàng nhận ra môi trường không phải người dùng thực. Phát hiện tiên tiến hơn còn so sánh sự nhất quán giữa trường pin và các chỉ số khác của hệ thống (như tần số CPU, độ trễ mạng), ví dụ: khi pin 20%, tần số CPU có giảm không? Nếu hoàn toàn không giảm, đó là môi trường mô phỏng.

4. Thách thức về quyền riêng tư và bảo mật từ dấu vân tay pin

4.1 Theo dõi người dùng không thể cảm nhận

Việc thu thập dữ liệu pin hoàn toàn thầm lặng, người dùng không nhận được bất kỳ cửa sổ bật lên hay thông báo nào. Ngay cả khi tắt JavaScript, một số tiện ích mở rộng hoặc script vẫn có thể thực thi nền qua Web Worker. Hơn nữa, sự thay đổi trạng thái pin không nằm trong tầm kiểm soát của người dùng (trừ khi cố tình rút sạc), điều này khiến người dùng khó chủ động đánh lừa hệ thống theo dõi.

4.2 Phản ứng dây chuyền rò rỉ dữ liệu

Bản thân thông tin pin không chứa danh tính cá nhân, nhưng kết hợp với dữ liệu khác (như vị trí địa lý, lịch sử duyệt web) đủ để vẽ chân dung người dùng. Ví dụ, biết một người dùng sạc từ 2h-3h sáng mỗi ngày và nội dung duyệt liên quan đến trang web điều trị mất ngủ, có thể suy ra tình trạng sức khỏe của họ. Nguy hiểm hơn, API pin từng tiết lộ độ chính xác thời gian sạc ở mức mili giây trên iOS và một số trình duyệt Android, về mặt lý thuyết có thể suy ra mức độ lão hóa pin, từ đó liên kết với thương hiệu và model cụ thể.

4.3 Rủi ro tuân thủ pháp luật

Theo Quy định chung về bảo vệ dữ liệu (GDPR), bất kỳ thông tin nào có thể nhận dạng người dùng trực tiếp hoặc gián tiếp đều là dữ liệu cá nhân. Năm 2017, các nhà nghiên cứu quyền riêng tư Bỉ chỉ ra rằng dấu vân tay pin, vì có “tiềm năng nhận dạng cao”, nên được coi là dữ liệu cá nhân được bảo vệ. Bất kỳ trang web nào thu thập thông tin pin trong phạm vi EU đều phải có sự đồng ý rõ ràng của người dùng. Tuy nhiên, trong thực tế, đa số trang web không đề cập đến việc sử dụng dữ liệu pin trong banner Cookie, nằm trong vùng xám.

5. Làm thế nào để ngăn chặn theo dõi dấu vân tay pin hiệu quả?

5.1 Can thiệp từ phía trình duyệt

Các trình duyệt hiện đại (ví dụ: Firefox phiên bản mới nhất, Chrome các phiên bản sau) đã dần hạn chế hoặc vô hiệu hóa việc đọc chi tiết Battery Status API. Ví dụ, trong Chrome, tất cả các trường chargingTimedischargingTime đã được trả về Infinity (vô hạn). Tuy nhiên, levelcharging vẫn khả dụng và độ chính xác chưa giảm. Người dùng có thể chặn hầu hết thu thập dấu vân tay bằng cách thủ công tắt JavaScript hoặc sử dụng tiện ích mở rộng như NoScript, nhưng điều này ảnh hưởng nghiêm trọng đến chức năng bình thường của trang web.

5.2 Sử dụng trình duyệt chống dấu vân tay chuyên nghiệp

Giải pháp triệt để hơn là sử dụng môi trường trình duyệt có khả năng ngụy trang dấu vân tay. Loại trình duyệt này có thể chặn lệnh gọi API pin và trả về dữ liệu ngẫu nhiên được cài sẵn (ví dụ: pin ngẫu nhiên dao động từ 30%~80%, trạng thái sạc ngẫu nhiên chuyển đổi), khiến dấu vân tay pin của mỗi phiên đều khác nhau. Ví dụ, Trình duyệt dấu vân tay Nest cung cấp chức năng mô phỏng thông tin pin hoàn chỉnh:

  • Tùy chỉnh tham số pin: Người dùng có thể thủ công thiết lập pin ban đầu, trạng thái sạc, thời gian sạc và xả, hoặc cấu hình “tạo ngẫu nhiên mỗi khi mở tab mới”.
  • Cách ly đa tài khoản: Mỗi môi trường độc lập (Profile) có chuỗi dấu vân tay pin riêng, không ảnh hưởng lẫn nhau. Ngay cả khi mở 10 tài khoản cùng lúc, mỗi tài khoản thấy đường cong thay đổi pin khác nhau.
  • Mô phỏng thiết bị thực: Dựa trên nhân trình duyệt đã chọn (Chromium/Firefox), hệ điều hành và loại thiết bị, tự động khớp phạm vi hợp lý phù hợp với tuổi thọ pin của thiết bị đó (ví dụ: khi mô phỏng MacBook, tốc độ giảm pin chậm hơn).

Bằng cách sử dụng Trình duyệt dấu vân tay Nest, người vận hành thương mại điện tử xuyên biên giới có thể quản lý an toàn nhiều cửa hàng trên cùng một máy tính mà không lo bị nền tảng liên kết và khóa tài khoản vì dấu vân tay pin giống nhau.

5.3 Thực hành tốt nhất trong quản lý đa tài khoản

Đối với người dùng cần vận hành đồng thời nhiều tài khoản mạng xã hội, thương mại điện tử hoặc quảng cáo, ngoài dấu vân tay pin, còn cần quan tâm đến hàng chục đặc điểm dấu vân tay khác như Canvas, WebGL, múi giờ, danh sách phông chữ, v.v. Chỉ dựa vào việc thủ công sửa đổi cài đặt trình duyệt khó có thể bao phủ hết. Cách làm được khuyến nghị là:

  1. Gán cho mỗi tài khoản một môi trường duyệt độc lập (Profile), mỗi Profile sử dụng IP và proxy khác nhau.
  2. Bật ngẫu nhiên hóa dấu vân tay, để các trường như pin, độ phân giải màn hình, user-agent tự động thay đổi trong mỗi phiên.
  3. Thường xuyên xóa bộ nhớ đệm và dữ liệu IndexedDB, ngăn các đoạn theo dõi còn sót lại.
  4. Sử dụng trình duyệt dấu vân tay chuyên nghiệp, như Trình duyệt dấu vân tay Nest, được tích hợp sẵn quy tắc ngụy trang cho hơn 20 đặc điểm dấu vân tay, hỗ trợ cộng tác nhóm, tích hợp API, v.v., nâng cao hiệu quả vận hành đáng kể.

6. Xu hướng tương lai của dấu vân tay pin

Khi các quy định về quyền riêng tư thắt chặt và các nhà sản xuất trình duyệt hạn chế, độ chính xác ban đầu của API pin đang giảm dần. Nhưng những kẻ theo dõi cũng đang tiến hóa: họ bắt đầu sử dụng Web Audio API (tính toán độ trễ xử lý âm thanh để suy ra tải CPU) và đọc giảm cấp của Battery API (ví dụ: chỉ đọc level, nhưng kết hợp với độ rung của đồng hồ hệ thống để mô hình hóa). Ngoài ra, một số nghiên cứu đã chứng minh rằng ngay cả khi chỉ đọc trạng thái sạc (true/false) và mức pin (0.00~1.00), kết hợp với dấu thời gian có độ chính xác cao, vẫn có thể tạo ra entropy khoảng 2 bit, đủ để làm đặc điểm phụ trợ.

Do đó, đối với cá nhân và nhóm có yêu cầu nghiêm ngặt về quyền riêng tư, phòng thủ chủ động đáng tin cậy hơn là chờ trình duyệt ngừng hỗ trợ API. Bằng cách sử dụng các công cụ chuyên nghiệp như Trình duyệt dấu vân tay Nest, có thể chặn các phương thức theo dõi cũ và thích ứng trước với các phương thức theo dõi mới, đảm bảo mỗi danh tính kỹ thuật số đều có “lớp da ngụy trang” độc đáo.

Tổng kết

Dấu vân tay thông tin pin là một chiến trường mới trong cuộc chiến quyền riêng tư trên internet. Nó khai thác sự tiết lộ trạng thái thiết bị động của trình duyệt để xây dựng cơ chế theo dõi khó loại bỏ. Dù bạn là người dùng thông thường lo lắng về rò rỉ quyền riêng tư cá nhân hay là chuyên gia muốn vận hành an toàn nhiều tài khoản, đều nên coi trọng mối đe dọa này. Từ việc vô hiệu hóa các API không cần thiết đến sử dụng trình duyệt chống dấu vân tay chuyên nghiệp, chiến lược bảo vệ từng bước có thể giảm thiểu rủi ro bị theo dõi. Hãy nhớ: trong thế giới mạng, mỗi điểm dữ liệu nhỏ bé đều có thể trở thành cầu nối kết nối danh tính thực, và bảo vệ những “hạt bụi kỹ thuật số” này chính là sứ mệnh cốt lõi của các công cụ quyền riêng tư thế hệ tiếp theo.