Canvas Fingerprinting là gì?
Scrapeless Agent Browser cung cấp một trình duyệt đám mây cho tự động hóa web và các tác nhân AI.
Canvas fingerprinting là một kỹ thuật vẽ một hình ảnh được kiểm soát trong trình duyệt, đọc kết quả đã được kết xuất và sử dụng các khác biệt trong kết quả đó như một đặc điểm của trình duyệt. Giá trị thu được có thể đóng góp vào một dấu vân tay rộng hơn được dùng cho nhận diện, phân tích, hoặc quyết định bảo mật.
Kỹ thuật này đo lường hành vi kết xuất. Nó không trực tiếp tiết lộ tên của một người, và một kết quả canvas riêng lẻ không nên được xem như một danh tính vĩnh viễn hoặc duy nhất trên toàn cầu.
Tóm tắt nhanh
- Canvas fingerprinting so sánh kết quả được kết xuất. Các hướng dẫn vẽ có thể giống hệt nhau trong khi các điểm ảnh thu được lại khác nhau.
- Một hash tóm tắt phép đo. Hashing không làm cho một kết quả phổ biến trở nên duy nhất hoặc một kết quả không ổn định trở nên vĩnh viễn.
- Việc sử dụng canvas không tự động đồng nghĩa với fingerprinting. Trò chơi, biểu đồ, trình chỉnh sửa hình ảnh và các kiểm tra bảo mật có thể sử dụng cùng các API trình duyệt.
- Thay đổi trình duyệt có thể ảnh hưởng đến kết quả. Diễn giải tính ổn định trong một môi trường và phương pháp đo lường đã được xác định.
Cách một phép đo Canvas được tạo ra
Một phép đo canvas bắt đầu với các hướng dẫn vẽ và kết thúc bằng một biểu diễn của hình ảnh đã được kết xuất. Một script có thể vẽ văn bản, hình dạng hoặc các màu chồng lấp, sau đó đọc dữ liệu hình ảnh hoặc tuần tự hóa canvas. Nó có thể so sánh trực tiếp các kết quả đó hoặc tính một giá trị tóm tắt để lưu trữ.
Mô hình kết xuất và đọc lại HTML canvas xác định bề mặt trình duyệt có liên quan. Các API vẽ là các tính năng dùng cho mục đích chung. Fingerprinting xuất phát từ cách một script sử dụng đầu ra để đặc trưng hóa một môi trường, chứ không phải từ việc chỉ đơn thuần có một phần tử canvas.
Một phép đo có nhiều đầu vào: chuỗi vẽ, phông chữ và kích thước được chọn, cách triển khai kết xuất, và môi trường trình duyệt xung quanh. Nếu script thay đổi các hướng dẫn vẽ của nó, đầu ra có thể thay đổi ngay cả trên cùng một máy. Do đó, so sánh các giá trị mà không xác định phương pháp đo lường có thể dẫn đến kết luận sai lệch.
Vì sao các hướng dẫn vẽ giống hệt nhau có thể cho kết quả khác nhau
Kết quả kết xuất có thể khác nhau vì trình duyệt và môi trường vận hành không nhất thiết xử lý mọi thao tác vẽ theo cách giống hệt. Kết xuất văn bản là một ví dụ phổ biến: khả dụng phông chữ và cách raster hóa có thể ảnh hưởng đến các điểm ảnh ở cạnh, khoảng cách và chống răng cưa.
Xử lý màu và các cách triển khai đồ họa cũng có thể quan trọng đối với một số bài kiểm tra nhất định. Mức độ liên quan của từng yếu tố phụ thuộc vào những gì bản vẽ thực sự khai thác. Một hình chữ nhật màu đồng nhất đơn giản và một bố cục văn bản phức tạp không phơi lộ cùng một tập đặc điểm. Hãy tránh khẳng định rằng mọi phép thử canvas đều đo card đồ họa hoặc mọi khác biệt điểm ảnh đều tiết lộ danh tính phần cứng.
Phân biệt canvas fingerprinting với WebGL fingerprinting. Cả hai đều liên quan đến kết xuất, nhưng chúng có thể truy vấn các giao diện khác nhau và lộ ra các quan sát khác nhau. Một trang có thể kết hợp chúng, nhưng một kết quả từ cái này không nên được mô tả một cách tùy tiện như bằng chứng từ cái kia.
Điểm ảnh, hình ảnh đã mã hóa và hash
Một dấu vân tay có thể tóm tắt dữ liệu điểm ảnh thô hoặc một hình ảnh đã được mã hóa, và các lựa chọn đó ảnh hưởng đến thứ được đem ra so sánh. Script nên xác định biểu diễn đầu vào và đầu ra của nó trước khi gán ý nghĩa cho một sự khác biệt.
Đặc tả định dạng hình ảnh PNG mô tả một định dạng hình ảnh chứ không phải định dạng danh tính trình duyệt. Nếu một bài kiểm tra tạo hash từ một hình ảnh đã được tuần tự hóa, giá trị của nó đại diện cho đầu ra đã mã hóa đó. Một giá trị khác nên dẫn đến việc kiểm tra lại phép đo cơ bản thay vì lập tức khẳng định rằng đã xuất hiện một người hoặc thiết bị khác.
Một hash không tạo thêm thông tin nhận dạng. Nếu nhiều client tạo ra cùng một đầu ra canvas, chúng cũng có thể tạo ra cùng một giá trị tóm tắt. Nếu đầu ra thay đổi sau một bản cập nhật, giá trị tóm tắt của nó cũng có thể thay đổi. Câu hỏi hữu ích là phép đo cơ bản phân biệt và ổn định như thế nào đối với quần thể và khoảng thời gian đang được nghiên cứu.
So sánh Canvas Fingerprinting với Cookie
Cookie lưu trữ trạng thái rõ ràng, trong khi canvas fingerprinting rút ra một quan sát từ hành vi trình duyệt. Một dịch vụ có thể kết hợp cả hai, nhưng xóa một loại trạng thái không nhất thiết loại bỏ loại còn lại.
| Đặc điểm | Cookie | Phép đo Canvas |
|---|---|---|
| Nguồn gốc | Một giá trị được trình duyệt lưu trữ. | Một giá trị được suy ra từ kết quả kết xuất. |
| Tính liên tục | Phụ thuộc vào trạng thái được lưu trữ và phạm vi. | Phụ thuộc vào môi trường và độ ổn định của bài kiểm tra. |
| Ý nghĩa | Được xác định bởi ứng dụng đang sử dụng nó. | Được xác định bởi phép đo và phép so sánh. |
| Nhu cầu chẩn đoán | Kiểm tra lưu trữ và truyền tải. | Kiểm tra đầu vào vẽ và biểu diễn đầu ra. |
So sánh này giải thích lý do một đánh giá quyền riêng tư nên kiểm tra cả lưu trữ và phép đo. Một script có thể thu thập một đặc điểm trình duyệt mà không cần ghi một định danh bền vững. Việc thu thập đó có phù hợp hay không phụ thuộc vào mục đích, thời gian lưu giữ, khả năng liên kết, và các yêu cầu áp dụng.
Canvas Read chứng minh và không chứng minh điều gì
Một canvas read chứng minh rằng mã đã yêu cầu xuất hình ảnh, nhưng nó không xác định được mục đích của yêu cầu đó. Một trình chỉnh sửa ảnh có thể xuất bản vẽ; một công cụ biểu đồ có thể tạo tệp tải xuống; một script bảo mật có thể mô tả môi trường.
Lần theo luồng dữ liệu. Xác định script nào đã bắt đầu thao tác vẽ, nó đã vẽ nội dung gì, thao tác đọc lại nào diễn ra sau đó và liệu một giá trị được suy ra có được truyền đi hay không. Việc sử dụng lặp lại trên các trang không liên quan có thể liên quan đến một cuộc điều tra theo dõi, nhưng kết luận vẫn cần bằng chứng về bên nhận và cách liên kết.
Tài liệu W3C về rủi ro riêng tư của fingerprinting cung cấp một khung rộng hơn để đánh giá các đặc điểm nhận dạng và biện pháp giảm thiểu. Một kết luận về quyền riêng tư nên xem xét tổng hợp thông tin sẵn có cho bên nhận, thay vì cho rằng một giá trị là vô hại chỉ vì nó không có tên.
Một cuộc điều tra có kiểm soát trên chính trang của bạn
Một cuộc điều tra canvas có kiểm soát so sánh cùng một thử nghiệm trong các điều kiện đã được ghi lại. Bắt đầu với một trang và script mà bạn được phép kiểm tra, và lưu lại các đầu vào vẽ trước khi thu thập kết quả.
- Xác định script và các thao tác canvas liên quan đến hành vi đang được nghiên cứu.
- Ghi lại phiên bản trình duyệt, môi trường hoạt động, giả định về phông chữ và cài đặt quyền riêng tư.
- Xác định liệu phép so sánh sử dụng điểm ảnh, chuỗi byte hình ảnh đã tuần tự hóa hay một hàm băm.
- So sánh các quan sát lặp lại mà không thay đổi môi trường.
- Thay đổi một điều kiện liên quan và kiểm tra phần nào của đầu ra đã thay đổi.
Với một thử nghiệm phông chữ minh họa, hãy so sánh một bản vẽ văn bản trước và sau một thay đổi phông chữ có kiểm soát. Kết quả có thể cho thấy độ nhạy với điều kiện đó; nó không thể chứng minh rằng giá trị này nhận dạng mọi trình duyệt trên web. Một tuyên bố về tính duy nhất nói chung đòi hỏi một tập người dùng được xác định và phép đo thích hợp, chứ không phải so sánh giữa vài phiên cục bộ.
Giữ hình ảnh thô và toàn bộ fingerprint ngoài các phiếu sự cố được chia sẻ trừ khi thật cần thiết. Một giải thích đã được lược bỏ về phép đo và sự khác biệt quan sát được có thể đủ để chẩn đoán vấn đề tương thích. Thời gian lưu trữ nên phù hợp với mục đích điều tra.
Tính ổn định, cài đặt quyền riêng tư và khả năng tương thích
Độ ổn định của canvas phụ thuộc cả vào môi trường trình duyệt lẫn quy trình đo lường. Bản cập nhật trình duyệt, phông chữ thay đổi hoặc tính năng bảo vệ quyền riêng tư có thể làm thay đổi đầu ra được lộ ra. Xem những thay đổi này như các điều kiện cần ghi lại, thay vì bằng chứng tự động về một máy khách độc hại.
Các biện pháp bảo vệ quyền riêng tư cũng có thể ảnh hưởng đến các quy trình đồ họa hợp lệ. Nếu người dùng không thể xuất hình ảnh, hãy điều tra trực tiếp thao tác bị lỗi và chính sách trình duyệt. Đừng cho rằng một cơ chế phòng thủ chống fingerprinting phải bị tắt trên toàn bộ trang web để khôi phục một tính năng. Giới hạn thay đổi tương thích trong phạm vi tác vụ thực tế của người dùng.
Đối với chủ sở hữu trang, chỉ thu thập các tín hiệu cần thiết cho mục đích đã nêu. Ghi lại bên nhận và thời gian lưu trữ, và đánh giá liệu thông tin ít nhận dạng hơn có thể hỗ trợ cùng một quyết định hay không. Băm một phép đo có thể đơn giản hóa việc lưu trữ, nhưng tự nó không loại bỏ được khả năng liên kết hoặc giải quyết nghĩa vụ quyền riêng tư.
Tự động hóa trình duyệt và kết quả canvas
Tự động hóa trình duyệt có thể kết xuất nội dung canvas, nhưng một thao tác canvas thành công không đảm bảo tính nhất quán danh tính hoặc khả năng truy cập một trang web khác. Trình duyệt Tác nhân Scrapeless cung cấp khả năng thực thi trình duyệt cho các tác vụ tự động hóa được hỗ trợ.
Tài liệu Agent Browser là điểm khởi đầu phù hợp cho sản phẩm đó. Phần giải thích về browser fingerprinting rộng hơn đặt canvas cùng với các tín hiệu có thể quan sát khác. Xem lại Scrapeless pricing cho khối lượng công việc của bạn và xác thực kết quả kết xuất mà tác vụ của bạn thực sự cần.
Kết luận
Canvas fingerprinting suy ra một đặc điểm từ đầu ra đã kết xuất. Diễn giải kết quả cùng với quy trình vẽ, dạng biểu diễn và môi trường của nó. Khi gỡ lỗi, hãy so sánh các quan sát có kiểm soát; khi xem xét quyền riêng tư, hãy theo dõi dữ liệu và bên nhận. Một hàm băm không có ngữ cảnh đó giải thích rất ít về tính ổn định, tính duy nhất hoặc ý định người dùng.
Kiểm tra các trang đã kết xuất bằng trình duyệt
Sử dụng Agent Browser cho các quy trình kết xuất được ủy quyền và tách biệt các quan sát về canvas khỏi các kết luận về danh tính hoặc quyền truy cập.
Đăng ký ngay 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: Có phải mọi phần tử canvas đều được dùng để fingerprinting không?
Một phần tử canvas không tự động được dùng để fingerprinting. Canvas hỗ trợ đồ họa thông thường, biểu đồ, chỉnh sửa hình ảnh và xuất khẩu. Xác định mục đích bằng cách kiểm tra bản vẽ, phần đọc lại và cách sử dụng kết quả sau đó.
H: Xóa cookie có loại bỏ canvas fingerprint không?
Xóa cookie sẽ loại bỏ trạng thái cookie đã lưu, nhưng không nhất thiết thay đổi các đặc tính hiển thị được đo bằng bài kiểm tra canvas. Kết quả phụ thuộc vào môi trường trình duyệt và quy trình vẽ cụ thể.
H: Một canvas fingerprint có phải là một định danh thiết bị duy nhất không?
Không nên giả định rằng một canvas fingerprint là một định danh thiết bị duy nhất. Các môi trường khác nhau có thể cho ra cùng kết quả, và một môi trường có thể thay đổi theo thời gian. Tính duy nhất và ổn định đòi hỏi phải có bằng chứng đối với phép đo và tập người dùng liên quan.
H: Việc băm (hash) có làm cho kết quả canvas trở nên ẩn danh không?
Băm một kết quả canvas không tự động làm cho nó trở nên ẩn danh. Một giá trị băm ổn định vẫn có thể hỗ trợ liên kết qua nhiều lần quan sát. Hãy đánh giá những gì bên nhận có thể kết hợp với nó và thời gian lưu giữ thông tin là bao lâu.