L'attivazione predefinita dell'API Idle Detection in Chrome 94 ha suscitato una serie di critiche, con riferimenti alle obiezioni da parte degli sviluppatori di Firefox e WebKit/Safari.
L'API Idle Detection consente ai siti di determinare quando l'utente è inattivo, ovvero quando non interagisce con la tastiera/mouse o svolge attività su un altro monitor. L'API consente anche di verificare se un salvaschermo è attivo nel sistema. La segnalazione di inattività avviene mediante l'invio di una notifica dopo aver raggiunto una soglia di inattività prestabilita, il cui valore minimo è fissato a 1 minuto.
È importante notare che l'uso dell'API Idle Detection richiede un'esplicita autorizzazione dell'utente, ovvero se l'applicazione prova per la prima volta a determinare l'inattività, verrà mostrato all'utente un avviso con la richiesta di concedere l'autorizzazione o bloccare l'operazione. Per disattivare completamente l'API Idle Detection, è prevista un'opzione speciale nella sezione delle impostazioni 'Privacy e sicurezza' ('chrome://settings/content/idleDetection').
Tra le aree di applicazione ci sono le applicazioni per la chat, i social media e le comunicazioni, che possono modificare lo stato dell'utente in base alla sua presenza davanti al computer o ritardare la visualizzazione delle notifiche per nuovi messaggi fino all'arrivo dell'utente. L'API può essere anche utilizzata in applicazioni chiosco per tornare alla schermata principale dopo un certo periodo di inattività o per disattivare operazioni interattive che richiedono molte risorse, come la ridisegnazione di complesse diagrammi in aggiornamento continuo, quando l'utente non è davanti al computer.
La posizione dei contrari all'inclusione dell'API Idle Detection è che le informazioni su se un utente sia davanti al computer o meno possano essere considerate riservate. Oltre agli utilizzi utili, questo API può essere sfruttato anche per scopi non positivi, come tentativi di sfruttare vulnerabilità durante l'assenza dell'utente o per mascherare attività dannose evidenti, come il mining. Con questo API è possibile raccogliere anche dati sui modelli di comportamento dell'utente e sul suo ritmo lavorativo quotidiano. Per esempio, si può scoprire quando l'utente di solito va in pausa pranzo o lascia il posto di lavoro. In un contesto in cui è richiesta l'autorizzazione per l'assegnazione dei permessi, queste preoccupazioni sono considerate da Google non significative.
Inoltre, si può notare la nota degli sviluppatori di Chrome riguardo alla promozione di nuove tecniche per garantire un uso sicuro della memoria. Secondo Google, il 70% dei problemi di sicurezza in Chrome è causato da errori nella gestione della memoria, come l'accesso a un buffer dopo la liberazione della memoria associata (use-after-free). Sono identificate tre principali strategie per affrontare tali errori: il potenziamento dei controlli durante la fase di compilazione, il blocco degli errori durante l'esecuzione e l'uso di un linguaggio che garantisca la sicurezza nella gestione della memoria.
Si segnala l'avvio di esperimenti per l'aggiunta alla base di codice di Chromium della possibilità di sviluppare componenti in linguaggio Rust. Il codice Rust non è attualmente incluso nelle versioni distribuite agli utenti e si concentra principalmente sulla prova della possibilità di sviluppare parti del browser in Rust e sulla loro integrazione con le altre parti scritte in C++. Parallelamente, per il codice in C++, continua lo sviluppo di un progetto per l'uso del tipo MiraclePtr al posto dei puntatori raw, affinché si blocchi la possibilità di sfruttare vulnerabilità causate dall'accesso a blocchi di memoria già liberati, e vengono proposti nuovi metodi per l'individuazione di errori in fase di compilazione.
Inoltre, Google avvia un esperimento per testare possibili interruzioni del funzionamento di siti web dopo che il browser raggiunge una versione con tre cifre anziché due. In particolare, nelle versioni di prova di Chrome 96 è stata aggiunta l'impostazione "chrome://flags#force-major-version-to-100", che restituisce la versione 100 (Chrome/100.0.4650.4) nell'intestazione User-Agent. Ad agosto, è stato condotto un esperimento analogo in Firefox, che ha rivelato problemi con la gestione di versioni a tre cifre su alcuni siti web.
Fonte: opennet.ru
