Canvas Fingerprinting là gì? Giải thích về các tín hiệu Rendering

Canvas Fingerprinting là gì?

Trình duyệt Scrapeless Scraping cung cấp các phiên Chromium được quản lý cho các quy trình tự động hóa cần rendering trình duyệt và cấu hình fingerprint nhất quán.

Tóm lại

  • Canvas fingerprinting lấy tín hiệu từ đầu ra rendering trình duyệt. Một script vẽ nội dung đã biết và đọc các pixel hoặc hình ảnh đã mã hóa kết quả.
  • Các khác biệt nhỏ về phần mềm và phần cứng có thể làm thay đổi đầu ra. Phông chữ, raster hóa, thư viện đồ họa, phiên bản trình duyệt và hệ điều hành đều ảnh hưởng đến việc rendering.
  • Băm canvas thường là một thành phần của một fingerprint lớn hơn. Nó trở nên hữu ích hơn khi kết hợp với màn hình, ngôn ngữ khu vực, WebGL và các tín hiệu khác.
  • Chặn việc đọc canvas có thể làm hỏng các ứng dụng hợp pháp. Bản đồ, trình chỉnh sửa, biểu đồ, trò chơi và công cụ hình ảnh sử dụng cùng một API cho công việc bình thường.
  • Tự động hóa nên bảo tồn hành vi rendering hợp lý. Thay đổi đầu ra canvas trong khi để lại các tín hiệu đồ họa và nền tảng mâu thuẫn có thể làm cho một hồ sơ kém đáng tin cậy.

Tại sao một Pixel Probe lại quan trọng

Canvas fingerprinting ảnh hưởng đến cách các trình duyệt tiết lộ trạng thái, rendering nội dung, hoặc quyết định khi nào một hành động tự động là an toàn. Một định nghĩa chính xác ngăn các nhóm không coi tín hiệu hẹp như một câu trả lời phổ quát. Nó cũng giúp dễ dàng chẩn đoán các lỗi kiểm tra vì hành vi mong đợi của trình duyệt gắn liền với một chu kỳ tài liệu hóa, API hoặc ranh giới hệ thống.

Đối với tự động hóa web, câu hỏi thực tiễn luôn hẹp hơn so với “liệu trang đã sẵn sàng?” hoặc “liệu trình duyệt có trông thực?” Bước tiếp theo có thể cần một điều khiển được kích hoạt, một khung hoàn thành điều hướng, một thành phần gắn kết cây bên trong của nó, hoặc một bề mặt rendering giữ cho nhất quán. Các phần dưới đây biến khái niệm thành các kiểm tra có thể quan sát thay vì dựa vào truyền thuyết.

Định nghĩa Canvas Fingerprinting

Canvas fingerprinting là một kỹ thuật xác định trình duyệt hoạt động yêu cầu trình duyệt vẽ văn bản, hình dạng, màu sắc hoặc đồ họa trộn lẫn đã xác định vào một canvas HTML và sau đó đọc kết quả được tạo ra. Các byte được thu thập có thể được giảm thành một băm gọn. Các trình duyệt sản xuất cùng một pixel sẽ tạo ra cùng một đầu vào cho băm đó, trong khi những khác biệt nhỏ trong rendering có thể tạo ra một giá trị khác.

Element canvas đã được thiết kế cho đồ họa hữu ích, không phải để nhận dạng. Đặc tả HTML canvas xác định một bề mặt bitmap và bối cảnh vẽ mà các script có thể sử dụng cho biểu đồ, trò chơi, xử lý hình ảnh và các công việc hình ảnh khác. Fingerprinting tái sử dụng những khả năng đó như một bề mặt đo lường. Script không cần hiển thị canvas với visitor; nó có thể rendering ngoài màn hình hoặc giữ cho element không gây chú ý về mặt hình ảnh.

Một kết quả canvas không tự động duy nhất. Nhiều thiết bị chia sẻ cùng một trình duyệt, hệ điều hành, phông chữ, ngăn xếp đồ họa và cài đặt. Tín hiệu trở nên phân biệt hơn khi một collector kết hợp nó với các lĩnh vực khác. Đó là lý do tại sao việc gọi đầu ra canvas là một thành phần fingerprint chính xác hơn là giả định một lần vẽ xác định một người.

Cách thức hoạt động của Rendering Probe

Probe bắt đầu với một công thức vẽ có thể tái tạo. Nó có thể thiết lập kích thước canvas, chọn phông chữ, vẽ các hình dạng màu chồng lên nhau, áp dụng các chế độ trộn, đặt văn bản tại các tọa độ phân số và bao gồm các ký tự kích thích việc thay thế phông chữ. Trình duyệt xác định phông chữ và chuyển đổi các lệnh vẽ thành pixel thông qua các thư viện văn bản và đồ họa của nó.

Script sau đó đọc kết quả qua một API như URL dữ liệu canvas, blob, hoặc dữ liệu pixel. Một hàm băm có thể nén đầu ra lớn hơn nhiều thành một token có độ dài cố định. Băm không tạo ra những khác biệt; nó chỉ làm cho các byte được rendering dễ so sánh và lưu trữ hơn. Nếu bất kỳ pixel nào thay đổi, một băm mã hóa có khả năng thay đổi mạnh mẽ.

Tài liệu MDN Canvas API reference cả bối cảnh hai chiều và việc sử dụng canvas hỗ trợ WebGL. Sự chồng chéo đó là quan trọng: một trang có thể thu thập một kết quả canvas hai chiều, một kết quả rendering WebGL, hoặc cả hai. Hai probe thực hiện các phần khác nhau của ngăn xếp và không nên được coi là nhãn thay thế.

Tại sao Hai Trình DuyệtCó thể Vẽ Các Pixel Khác Nhau

Rendering văn bản là một nguồn chính của sự biến thiên. Độ khả dụng của phông chữ xác định loại chữ cái nào được chọn. Các tệp phông chữ khác nhau theo hệ điều hành và phiên bản. Hinting, anti-aliasing, xử lý subpixel và raster hóa glyph có thể ảnh hưởng đến các cạnh. Emoji và các script phức tạp có thể sử dụng phông chữ hoặc pipeline màu glyph đặc trưng cho nền tảng. Một bản vẽ một cách cố ý trộn lẫn các tính năng này tạo ra nhiều cơ hội cho các khác biệt có thể quan sát.

Hành vi đồ họa cũng có đóng góp. Tổng hợp, quản lý màu sắc, giải mã hình ảnh, độ chính xác toán học và các phiên bản thư viện đồ họa có thể làm thay đổi đầu ra. Các engine trình duyệt làm việc để làm cho hành vi có thể nhìn thấy theo tiêu chuẩn tương thích, tuy nhiên kết quả pixel cho pixel vẫn có thể phản ánh chi tiết thực thi. Các môi trường ảo hóa hoặc render bằng phần mềm có thể tập trung quanh một đầu ra khác có thể nhận diện.

Độ phân giải hiển thị không phải lúc nào cũng được đóng trực tiếp vào một bitmap canvas, nhưng trang có thể kết hợp dữ liệu canvas với tỷ lệ pixel thiết bị, viewport, giá trị màn hình và kết quả truy vấn phương tiện. Một hồ sơ thiết bị nhất quán do đó cần tất cả những giá trị đó đồng ý. Một viewport di động có mật độ cao kết hợp với tín hiệu phông chữ và nhập liệu dành cho máy tính để bàn cần được điều tra ngay cả khi băm canvas trông có vẻ thông thường.

Các Sử Dụng Hợp Pháp và Lo Ngại về Quyền Riêng Tư

Các nhóm bảo mật có thể sử dụng tín hiệu thiết bị để phát hiện sự thay đổi đột ngột về môi trường tài khoản, ưu tiên kiểm tra xác thực, hoặc xác định các nhóm lớn của các khách hàng tự động giống hệt nhau. Các kỹ sư chất lượng có thể so sánh đầu ra canvas giữa các phiên bản trình duyệt để phát hiện các hồi quy rendering. Các nhà nghiên cứu quyền riêng tư đo lường khi nào các script đọc lại các canvas và cách mà đầu ra được kết hợp với các dữ liệu khác.

Mối quan tâm về quyền riêng tư là khả năng liên kết yên tĩnh. Hướng dẫn của W3C về nguy cơ lấy dấu vân tay lưu ý rằng việc lấy dấu vân tay chủ động có thể tương quan hoạt động mà không có một trạng thái cục bộ rõ ràng nào để người dùng kiểm tra hoặc xóa. Việc đọc Canvas được coi là chủ động vì mã trang gọi API. Chúng có thể phát hiện được bởi trình duyệt, nhưng sự kết hợp ở phía máy chủ của các tín hiệu trả về vẫn chủ yếu không thấy đối với khách truy cập.

Bối cảnh và quản trị có ý nghĩa. Một kiểm tra gian lận của bên thứ nhất liên quan đến một mục đích bảo mật được tiết lộ thì khác với việc theo dõi trên nhiều trang không được tiết lộ. Việc tối thiểu hóa dữ liệu, giới hạn lưu giữ, giới hạn mục đích và kiểm soát rõ ràng giảm thiểu rủi ro. Đối với các nhóm tự động hóa, quy tắc tương ứng là chỉ sử dụng các kiểm soát dấu vân tay trong các quy trình làm việc được ủy quyền và tránh thu thập dữ liệu dấu vân tay của khách truy cập không liên quan.

Lấy dấu vân tay Canvas trong Tự động hóa Trình duyệt

Tự động hóa có thể lộ ra đầu ra canvas đồng nhất khi nhiều công nhân chia sẻ cùng một đường dẫn kết xuất phần mềm. Tính đồng nhất không tự động bị nghi ngờ; các đội tàu thực tế cũng chứa phần cứng và phần mềm phổ biến. Mối quan tâm xuất hiện khi đầu ra canvas mâu thuẫn với trình duyệt, hệ điều hành, nhà cung cấp đồ họa hoặc loại thiết bị được tuyên bố, hoặc khi quá nhiều hồ sơ không liên quan được cho là cung cấp một sự kết hợp hiếm gặp giống nhau.

Một thiết kế tự động hóa đáng tin cậy bắt đầu với một hồ sơ trình duyệt hoàn chỉnh. Hành vi của Canvas thuộc về WebGL, phông chữ, tác nhân người dùng, hình học màn hình, tỷ lệ pixel, khu vực địa lý và múi giờ. Giữ cho hồ sơ đó ổn định trong một phiên. Nếu việc kiểm tra yêu cầu nhiều loại thiết bị, hãy tạo các hồ sơ riêng biệt và xác thực từng hồ sơ với một trang đọc lại các thuộc tính liên quan.

Tránh các bản vá monkey cấp trang dẫn đến các đối tượng bị sai hoặc dữ liệu trống. Mã trang hợp pháp mong đợi các phương thức canvas tuân theo hợp đồng nền tảng. Một bản vá ngăn việc lấy dấu vân tay cũng có thể làm hỏng biểu đồ, trình chỉnh sửa hình ảnh, ảnh chụp màn hình hoặc logic ứng dụng. Kiểm soát ở cấp động cơ hoặc cấp hồ sơ dễ thử nghiệm hơn vì hành vi API bình thường vẫn nguyên vẹn.

Kiểm tra và Giải thích Kết quả Canvas

Một bài kiểm tra hữu ích ghi lại công thức vẽ, bản dựng trình duyệt, hồ sơ hệ điều hành, bộ phông chữ, chế độ đồ họa và băm kết quả. Chạy công thức đó nhiều lần trong một phiên để kiểm tra độ ổn định. Sau đó chạy nó trong một phiên mới với cùng một hồ sơ. Sự trôi dạt không mong đợi chỉ ra rằng đầu vào được cho là ổn định đã thay đổi hoặc rằng tiếng ồn đã được cố ý giới thiệu.

Đừng giải thích một băm đã thay đổi là bằng chứng cho thấy một danh tính là riêng tư hoặc duy nhất. Sự thay đổi có thể do một bản cập nhật trình duyệt được nhiều người dùng chia sẻ. Một băm ổn định vẫn có thể thuộc về một tập hợp ẩn danh lớn. Việc giải thích yêu cầu dữ liệu phân phối và kiến thức về các tín hiệu khác đang được kết hợp. Băm là một mã so sánh, không phải một thước đo danh tính tự nó.

Đối với việc gỡ lỗi, tách đầu ra canvas hai chiều ra khỏi đầu ra WebGL và ghi chú xem liệu phần cứng tăng tốc có sẵn hay không. Kiểm tra phông chữ và tỷ lệ pixel thiết bị một cách độc lập. Nếu một trang không chức năng sau một can thiệp vào canvas, hãy kiểm tra vẽ tiêu chuẩn, xuất hình ảnh và đọc pixel trước khi đổ lỗi cho mục tiêu. Một bề mặt kết xuất tương thích với tiêu chuẩn nên tiếp tục hỗ trợ hành vi ứng dụng hợp pháp.

Chọn Chiến lược Xác thực Canvas

Bắt đầu với điều kiện hoặc cấu hình nhỏ nhất chứng minh rằng nhiệm vụ có thể thực hiện. Bảo tồn hành vi trình duyệt tương thích với tiêu chuẩn, sau đó chỉ thêm các kiểm soát hồ sơ ở những nơi quy trình làm việc yêu cầu. Ghi lại bản dựng trình duyệt và trạng thái liên quan để có thể giải thích sự khác biệt sau này. Một quan sát có thể lặp lại có ích hơn một tuyên bố rộng rãi rằng một trang, khung, hiển thị, hoặc dấu vân tay đơn giản là “hoàn thành” hoặc “an toàn.”

  • Xác định hành động tiếp theo. Nêu rõ những gì kịch bản hoặc người dùng cần làm sau bước đợi hoặc cấu hình.
  • Chọn một tín hiệu quan sát được. Ưu tiên một thuộc tính trình duyệt, trạng thái vòng đời, điều kiện phần tử, hoặc kết quả kết xuất mà hỗ trợ trực tiếp cho hành động đó.
  • Giữ cho các giá trị liên quan đồng nhất. Cài đặt trình duyệt, hệ điều hành, màn hình, vùng địa lý, đồ họa và phiên nên mô tả một môi trường hợp lý.
  • Xác thực hành vi ứng dụng bình thường. Một can thiệp về quyền riêng tư hoặc tự động hóa không nên lặng lẽ làm hỏng API hoặc thành phần mà nó thay đổi.
  • Ghi lại bằng chứng chẩn đoán. Lưu lại các URL, trạng thái, thông điệp trong bảng điều khiển và tên cấu hình khi một kiểm tra không thành công.

Kết luận

Lấy dấu vân tay canvas biến API đồ họa bình thường thành một phép đo bằng cách vẽ nội dung đã biết và so sánh các pixel trả về. Kết quả phản ánh một ngăn xếp kết xuất, không phải một người, và nó trở nên có ý nghĩa chỉ khi được giải thích với các tín hiệu khác. Các biện pháp phòng ngừa quyền riêng tư và hồ sơ tự động hóa hoạt động tốt nhất khi chúng bảo tồn hành vi canvas hợp lệ, tối thiểu hóa mâu thuẫn và coi đầu ra như một phần trong một môi trường rộng lớn hơn.

Tài liệu Scrapeless Scraping Browser giải thích cách các phiên trình duyệt được quản lý được cấu hình, trong khi tổng quan sản phẩm Scraping Browser miêu tả bề mặt tự động hóa trình duyệt. Những tài nguyên này cung cấp ngữ cảnh sản phẩm để áp dụng khái niệm trong một quy trình làm việc được ủy quyền.

Sẵn sàng xác thực kết xuất trình duyệt?

Di chuyển kết xuất trình duyệt, cấu hình phiên và cơ sở hạ tầng tự động hóa vào một môi trường Chromium được quản lý.

Đăng ký ngay hôm nay và nhận 5 đô la tín dụng miễn phíkhông yêu cầu thẻ tín dụng.

Nhận tín dụng 5 đô la của bạn →

Câu hỏi thường gặp

Liệu lấy dấu vân tay canvas có lưu trữ gì trên thiết bị không?

Lấy dấu vân tay canvas có thể hoạt động mà không lưu cookie vì mã định danh được suy ra từ đầu ra kết xuất, mặc dù một trang có thể vẫn lưu kết quả ở phía máy chủ hoặc kết hợp nó với trạng thái cục bộ.

Mỗi dấu vân tay canvas có duy nhất không?

Không. Nhiều trình duyệt có thể tạo ra cùng một kết quả canvas, và sự độc đáo phụ thuộc vào công thức vẽ, dân số đang được so sánh và các tín hiệu khác kết hợp với nó.

Việc vô hiệu hóa canvas có dừng tất cả việc lấy dấu vân tay của trình duyệt không?

Không. Nó loại bỏ hoặc thay đổi một tín hiệu, trong khi tiêu đề, WebGL, âm thanh, phông chữ, thuộc tính màn hình, hành vi mạng và các quan sát khác vẫn có sẵn.

Tại sao việc chặn canvas có thể phá vỡ một trang web?

Các phương pháp đọc lại và vẽ giống nhau hỗ trợ biểu đồ hợp pháp, công cụ hình ảnh, trò chơi, bản đồ và trình chỉnh sửa, vì vậy việc chặn rộng có thể vô hiệu hóa các tính năng ứng dụng.

Tài liệu tham khảo