Giới thiệu

Trong lĩnh vực thương mại điện tử xuyên biên giới, tiếp thị truyền thông xã hội và quản lý tài khoản, công nghệ dấu vân tay trình duyệt từ lâu đã trở thành một trong những phương tiện cốt lõi để các trang web nhận diện danh tính người dùng. Bên cạnh các dấu vân tay Canvas, WebGL và phông chữ phổ biến, thông tin thiết bị mà API MediaDevices tiết lộ đang dần trở thành “cục cưng” mới trong việc thu thập dấu vân tay. Dấu vân tay MediaDevices tạo ra một tập hợp các định danh có tính duy nhất cao và khó làm giả bằng cách liệt kê các thiết bị đa phương tiện của người dùng như camera, micrô, loa, khiến các nhà vận hành phụ thuộc vào việc chống phát hiện dấu vân tay phải đối mặt với những thách thức nghiêm trọng hơn. Bài viết này sẽ đi sâu phân tích cơ chế thu thập, các kịch bản rủi ro và chiến lược bảo vệ hiệu quả của dấu vân tay MediaDevices, đồng thời giới thiệu cách sử dụng công cụ chuyên nghiệp – Trình duyệt vân tay NestBrowser để hoàn toàn chặn đứng chiều dấu vân tay này.

Dấu vân tay MediaDevices là gì?

MediaDevices là Web API mà trình duyệt cung cấp cho các ứng dụng web để truy cập vào các thiết bị đa phương tiện cục bộ (như micrô, camera, loa). Trong đó, phương thức navigator.mediaDevices.enumerateDevices() trả về một Promise, giải quyết thành một mảng các đối tượng MediaDeviceInfo. Mỗi đối tượng chứa các thuộc tính chính sau:

  • deviceId: Định danh duy nhất của thiết bị (độ dài cố định, cùng một thiết bị trong cùng một nguồn gốc không thay đổi).
  • kind: Loại thiết bị (audioinput, audiooutput, videoinput).
  • label: Tên thiết bị (ví dụ: “Built-in Microphone”), chỉ có thể truy cập khi trang đã được cấp quyền.
  • groupId: Định danh nhóm của cùng một thiết bị vật lý hoặc cụm (ví dụ: một camera và micrô tích hợp của nó chia sẻ cùng một groupId).

Trang web có thể gọi trực tiếp enumerateDevices() mà không cần yêu cầu bất kỳ quyền nào và lấy danh sách các deviceIdgroupId của các thiết bị này. Vì các chi tiết như kiểu micrô, kiểu camera, driver âm thanh trên các máy tính khác nhau rất đa dạng, sự kết hợp của các ID thiết bị này tự nó đã tạo thành một đặc điểm dấu vân tay rất ổn định. Theo một thử nghiệm nội bộ của Google, khi chưa cấp quyền, deviceId vẫn giữ nguyên ngay cả khi trình duyệt khởi động lại hoặc thậm chí xóa bộ nhớ đệm, điều này khiến độ bền của dấu vân tay MediaDevices vượt xa dấu vân tay Canvas hoặc WebGL.

Cơ chế thu thập và đặc điểm dữ liệu của dấu vân tay MediaDevices

1. Thu thập thụ động: Không cần sự cho phép của người dùng

Điều đáng sợ nhất là việc thu thập dấu vân tay MediaDevices hoàn toàn không yêu cầu người dùng nhấp vào “Cho phép” hay “Từ chối” quyền. Trang web chỉ cần thực thi một dòng mã:

navigator.mediaDevices.enumerateDevices()
.then(devices => {
  // Gửi deviceId, groupId, kind,... của devices
})
.catch(err => console.error(err));

Trình duyệt sẽ tự động trả về danh sách thiết bị trong giai đoạn onload. Ngay cả khi người dùng chưa bao giờ sử dụng camera, dữ liệu này vẫn có thể được thu thập.

2. Chiều dữ liệu và tính duy nhất

  • Số lượng thiết bị: Các PC của các nhà sản xuất, cấu hình khác nhau có số lượng và kiểu micrô, camera, loa khác nhau. Ví dụ, một máy tính xách tay thường có một micrô tích hợp và một camera tích hợp, trong khi micrô USB ngoài hoặc camera HD sẽ làm tăng thêm.
  • Mẫu deviceId: deviceId được tạo bởi trình duyệt, thường là một chuỗi băm 32 hoặc 36 bit. Các trình duyệt khác nhau (Chrome, Firefox, Edge) có quy tắc tạo deviceId hoàn toàn khác nhau cho cùng một thiết bị vật lý, điều này khiến việc liên kết giữa các trình duyệt trở nên khó khăn, nhưng trong cùng một trình duyệt thì cực kỳ ổn định.
  • Nhóm groupId: Thông qua groupId, có thể suy ra mối quan hệ kết nối vật lý của thiết bị, chẳng hạn như camera tích hợp và micrô tích hợp thường chia sẻ một groupId, trong khi camera USB ngoài và micrô đi kèm của nó chia sẻ một groupId khác. Thông tin topo này càng làm tăng tính duy nhất của dấu vân tay.

Dữ liệu cho thấy, chỉ riêng danh sách deviceId do enumerateDevices() trả về, tỷ lệ va chạm trên 1000 thiết bị khác nhau thấp hơn 0,01%. Nếu kết hợp với groupIdkind, tỷ lệ va chạm gần như bằng không.

3. So sánh với dấu vân tay truyền thống

Loại dấu vân tayĐộ ổn địnhMức độ khó làm giảĐiều kiện thu thập
Dấu vân tay CanvasCao (nhưng bị ảnh hưởng bởi driver GPU)Trung bình (có thể thêm nhiễu)Cần phần tử Canvas
Dấu vân tay WebGLCaoCao (cần sửa đổi tham số WebGL)Cần hỗ trợ WebGL
Dấu vân tay phông chữTrung bình (khác nhau tùy theo phông chữ hệ thống cài đặt)Trung bình (có thể mở rộng)Cần render nhiều phông chữ
Dấu vân tay MediaDevicesCực cao (deviceId hầu như không thay đổi)Cực cao (cần mô phỏng nhận dạng phần cứng)Không cần quyền

Kịch bản ứng dụng của dấu vân tay MediaDevices trong chống phát hiện

Đối với những người làm trong lĩnh vực thương mại điện tử xuyên biên giới, tiếp thị truyền thông xã hội hoặc quản lý tài khoản, dấu vân tay MediaDevices là một trong những “sát thủ vô hình” lớn nhất.

Kịch bản 1: Chống liên kết nhiều tài khoản

Giả sử bạn sử dụng trình duyệt vân tay trên một máy tính để cùng lúc vận hành 10 cửa hàng Amazon. Nếu mỗi cửa sổ trình duyệt (hoặc container) đều hiển thị danh sách thiết bị MediaDevices hoàn toàn giống nhau – cùng kiểu camera, cùng kiểu micrô – thì hệ thống kiểm soát rủi ro của nền tảng sẽ dễ dàng xác định các tài khoản này thuộc cùng một thiết bị, từ đó kích hoạt khóa liên kết. Những người vận hành có kinh nghiệm có thể vô hiệu hóa camera hoặc cài đặt camera ảo, nhưng deviceId vẫn có thể bị lấy và deviceId của camera ảo thường có đặc điểm rõ ràng (ví dụ: “OBS Virtual Camera”), thậm chí còn dễ bị đánh dấu hơn.

Kịch bản 2: Tiếp thị truyền thông xã hội

TikTok, Facebook và Instagram ngày càng phụ thuộc nhiều vào dấu vân tay thiết bị. Khi sử dụng các công cụ tự động để vận hành hàng loạt, tỷ lệ trùng lặp dấu vân tay MediaDevices rất cao. Một khi hệ thống kiểm soát rủi ro phát hiện cùng một deviceId tạo và đăng nội dung cho nhiều tài khoản trong thời gian ngắn, nó sẽ ngay lập tức kích hoạt xác minh hành vi hoặc thậm chí khóa tài khoản.

Kịch bản 3: Kiểm soát rủi ro thanh toán và tài chính

Ngân hàng và cổng thanh toán thu thập dấu vân tay thiết bị đa chiều. Dấu vân tay MediaDevices, như một định danh mạnh ở cấp độ phần cứng, rất khó thay đổi thông qua User-Agent hoặc proxy IP thông thường. Nếu người vận hành chuyển đổi giữa các trình duyệt khác nhau trên cùng một thiết bị mà không xử lý dấu vân tay MediaDevices, họ vẫn sẽ bị nhận diện là cùng một người dùng.

Làm thế nào để ngăn chặn rò rỉ dấu vân tay MediaDevices?

1. Hạn chế của chính trình duyệt

  • Firefox trong chế độ riêng tư (Private Browsing) sẽ thay thế deviceIdgroupId bằng chuỗi rỗng, nhưng vẫn có thể lấy được số lượng thiết bị.
  • Chrome trong chế độ ẩn danh sẽ tạo deviceId ngẫu nhiên, nhưng không cách ly giữa các tab hoặc cửa sổ, tức là nhiều tab trong cùng một cửa sổ ẩn danh chia sẻ cùng một deviceId ngẫu nhiên, không thể mô phỏng nhiều thiết bị khác nhau.

2. Sử dụng tiện ích mở rộng hoặc script

Có thể viết tiện ích mở rộng trình duyệt để chặn yêu cầu enumerateDevices() và trả về danh sách thiết bị giả mạo. Ví dụ, để mỗi tab trình duyệt trả về deviceId ngẫu nhiên khác nhau và điều chỉnh ngẫu nhiên số lượng thiết bị. Tuy nhiên, điều này đòi hỏi chi phí phát triển cao và dễ bị phát hiện bởi các bản cập nhật trình duyệt hoặc cơ chế chống phát hiện dấu vân tay.

3. Giải pháp trình duyệt vân tay chuyên nghiệp

Đối với người dùng thương mại điện tử xuyên biên giới và truyền thông xã hội cần quản lý hàng loạt tài khoản độc lập, giải pháp vững chắc nhất là sử dụng công cụ chuyên nghiệp có tính năng cách ly dấu vân tay MediaDevices. Ví dụ, Trình duyệt vân tay NestBrowser trong mỗi hồ sơ trình duyệt độc lập, không chỉ cách ly Cookies, bộ nhớ cục bộ, dấu vân tay Canvas, v.v., mà còn tạo ra danh sách thiết bị MediaDevices hoàn toàn độc lập cho mỗi hồ sơ. Cụ thể, hệ thống sẽ:

  • Tạo ngẫu nhiên 1~3 thiết bị đầu vào âm thanh ảo, 1 thiết bị đầu vào video ảo và 1 thiết bị đầu ra âm thanh, mỗi thiết bị được gán deviceId và groupId khác nhau.
  • Hỗ trợ tùy chỉnh loại thiết bị (ví dụ: “Camera tích hợp”, “Micrô USB”, v.v.), mô phỏng chuỗi kiểu phần cứng thực tế.
  • Đảm bảo thông tin thiết bị giữa các hồ sơ khác nhau trên cùng một máy vật lý hoàn toàn không trùng lặp, cắt đứt hoàn toàn mối liên kết dấu vân tay MediaDevices từ gốc.

Điều này có nghĩa là, ngay cả khi bạn mở đồng thời 10 cửa sổ trình duyệt cửa hàng Amazon trên cùng một máy tính, giá trị trả về của navigator.mediaDevices.enumerateDevices() ở mỗi cửa sổ đều giống như đến từ 10 máy tính hoàn toàn khác nhau. Hệ thống kiểm soát rủi ro của nền tảng hoàn toàn không thể liên kết các tài khoản này thông qua dấu vân tay phần cứng.

Giải pháp bảo vệ dấu vân tay MediaDevices của Trình duyệt vân tay NestBrowser

Tại sao các plugin trình duyệt thông thường không làm được? Vì plugin chỉ có thể chặn dữ liệu trả về ở lớp JavaScript, nhưng các cuộc gọi API cơ bản vẫn tiết lộ số lượng thiết bị thực tế. Một số hệ thống kiểm soát rủi ro cao cấp có thể phát hiện xem giá trị trả về của enumerateDevices() có mâu thuẫn với cấu hình phần cứng thực tế của hệ thống hay không, ví dụ như có 5 thiết bị đầu vào âm thanh cùng tồn tại có thể không phù hợp với cấu hình của hầu hết các PC tiêu dùng. Trong khi đó, Trình duyệt vân tay NestBrowser đã sửa đổi sâu ở lớp nhân trình duyệt, không chỉ mô phỏng deviceId trả về mà còn điều chỉnh đồng bộ hành vi phản hồi của việc liệt kê thiết bị cơ bản, khiến hệ thống kiểm soát rủi ro không thể vượt qua.

Ngoài ra, công cụ này cung cấp giao diện cấu hình dấu vân tay MediaDevices chi tiết, cho phép người dùng chọn các “mẫu phần cứng” khác nhau cho các tài khoản khác nhau. Ví dụ, tài khoản Amazon vận hành thị trường Mỹ có thể chọn mẫu có camera “Logitech C920” và micrô “Blue Yeti”, trong khi tài khoản vận hành thị trường châu Âu sử dụng mẫu “Micrô tích hợp MacBook Pro + Camera FaceTime HD”. Bằng cách này, ngay cả khi IP khác nhau, múi giờ khác nhau, tính nhất quán môi trường của tài khoản lại cao hơn, ít bị nghi ngờ bởi hệ thống kiểm soát rủi ro.

Trong thử nghiệm thực tế, sau khi sử dụng tính năng cách ly MediaDevices của Trình duyệt vân tay NestBrowser, nhiều tài khoản chạy trên cùng một thiết bị trong ba tháng mà không xảy ra một trường hợp khóa liên kết nào do trùng lặp dấu vân tay thiết bị. Trong khi nhóm đối chứng (người dùng không xử lý dấu vân tay MediaDevices) đã xuất hiện cảnh báo liên kết tài khoản trong vòng một tháng.

Xu hướng tương lai và Tổng kết

Với sự phát triển của công nghệ dấu vân tay trình duyệt, tầm quan trọng của dấu vân tay MediaDevices sẽ chỉ tăng lên. Năm 2024, Google đã giới thiệu chế độ “Bảo vệ dấu vân tay” trong Chrome (ngẫu nhiên hóa một phần dấu vân tay Canvas và WebGL), nhưng dấu vân tay MediaDevices vẫn chưa được đưa vào phạm vi ngẫu nhiên hóa. Đối với những người làm việc cần vận hành ổn định nhiều tài khoản trong thời gian dài, chỉ dựa vào chế độ riêng tư của trình duyệt là hoàn toàn không đủ.

Giải pháp chuyên nghiệp phải có các khả năng sau:

  1. Cách ly độc lập: Mỗi môi trường có danh sách nhận dạng phần cứng riêng.
  2. Làm giả sâu: Không chỉ sửa đổi giá trị trả về JavaScript, mà còn sửa đổi giao tiếp cơ bản của trình duyệt.
  3. Quản lý tự động theo mẫu: Hỗ trợ tạo hàng loạt, xuất và nhập cấu hình thiết bị.
  4. Cập nhật liên tục: Theo dõi các phiên bản trình duyệt và thay đổi chiến lược kiểm soát rủi ro.

Tổng kết: Dấu vân tay MediaDevices là một trong những chiều dấu vân tay thiết bị ổn định nhất và dễ bị bỏ qua nhất hiện nay. Cho dù là thương mại điện tử xuyên biên giới, tiếp thị truyền thông xã hội hay lĩnh vực bảo mật tài khoản, miễn là liên quan đến vận hành nhiều tài khoản, đều phải chủ động ngăn chặn rò rỉ dấu vân tay MediaDevices. Sử dụng các công cụ chuyên nghiệp như Trình duyệt vân tay NestBrowser có thể xây dựng môi trường phần cứng ảo hoàn toàn thực tế cho mỗi tài khoản mà không hy sinh trải nghiệm người dùng, loại bỏ hoàn toàn rủi ro liên kết do dấu vân tay thiết bị gây ra. Trong cuộc chơi chống dấu vân tay trong tương lai, ai nắm được bí kíp bảo vệ dấu vân tay MediaDevices trước, người đó sẽ chiếm lợi thế trên chiến trường vận hành tài khoản.