Chỉ trích về việc đưa API phát hiện nhàn rỗi vào Chrome 94. Thử nghiệm với Rust trong Chrome

Việc đưa API phát hiện nhàn rỗi mặc định vào Chrome 94 đã dẫn đến một làn sóng chỉ trích, trích dẫn sự phản đối từ các nhà phát triển Firefox và WebKit/Safari.

API phát hiện nhàn rỗi cho phép các trang web phát hiện thời gian người dùng không hoạt động, tức là. Không tương tác với bàn phím/chuột hoặc thực hiện công việc trên màn hình khác. API cũng cho phép bạn tìm hiểu xem trình bảo vệ màn hình có đang chạy trên hệ thống hay không. Thông tin về việc không hoạt động được thực hiện bằng cách gửi thông báo sau khi đạt đến ngưỡng không hoạt động được chỉ định, giá trị tối thiểu được đặt thành 1 phút.

Điều quan trọng cần lưu ý là việc sử dụng API phát hiện nhàn rỗi yêu cầu cấp quyền rõ ràng cho người dùng, tức là. Nếu ứng dụng cố gắng phát hiện trạng thái không hoạt động lần đầu tiên, người dùng sẽ thấy một cửa sổ hỏi xem có cấp quyền hay chặn hoạt động hay không. Để tắt hoàn toàn API phát hiện nhàn rỗi, một tùy chọn đặc biệt (“chrome://settings/content/idleDetection”) được cung cấp trong phần cài đặt “Quyền riêng tư và bảo mật”.

Các lĩnh vực ứng dụng bao gồm trò chuyện, mạng xã hội và các ứng dụng liên lạc có thể thay đổi trạng thái của người dùng tùy thuộc vào sự hiện diện của họ trên máy tính hoặc trì hoãn thông báo tin nhắn mới cho đến khi người dùng đến. API cũng có thể được sử dụng trong các ứng dụng kiosk để quay lại màn hình gốc sau một thời gian không hoạt động hoặc để vô hiệu hóa các hoạt động tương tác tốn nhiều tài nguyên, chẳng hạn như vẽ lại các biểu đồ phức tạp, cập nhật liên tục khi người dùng không sử dụng máy tính.

Lập trường của những người phản đối việc kích hoạt API phát hiện nhàn rỗi là thông tin về việc người dùng có sử dụng máy tính hay không có thể được coi là bí mật. Ngoài các ứng dụng hữu ích, API này cũng có thể được sử dụng cho các mục đích xấu, chẳng hạn như cố gắng khai thác các lỗ hổng khi người dùng đi vắng hoặc để che giấu hoạt động độc hại dễ thấy, chẳng hạn như khai thác. Bằng cách sử dụng API được đề cập, thông tin về kiểu hành vi của người dùng và nhịp độ công việc hàng ngày của anh ta cũng có thể được thu thập. Ví dụ: bạn có thể biết khi nào người dùng thường đi ăn trưa hoặc rời khỏi nơi làm việc. Trong bối cảnh yêu cầu bắt buộc về bằng chứng ủy quyền, những lo ngại này được Google coi là không đáng kể.

Ngoài ra, bạn có thể lưu ý lưu ý từ các nhà phát triển Chrome về việc quảng bá các kỹ thuật mới để đảm bảo hoạt động an toàn với bộ nhớ. Theo Google, 70% vấn đề bảo mật trên Chrome là do lỗi bộ nhớ, chẳng hạn như sử dụng bộ đệm sau khi giải phóng bộ nhớ liên kết với nó (use-after-free). Ba chiến lược chính để xử lý các lỗi như vậy được xác định: tăng cường kiểm tra ở giai đoạn biên dịch, chặn lỗi khi chạy và sử dụng ngôn ngữ an toàn cho bộ nhớ.

Được biết, các thử nghiệm đã bắt đầu bổ sung khả năng phát triển các thành phần bằng ngôn ngữ Rust vào cơ sở mã Chrome. Mã Rust chưa được đưa vào các bản dựng được cung cấp cho người dùng và chủ yếu nhằm mục đích kiểm tra khả năng phát triển các phần riêng lẻ của trình duyệt trong Rust và khả năng tích hợp của chúng với các phần khác được viết bằng C++. Song song, đối với mã C++, một dự án tiếp tục phát triển sử dụng loại MiraclePtr thay cho con trỏ thô để ngăn chặn khả năng khai thác lỗ hổng do truy cập vào các khối bộ nhớ đã giải phóng và các phương pháp mới để phát hiện lỗi ở giai đoạn biên dịch cũng được đề xuất.

Ngoài ra, Google đang bắt đầu thử nghiệm để kiểm tra khả năng gián đoạn của các trang web sau khi trình duyệt đạt đến phiên bản gồm ba chữ số thay vì hai chữ số. Đặc biệt, trong các bản phát hành thử nghiệm của Chrome 96, cài đặt “chrome://flags#force-major-version-to-100” đã xuất hiện khi được chỉ định trong tiêu đề Tác nhân người dùng, phiên bản 100 (Chrome/100.0.4650.4) bắt đầu được hiển thị. Vào tháng XNUMX, một thử nghiệm tương tự đã được tiến hành trên Firefox, cho thấy có vấn đề khi xử lý phiên bản ba chữ số trên một số trang web.

Nguồn: opennet.ru

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