Quản lý đa tài khoản an toàn, bắt đầu từ Masbrowser
Giảm rủi ro liên kết, tăng hiệu suất, hỗ trợ mở rộng quy mô
Tính nhất quán của dấu vân tay trình duyệt là cốt lõi của công nghệ trình duyệt chống phát hiện, và đó cũng là yếu tố quyết định liệu một công cụ có thực sự bảo vệ an toàn cho nhiều tài khoản hay không. Hầu hết các trình duyệt dấu vân tay trên thị trường đều có thể thay đổi các tham số trình duyệt, nhưng chỉ một số ít có thể làm cho mối quan hệ logic giữa các tham số ở các khía cạnh khác nhau hoàn toàn nhất quán. Bài viết này sẽ giải thích rõ ràng nguyên lý kỹ thuật của tính nhất quán dấu vân tay từ đầu đến cuối.
Tính nhất quán của dấu vân tay đề cập đến mối quan hệ logic giữa tất cả các tham số dấu vân tay trong một môi trường trình duyệt, và nó phải tuân theo các ràng buộc vật lý của thiết bị thực. Việc sửa đổi một tham số đơn lẻ rất dễ dàng, nhưng việc làm cho hơn chục khía cạnh như phiên bản hệ điều hành, mẫu card đồ họa, phiên bản trình điều khiển, đầu ra hiển thị, tham số màn hình, ngôn ngữ và múi giờ duy trì sự nhất quán logic đồng thời là một vấn đề kỹ thuật phức tạp.
Logic phát hiện của hệ thống kiểm soát rủi ro nền tảng không kiểm tra từng tham số một cách cô lập, mà là so sánh chéo mối quan hệ giữa các tham số. Một hệ điều hành Windows 11 đi kèm với trình điều khiển GPU năm 2017, một tài khoản có giao diện tiếng Anh đặt múi giờ ở Jakarta - những mâu thuẫn này hầu như không tồn tại trên các thiết bị thực, nhưng lại phổ biến trong các dấu vân tay được tạo ngẫu nhiên. Độ chính xác của mô hình kiểm soát rủi ro trong việc nhận dạng các mâu thuẫn logic như vậy đáng tin cậy hơn nhiều so với việc nhận dạng từng tham số bất thường.

Người bán hàng thương mại điện tử xuyên biên giới và người vận hành ma trận truyền thông xã hội thường mắc phải sai lầm khi coi "dấu vân tay ngẫu nhiên" là "dấu vân tay an toàn" khi lựa chọn công cụ chống liên kết. Sự khác biệt bản chất giữa hai loại này như sau:
| Khía cạnh so sánh | Dấu vân tay ngẫu nhiên | Dấu vân tay nhất quán |
|---|---|---|
| Nguồn tham số | Được tạo ngẫu nhiên bằng thuật toán | Được trích xuất từ cơ sở dữ liệu thiết bị thực |
| Logic đa chiều | Các tham số ngẫu nhiên độc lập, dễ gây mâu thuẫn | Kiểm tra nghiêm ngặt, tuân thủ ràng buộc của thiết bị thực |
| Ổn định giữa các phiên | Mỗi lần khởi động có thể khác nhau | Mỗi lần khởi động hoàn toàn giống nhau |
| Rủi ro bị nhận diện bởi nền tảng | Cao (tổ hợp tham số không tồn tại trong thực tế) | Thấp (mô phỏng thiết bị người dùng thực) |
| Trường hợp sử dụng phù hợp | Thao tác tạm thời, một lần | Nuôi dưỡng tài khoản lâu dài, quản lý nhiều tài khoản |
Dấu vân tay ngẫu nhiên không tạo ra mô phỏng của thiết bị thực, mà là một thực thể bất thường không có nguyên mẫu trong thế giới thực - điều này dễ gây ra phát hiện hơn là không có sự ngụy trang nào cả.
Tính nhất quán của dấu vân tay được tạo thành từ nhiều nhóm mối quan hệ tham số để tạo thành một mạng lưới ràng buộc, mỗi nhóm mối quan hệ là một điểm kiểm tra độc lập.
Bản chất của dấu vân tay Canvas là băm kết quả hiển thị của GPU ở cấp độ pixel. Khi nền tảng thu thập băm Canvas, nó cũng đọc thông tin nhà sản xuất và mẫu GPU thông qua giao diện WebGL. Hai dữ liệu này phải tương ứng - một GPU mẫu cụ thể sẽ tạo ra các đặc điểm đầu ra có quy luật khi hiển thị nội dung cụ thể.
Nếu một môi trường tuyên bố sử dụng NVIDIA GeForce RTX 4070, nhưng băm Canvas hiển thị lại tương ứng với đặc điểm hiển thị của card đồ họa tích hợp Intel, mâu thuẫn này sẽ bị lộ trong vòng một giây trước các công cụ kiểm tra dấu vân tay chuyên dụng. Giải pháp dấu vân tay nhất quán thực tế cần duy trì một thư viện ánh xạ giữa mẫu GPU và đặc điểm hiển thị Canvas tương ứng, thay vì phân phối ngẫu nhiên hai giá trị không liên quan.
Giao diện WebGL tiết lộ nhiều thông tin hơn hầu hết mọi người mong đợi. Ngoài hai trường cơ bản RENDERER (mẫu card đồ họa) và VENDOR (tên nhà sản xuất), dấu vân tay WebGL đầy đủ còn bao gồm:
getSupportedExtensions() - Tập hợp các tiện ích OpenGL được hỗ trợ khác nhau trên các GPU khác nhaugetParameter(MAX_TEXTURE_SIZE) - Hàng chục tham số hiệu suất phần cứnggetShaderPrecisionFormat )Các tham số này có các ràng buộc nội bộ nghiêm ngặt. Mẫu GPU nào hỗ trợ các tiện ích nào, kích thước kết cấu tối đa là bao nhiêu, đều là các đặc điểm phần cứng cố định. Tổ hợp tham số WebGL được tạo ngẫu nhiên rất có thể sẽ xuất hiện tình huống một tiện ích được tuyên bố hỗ trợ nhưng tham số hiệu suất tương ứng không khớp.
Có một mối quan hệ ràng buộc về dòng thời gian giữa phiên bản hệ điều hành và phiên bản trình điều khiển GPU. Windows 11 được phát hành vào tháng 10 năm 2021, có nghĩa là ngày phát hành trình điều khiển GPU của một thiết bị Windows 11 thực tế không thể sớm hơn năm 2021. Nếu một môi trường dấu vân tay hiển thị hệ điều hành là Windows 11, nhưng số bản dựng Chrome trong User-Agent tương ứng với phiên bản năm 2019, mâu thuẫn dòng thời gian này sẽ ngay lập tức bị nhận diện.
Các ràng buộc tương tự bao gồm: mối quan hệ giữa phiên bản macOS và phiên bản engine Safari, kiến trúc Apple Silicon và phạm vi phiên bản hệ điều hành được hỗ trợ, cũng như mẫu thiết bị di động và phiên bản hệ điều hành Android tương ứng.
Chuỗi User-Agent chứa nhiều lớp thông tin phiên bản lồng nhau. Lấy ví dụ sau:
Mozilla/5.0 (Windows NT 10.0; Win64; x64)
AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/120.0.0.0 Safari/537.36
Chuỗi này đồng thời quy định loại hệ điều hành, phiên bản hệ thống, kiến trúc CPU, engine trình duyệt, phiên bản Chrome. Mỗi trường phải tương ứng với các khía cạnh dấu vân tay khác:
navigator.platform phải nhất quán với thông tin hệ thống trong User-Agent.navigator.hardwareConcurrency (số lõi CPU) cần khớp hợp lý với mẫu thiết bị được tuyên bố.Việc chỉ thay thế chuỗi User-Agent mà không đồng bộ hóa các trường liên quan như navigator.platform, navigator.appVersion là lỗi phổ biến của nhiều công cụ cấp thấp. Việc phát hiện bằng navigator.platform sẽ bị "lộ tẩy" ngay lập tức.
Mối quan hệ giữa ngôn ngữ, múi giờ và ba yếu tố địa chỉ IP là sự kết hợp các khía cạnh mà hệ thống kiểm soát rủi ro nền tảng dễ dàng kiểm tra chéo nhất.
Một người dùng Mỹ thực tế: cài đặt ngôn ngữ en-US, múi giờ America/New_York, địa chỉ IP hướng về bờ Đông nước Mỹ - cả ba đều nhất quán cao. Nếu một công cụ quản lý nhiều tài khoản chỉ thay đổi địa chỉ IP, nhưng ngôn ngữ vẫn là zh-CN, múi giờ vẫn là Asia/Shanghai, thì mối quan hệ tam giác sẽ xuất hiện mâu thuẫn ngay lập tức.
Ràng buộc chi tiết hơn nằm ở thứ tự ưu tiên ngôn ngữ. navigator.languages trả về một mảng có thứ tự. Người dùng Nhật Bản thực tế thường trả về ["ja", "en-US", "en"], chứ không chỉ ["en-US"]. Thứ tự ưu tiên ngôn ngữ phản ánh thói quen sử dụng thực tế. Trong bối cảnh đa ngôn ngữ ngày nay, cài đặt ngôn ngữ đơn thuần lại có vẻ bất thường.
| Tham số | Mô tả |
|---|---|
screen.width / height | Độ phân giải vật lý |
window.innerWidth / Height | Kích thước vùng hiển thị khả dụng |
window.devicePixelRatio | Tỷ lệ pixel thiết bị (DPR) |
screen.colorDepth | Độ sâu màu |
Tỷ lệ pixel thiết bị và độ phân giải có mối quan hệ ràng buộc vật lý nghiêm ngặt. DPR của màn hình 1080p thông thường là 1, DPR của màn hình Retina MacBook là 2, DPR của một số điện thoại cao cấp là 3. Một môi trường tuyên bố có độ phân giải máy tính để bàn 1920×1080 nhưng DPR được đặt là 3, một tổ hợp như vậy hầu như không tồn tại trên các thiết bị máy tính để bàn thực tế.
Hầu hết các cuộc thảo luận về tính nhất quán của dấu vân tay tập trung vào sự nhất quán logic của các tham số trong một phiên duy nhất, nhưng tính ổn định giữa các phiên cũng rất quan trọng và dễ bị bỏ qua hơn.
Một người dùng thực tế sử dụng cùng một thiết bị trong thời gian dài. Băm Canvas, kết quả hiển thị WebGL, danh sách phông chữ, tham số màn hình của thiết bị này sẽ không thay đổi trong một khoảng thời gian khá dài (trừ khi nâng cấp hệ thống hoặc thay thế phần cứng). Nếu mỗi lần đăng nhập nền tảng, một tài khoản lại hiển thị một dấu vân tay khác nhau, ngay cả khi mỗi lần bên trong đều nhất quán, nền tảng vẫn sẽ nhận diện "tài khoản này đến từ các thiết bị khác nhau mỗi lần" - đây bản thân nó đã là một tín hiệu bất thường.
Yêu cầu cơ bản về tính ổn định giữa các phiên:
Yêu cầu này có vẻ đơn giản, nhưng về mặt kỹ thuật, nó liên quan đến việc quản lý phiên bản và xử lý khả năng tương thích của các tham số dấu vân tay, đây là một chi tiết dễ xảy ra lỗi hồi quy.
Việc đưa các mối quan hệ ràng buộc trên vào một sản phẩm hữu dụng có ba thách thức kỹ thuật cốt lõi.
Cơ sở của ràng buộc nhất quán là dữ liệu thiết bị thực. Nếu không có mẫu dấu vân tay của thiết bị thực, sẽ không có nguồn quy tắc ràng buộc đáng tin cậy. Việc xây dựng cơ sở dữ liệu dấu vân tay yêu cầu thu thập có hệ thống ảnh chụp nhanh dấu vân tay đa chiều từ các thiết bị thực, bao phủ các tổ hợp phổ biến về phiên bản hệ điều hành, kiến trúc CPU, mẫu card đồ họa, thông số kỹ thuật màn hình.
Việc bảo trì là một thách thức liên tục hơn việc xây dựng. Mỗi khi một phiên bản hệ điều hành mới được phát hành, một mẫu GPU mới được tung ra thị trường, Chrome phát hành phiên bản mới, cơ sở dữ liệu dấu vân tay cần được cập nhật tương ứng. Một cơ sở dữ liệu dấu vân tay chưa được cập nhật trong hai năm sẽ có rất nhiều tổ hợp tham số "thiết bị thực" đã lỗi thời trên thị trường hiện tại. Các tài khoản sử dụng các tham số này sẽ trở nên bất thường do "thiết bị quá cũ".
Mối quan hệ ràng buộc giữa các tham số dấu vân tay là một biểu đồ ràng buộc có hướng, không phải là một tập hợp các mục cấu hình độc lập. Mẫu GPU ràng buộc danh sách tiện ích WebGL, danh sách tiện ích WebGL ràng buộc đặc điểm đầu ra hiển thị, đặc điểm đầu ra hiển thị ràng buộc băm Canvas - đây là một chuỗi ràng buộc.
Công cụ quy tắc nhất quán cần kiểm tra thời gian thực các lựa chọn tham số khi người dùng cấu hình môi trường tài khoản, từ chối các tổ hợp tham số không khả thi về mặt logic, và tự động suy ra phạm vi giá trị hợp lệ của các tham số liên quan khi người dùng thay đổi một tham số nào đó. Cơ sở quy tắc của công cụ này cần bao gồm hàng trăm quy tắc ràng buộc và được cập nhật liên tục theo sự phát triển của logic phát hiện kiểm soát rủi ro nền tảng.
Một số tham số dấu vân tay sẽ thay đổi tự nhiên theo thời gian và không thể cố định hoàn toàn. Một ví dụ điển hình là số phiên bản Chrome - trình duyệt sẽ tự động cập nhật trong quá trình sử dụng bình thường, và trên các thiết bị sử dụng lâu dài, phiên bản Chrome sẽ tiến dần theo thời gian.
Giải pháp dấu vân tay cần xây dựng chiến lược cập nhật hợp lý cho các tham số động: phiên bản Chrome có thể dần tiến triển theo phân phối phiên bản phổ biến trên thị trường, nhưng sau mỗi lần cập nhật, các tham số liên quan khác (đặc điểm dấu vân tay TLS, các trường tiêu đề HTTP, v.v.) cũng phải được thay đổi đồng bộ, không được để số phiên bản cập nhật nhưng các đặc điểm liên quan vẫn ở phiên bản cũ.
Khi lựa chọn hoặc đánh giá trình duyệt dấu vân tay, các phương pháp sau đây có thể được sử dụng để kiểm tra thực tế mức độ nhất quán của dấu vân tay trong một môi trường.
Kiểm tra đa chiều trên BrowserLeaks
Truy cập browserleaks.com và xem kết quả thu thập thực tế theo từng mục của Canvas, WebGL, AudioContext, môi trường JavaScript, WebRTC, v.v. Tập trung kiểm tra xem các trường Renderer và Vendor của WebGL có đến từ cùng một loại thiết bị với băm Canvas hay không.
Đánh giá tổng thể trên CreepJS
Truy cập abrahamjuliot.github.io/creepjs, công cụ này sẽ đánh giá tổng thể môi trường trình duyệt và đánh dấu rõ ràng những khía cạnh nào có tín hiệu không nhất quán. Theo thực tế kiểm tra, độ chi tiết của công cụ này trong việc nhận dạng mâu thuẫn đa chiều còn tinh hơn BrowserLeaks.
Xác minh tính nhất quán giữa các phiên
Sử dụng cùng một môi trường tài khoản, tắt và mở lại sau một khoảng thời gian, sau đó lưu trữ băm Canvas và giá trị WebGL Renderer trên BrowserLeaks. So sánh xem hai kết quả có hoàn toàn giống nhau hay không. Bất kỳ sự khác biệt nào đều cho thấy công cụ này có vấn đề về tính ổn định giữa các phiên.
Xác minh tam giác múi giờ và ngôn ngữ
Sau khi cấu hình proxy, đồng thời kiểm tra mối quan hệ giữa ba giá trị sau đây với vị trí địa lý của địa chỉ IP proxy:
Intl.DateTimeFormat().resolvedOptions().timeZonenavigator.languagenavigator.languagesNếu ba giá trị này không nhất quán, điều đó cho thấy cơ chế đồng bộ hóa ngôn ngữ và múi giờ bị thiếu sót.
Sự đầu tư vào kỹ thuật tính nhất quán của dấu vân tay tại MasBrowser được thể hiện qua một số quyết định thiết kế sản phẩm cụ thể.
Khi tạo môi trường tài khoản, hệ thống sẽ khớp một bản ghi thiết bị hoàn chỉnh từ cơ sở dữ liệu dấu vân tay thiết bị thực, thay vì để người dùng cấu hình từng mục thủ công. Điểm mấu chốt của thiết kế này là: người dùng không cần hiểu mối quan hệ ràng buộc giữa các khía cạnh, công cụ đảm bảo ở tầng dưới rằng tất cả các tham số đều đến từ cùng một thiết bị thực, do đó mối quan hệ ràng buộc mặc định được thiết lập.
Đối với các tham số động (ví dụ: phiên bản Chrome), chiến lược của MasBrowser là theo dõi sự phân phối phiên bản phổ biến trên thị trường, thay vì cố định ở một phiên bản nào đó – việc cố định phiên bản thực sự có thể tạo ra tín hiệu bất thường do "phiên bản quá cũ" trong quá trình vận hành tài khoản dài hạn.
Mối quan hệ tam giác giữa ngôn ngữ, múi giờ và địa chỉ IP proxy được hệ thống tự động xử lý khi phân phối proxy. Ngôn ngữ và múi giờ của môi trường tài khoản được liên kết với vị trí địa lý của địa chỉ IP proxy, không yêu cầu người dùng tự khớp. Chi tiết này là nơi dễ mắc lỗi nhất trong kịch bản cấu hình thủ công và cũng là một trong những điểm đau tập trung được người vận hành thương mại điện tử đa tài khoản phản hồi nhiều nhất.

Không. Tính duy nhất của dấu vân tay chỉ ra rằng mỗi môi trường tài khoản có đặc điểm dấu vân tay khác với các môi trường khác, giải quyết vấn đề chống liên kết. Tính nhất quán của dấu vân tay chỉ ra sự tự nhất quán về logic giữa các tham số trong một môi trường đơn lẻ, giải quyết vấn đề môi trường đơn lẻ bị nhận diện là thiết bị bất thường. Một dấu vân tay duy nhất với mâu thuẫn logic bên trong vẫn sẽ bị hệ thống kiểm soát rủi ro nhận diện là bất thường - cả hai đều cần được đáp ứng.
Hoàn toàn không đủ. User-Agent là một trong nhiều tham số được nền tảng thu thập, và là tham số dễ bị giả mạo nhất. Mức độ tin cậy của nền tảng đối với nó thấp hơn nhiều so với các tham số khó giả mạo như kết quả hiển thị Canvas, thông tin phần cứng WebGL. Chỉ thay đổi User-Agent mà không đồng bộ thay đổi các tham số liên quan, ngược lại sẽ tạo ra tín hiệu không nhất quán rõ ràng.
Tính nhất quán của dấu vân tay là một trong những điều kiện cần để đảm bảo an toàn cho tài khoản, nhưng không phải là điều kiện đủ. Một môi trường dấu vân tay với các tham số hoàn toàn nhất quán, nếu hành vi của tài khoản bất thường (thao tác tần suất cao, đặc điểm robot, vi phạm quy tắc nền tảng) thì vẫn có thể kích hoạt hệ thống kiểm soát rủi ro. An toàn ở cấp độ dấu vân tay và an toàn ở cấp độ hành vi cần được đáp ứng đồng thời.
Không có chu kỳ cố định, phụ thuộc vào tốc độ thay đổi phân phối thiết bị trên thị trường và tần suất cập nhật quy tắc kiểm soát rủi ro của nền tảng. Phân phối phiên bản của các hệ điều hành và trình duyệt phổ biến có xu hướng thay đổi đáng kể mỗi quý. Tần suất cập nhật cơ sở dữ liệu dấu vân tay ít nhất nên tương ứng với nhịp độ này. Đối với hệ điều hành mới phát hành hoặc phiên bản lớn của Chrome, lý tưởng nhất là khi tỷ lệ người dùng phổ biến đạt trên 5%, cơ sở dữ liệu dấu vân tay đã bao gồm các bản ghi thiết bị thực tương ứng.