Kritik terhadap penyertaan Idle Detection API di Chrome 94. Bereksperimen dengan Rust di Chrome

Penyertaan default Idle Detection API di Chrome 94 telah menimbulkan gelombang kritik, mengutip keberatan dari pengembang Firefox dan WebKit/Safari.

Idle Detection API memungkinkan situs mendeteksi waktu ketika pengguna tidak aktif, mis. Tidak berinteraksi dengan keyboard/mouse atau melakukan pekerjaan di monitor lain. API juga memungkinkan Anda mengetahui apakah screen saver berjalan di sistem atau tidak. Informasi ketidakaktifan dilakukan dengan mengirimkan notifikasi setelah mencapai ambang batas ketidakaktifan yang ditentukan, yang nilai minimumnya ditetapkan 1 menit.

Penting untuk dicatat bahwa penggunaan Idle Detection API memerlukan pemberian izin pengguna secara eksplisit, yaitu Jika aplikasi mencoba mendeteksi ketidakaktifan untuk pertama kalinya, pengguna akan disajikan jendela yang menanyakan apakah akan memberikan izin atau memblokir operasi. Untuk sepenuhnya menonaktifkan Idle Detection API, opsi khusus (β€œchrome://settings/content/idleDetection”) disediakan di bagian pengaturan β€œPrivasi dan Keamanan”.

Area aplikasi mencakup aplikasi obrolan, jejaring sosial, dan komunikasi yang dapat mengubah status pengguna tergantung pada kehadirannya di depan komputer atau menunda pemberitahuan pesan baru hingga pengguna tiba. API juga dapat digunakan dalam aplikasi kios untuk kembali ke layar asli setelah beberapa saat tidak aktif, atau untuk menonaktifkan operasi interaktif yang intensif sumber daya, seperti menggambar ulang grafik yang rumit dan terus diperbarui, saat pengguna tidak berada di depan komputer.

Posisi penentang mengaktifkan Idle Detection API adalah bahwa informasi tentang apakah pengguna ada di depan komputer atau tidak dapat dianggap rahasia. Selain untuk aplikasi yang berguna, API ini juga dapat digunakan untuk tujuan buruk, misalnya mencoba mengeksploitasi kerentanan saat pengguna pergi atau untuk menyembunyikan aktivitas jahat yang mencolok, seperti penambangan. Dengan menggunakan API yang dimaksud, informasi tentang pola perilaku pengguna dan ritme harian pekerjaannya juga dapat dikumpulkan. Misalnya, Anda dapat mengetahui kapan pengguna biasanya pergi makan siang atau meninggalkan tempat kerja. Dalam konteks permintaan wajib atas bukti otorisasi, kekhawatiran ini dianggap tidak penting oleh Google.

Selain itu, Anda dapat mencatat catatan dari pengembang Chrome tentang promosi teknik baru untuk memastikan pengoperasian memori yang aman. Menurut Google, 70% masalah keamanan di Chrome disebabkan oleh kesalahan memori, seperti penggunaan buffer setelah mengosongkan memori yang terkait dengannya (use-after-free). Tiga strategi utama untuk menangani kesalahan tersebut diidentifikasi: memperkuat pemeriksaan pada tahap kompilasi, memblokir kesalahan saat runtime, dan menggunakan bahasa yang aman untuk memori.

Dilaporkan bahwa eksperimen telah mulai menambahkan kemampuan untuk mengembangkan komponen dalam bahasa Rust ke basis kode Chromium. Kode Rust belum disertakan dalam build yang dikirimkan ke pengguna dan terutama ditujukan untuk menguji kemungkinan pengembangan masing-masing bagian browser di Rust dan integrasinya dengan bagian lain yang ditulis dalam C++. Secara paralel, untuk kode C++, sebuah proyek terus dikembangkan untuk menggunakan tipe MiraclePtr alih-alih pointer mentah untuk memblokir kemungkinan mengeksploitasi kerentanan yang disebabkan oleh mengakses blok memori yang sudah dibebaskan, dan metode baru untuk mendeteksi kesalahan pada tahap kompilasi juga diusulkan.

Selain itu, Google memulai eksperimen untuk menguji kemungkinan gangguan situs setelah browser mencapai versi yang terdiri dari tiga digit, bukan dua. Khususnya, dalam rilis pengujian Chrome 96, setelan β€œchrome://flags#force-major-version-to-100” muncul, ketika ditentukan di header Agen-Pengguna, versi 100 (Chrome/100.0.4650.4) mulai ditampilkan. Pada bulan Agustus, percobaan serupa dilakukan di Firefox, yang mengungkapkan masalah dalam pemrosesan versi tiga digit di beberapa situs.

Sumber: opennet.ru

Tambah komentar