Chrome versione 93

Google ha annunciato l'uscita del browser web Chrome 93. Allo stesso tempo è disponibile una versione stabile del progetto gratuito Chromium, che funge da base per Chrome. Il browser Chrome si distingue per l'utilizzo dei loghi di Google, la presenza di un sistema per l'invio di notifiche in caso di crash, moduli per la riproduzione di contenuti video protetti (DRM), un sistema per l'installazione automatica degli aggiornamenti e la trasmissione dei parametri RLZ durante la ricerca. Il prossimo rilascio di Chrome 94 è previsto per il 21 settembre (lo sviluppo è stato spostato a un ciclo di rilascio di 4 settimane).

Modifiche principali in Chrome 93:

  • Il design del blocco con informazioni sulla pagina (informazioni sulla pagina) è stato modernizzato, in cui è stato implementato il supporto per i blocchi annidati e gli elenchi a discesa con diritti di accesso sono stati sostituiti con interruttori. Gli elenchi garantiscono che le informazioni più importanti vengano visualizzate per prime. La modifica non è abilitata per tutti gli utenti; per attivarla è possibile utilizzare l'impostazione “chrome://flags/#page-info-version-2-desktop”.
    Chrome versione 93
  • Per una piccola percentuale di utenti, in via sperimentale, l'indicatore di connessione sicura nella barra degli indirizzi è stato sostituito con un simbolo più neutro che non dà luogo a doppie interpretazioni (il lucchetto è stato sostituito con un segno “V”). Per le connessioni stabilite senza crittografia, l'indicatore "non sicuro" continua a essere visualizzato. Il motivo addotto per la sostituzione dell'indicatore è che molti utenti associano l'indicatore del lucchetto al fatto che il contenuto del sito è affidabile, piuttosto che vederlo come un segno che la connessione è crittografata. A giudicare da un sondaggio di Google, solo l'11% degli utenti comprende il significato dell'icona con il lucchetto.
    Chrome versione 93
  • L'elenco delle schede chiuse di recente ora mostra il contenuto dei gruppi di schede chiusi (in precedenza l'elenco mostrava semplicemente il nome del gruppo senza dettagliare il contenuto) con la possibilità di restituire contemporaneamente sia l'intero gruppo che le singole schede del gruppo. La funzione non è abilitata per tutti gli utenti, quindi potrebbe essere necessario modificare l'impostazione "chrome://flags/#tab-restore-sub-menus" per abilitarla.
    Chrome versione 93
  • Per le aziende sono state implementate nuove impostazioni: DefaultJavaScriptJitSetting, JavaScriptJitAllowedForSites e JavaScriptJitBlockedForSites, che consentono di controllare la modalità JIT-less, che disabilita l'uso della compilazione JIT durante l'esecuzione di JavaScript (viene utilizzato solo l'interprete Ignition) e proibisce l'allocazione di eseguibili memoria durante l'esecuzione del codice. Disabilitare JIT può essere utile per migliorare la sicurezza dell'utilizzo di applicazioni Web potenzialmente pericolose, al costo di ridurre le prestazioni di esecuzione di JavaScript di circa il 17%. È interessante notare che Microsoft è andata ancora oltre e ha implementato una modalità sperimentale "Super Duper Secure" nel browser Edge, consentendo all'utente di disabilitare JIT e attivare meccanismi di sicurezza hardware non compatibili con JIT CET (Controlflow-Enforcement Technology), ACG (Arbitrary Code Guard) e CFG (Control Flow Guard) per i processi di elaborazione dei contenuti web. Se l'esperimento ha esito positivo, possiamo aspettarci che venga trasferito nella parte principale di Chrome.
  • La nuova scheda fornisce un elenco dei documenti più popolari salvati su Google Drive. Il contenuto dell'elenco corrisponde alla sezione Priorità in drive.google.com. Per controllare la visualizzazione dei contenuti di Google Drive, puoi utilizzare le impostazioni "chrome://flags/#ntp-modules" e "chrome://flags/#ntp-drive-module".
    Chrome versione 93
  • Sono state aggiunte nuove schede informative alla pagina Apri nuova scheda per aiutarti a trovare i contenuti visualizzati di recente e le informazioni correlate. Le schede sono pensate per facilitare il proseguimento del lavoro con le informazioni la cui visualizzazione è stata interrotta, ad esempio le schede ti aiuteranno a trovare la ricetta di un piatto trovato di recente online ma che è andato perso dopo aver chiuso la pagina, oppure a continuare a preparare acquisti nei negozi. A titolo sperimentale, agli utenti vengono offerte due nuove mappe: “Recipes” (chrome://flags/#ntp-recipe-tasks-module) per la ricerca di ricette culinarie e la visualizzazione delle ricette visualizzate di recente; "Shopping" (chrome://flags/#ntp-chrome-cart-module) per promemoria sui prodotti selezionati nei negozi online.
  • La versione Android aggiunge il supporto opzionale per un pannello di ricerca continua (chrome://flags/#continuous-search), che consente di mantenere visibili i risultati recenti della ricerca di Google (il pannello continua a mostrare i risultati dopo essersi spostato su altre pagine).
    Chrome versione 93
  • Nella versione Android è stata aggiunta una modalità sperimentale di condivisione delle citazioni (chrome://flags/#webnotes-stylize), che consente di salvare un frammento selezionato di una pagina come citazione e condividerlo con altri utenti.
  • Quando si pubblicano nuove aggiunte o aggiornamenti di versione sul Chrome Web Store, ora è richiesta la verifica dello sviluppatore a due fattori.
  • Gli utenti dell'account Google hanno la possibilità di salvare le informazioni di pagamento sul proprio account Google.
  • In modalità di navigazione in incognito, se è attivata l'opzione per cancellare i dati di navigazione, è stata implementata una nuova finestra di dialogo di conferma dell'operazione, spiegando che la cancellazione dei dati chiuderà la finestra e terminerà tutte le sessioni in modalità di navigazione in incognito.
  • A causa di incompatibilità identificate con il firmware di alcuni dispositivi, è stato aggiunto a Chrome 91 il supporto per il nuovo metodo di accordo delle chiavi, resistente all'ipotesi sui computer quantistici, basato sull'utilizzo dell'estensione CECPQ1.3 (Combined Elliptic-Curve and Post-Quantum 2) in TLSv2, che combina un classico meccanismo di scambio di chiavi X25519 con uno schema HRSS basato sull'algoritmo NTRU Prime progettato per crittosistemi post-quantistici.
  • Le porte 989 (ftps-data) e 990 (ftps) sono state aggiunte al numero di porte di rete vietate per bloccare l'attacco ALPACA. In precedenza, per proteggersi dagli attacchi NAT slipstream, le porte 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061, 6566 e 10080 erano già bloccate.
  • TLS non supporta più le crittografie basate sull'algoritmo 3DES. In particolare, è stata rimossa la suite di cifratura TLS_RSA_WITH_3DES_EDE_CBC_SHA, suscettibile all'attacco Sweet32.
  • Il supporto per Ubuntu 16.04 è stato interrotto.
  • È possibile utilizzare l'API WebOTP tra diversi dispositivi collegati tramite un comune account Google. WebOTP consente a un'applicazione Web di leggere i codici di verifica una tantum inviati tramite SMS. La modifica proposta consente di ricevere un codice di verifica su un dispositivo mobile con Chrome per Android e applicarlo su un sistema desktop.
  • L'API User-Agent Client Hints è stata ampliata, sviluppata in sostituzione dell'intestazione User-Agent. User-Agent Client Hints consente di organizzare la consegna selettiva di dati su browser specifici e parametri di sistema (versione, piattaforma, ecc.) solo dopo una richiesta da parte del server. L'utente, a sua volta, può determinare quali informazioni possono essere fornite ai proprietari del sito. Quando si utilizzano i suggerimenti client dell'agente utente, l'identificatore del browser non viene trasmesso senza una richiesta esplicita e per impostazione predefinita vengono specificati solo i parametri di base, il che rende difficile l'identificazione passiva.

    La nuova versione supporta il parametro Sec-CH-UA-Bitness per restituire dati sul bitness della piattaforma, che possono essere utilizzati per servire file binari ottimizzati. Per impostazione predefinita, il parametro Sec-CH-UA-Platform viene inviato con informazioni generali sulla piattaforma. Il valore UADataValues ​​restituito quando si chiama getHighEntropyValues() è implementato per impostazione predefinita per restituire parametri generalizzati se è impossibile restituire un'opzione dettagliata. All'oggetto NavigatorUAData è stato aggiunto il metodo toJSON, che consente di utilizzare costrutti come JSON.stringify(navigator.userAgentData).

  • La possibilità di impacchettare le risorse in pacchetti nel formato Web Bundle, adatto per organizzare in modo più efficiente il caricamento di un gran numero di file di accompagnamento (stili CSS, JavaScript, immagini, iframe), è stata stabilizzata e offerta per impostazione predefinita. Tra le carenze del supporto esistente per i pacchetti per file JavaScript (webpack), che il Web Bundle sta cercando di eliminare: il pacchetto stesso, ma non i suoi componenti, può finire nella cache HTTP; la compilazione e l'esecuzione possono iniziare solo dopo che il pacchetto è stato completamente scaricato; Risorse aggiuntive come CSS e immagini devono essere codificate sotto forma di stringhe JavaScript, il che aumenta le dimensioni e richiede un ulteriore passaggio di analisi.
  • È inclusa l'API WebXR Plane Detection, che fornisce informazioni sulle superfici planari in un ambiente 3D virtuale. L'API specificata consente di evitare l'elaborazione ad alta intensità di risorse dei dati ottenuti tramite la chiamata MediaDevices.getUserMedia(), utilizzando implementazioni proprietarie di algoritmi di visione artificiale. Ricordiamo che l'API WebXR consente di unificare il lavoro con varie classi di dispositivi di realtà virtuale, dai caschi 3D fissi alle soluzioni basate su dispositivi mobili.
  • Diverse nuove API sono state aggiunte alla modalità Origin Trials (funzionalità sperimentali che richiedono un'attivazione separata). Origin Trial implica la possibilità di lavorare con l'API specificata dalle applicazioni scaricate da localhost o 127.0.0.1, o dopo la registrazione e la ricezione di un token speciale valido per un periodo di tempo limitato per un sito specifico.
    • È stata proposta la Multi-Screen Window Placement API, che consente di posizionare finestre su qualsiasi display collegato al sistema attuale, nonché di salvare la posizione della finestra e, se necessario, espandere la finestra a schermo intero. Ad esempio, utilizzando l'API specificata, un'applicazione Web per la visualizzazione di una presentazione può organizzare la visualizzazione delle diapositive su uno schermo e visualizzare una nota per il relatore su un altro.
    • L'intestazione Cross-Origin-Embedder-Policy, che controlla la modalità di isolamento Cross-Origin e consente di definire regole di utilizzo sicure nella pagina Operazioni privilegiate, ora supporta un parametro "credentialless" per disabilitare la trasmissione di informazioni relative alle credenziali come Cookie e certificati client.
    • Per le applicazioni Web autonome (PWA, Progressive Web Apps) che controllano il rendering del contenuto della finestra e gestiscono l'input, viene fornita una sovrapposizione con i controlli della finestra, come una barra del titolo e pulsanti di espansione/compressione. Una sovrapposizione estende l'area modificabile per coprire l'intera finestra e consente di aggiungere i propri elementi all'area del titolo.
      Chrome versione 93
    • Aggiunta la possibilità di creare applicazioni PWA che possono essere utilizzate come gestori di URL. Ad esempio, l'applicazione music.example.com può registrarsi come gestore URL https://*.music.example.com e tutte le transizioni da applicazioni esterne che utilizzano questi collegamenti, ad esempio, da programmi di messaggistica istantanea e client di posta elettronica, porteranno all'apertura di queste applicazioni PWA, non a una nuova scheda del browser.
  • È possibile caricare file CSS utilizzando l'espressione "import", simile al caricamento di moduli JavaScript, che è comoda quando si creano i propri elementi e consente di fare a meno dell'assegnazione di stili utilizzando il codice JavaScript. importa il foglio da './styles.css' assert { type: 'css' }; document.adoptedStyleSheets = [foglio]; shadowRoot.adoptedStyleSheets = [foglio];
  • È stato fornito un nuovo metodo statico, AbortSignal.abort(), che restituisce un oggetto AbortSignal che è già stato impostato su abortito. Invece di diverse righe di codice per creare un oggetto AbortSignal nello stato interrotto, ora puoi cavartela con una singola riga di "return AbortSignal.abort()".
  • L'elemento Flexbox ha aggiunto il supporto per le parole chiave start, end, self-start, self-end, left e right, integrando le parole chiave center, flex-start e flex-end con strumenti per l'allineamento semplificato della posizione degli elementi flex.
  • Il costruttore Error() implementa una nuova proprietà opzionale "causa", che consente di associare facilmente gli errori tra loro. const parentError = new Errore('parent'); const errore = nuovo Errore('parent', { causa: parentError }); console.log(errore.causa === parentError); // → vero
  • Aggiunto il supporto per la modalità noplaybackrate alla proprietà HTMLMediaElement.controlsList, che consente di disabilitare elementi dell'interfaccia forniti nel browser per modificare la velocità di riproduzione dei contenuti multimediali.
  • Aggiunta l'intestazione Sec-CH-Prefers-Color-Scheme, che consente, in fase di invio della richiesta, di trasmettere dati sullo schema di colori preferito dall'utente utilizzato nelle media query “prefers-color-scheme”, che consentirà al sito di ottimizzare il caricamento dei CSS associati allo schema selezionato ed evitare passaggi visibili da altri schemi.
  • Aggiunta la proprietà Object.hasOwn, che è una versione semplificata di Object.prototype.hasOwnProperty, implementata come metodo statico. Object.hasOwn({ prop: 42 }, 'prop') // → vero
  • Progettato per una compilazione a forza bruta molto veloce, il compilatore JIT di Sparkplug ha aggiunto una modalità di esecuzione batch per ridurre il sovraccarico derivante dal passaggio delle pagine di memoria tra le modalità di scrittura e di esecuzione. Sparkplug ora compila più funzioni contemporaneamente e chiama mprotect una volta per modificare le autorizzazioni dell'intero gruppo. La modalità proposta riduce significativamente i tempi di compilazione (fino al 44%) senza influire negativamente sulle prestazioni di esecuzione di JavaScript.
    Chrome versione 93
  • La versione Android disabilita la protezione integrata del motore V8 contro gli attacchi side-channel come Spectre, che non sono considerati così efficaci come isolare i siti in processi separati. Nella versione desktop, questi meccanismi sono stati disabilitati nella versione di Chrome 70. La disabilitazione dei controlli non necessari ha consentito di aumentare le prestazioni del 2-15%.
    Chrome versione 93
  • Sono stati apportati miglioramenti agli strumenti per gli sviluppatori web. Nella modalità di ispezione del foglio di stile, è possibile modificare le query generate utilizzando l'espressione @container. Nella modalità di ispezione della rete viene implementata un'anteprima delle risorse nel formato Web bundle. Nella console web sono state aggiunte al menu contestuale le opzioni per copiare stringhe sotto forma di valori letterali JavaScript o JSON. Miglioramento del debug degli errori correlati a CORS (Cross-Origin Resource Sharing).
    Chrome versione 93

Oltre alle innovazioni e alle correzioni di bug, la nuova versione elimina 27 vulnerabilità. Molte delle vulnerabilità sono state identificate come risultato di test automatizzati utilizzando gli strumenti AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono stati identificati problemi critici che consentano di aggirare tutti i livelli di protezione del browser ed eseguire codice sul sistema al di fuori dell'ambiente sandbox. Nell’ambito del programma di pagamento di premi in denaro per la scoperta di vulnerabilità per la versione attuale, Google ha pagato 19 premi del valore di 136500 dollari (tre premi da 20000 dollari, un premio da 15000 dollari, tre premi da 10000 dollari, un premio da 7500 dollari, tre premi da 5000 dollari e tre premi da 3000 dollari). L'entità delle 5 ricompense non è stata ancora determinata.

Fonte: opennet.ru

Aggiungi un commento