Critica all'inclusione dell'API Idle Detection in Chrome 94. Sperimentazione con Rust in Chrome

L'inclusione predefinita dell'API Idle Detection in Chrome 94 ha portato a un'ondata di critiche, citando obiezioni da parte degli sviluppatori di Firefox e WebKit/Safari.

L'API Idle Detection consente ai siti di rilevare il tempo in cui un utente è inattivo, ad es. Non interagisce con tastiera/mouse né esegue lavori su un altro monitor. L'API ti consente anche di scoprire se uno screen saver è in esecuzione sul sistema o meno. Le informazioni sull'inattività vengono effettuate inviando una notifica dopo aver raggiunto una soglia di inattività specificata, il cui valore minimo è impostato su 1 minuto.

È importante notare che l'utilizzo dell'API Idle Detection richiede la concessione esplicita delle autorizzazioni utente, ad es. Se l'applicazione tenta di rilevare l'inattività per la prima volta, all'utente verrà presentata una finestra che chiede se concedere i permessi o bloccare l'operazione. Per disabilitare completamente l'API Idle Detection, nella sezione delle impostazioni "Privacy e sicurezza" è disponibile un'opzione speciale ("chrome://settings/content/idleDetection").

Le aree di applicazione includono chat, social network e applicazioni di comunicazione che possono modificare lo stato dell'utente a seconda della sua presenza al computer o ritardare la notifica di nuovi messaggi fino all'arrivo dell'utente. L'API può essere utilizzata anche nelle applicazioni kiosk per tornare alla schermata originale dopo un periodo di inattività o per disabilitare operazioni interattive ad uso intensivo di risorse, come il ridisegno di grafici complessi e l'aggiornamento costante, quando l'utente non è al computer.

La posizione degli oppositori all'attivazione dell'API Idle Detection è che le informazioni sulla presenza o meno dell'utente al computer possono essere considerate riservate. Oltre ad applicazioni utili, questa API può essere utilizzata anche per scopi dannosi, ad esempio per tentare di sfruttare le vulnerabilità mentre l'utente è assente o per nascondere attività dannose evidenti, come il mining. Utilizzando l'API in questione è possibile raccogliere anche informazioni sui modelli di comportamento dell'utente e sul ritmo quotidiano del suo lavoro. Ad esempio, puoi scoprire quando l'utente va solitamente a pranzo o lascia il posto di lavoro. Nell’ambito di una richiesta obbligatoria di prova di autorizzazione, queste preoccupazioni sono percepite da Google come insignificanti.

Inoltre, puoi notare la nota degli sviluppatori di Chrome sulla promozione di nuove tecniche per garantire un funzionamento sicuro con la memoria. Secondo Google, il 70% dei problemi di sicurezza in Chrome sono causati da errori di memoria, come l'utilizzo di un buffer dopo aver liberato la memoria ad esso associata (use-after-free). Vengono identificate tre strategie principali per gestire tali errori: rafforzamento dei controlli in fase di compilazione, blocco degli errori in fase di esecuzione e utilizzo di un linguaggio memory-safe.

È stato riferito che sono iniziati gli esperimenti per aggiungere la possibilità di sviluppare componenti nel linguaggio Rust al codice base di Chromium. Il codice Rust non è ancora incluso nelle build consegnate agli utenti ed è finalizzato principalmente a testare la possibilità di sviluppare singole parti del browser in Rust e la loro integrazione con altre parti scritte in C++. Parallelamente, per il codice C++, continua a svilupparsi un progetto per utilizzare il 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 inoltre proposti nuovi metodi per il rilevamento di errori in fase di compilazione.

Inoltre, Google sta avviando un esperimento per testare la possibile interruzione dei siti dopo che il browser avrà raggiunto una versione composta da tre cifre invece di due. In particolare, nelle versioni di prova di Chrome 96, appariva l'impostazione “chrome://flags#force-major-version-to-100”, quando specificato nell'intestazione User-Agent, versione 100 (Chrome/100.0.4650.4) inizia ad essere visualizzato. Ad agosto è stato condotto un esperimento simile su Firefox, che ha rivelato problemi con l'elaborazione delle versioni a tre cifre su alcuni siti.

Fonte: opennet.ru

Aggiungi un commento