L'attivazione predefinita dell'API Idle Detection in Chrome 94 ha portato a una ondata di critiche con riferimenti alle obiezioni da parte degli sviluppatori di Firefox e WebKit/Safari.
L'API Idle Detection consente ai siti di determinare il tempo in cui l'utente non è attivo, ossia non interagisce con la tastiera/mouse o sta lavorando su un altro monitor. L'API consente anche di sapere se un salvaschermo è attivo o meno. L'informativa sull'inattività viene effettuata tramite l'invio di una notifica dopo aver raggiunto una soglia di inattività impostata, il cui valore minimo è fissato a 1 minuto.
È importante notare che l'uso dell'API Idle Detection richiede il consenso esplicito dell'utente, cioè se l'applicazione tenta per la prima volta di determinare l'inattività, all'utente verrà mostrata una finestra che offre di fornire i permessi o di 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 vengono citate le applicazioni di chat, social networking e comunicazione, che possono modificare lo stato dell'utente in base alla sua presenza al computer o rimandare la visualizzazione delle notifiche sui nuovi messaggi fino al ritorno dell'utente. L'API può anche essere utilizzata nelle applicazioni chioschio per tornare alla schermata iniziale dopo un certo periodo di inattività o per disattivare operazioni interattive ad alto consumo di risorse, come il ridisegno di diagrammi complessi continuamente aggiornati, quando l'utente non è davanti al computer.
La posizione degli oppositori all'inserimento dell'API Idle Detection si basa sul fatto che le informazioni riguardanti la presenza dell'utente al computer possano essere considerate riservate. Oltre ad usi utili, questa API può anche essere utilizzata per scopi meno nobili, ad esempio per tentativi di sfruttare vulnerabilità durante l'assenza dell'utente o per nascondere attività dannose evidenti, come il mining. Attraverso l'API in esame, è possibile raccogliere informazioni sui modelli di comportamento dell'utente e sul ritmo della sua giornata lavorativa. Per esempio, è possibile scoprire quando l'utente di solito va a pranzo o lascia il posto di lavoro. In un contesto in cui è richiesto il consenso per il conferimento di poteri, queste preoccupazioni sono considerate da Google come insignificanti.
Inoltre, si può notare la nota degli sviluppatori di Chrome sullo sviluppo 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 che la memoria associata è stata liberata (use-after-free). Sono state identificate tre strategie principali per affrontare tali errori: il rafforzamento dei controlli in fase di compilazione, il blocco degli errori durante l'esecuzione e l'uso di un linguaggio che garantisca un uso sicuro della memoria.
È stato riferito l'inizio di esperimenti per l'aggiunta alla base di codice di Chromium della possibilità di sviluppare componenti nel linguaggio Rust. Il codice in Rust non è ancora incluso nelle versioni destinate agli utenti e si concentra principalmente sul test della possibilità di sviluppare parti singole del browser in Rust e sulla loro integrazione con le altre parti scritte in C++. Parallelamente, per il codice in C++ continua a svilupparsi il progetto per l'uso del tipo MiraclePtr al posto dei puntatori raw per bloccare la possibilità di sfruttare vulnerabilità causate dall'accesso a blocchi di memoria già liberati, e vengono proposti nuovi metodi per la rilevazione di errori in fase di compilazione.
Inoltre, l'azienda Google inizia un esperimento per testare possibili interruzioni del funzionamento dei siti dopo che il browser raggiunge una versione composta da tre cifre invece di due. In particolare, nelle versioni di prova di Chrome 96 è stata aggiunta l'impostazione «chrome://flags#force-major-version-to-100», che, se attivata, restituisce nel campo User-Agent la versione 100 (Chrome/100.0.4650.4). Ad agosto un esperimento simile è stato condotto in Firefox, il quale ha evidenziato problemi nel trattamento delle versioni a tre cifre su alcuni siti.
Fonte: opennet.ru
