Google ha presentato il rilascio del browser web Chrome 107. È disponibile contemporaneamente anche la versione stabile del progetto open source Chromium, che funge da base per Chrome. Il browser Chrome si differenzia da Chromium per l'uso dei loghi Google, la presenza di un sistema di invio di notifiche in caso di crash, moduli per la riproduzione di contenuti video protetti da copyright (DRM), un sistema di aggiornamenti automatici, l'implementazione costante della sandbox, la fornitura di chiavi per le API di Google e la trasmissione dei parametri RLZ durante la ricerca. Per chi ha bisogno di più tempo per aggiornarsi, è supportata una branch di Extended Stable, che viene accompagnata da otto settimane di supporto. Il prossimo rilascio di Chrome 108 è programmato per il 29 novembre.
Principali novità in Chrome 107:
- Aggiunta la supporto per il meccanismo ECH (Encrypted Client Hello), che continua lo sviluppo di ESNI (Encrypted Server Name Indication) e viene utilizzato per crittografare le informazioni sui parametri delle sessioni TLS, come il nome di dominio richiesto. La principale differenza tra ECH ed ESNI è che in ECH, invece di crittografare singoli campi, viene crittografato l'intero messaggio TLS ClientHello, impedendo la fuoriuscita di dati tramite campi non coperti da ESNI, come il campo PSK (Pre-Shared Key). ECH utilizza anche il record DNS HTTPSSVC invece del record di tipo TXT per trasmettere informazioni sulla chiave pubblica e applica una crittografia end-to-end autenticata basata sul meccanismo HPKE (Hybrid Public Key Encryption) per ottenere e crittografare la chiave. Per gestire l'attivazione di ECH, è stata proposta l'impostazione "chrome://flags#encrypted-client-hello".
- Abilitato il supporto per l'accelerazione hardware nella decodifica video in formato H.265 (HEVC).
- Attivata la quinta fase di riduzione delle informazioni nell'intestazione HTTP User-Agent e nei parametri JavaScript navigator.userAgent, navigator.appVersion e navigator.platform, attuata per ridurre le informazioni utilizzabili per identificare passivamente l'utente. In Chrome 107, l'User-Agent contiene meno informazioni sulla piattaforma e sul processore per gli utenti desktop, e il contenuto del parametro JavaScript navigator.platform è stato congelato. La modifica è evidente solo nelle versioni per la piattaforma Windows, per la quale la specifica versione della piattaforma è stata sostituita con "Windows NT 10.0". In Linux, il contenuto della piattaforma nell'User-Agent non è cambiato.
In precedenza, i numeri che costituivano la versione del browser MINOR.BUILD.PATCH erano stati sostituiti con 0.0.0. In futuro, nell'intestazione rimarranno solo le informazioni relative al nome del browser, alla versione principale significativa, alla piattaforma e al tipo di dispositivo (telefono cellulare, PC, tablet). Per informazioni aggiuntive, come la versione esatta e dati avanzati sulla piattaforma, sarà necessario utilizzare l'API User Agent Client Hints. Per i siti che non sono ancora pronti a passare a User Agent Client Hints, è stata prevista la possibilità di restituire il completo User-Agent fino a maggio 2023.
- Nella versione per Android è stata interrotta la supporto per la piattaforma Android 6.0, e ora il browser richiede almeno la versione Android 7.0.
- Modificato il design dell'interfaccia per il monitoraggio dello stato dei download. Invece della barra inferiore con i dati sul progresso del download, è stato aggiunto un nuovo indicatore alla barra degli indirizzi, cliccando sul quale si può visualizzare il progresso dei download e la cronologia con l'elenco dei file già scaricati. A differenza della barra inferiore, il pulsante è sempre visibile sulla barra e consente un rapido accesso alla cronologia dei download. Il nuovo design è attualmente proposto per impostazione predefinita solo a una parte degli utenti e sarà distribuito a tutti in assenza di problemi.

- Per gli utenti desktop è disponibile la possibilità di importare password salvate in un file in formato CSV. In precedenza, le password da un file potevano essere trasferite nel browser solo tramite il servizio passwords.google.com, ma ora è possibile farlo anche tramite il gestore password integrato nel browser (Google Password Manager).
- Dopo che l'utente crea un nuovo profilo, viene visualizzato un invito a attivare la sincronizzazione e accedere alle impostazioni, attraverso le quali è possibile cambiare il nome del profilo e scegliere un tema colore.
- Nella versione per la piattaforma Android è stata proposta una nuova interfaccia per la selezione dei file multimediali per il caricamento di foto e video (anziché un'implementazione proprietaria, è stato utilizzato l'interfaccia standard Android Media Picker).

- È stato garantito il ritiro automatico del permesso per l'invio di notifiche per i siti che sono stati sorpresi a inviare notifiche e messaggi inopportuni. Inoltre, per tali siti è stata sospesa la visualizzazione delle richieste per ottenere i permessi per inviare notifiche.
- Nell'API Screen Capture sono state aggiunte nuove proprietà relative alla condivisione dello schermo: selfBrowserSurface (per escludere la scheda attuale quando si chiama getDisplayMedia()), surfaceSwitching (per nascondere il pulsante per il passaggio delle schede) e displaySurface (per limitare la condivisione a una scheda, finestra o schermo specifico).
- Nell'API Performance è stata aggiunta la proprietà renderBlockingStatus per identificare le risorse che ritardano il rendering della pagina fino al completamento del loro caricamento.
- Nella modalità Origin Trials (funzionalità sperimentali che richiedono un'attivazione separata), sono state aggiunte diverse nuove API. L'Origin Trial permette l'accesso a queste API da applicazioni caricate da localhost o 127.0.0.1, oppure dopo registrazione e ottenimento di un token speciale, valido per un tempo limitato per un sito specifico.
- API dichiarativa PendingBeacon, che consente di gestire l'invio di un server dati senza risposta (beacon). Il nuovo API consente di delegare l'invio di tali dati al browser, senza dover richiamare operazioni di invio in un momento specifico, ad esempio per organizzare la trasmissione di telemetria dopo che l'utente ha chiuso la pagina.
- Nell'intestazione HTTP Permissions-Policy (Feature Policy), utilizzata per delegare autorizzazioni e abilitare funzionalità avanzate, è stata aggiunta la supporto per il valore "unload", che consente di disabilitare i gestori dell'evento "unload" sulla pagina.
- Nel tag è stata aggiunta la supporto per l'attributo "rel", che consente di applicare alla navigazione attraverso le web-forme il parametro "rel=noreferrer" per disabilitare la trasmissione dell'intestazione Referer oppure "rel=noopener" per disabilitare la proprietà Window.opener e vietare l'accesso al contesto da cui è stata eseguita la transizione.
- Nel CSS Grid è stata aggiunta la supporto per l'interpolazione delle proprietà grid-template-columns e grid-template-rows per facilitare transizioni fluide tra diversi stati della griglia.
- Sono stati apportati miglioramenti agli strumenti per web developer. È stata aggiunta la possibilità di personalizzare le scorciatoie da tastiera. È stata migliorata l'ispezione della memoria degli oggetti delle applicazioni C/C++, convertiti nel formato WebAssembly.
Oltre alle novità, nella nuova versione sono state risolte 14 vulnerabilità. Molte di queste vulnerabilità sono state identificate grazie ai test automatizzati con strumenti come AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono state rilevate problematiche critiche che permettano di bypassare tutti i livelli di sicurezza del browser e di eseguire codice nel sistema al di fuori dell'ambiente sandbox. Nell'ambito del programma di ricompensa per la scoperta di vulnerabilità, Google ha erogato 10 premi per un totale di 57 mila dollari USA (un premio di $20000, uno di $17000 e uno di $7000, due premi di $3000, tre premi di $2000 e un premio di $1000). L'importo di una singola ricompensa è ancora da determinare.
Fonte: opennet.ru


