Google ha pubblicato il rilascio del browser web Chrome 118. Allo stesso tempo è disponibile la versione stabile del progetto open source Chromium, che costituisce la base di Chrome. Il browser Chrome si differenzia da Chromium per l'uso dei loghi Google, per la presenza di un sistema di invio di notifiche in caso di crash, per i moduli per la riproduzione di contenuti video protetti da copyright (DRM), per il sistema di installazione automatica degli aggiornamenti, per l'attivazione permanente della sandbox e per la fornitura di chiavi per le API di Google e la trasmissione dei parametri RLZ durante la ricerca. Per coloro che hanno bisogno di più tempo per aggiornare, viene mantenuto un ramo Extended Stable, supportato per 8 settimane. Il prossimo rilascio di Chrome 119 è previsto per il 31 ottobre.
Le principali novità in Chrome 118:
- È iniziata la preparazione per la graduale eliminazione del supporto ai Cookie di terze parti in Chrome, utilizzati quando si visita siti diversi dal dominio della pagina attuale. Questi Cookie vengono impiegati per tracciare i movimenti degli utenti tra i vari siti nel codice delle reti pubblicitarie, nei widget dei social network e nei sistemi di web analytics. Le modifiche sono portate avanti nell'ambito dell'iniziativa Privacy Sandbox, che mira 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.
In Chrome 118, gli strumenti per web developer forniscono un avviso quando vengono inviati Cookie che saranno soggetti a future bloccature. È stata aggiunta anche l'opzione della riga di comando «—test-third-party-cookie-phaseout» e la configurazione «chrome://flags/#test-third-party-cookie-phaseout» per forzare l'attivazione del blocco al fine di effettuare test. Il reale blocco dei Cookie di terze parti inizierà nel primo trimestre del 2024 e, durante il periodo di test fino al terzo trimestre, coprirà solo l'1% degli utenti di Chrome. Dopo il terzo trimestre del 2024, la copertura del blocco sarà estesa al 100%.
Invece dei cookie di tracciamento, si propone di utilizzare le seguenti API:
- FedCM (Federated Credential Management), permette di creare servizi di identificazione unificati, garantendo la privacy e funzionando senza cookie di terze parti.
- Private State Tokens, consente di distinguere diversi utenti senza utilizzare identificatori intersito e di trasmettere informazioni di autenticazione tra contesti diversi.
- Topics (criticità), offre la possibilità di definire categorie di interesse per l'utente, che possono essere utilizzate per distinguere gruppi di 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 memorizzati sul dispositivo dell'utente. Tramite l'API Topics, la rete pubblicitaria può ottenere informazioni generali su singoli interessi senza avere accesso a dati specifici sull'attività dell'utente.
- Protected Audience, soluzione per il retargeting e la valutazione del pubblico (lavorando con gli utenti che hanno già visitato il sito in precedenza).
- Il rapporto di attribuzione consente di valutare caratteristiche di efficacia della pubblicità, come clic e conversioni (acquisti sul sito dopo il clic).
- Lo Storage Access API può essere utilizzato per richiedere all'utente l'autorizzazione per accedere al database dei cookie, se per impostazione predefinita i cookie di terze parti sono bloccati.
- Il supporto per il meccanismo ECH (Encrypted Client Hello) è abilitato per tutti gli utenti, continuando l'evoluzione dell'ESNI (Encrypted Server Name Indication) e utilizzato per crittografare informazioni sui parametri delle sessioni TLS, come il nome di dominio richiesto. La principale differenza tra ECH e ESNI è che in ECH, invece di crittografare i singoli campi, viene crittografato l'intero messaggio TLS ClientHello, bloccando così le perdite attraverso campi non coperti da ESNI, come il campo PSK (Pre-Shared Key). Per gestire l'attivazione di ECH, è prevista l'impostazione "chrome://flags#encrypted-client-hello".
- Attivando la protezione avanzata del browser (Safe Browsing > Protezione avanzata), è possibile disattivare da remoto le estensioni dannose installate al di fuori del catalogo ufficiale delle estensioni. La decisione di rimuovere viene presa sui server di Google sulla base di controlli manuali o dopo l'attivazione di un sistema automatico di rilevamento di codice malevolo.
- Attivando la protezione standard del browser (Safe Browsing > Protezione standard), viene eseguita in tempo reale una verifica della sicurezza degli URL aperti, effettuata sulla base della trasmissione a server Google di hash parziali degli URL visitati dall'utente. Per escludere l'associazione Indirizzi IP tra l'utente e l'hash, i dati vengono trasmessi tramite un proxy intermedio. In passato, la verifica veniva eseguita caricando sul sistema dell'utente una copia locale dell'elenco degli URL non sicuri. Il nuovo schema consente di bloccare più rapidamente gli URL dannosi.
- Migliorata la presentazione delle pagine visualizzate quando si tenta di aprire un sito riconosciuto come non sicuro tramite il meccanismo Safe Browsing.

- Nella telemetria inviata ai server di Google quando è attivata la protezione avanzata del browser (Safe Browsing > Enhanced protection), ora sono considerati anche gli accessi delle estensioni all'API chrome.tabs. I dati vengono raccolti per identificare attività dannose e violazioni delle norme nelle estensioni.
- Attivando la protezione avanzata del browser (Safe Browsing > Enhanced protection) è stata aggiunta la supporto per la scansione approfondita di archivi ZIP e RAR crittografati da parte di Google (viene chiesta all'utente la password di estrazione, dopodiché il contenuto viene inviato ai server di Google per il controllo).
- Nel configuratore e nella guida per garantire la privacy è stato aggiunto un nuovo testo che spiega i livelli di protezione di Safe Browsing e sono stati inclusi link a articoli pertinenti con informazioni aggiuntive. Le descrizioni della protezione standard, della disattivazione della protezione e degli avvisi di compromissione delle password sono state semplificate.

- Nella sezione Quests (monitoraggio dei prezzi nei negozi online) della nuova scheda è stata aggiunta l'informazione riguardante la disponibilità di sconti. L'indicatore di sconto può anche apparire nella barra degli indirizzi quando si aprono le pagine con prodotti da negozi online monitorati dal servizio Google.
- Secondo la specifica RFC-6265bis, è stato bloccato l'uso di tutti i Cookie che contengono caratteri di controllo e che sono stati impostati tramite JavaScript. In precedenza, i Cookie con un carattere nullo, ritorno a capo e nuova riga venivano troncati al carattere problematico, anziché essere bloccati, il che in alcune situazioni poteva essere sfruttato per azioni dannose. Per disattivare il nuovo comportamento, è possibile utilizzare l'opzione «—disable-features=BlockTruncatedCookies».
- È consentito l'accesso all'API WebUSB nei Service Worker registrati.
- Rimosso l'obbligo per l'utente di attivare in anticipo la possibilità di visualizzare finestre di dialogo per richiedere e confermare pagamenti.
- Прекращено декодирование представления ASCII-символов в виде кодов «%xx». Например, ранее «http://example.com/%41» перед записью в url.href декодировался в «http://example.com/A», а теперь будет оставаться «http://example.com/%41».
- Aggiunta la possibilità di posizionare verticalmente il testo negli elementi delle web-form come select, meter, progress, button, textarea e input. Il posizionamento del testo nei form è definito tramite la proprietà CSS writing-mode, che per la visualizzazione verticale può assumere i valori vertical-rl o vertical-lr.
- Nella proprietà CSS «appearance» è stata rimossa la supporto per le parole chiave non standard: inner-spin-button, media-slider, media-sliderthumb, media-volume-slider, media-volume-sliderthumb, push-button, searchfield-cancel-button, slider-horizontal, sliderthumb-horizontal, sliderthumb-vertical e square-button. Per valutare la richiesta di queste parole chiave escluse dalle specifiche, è stata raccolta statistica, secondo la quale venivano utilizzate solo nello 0,001% dei casi.
- È stata aggiunta la regola CSS @scope, che vincola gli stili CSS in base alla vicinanza della definizione dello stile agli elementi. La regola @scope può essere utilizzata per superare l'assegnazione tipica degli stili in base all'ordine degli elementi o per modificare lo stile di un componente, senza toccare gli stili degli elementi al suo interno. Ad esempio, per i div annidati: <div class="»lightpink-theme»"> <a href="/it/»/#»">Io sono lightpink!</a> <div class="»pink-theme»"> <a href="/it/»/#»">Rosa diverso!</a> </div> </div> tutto il contenuto sarà colorato di rosa chiaro a causa dell'applicazione dell'intero blocco di stile «lightpink-theme», specificato nel div genitore. Utilizzando @scope è possibile cambiare l'ambito e ottenere l'applicazione dello stile «pink-theme» per il div annidato in base alla vicinanza della definizione dello stile, invece che all'ordine di definizione nel codice: @scope (.pink-theme) { a { color: hotpink; } } @scope (.lightpink-theme){ a { color: lightpink; } }
- È stata aggiunta la supporto per la media query (@media) «scripting», che consente di verificare la disponibilità della possibilità di eseguire script (ad esempio, in CSS si può determinare se il supporto JavaScript è attivato).
- È stata aggiunta la supporto per la media query prefers-reduced-transparency, che consente di determinare se ci sono stati cambiamenti nel sistema delle impostazioni per ridurre l'uso di effetti di trasparenza o semitrasparenza (ad esempio, la modalità «Reduce transparency» in macOS, utilizzata per migliorare la leggibilità del testo).
- In CSS, support has been added for new values: «float: inline-start», «float: inline-end», «clear: inline-start», «clear: inline-end», «resize: block», «resize: inline», which control the logical positioning of elements (for languages written not top-to-bottom and left-to-right, logical positioning uses the concepts of start, end, and direction of text).
- The CSS property «transform-box» now supports the values stroke-box, content-box, and border-box, allowing changes to the reference area calculation for transformation operations, for example, to implement advanced graphic effects.
- It is now possible to focus on scrollable blocks when navigating with the keyboard (for example, focus on scrolling can be set by pressing the Tab key and controlled using the arrow keys).
- Improvements have been made to web developer tools. The Sources panel functionality has been expanded, replacing the «Filesystem» section with a «Workspace» tab, which allows for synchronization with the source files of changes made via developer tools.
È stata introdotta la possibilità di cambiare l'ordine delle schede nel pannello Sources mediante il drag & drop. È stato implementato il formattamento del codice JavaScript incluso negli elementi script con tipi module, importmap e speculationrules. È stata aggiunta la sintassi evidenziata per gli script con tipo importmap e speculationrules.

Nel pannello Elements, nella scheda Styles, è stata aggiunta una sezione separata per le proprietà personalizzate, che consente di definire le proprie proprietà CSS senza l'esecuzione di JavaScript. Nei risultati di ricerca, ora vengono mostrati tutti i match nella stringa, non solo il primo, rendendo più facile la ricerca nei file JavaScript compressi (facendo clic sul risultato, il file si apre nell'editor e viene scorrevole verticalmente e orizzontalmente per mostrare la posizione trovata).

Oltre alle nuove funzionalità e alla correzione di errori, nella nuova versione sono state risolte 20 vulnerabilità. Molte di queste vulnerabilità sono state scoperte grazie a test automatizzati effettuati con strumenti come AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Tra l'altro, nel nuovo rilascio è stata rimossa una vulnerabilità critica CVE-2023-5218, relativa all'accesso alla memoria dopo che è stata liberata (Use after free) nel meccanismo di isolamento dei siti. Questa vulnerabilità consente di eludere tutti i livelli di protezione del browser ed eseguire codice nel sistema al di fuori dell'ambiente sandbox. Nell'ambito del programma di ricompensa per la scoperta di vulnerabilità, Google ha erogato 14 premi per un totale di 30.500 dollari statunitensi (un premio da 6000 dollari, due premi da 5000, due premi da 3000, un premio da 2000, sei premi da 1000 e un premio da 500). L'importo di una singola ricompensa non è ancora stato definito.
Fonte: opennet.ru




