L'azienda Google ha pubblicato il rilascio del web browser Chrome 120. È disponibile contemporaneamente anche la versione stabile del progetto open source Chromium, che funge da base per Chrome. Il browser Chrome si distingue da Chromium per l'uso dei loghi Google, la presenza di un sistema di invio di notifiche in caso di arresto anomalo, moduli per la riproduzione di contenuti video protetti da copyright (DRM), un sistema di aggiornamento automatico, un costante isolamento Sandbox, la fornitura di chiavi per le API di Google e la trasmissione dei parametri RLZ durante la ricerca. Per coloro che necessitano di più tempo per l'aggiornamento, è supportata una branch Extended Stable, disponibile per 8 settimane. Il rilascio successivo di Chrome 121 è programmato per il 23 gennaio.
Principali novità in Chrome 120:
- È iniziato un esperimento per disattivare il supporto ai cookie di terze parti, impostati quando si accede a siti diversi dalla di dominio pagina attuale. Questi cookie vengono utilizzati per monitorare i movimenti dell'utente tra i siti nei codici delle reti pubblicitarie, nei widget dei social media e nei sistemi di web analytics. A gennaio 2024, i cookie di terze parti saranno disattivati per l'1% degli utenti del browser. Le modifiche sono parte dell'iniziativa Privacy Sandbox, volta a trovare un compromesso tra la necessità degli utenti di mantenere la privacy e il desiderio delle reti pubblicitarie e dei siti di monitorare le preferenze dei visitatori.
Invece dei cookie di monitoraggio, si propone di utilizzare i seguenti API:
- FedCM (Federated Credential Management), consente di creare servizi di identificazione unificati, garantendo la privacy e funzionando senza cookie di terze parti.
- Private State Tokens, permette di differenziare gli utenti senza l'uso di identificatori intersito e di trasmettere informazioni sull'autenticazione dell'utente tra diversi contesti.
- Topics (critica) consente di identificare le categorie di interesse degli utenti, che possono essere utilizzate per raggruppare gli utenti con interessi simili senza identificare singoli utenti tramite cookie di tracciamento. Gli interessi vengono calcolati in base all'attività dell'utente nel browser e vengono salvati sul dispositivo dell'utente. Attraverso l'API Topics, la rete pubblicitaria può ottenere informazioni generali sugli interessi senza avere informazioni sull'attività specifica dell'utente.
- Protected Audience, soluzione per il retargeting e la valutazione del proprio pubblico (lavoro con utenti che hanno già visitato il sito in precedenza).
- Attribution Reporting, consente di valutare caratteristiche di efficacia della pubblicità come clic e conversione (acquisto sul sito dopo un clic).
- Storage Access API, può essere utilizzata per richiedere all'utente i permessi per accedere ai cookie, se per impostazione predefinita i cookie di terze parti sono bloccati.
- In conformità con i requisiti della legge DMA (Digital Markets Act) adottata nell'Unione Europea, alcuni utenti vedranno un dialogo per scegliere il motore di ricerca predefinito, le cui opzioni corrispondono alle impostazioni di chrome://settings/search. In Chrome 120, il dialogo verrà mostrato all'1% degli utenti, mentre al momento della pubblicazione di Chrome 122 sarà disponibile per il 100%.
- È iniziato il processo di cessazione del supporto al codec video Theora. Nella fase iniziale, Theora verrà disattivato per l'1% degli utenti, ma entro il 16 gennaio è previsto che venga disattivato per tutti gli utenti. Durante la fase di transizione, è disponibile un'impostazione per il ripristino del codec all'indirizzo "chrome://flags/#theora-video-codec". La motivazione per la cessazione del supporto a Theora è legata a preoccupazioni che nella sua implementazione, caratterizzata da una logica complessa di analisi dei dati binari e decodifica dei flussi, possano esserci vulnerabilità simili ai recenti problemi critici riscontrati nel codificatore VP8.
- La progettazione del catalogo Chrome Web Store è stata rielaborata per semplificare la ricerca e la gestione delle estensioni. Sono state aggiunte nuove categorie di estensioni (ad esempio, una categoria dedicata alle estensioni basate sul machine learning e la sezione «scelte dell'editore»). Nel menu » ⋮ » è stata aggiunta la possibilità di tornare al design precedente.

- È stata ampliata la funzionalità dell'interfaccia «Controllo Sicurezza» (Safety check), che mostra un riepilogo delle possibili problematiche di sicurezza, come l'uso di password compromesse, lo stato della verifica dei siti dannosi (Safe Browsing), la presenza di aggiornamenti non installati e l'individuazione di estensioni dannose. Nella nuova versione è stata proposta una modalità proattiva che esegue periodicamente controlli di sicurezza del browser e informa l'utente in caso di problemi riscontrati. Le impostazioni sono state integrate con opzioni per gestire le azioni in modalità proattiva.

- È stata implementata una barra degli strumenti adattiva, che cambia a seconda delle dimensioni della finestra.
- Nel gestore delle password è consentito condividere singole password con i membri del gruppo Google Family Group, impostato tramite Google Account. È possibile concedere l'accesso a una sola password alla volta, dopo di che la password condivisa non potrà essere aggiornata o revocata dal mittente.
- L'interazione con le stampanti è stata spostata in un processo di servizio separato, il che ha permesso di aumentare la stabilità del browser e migliorare la reattività dell'interfaccia di anteprima della pagina prima della stampa.
- In TLS è stata integrata l'implementazione del meccanismo di incapsulamento delle chiavi (KEM, Key Encapsulation Mechanism), che utilizza un algoritmo ibrido X25519Kyber768, resistente agli attacchi da parte di computer quantistici. Per la creazione delle chiavi di sessione utilizzate per crittografare i dati all'interno delle connessioni TLS, ora può essere utilizzata una combinazione del meccanismo di scambio di chiavi X25519, basato su curve ellittiche e attualmente utilizzato in TLS, con l'algoritmo Kyber-768, che utilizza metodi crittografici basati sulla risoluzione di problemi della teoria delle griglie, il cui tempo di risoluzione non differisce tra computer normali e quantistici.
- Nel servizio di soppressione automatica delle richieste di conferma delle autorizzazioni (Permission Suggestions Service) è stato garantito il monitoraggio dell'URL della pagina che richiede le autorizzazioni (su servers I hash relativi agli URL che richiedono autorizzazioni saranno trasferiti a Google).
- Nella versione per Android è terminato il supporto per la piattaforma Android 7.0 "Nougat".
- È stato aggiunto un framework per implementare la concettualizzazione delle richieste di chiusura, che consente all'utente di richiedere la chiusura di dialoghi modali e popup premendo il tasto Esc o utilizzando un gesto sullo schermo o il pulsante "Indietro" sugli smartphone. Il supporto per le richieste di chiusura è stato aggiunto per i dialoghi creati tramite l'elemento
- Nell'elemento è stato aggiunto il supporto per l'attributo "name", che consente di creare gruppi mediante la definizione di una serie di elementicon lo stesso nome.
- Nell'API Media Session è stato aggiunto l'evento "enterpictureinpicture", che consente al sito di registrare un gestore da chiamare quando il contenuto viene aperto in modalità "picture in picture".
- È stata semplificata la sintassi dei blocchi CSS annidati: ora le regole CSS annidate possono iniziare con qualunque elemento, senza la necessità di specificare il simbolo dell'ampersand o di utilizzare la funzione is() prima della regola annidata. dl { dt { /* stile per dl dt */ } dd { /* stile per dl dd */ } }
- Nella proprietà CSS "background-clip" è stato aggiunto il supporto per il parametro "text", che consente di visualizzare il background selezionato solo nell'area limitata dai caratteri di testo. Ad esempio, specificando "background: linear-gradient(60deg, red, yellow, red, yellow, red); background-clip: text; color: rgba(0, 0, 0, 0.2)" si otterrà la visualizzazione:

- Nel CSS è stata aggiunta la media query "scripting", che può essere utilizzata per determinare la capacità di eseguire script, ad esempio in linguaggio JavaScript, sulla pagina corrente.
- Nel CSS è stato aggiunto il pseudoclasse ":dir()", che consente di selezionare elementi a seconda dell'orientamento del testo (ad esempio, ":dir(ltr)" coprirà gli elementi il cui testo è visualizzato da sinistra a destra).
- Nel CSS sono state aggiunte funzioni esponenziali pow(), sqrt(), hypot(), log() ed exp().
- Nel CSS è stato aggiunto il supporto per le proprietà mask, mask-image, mask-repeat, mask-position, mask-clip, mask-origin, mask-size, mask-composite e mask-mode per nascondere un elemento sovrapponendo un'immagine in determinati punti.
- Nell'API FontFaceSet è stato aggiunto il metodo check(), che consente di verificare se il testo può essere visualizzato con i caratteri selezionati senza utilizzare i caratteri di FontFaceSet il cui caricamento non è ancora completato.
- Nell'API WebGPU è stata aggiunta la possibilità di utilizzare nei shader un tipo a virgola mobile da 16 bit f16.
- Nell'API Media Capabilities sono stati aggiunti ai campi di decodingInfo() hdrMetadataType, colorGamut e transferFunction per determinare il supporto HDR.
- Nell'API MediaStreamTrack è stata aggiunta la possibilità di ottenere informazioni sui contatori dei fotogrammi video ricevuti e scartati.
- Aggiunta la possibilità di passare un oggetto ArrayBuffer ai costruttori VideoFrame, AudioData, EncodedVideoChunk, EncodedAudioChunk e ImageDecoder per l'uso diretto dell'array di byte senza creare una copia.
- In conformità con la specifica modificata per aumentare la protezione contro gli attacchi XSS e per migliorare la portabilità tra i browser, nel SVGUseElement è stata interrotta la supporto per l'URL «data:», che in precedenza non era supportato nel motore WebKit.
- Aggiunto il supporto sperimentale (origin trial) per l'intestazione HTTP «Priority», attraverso la quale è possibile inviare informazioni sulla priorità del trattamento della richiesta (RFC 9218) nella fase del primo accesso alla risorsa.
- Miglioramenti agli strumenti per sviluppatori web. Nel debugger è stata attivata per impostazione predefinita l'ignoranza degli script posizionati nelle cartelle «/node_modules/» e «/bower_components/» con moduli Node.js. In modalità di debug remoto è stato implementato un interruttore per scegliere tra mouse e touchscreen. È stata migliorata la debug dell'animazione. Nella scheda Elements è stato aggiunto un interruttore «media» per il debug degli elementi
Oltre alle nuove funzionalità e alla correzione di errori, nella nuova versione sono state eliminate 10 vulnerabilità. Molte di queste vulnerabilità sono state individuate grazie a test automatizzati condotti con strumenti come AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono stati riscontrati problemi critici che consentano di aggirare tutti i livelli di protezione del browser e di eseguire codice nel sistema al di fuori dell'ambiente sandbox. Nell'ambito del programma di premi per la scoperta di vulnerabilità, Google ha erogato 13 premi per l'attuale rilascio, per un totale di 15.000 dollari USA (un premio di $10.000, un premio di $2.000 e tre premi di $1.000).
Fonte: opennet.ru


