WebGL Fingerprinting là gì?
Scrapeless Agent Browser chạy các phiên trình duyệt đám mây có thể điều khiển cho các tác vụ web động và cung cấp các thiết lập được ghi lại cho các thuộc tính fingerprint trình duyệt được chọn.
WebGL Fingerprint là gì?
WebGL fingerprinting là việc thu thập các đặc điểm liên quan đến đồ họa của trình duyệt và kết quả kết xuất để giúp phân biệt trình duyệt hoặc thiết bị. Một bộ thu thập có thể kiểm tra các khả năng được hỗ trợ, các extension khả dụng và đầu ra của một thao tác vẽ được chọn. Tập hợp hoặc hash thu được là một tín hiệu về môi trường đồ họa.
Bản thân WebGL là một giao diện đồ họa, không phải một tính năng theo dõi. Một bản đồ, hình ảnh trực quan hoặc ứng dụng thiết kế có thể dùng nó để kết xuất nội dung. Fingerprinting xuất hiện khi một bên quan sát sử dụng các đặc điểm của giao diện đó cho mục đích nhận dạng hoặc liên kết. Việc thấy một trang tạo ngữ cảnh đồ họa không tự nó chứng minh rằng việc theo dõi đang diễn ra.
Đặc tả WebGL định nghĩa API đồ họa và hành vi có thể quan sát của nó. Một hệ thống fingerprinting chọn một tập con các quan sát đó và có thể kết hợp chúng với các thuộc tính trình duyệt không liên quan. Không có một “WebGL fingerprint” chung duy nhất mà mọi website đều tính theo cùng một cách.
Tóm tắt
- WebGL fingerprints mô tả một môi trường đồ họa. Chúng có thể bao gồm các khả năng và đầu ra đã kết xuất.
- Tên renderer chỉ là một quan sát trong số đó. Nhiều trình duyệt có thể để lộ thông tin đồ họa tương tự.
- Kết quả đồ họa phụ thuộc vào đường đi phần mềm cũng như phần cứng. Trình điều khiển (driver) và thay đổi trình duyệt có thể ảnh hưởng tới các quan sát.
- Định tuyến qua proxy không trực tiếp thay đổi đầu ra WebGL. Đường đi mạng và môi trường đồ họa là hai lớp riêng biệt.
Một trang có thể quan sát những tín hiệu đồ họa nào?
Một trang có thể quan sát các khả năng và đầu ra mà ngữ cảnh WebGL của nó cung cấp. Chúng có thể bao gồm các giới hạn tham số, extension được hỗ trợ, thông tin độ chính xác shader và dữ liệu đọc về từ một cảnh đã kết xuất. Mức độ khả dụng thay đổi theo trình duyệt, triển khai đồ họa và thiết lập quyền riêng tư.
Extension WebGL debug renderer information phơi lộ các hằng số cho thông tin vendor và renderer không che mặt khi extension này khả dụng. Một site không được giả định rằng mọi trình duyệt đều cung cấp nó. Một extension không khả dụng là một quan sát về ngữ cảnh hiện tại, hơn là một tuyên bố kết luận về khách truy cập.
Thông tin renderer có thể mô tả một thiết bị phần cứng, một lớp chuyển dịch, hoặc một đường đi phần mềm. Đọc một nhãn khác với việc đo trực tiếp một card đồ họa vật lý. Một môi trường ảo hóa có thể phơi lộ một triển khai do máy chủ chọn. Một trình duyệt cũng có thể hạn chế thông tin được trả về vì lý do quyền riêng tư.
Đối với chẩn đoán, hãy lưu cả ý nghĩa của một quan sát cùng với giá trị. Phân biệt “extension không khả dụng” với “extension khả dụng nhưng không có giá trị renderer.” Nếu các trường hợp đó bị gộp lại thành một chuỗi rỗng, phân tích về sau có thể nhầm dữ liệu thiếu với một đặc điểm thiết bị dùng chung.
Đầu ra đã kết xuất trở thành fingerprint như thế nào?
Đầu ra đã kết xuất trở thành fingerprint khi một bộ thu thập vẽ một cảnh được chọn, đọc dữ liệu kết quả và tóm tắt dữ liệu đó để so sánh. Những khác biệt nhỏ trong triển khai có thể ảnh hưởng đến đầu ra. Bộ thu thập quyết định cảnh nào, kích thước, thiết lập và phương pháp tuần tự hóa sẽ dùng.
Hash giúp việc so sánh thuận tiện, nhưng cũng che giấu lý do của sự khác biệt. Nếu hash thay đổi, cảnh có thể đã thay đổi, môi trường có thể đã thay đổi hoặc việc thu thập có thể đã thất bại. Không có phương pháp thu thập có phiên bản và bằng chứng thực thi cơ bản, một hash thay đổi sẽ khó diễn giải.
Hãy xét một bài kiểm tra tương thích minh họa cho một biểu đồ dựa trên WebGL. Một nhóm so sánh một trình duyệt đám mây với một trình duyệt cục bộ dùng cùng trang kiểm tra. Ảnh chụp màn hình khác nhau. Trước khi quy sự khác biệt này cho fingerprinting, hãy kiểm tra kích thước viewport, tỷ lệ thiết bị, tải phông chữ, thiết lập màu và đường đi đồ họa. Lỗi đồ họa và quan sát quyền riêng tư là những phát hiện khác nhau ngay cả khi chúng bắt đầu từ cùng một ảnh chụp màn hình.
Một thí nghiệm đáng tin cậy giữ nguyên trang và phương pháp thu thập. Ghi lại bản build trình duyệt, môi trường vận hành, phiên bản bài kiểm tra và việc khởi tạo đồ họa có thành công hay không. Tránh công bố tuyên bố rằng một renderer là duy nhất trên toàn cầu trừ khi tuyên bố đó được hỗ trợ bởi một nghiên cứu quần thể phù hợp.
So sánh WebGL, Canvas và TLS Fingerprint
WebGL, canvas và TLS fingerprints quan sát các lớp khác nhau của hệ thống duyệt web. WebGL gắn với một ngữ cảnh đồ họa. Canvas fingerprinting thường ám chỉ việc vẽ và đọc một canvas thông qua các API kết xuất khác. TLS fingerprint quan sát các đặc điểm bắt tay kết nối bên ngoài môi trường JavaScript thông thường của trang.
| Tín hiệu | Điểm quan sát | Ngữ cảnh điển hình |
|---|---|---|
| Khả năng WebGL | JavaScript trên trang sử dụng một ngữ cảnh đồ họa | Extension, giới hạn, renderer được phơi lộ |
| Đầu ra đồ họa đã kết xuất | Dữ liệu được tạo ra bởi một thao tác vẽ được định nghĩa | So sánh hành vi triển khai đồ họa |
| Đầu ra canvas khác | Vẽ canvas và đọc lại | Hành vi văn bản và vẽ |
| TLS fingerprint | Máy chủ hoặc bên quan sát mạng của quá trình bắt tay | Các đặc điểm triển khai kết nối mạng phía khách |
Một script ở cấp trang không thể đơn giản đọc giá trị JA3 hoặc JA4 của chính kết nối của nó thông qua WebGL. Đo lường đó cần một bên quan sát có quyền truy cập vào quá trình bắt tay tương ứng. Giữ rõ ràng sự phân biệt này trong các công cụ gỡ lỗi để việc kiểm tra trình duyệt không hàm ý một phép đo mạng mà nó chưa từng thực hiện.
Tại sao WebGL fingerprinting lại quan trọng đối với quyền riêng tư?
WebGL fingerprinting quan trọng đối với quyền riêng tư vì các đặc điểm đồ họa có thể đóng góp vào việc nhận diện một trình duyệt giữa nhiều lần truy cập. Mức độ quan trọng phụ thuộc vào cách kết hợp tín hiệu, thời gian nó giữ ổn định, và các thông tin khác mà bên quan sát nắm giữ.
Tài liệu hướng dẫn của W3C về giảm thiểu fingerprinting mô tả cách các đặc điểm trình duyệt được lộ ra có thể tạo ra rủi ro nhận dạng và liên kết. Một tín hiệu không cần phải nhận dạng duy nhất mọi người để làm tăng khả năng liên kết trong một nhóm nhỏ hơn. Tương tự, một tín hiệu trùng khớp không chứng minh rằng hai lần truy cập đến từ cùng một người.
Đối với một nhóm sản phẩm, hãy thu thập ít chi tiết nhất cần thiết cho mục đích chẩn đoán đã nêu. Một báo cáo tương thích có thể cần phân biệt bộ kết xuất phần mềm với đường dẫn phần cứng mà không giữ lại một định danh khách truy cập lâu dài. Giải thích việc thu thập và giới hạn thời gian lưu trữ. Việc kết hợp các quan sát đồ họa với hồ sơ tài khoản sẽ thay đổi tác động quyền riêng tư của bộ dữ liệu.
Đối với người dùng, các điều khiển quyền riêng tư có thể giảm mức độ lộ diện, chuẩn hóa giá trị hoặc hạn chế một số kiểu đọc lại. Mỗi cách đều có hệ quả về tương thích. Tắt một tính năng đồ họa có thể ảnh hưởng tới bản đồ hoặc các công cụ trực quan. Ngẫu nhiên hóa có thể khiến các lần quan sát lặp lại khác nhau mà không đảm bảo rằng phiên duyệt web tổng thể không thể bị liên kết.
Fingerprint tùy chỉnh thực sự bao phủ những gì?
Fingerprint tùy chỉnh chỉ bao phủ các thuộc tính mà một triển khai cụ thể hỗ trợ rõ ràng. Một điều khiển cho User-Agent không ngụ ý điều khiển cho đầu ra shader, và một cài đặt kích thước màn hình không ngụ ý thay đổi GPU vật lý.
Các cài đặt fingerprint tùy chỉnh của Agent Browser hiện tại mô tả một số điều khiển được chọn và các giới hạn của chúng. Khả năng User-Agent được ghi nhận không sửa đổi chi tiết công cụ kết xuất như các tính năng kết xuất WebGL. Tài liệu cũng phân biệt kích thước màn hình cơ bản với mật độ điểm ảnh thiết bị và fingerprinting ở cấp phần cứng. Hãy sử dụng các ranh giới đã nêu đó khi thiết kế một bài kiểm tra.
Dịch vụ Scrapeless Agent Browser có liên quan khi tác vụ của bạn cần một môi trường trình duyệt được quản lý và thực thi trang thực. Nó không nên được mô tả như một công tắc giả mạo WebGL toàn năng. Một ứng dụng yêu cầu một tính năng đồ họa cụ thể phải kiểm tra tính năng đó trong môi trường dự định.
Proxy hữu ích cho việc định tuyến mạng, nhưng nó không trực tiếp thay thế cho triển khai đồ họa của trình duyệt. Nếu một bài kiểm tra có kiểm soát cho thấy kết quả WebGL khác sau khi thay đổi cấu hình proxy, hãy kiểm tra xem quy trình làm việc có đồng thời tạo một phiên trình duyệt mới hoặc thay đổi biến số khác hay không. Bản thân thay đổi tuyến đường là không đủ để xác định nguyên nhân.
Kế hoạch xác thực đồ họa trong thực tế
Một kế hoạch xác thực đồ họa hữu ích đo lường khả năng tương thích và tính nhất quán mà không khẳng định bằng chứng nhận diện nhiều hơn những gì các quan sát hỗ trợ. Chạy kế hoạch trên trang kiểm tra của riêng bạn hoặc một nguồn mà bạn được ủy quyền đánh giá.
- Xác định mục đích. Quyết định xem bạn đang kiểm tra tính đúng đắn của kết xuất, chẩn đoán một khả năng bị thiếu hay đo lường mức độ lộ diện quyền riêng tư. Những nhiệm vụ đó cần các bằng chứng khác nhau.
- Đánh phiên bản bài kiểm tra. Giữ lại hướng dẫn vẽ và bản ghi môi trường cùng với kết quả. Một cảnh mới tạo ra một phương pháp đo lường mới.
- Ghi nhận các trạng thái lỗi. Lỗi tạo ngữ cảnh và thiếu tiện ích mở rộng nên được giữ tách biệt với một kết quả kết xuất đã hoàn thành.
- So sánh các lần quan sát lặp lại. Kiểm tra xem cùng một môi trường được kiểm soát có hoạt động nhất quán hay không trước khi so sánh nó với một môi trường khác.
- Xác thực kết quả ứng dụng. Xác nhận rằng biểu đồ, bản đồ hoặc nội dung cần thiết khác thực sự hoạt động. Một mã băm fingerprint không thay thế cho việc kiểm tra tính năng mà người dùng cần.
Phần giải thích liên quan về các tín hiệu fingerprint WebGL cung cấp bối cảnh, trong khi tài liệu sản phẩm hiện tại điều chỉnh các cài đặt hiện có. Lập ngân sách cho khối lượng công việc thực tế của trình duyệt bằng giá của Scrapeless và hành vi trang mà bạn đã đo. Tránh giả định rằng một bài kiểm tra đồ họa xác định liệu hệ thống bảo mật của bên thứ ba sẽ chấp nhận mọi phiên trong tương lai hay không.
Kết luận
WebGL fingerprinting sử dụng hành vi đồ họa có thể quan sát được như một phần của quy trình nhận diện rộng hơn. Đọc thông tin trình kết xuất một cách thận trọng, phân biệt mã băm đã thu thập với danh tính thiết bị, và kiểm tra các điều khiển trình duyệt được hỗ trợ trong phạm vi được tài liệu nêu rõ. Đối với tự động hóa, bước kiểm tra quyết định là liệu trang được phép có kết xuất nội dung mà quy trình làm việc của bạn yêu cầu hay không.
Xây dựng một quy trình làm việc bạn có thể xác thực
Chọn dịch vụ Scrapeless phù hợp với nguồn dữ liệu được phép của bạn, rồi kiểm tra nội dung trả về so với các trường mà ứng dụng của bạn cần.
Đăng ký hôm nay và nhận $5 tín dụng miễn phí — không cần thẻ tín dụng.
Nhận $5 tín dụng của bạn →Câu hỏi thường gặp
H: WebGL fingerprinting có tiết lộ card đồ họa duy nhất không?
WebGL fingerprinting không thể đáng tin cậy xác định duy nhất một card đồ họa vật lý. Nó để lộ các đặc điểm của môi trường đồ họa, mà nhiều thiết bị có thể dùng chung.
Q: VPN có thay đổi WebGL fingerprint không?
VPN thay đổi định tuyến mạng và không trực tiếp thay đổi việc render WebGL. Một phiên trình duyệt khác hoặc môi trường máy chủ khác có thể tạo ra các thay đổi đồ họa riêng biệt.
Q: Có phải mọi việc sử dụng WebGL đều là một nỗ lực fingerprinting?
Việc sử dụng WebGL tự nó không tạo thành fingerprinting. Nhiều ứng dụng hợp pháp cần render đồ họa; việc nhận dạng phụ thuộc vào các quan sát nào được thu thập và cách chúng được sử dụng.
Q: Một thiết lập User-Agent có thể thay đổi đầu ra WebGL không?
Thiết lập User-Agent không tự thân thay đổi đầu ra WebGL. Hãy kiểm tra các điều khiển render được tài liệu hóa của trình duyệt và tự xác minh kết quả đồ họa.