Google rilascio del browser web . Contemporaneamente versione stabile di un progetto open source , che costituisce la base di Chrome. Il browser Chrome l'uso dei loghi Google, la presenza di un sistema di notifiche in caso di crash, la possibilità di scaricare il modulo Flash su richiesta, moduli per la riproduzione di contenuti video protetti (DRM), un sistema di aggiornamenti automatici e trasmissione durante la ricerca . Il prossimo rilascio di Chrome 85 è previsto per il 25 agosto.
:
- supporto dei protocolli TLS 1.0 e TLS 1.1. Per accedere ai siti tramite canale sicuro, il server deve fornire supporto per almeno TLS 1.2; altrimenti, il browser ora restituirà un errore. Secondo Google, attualmente circa lo 0,5% dei caricamenti di pagine web continua a essere effettuato utilizzando versioni obsolete di TLS. La disattivazione è stata effettuata in conformità con l'IETF (Internet Engineering Task Force). La ragione dell'abbandono di TLS 1.0/1.1 è l'assenza di supporto per algoritmi moderni (ad esempio ECDHE e AEAD) e la necessità di supportare algoritmi più vecchi, la cui affidabilità è messa in discussione negli attuali sviluppi dell'informatica (ad esempio, è necessario supportare TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA, per la verifica dell'integrità e l'autenticazione vengono utilizzati MD5 e SHA-1). L'impostazione che consente di ripristinare TLS 1.0/1.1 sarà mantenuta fino a gennaio 2021.
- È stata garantita la blocco (senza crittografia) dei file eseguibili e sono stati aggiunti messaggi di avviso per carichi non sicuri di archivi. In futuro, si prevede gradualmente di interrompere completamente il supporto per il caricamento di file senza crittografia. Il blocco è stato implementato poiché il caricamento di file senza crittografia può essere utilizzato per attività dannose attraverso la sostituzione dei contenuti durante attacchi MITM.
- una supporto iniziale , sviluppato come alternativa all'intestazione User-Agent. Il meccanismo Client Hints offre come sostituto dell'User-Agent una serie di intestazioni 'Sec-CH-UA-*', permettendo di organizzare l'invio selettivo di dati su specifici parametri del browser e del sistema (versione, piattaforma, ecc.) solo dopo una richiesta da parte del server. L'utente ha la possibilità di determinare quali parametri sono validi per l'invio e fornire selettivamente tali informazioni ai proprietari dei siti web. Con l'uso di Client Hints, l'identificatore non viene trasmesso per impostazione predefinita senza esplicita richiesta, rendendo impossibile l'identificazione passiva (per impostazione predefinita viene indicato solo il nome del browser). per fino all'anno prossimo.
- attivazione
più rigorosa trasferimento dei Cookie tra i siti, che era a causa del COVID-19. Per le richieste non-HTTPS, è vietato il trattamento dei Cookie di terze parti impostati durante l'accesso a siti diversi dal dominio della pagina attuale. Tali Cookie vengono utilizzati per monitorare i movimenti degli utenti tra i siti nel codice delle reti pubblicitarie, nei widget dei social media e nei sistemi di web analytics.Ricordiamo che per gestire il trasferimento dei Cookie si utilizza l'attributo SameSite indicato nell'intestazione Set-Cookie, che per impostazione predefinita verrà impostato sul valore "SameSite=Lax", limitando l'invio dei Cookie per sottoparole intersito, come richieste di immagini o caricamento di contenuti tramite iframe da un altro sito. I siti possono sovrascrivere la modalità SameSite predefinita, impostando esplicitamente il valore SameSite=None al momento dell'impostazione dei Cookie. Inoltre, il valore SameSite=None per i Cookie può essere impostato solo in modalità Sicura (funziona per le connessioni tramite HTTPS). La modifica sarà applicata in modo graduale, inizialmente per una piccola percentuale di utenti, e poi ampliando progressivamente la copertura.
- Aggiunta un'implementazione sperimentale , che può essere attivato tramite l'impostazione «chrome://flags/#enable-heavy-ad-intervention». Questo blocco consente di disattivare automaticamente gli iframe pubblicitari dopo che sono stati superati determinati valori soglia di traffico e carico della CPU. Il blocco verrà attivato se nel thread principale sono stati consumati oltre 60 secondi di CPU in totale o 15 secondi in un intervallo di 30 secondi (consumando il 50% delle risorse per più di 30 secondi), e anche quando sono stati scaricati oltre 4 MB di dati dalla rete.
Il blocco si attiverà solo se, prima del superamento dei limiti, l'utente non ha interagito con il blocco pubblicitario (ad esempio, non ha cliccato su di esso). Questo, considerando le limitazioni sul traffico, consentirà di bloccare la riproduzione automatica di video pubblicitari pesanti senza un'esplicita attivazione da parte dell'utente. Le misure proposte libereranno gli utenti da pubblicità con implementazioni di codice inefficaci o attività parassitarie intenzionali (come le esecuzioni di mining). Secondo le statistiche di Google, la pubblicità che rientra nei criteri di blocco rappresenta solo lo 0,30% di tutti i blocchi pubblicitari, ma questi inserimenti pubblicitari consumano il 28% delle risorse CPU e il 27% del traffico dell'intero volume pubblicitario.
- È stata effettuata una riduzione del consumo delle risorse CPU quando la finestra del browser non è visibile all'utente. Chrome ora verifica se la finestra del browser è sovrapposta ad altre finestre e esclude il rendering dei pixel nelle aree sovrapposte. L'attivazione della nuova funzione avverrà gradualmente: per alcuni utenti l'ottimizzazione sarà attivata in Chrome 84, mentre per gli altri in Chrome 85.
- Attivata di default la protezione contro , come ad esempio lo spam di richieste per ricevere notifiche push. Poiché tali richieste interrompono il lavoro dell'utente e distraggono l'attenzione sulle azioni nei dialoghi di conferma, invece di un dialogo separato nella barra degli indirizzi verrà visualizzato un suggerimento informativo che non richiede azioni da parte dell'utente, con un avviso di blocco della richiesta di autorizzazione, che si riduce automaticamente a un indicatore con l'immagine di una campana barrata. Cliccando sull'indicatore, è possibile attivare o rifiutare l'autorizzazione richiesta in qualsiasi momento.
- È stata garantita la memorizzazione delle scelte dell'utente quando si aprono gestori di protocolli esterni: l'utente può selezionare "consenti sempre per questo sito" per un determinato gestore e il browser ricorderà questa decisione in relazione al sito attuale.
- È stata aggiunta una protezione contro la modifica delle impostazioni dell'utente senza un esplicito consenso. Se un'estensione modifica il motore di ricerca predefinito o la pagina mostrata per una nuova scheda, il browser mostrerà ora una finestra di dialogo per confermare l'operazione proposta o annullare la modifica.
- È stata implementata una protezione contro il caricamento di contenuti multimediali misti (quando su una pagina HTTPS vengono caricati contenuti tramite http://). Ora i collegamenti "http://" nelle sezioni relative al caricamento delle immagini verranno automaticamente convertiti in "https://" per le pagine aperte in HTTPS (in precedenza erano stati convertiti script e iframe; l'automazione del blocco dei contenuti audio e video è attesa per il prossimo rilascio). Se un'immagine non è disponibile su https, il suo caricamento sarà bloccato (è possibile segnalarne il blocco tramite il menu accessibile tramite il simbolo del lucchetto nella barra degli indirizzi).
- È stato aggiunto il supporto per l'API (si è sviluppato come SMS Receiver API), permettendo l'inserimento su una pagina web di una password monouso, dopo aver ricevuto un SMS contenente il codice di conferma, inviato a uno smartphone Android dell'utente, su cui è in esecuzione il browser. La conferma via SMS, ad esempio, può essere utilizzata per verificare il numero di telefono fornito dall'utente durante la registrazione. In precedenza, l'utente doveva aprire l'app per gestire gli SMS, copiare il codice negli appunti, tornare al browser e incollare il codice. Il nuovo API consente di automatizzare questo processo riducendolo a un solo tocco.
- API estesa
per gestire la riproduzione delle animazioni web. Nella nuova versione è stata aggiunta la supporto per le operazioni di compositing, che consentono di controllare come vengono combinati gli effetti e forniscono nuovi gestori che vengono attivati quando si verificano eventi di sostituzione del contenuto. L'API Web Animations ora supporta anche Promise per definire la sequenza di visualizzazione dell'animazione e migliorare il controllo su come l'animazione interagisce con altre funzionalità dell'app. - 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 per consentire l'accesso del Service Worker ai cookie HTTP, rappresentando un'alternativa asincrona all'uso di document.cookie.
- API per determinare l'inattività dell'utente, consentendo di identificare il tempo in cui l'utente non interagisce con la tastiera / mouse, è attivato il salvaschermo, lo schermo è bloccato o il lavoro viene eseguito su un altro monitor. Informare l'applicazione dell'inattività avviene tramite l'invio di una notifica dopo aver raggiunto una soglia di inattività specificata.
- Modalità , consente agli sviluppatori di utilizzare un'isolamento più completo dell'elaborazione dei contenuti in un processo separato legato all'origine (origin – dominio + porta + protocollo), piuttosto che al sito, a costo di interrompere il supporto di alcune funzionalità obsolete, come l'esecuzione sincrona di script che utilizzano document.domain e la chiamata a postMessage() per inviare messaggi a istanze di WebAssembly.Module. In altre parole, l'Isolamento dell'Origine consente di organizzare la separazione in diversi processi basati sul dominio della risorsa, piuttosto che sul sito con tutte le inclusioni estranee nelle pagine.
- API per l'utilizzo delle istruzioni SIMD vettoriali nelle applicazioni in formato WebAssembly. Per garantire la compatibilità tra piattaforme, viene proposto un nuovo tipo a 128 bit in grado di rappresentare diversi tipi di dati impacchettati e alcune operazioni vettoriali di base per l'elaborazione dei dati impacchettati. SIMD consente di aumentare le prestazioni attraverso il parallelismo nell'elaborazione dei dati e sarà utile nella compilazione del codice nativo in WebAssembly. Per abilitare il supporto per SIMD, è possibile utilizzare l'impostazione «chrome://flags/#enable-webassembly-simd».
- Stabilizzato e ora distribuito al di fuori degli Origin Trials
API , fornendo metadati sul contenuto che era precedentemente memorizzato nella cache dalle applicazioni web che funzionano in modalità Progressive Web Apps (PWS). L'app può memorizzare diversi dati sul lato browser, inclusi immagini, video e articoli, e in caso di perdita della connessione di rete può utilizzarli tramite l'API Cache Storage e IndexedDB. L'API Content Indexing consente di aggiungere, trovare e rimuovere tali risorse. Questo API è già utilizzato nel browser per elencare le pagine e i dati multimediali disponibili per la visualizzazione offline. - Versione stabilizzata dell'API basato sul meccanismo Promise, offre un modo più sicuro per gestire la disattivazione dell'auto-blocco dello schermo e il passaggio dei dispositivi in modalità di risparmio energetico.
- Nella versione per piattaforma Android supporto per le scorciatoie delle applicazioni, che consentono un accesso rapido alle azioni comuni richieste nell'applicazione. Per creare scorciatoie, è sufficiente aggiungere elementi al manifesto dell'app web nel formato PWA (Progressive Web Apps).
- Per i Web Worker è consentito l'uso dell'API , che consente di definire un gestore per la generazione di report, attivato quando vengono utilizzate funzionalità obsolete. Il report generato dall'utente può essere salvato, inviato a un server o elaborato da uno script JavaScript.
- Aggiornata l'API , che consente di collegare un gestore a cui verranno inviati avvisi sui cambiamenti di dimensione degli elementi specificati sulla pagina. In ResizeObserverEntry sono state aggiunte tre nuove proprietà: contentBoxSize, borderBoxSize e devicePixelContentBoxSize per ottenere informazioni più dettagliate, restituite in forma di array di oggetti ResizeObserverSize.
- Aggiunta la parola chiave «» per ripristinare lo stile dell'elemento al valore predefinito.
- Eliminati i prefissi CSS «-webkit-appearance» e «-webkit-ruby-position», che ora sono disponibili come «» e ««.
- In JavaScript supporto per contrassegnare metodi e proprietà della classe come privati, rendendo così l'accesso a essi disponibile solo all'interno della classe (in precedenza solo i campi potevano essere privati). Per contrassegnare metodi e proprietà come privati, si deve anteporre al nome del campo il simbolo «#».
- In JavaScript supporto (weak reference) agli oggetti JavaScript, che consentono di mantenere un riferimento a un oggetto senza impedire la rimozione dell'oggetto correlato da parte del garbage collector. È stata inoltre aggiunta la supporto per i finalizzatori, che consentono di definire un gestore che viene chiamato dopo l'esecuzione della raccolta dei rifiuti dell'oggetto specificato.
- Avviato più velocemente le applicazioni su WebAssembly, grazie all'implementazione nel compilatore iniziale (baseline) Liftoff e . Migliorati gli strumenti per il debug di WebAssembly, notevolmente aumentata la performance del debug con l'uso di punti di interruzione (in precedenza durante il debug si utilizzava un interprete, ora il compilatore Liftoff).
- Nella sezione dedicata agli strumenti per gli sviluppatori web, è stata aggiornata la console per l'analisi delle prestazioni. È stata aggiunta una panoramica sulla metrica. (Total Blocking Time), che mostra quanto tempo una pagina sembra disponibile, ma in realtà non lo è (ossia la pagina è già stata renderizzata, ma l'esecuzione del thread principale è ancora bloccata e non è possibile inserire dati). È stata aggiunta una nuova sezione Experience per analizzare la metrica. (Cumulative Layout Shift), che riflette la stabilità visiva del contenuto. Nella console di ispezione degli stili CSS è stata implementata un'anteprima delle immagini specificate tramite la proprietà «background-image».
Oltre alle novità e alla correzione di errori, nella nuova versione sono state risolte . Molte delle vulnerabilità sono state scoperte attraverso test automatizzati utilizzando strumenti , , , e . Un problema (CVE-2020-6510, overflow del buffer nel gestore delle operazioni in background fetch) è stato contrassegnato come critico, cioè consente di bypassare tutti i livelli di protezione del browser ed eseguire codice nel sistema al di fuori dell'ambiente sandbox. Nell'ambito del programma per il pagamento di ricompense per la scoperta di vulnerabilità per l'attuale rilascio, Google ha elargito 26 premi per un totale di 21.500 dollari (due premi da 5.000 dollari, due premi da 3.000 dollari, un premio da 2.000 dollari, due premi da 1.000 dollari e tre premi da 500 dollari). L'importo di 16 ricompense non è ancora stato definito.
Fonte: opennet.ru
