Bộ công cụ phát hiện tiện ích cài đặt trên Chrome đã được xuất bản

Một bộ công cụ đã được xuất bản nhằm triển khai phương pháp phát hiện các tiện ích bổ sung được cài đặt trong trình duyệt Chrome. Danh sách tiện ích bổ sung thu được có thể được sử dụng để tăng độ chính xác của nhận dạng thụ động của một phiên bản trình duyệt cụ thể, kết hợp với các chỉ báo gián tiếp khác, chẳng hạn như độ phân giải màn hình, tính năng WebGL, danh sách các plugin và phông chữ đã cài đặt. Việc triển khai được đề xuất sẽ kiểm tra việc cài đặt hơn 1000 tiện ích bổ sung. Một cuộc trình diễn trực tuyến được cung cấp để kiểm tra hệ thống của bạn.

Định nghĩa về tiện ích bổ sung được thực hiện thông qua phân tích các tài nguyên do tiện ích bổ sung cung cấp, sẵn có cho các yêu cầu bên ngoài. Thông thường, các tiện ích bổ sung bao gồm nhiều tệp đi kèm khác nhau, chẳng hạn như hình ảnh, được xác định trong tệp kê khai tiện ích bổ sung bởi thuộc tính web_accessible_resources. Trong phiên bản đầu tiên của tệp kê khai Chrome, quyền truy cập vào tài nguyên không bị hạn chế và bất kỳ trang web nào cũng có thể tải xuống tài nguyên được cung cấp. Trong phiên bản thứ hai của tệp kê khai, quyền truy cập vào các tài nguyên đó theo mặc định chỉ được phép đối với chính tiện ích bổ sung. Trong phiên bản thứ ba của bản tuyên ngôn, có thể xác định tài nguyên nào có thể được cung cấp cho tiện ích bổ sung, tên miền và trang nào.

Các trang web có thể yêu cầu tài nguyên do tiện ích mở rộng cung cấp bằng phương thức tìm nạp (ví dụ: "tìm nạp('chrome-extension://okb....nd5/test.png')"), phương thức trả về này thường cho biết rằng tiện ích bổ sung chưa được cài đặt. Để chặn tiện ích bổ sung phát hiện sự hiện diện của tài nguyên, một số tiện ích bổ sung tạo mã thông báo xác minh cần thiết để truy cập tài nguyên. Gọi tìm nạp mà không chỉ định mã thông báo luôn không thành công.

Hóa ra, việc bảo vệ quyền truy cập vào các tài nguyên bổ sung có thể bị bỏ qua bằng cách ước tính thời gian thực hiện của thao tác. Mặc dù thực tế là tìm nạp luôn trả về lỗi khi yêu cầu không có mã thông báo, thời gian thực hiện thao tác có và không có tiện ích bổ sung là khác nhau - nếu có tiện ích bổ sung, yêu cầu sẽ mất nhiều thời gian hơn nếu có tiện ích bổ sung chưa được cài đặt. Bằng cách đánh giá thời gian phản ứng, bạn có thể xác định khá chính xác sự hiện diện của chất bổ sung.

Một số tiện ích bổ sung không bao gồm các tài nguyên có thể truy cập bên ngoài có thể được xác định bằng các thuộc tính bổ sung. Ví dụ: addon MetaMask có thể được xác định bằng cách đánh giá định nghĩa của thuộc tính window.ethereum (nếu addon không được đặt, "typeof window.ethereum" sẽ trả về giá trị "không xác định").

Nguồn: opennet.ru

Thêm một lời nhận xét