Rilascio di Chrome 91

L'azienda Google ha presentato il rilascio del browser web Chrome 91. È disponibile anche il rilascio stabile del progetto open-source Chromium, che funge da base per Chrome. Il browser Chrome si distingue per l'uso dei loghi di Google, per il sistema di invio di notifiche in caso di crash, per i moduli per la riproduzione di contenuti video protetti (DRM), per il sistema di installazione automatica degli aggiornamenti e per la trasmissione dei parametri RLZ durante la ricerca. Il prossimo rilascio di Chrome 92 è previsto per il 20 luglio.

Le principali novità in Chrome 91:

  • È stata implementata la possibilità di interrompere l'esecuzione di JavaScript in un gruppo di schede compresso. In Chrome 85 è stata introdotta la possibilità di raggruppare le schede in gruppi, che possono essere associati a un determinato colore e etichetta. Cliccando sull'etichetta del gruppo, le schede collegate vengono compresse e rimane solo un'etichetta (un clic ripetuto sull'etichetta espande il gruppo). Nella nuova versione, al fine di ridurre il carico sulla CPU e risparmiare energia, è stata implementata la sospensione dell'attività nelle schede compresse. Un'eccezione è prevista solo per le schede in riproduzione audio, quelle che utilizzano l'API Web Locks o IndexedDB, quelle collegate a un dispositivo USB, o quelle in cui è in corso la cattura di video, audio o contenuti delle finestre. Questa modifica sarà implementata progressivamente, a partire da una piccola percentuale di utenti.
  • È stata attivata la supporto per il metodo di accordo delle chiavi resistente agli attacchi dei computer quantistici. I computer quantistici sono notevolmente più veloci nella risoluzione del problema della fattorizzazione di un numero intero in fattori primi, che è alla base degli attuali algoritmi asimmetrici di crittografia e risulta inefficace sui processori classici. Per l'uso in TLSv1.3 è stato fornito il plugin CECPQ2 (Combined Elliptic-Curve and Post-Quantum 2), che combina il meccanismo classico di scambio delle chiavi X25519 con lo schema HRSS, basato sull'algoritmo NTRU Prime, sviluppato per i sistemi crittografici post-quantistici.
  • È stata completamente interrotta la supporto dei protocolli TLS 1.0 e TLS 1.1, che sono stati classificati dal comitato IETF (Internet Engineering Task Force) come obsoleti. È stata anche rimossa la possibilità di tornare a TLS 1.0/1.1 modificando la politica SSLVersionMin.
  • Nelle build per la piattaforma Linux è stato integrato l'uso della modalità "DNS over HTTPS" (DoH), già disponibile per gli utenti di Windows, macOS, ChromeOS e Android. Il DNS-over-HTTPS sarà attivato automaticamente per gli utenti che hanno configurato DNS fornitori che supportano questa tecnologia (per il DNS-over-HTTPS viene utilizzato lo stesso fornitore già in uso per il DNS). Ad esempio, se un utente ha impostato il DNS 8.8.8.8 nelle impostazioni di sistema, il servizio DNS-over-HTTPS di Google sarà attivato in Chrome ("https://dns.google.com/dns-query"), mentre se il DNS è 1.1.1.1, sarà attivato il servizio DNS-over-HTTPS di Cloudflare ("https://cloudflare-dns.com/dns-query"), e così via.
  • Tra le porte di rete vietate è stata aggiunta la porta 10080, utilizzata da Amanda backup e VMWare vCenter. In precedenza, erano già state bloccate le porte 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 e 6566. Per le porte nella blacklist viene bloccato l'invio di richieste HTTP, HTTPS e FTP per proteggere contro l'attacco NAT slipstreaming, che consente, aprendo una pagina web appositamente preparata dall'attaccante nel browser, di stabilire una connessione di rete dal server dell'attaccante a qualsiasi porta UDP o TCP nel sistema dell'utente, nonostante l'uso di indirizzi interni (192.168.x.x, 10.x.x.x).
  • È stata fornita la possibilità di configurare l'avvio automatico di applicazioni web progressive (PWA) all'accesso dell'utente al sistema (Windows e macOS). L'autorun può essere configurato nella pagina chrome://apps. La funzionalità è attualmente in fase di test su una piccola percentuale di utenti, mentre per gli altri richiede l'attivazione dell'impostazione "chrome://flags/#enable-desktop-pwas-run-on-os-login".
  • Nell'ambito del progetto di traduzione del browser verso un linguaggio inclusivo, il file "master_preferences" è stato rinominato in "initial_preferences". Per garantire la compatibilità, il supporto a "master_preferences" sarà mantenuto nel browser ancora per un certo periodo di tempo. In precedenza, il browser aveva già eliminato l'uso dei termini "whitelist", "blacklist" e "native".
  • Nella modalità di protezione avanzata da siti pericolosi (Enhanced Safe Browsing), che attiva controlli aggiuntivi per difendersi da phishing, attività malevole e altre minacce sul web, è stata implementata la possibilità di inviare file scaricati per una verifica lato Google. Inoltre, in Enhanced Safe Browsing è stato implementato il monitoraggio dei token associati all'account Google per rilevare tentativi di phishing, oltre all'invio ai server Google dei valori dell'intestazione Referrer per verifiche sull'instradamento da siti malevoli.
  • Nella versione per la piattaforma Android è stato migliorato il layout degli elementi delle web form, ottimizzati per l'uso su schermi touch e sistemi per persone con disabilità (per i sistemi desktop il layout è stato riprogettato in Chrome 83). L'obiettivo della riprogettazione è stata l'unificazione del layout degli elementi delle form e l'eliminazione delle incongruenze stilistiche: precedentemente, alcuni elementi delle form erano progettati in base agli elementi dell'interfaccia dei sistemi operativi, mentre altri seguivano stili più popolari. Di conseguenza, diversi elementi si adattavano in modo diverso a schermi touch e sistemi per persone con disabilità.
    Rilascio di Chrome 91Rilascio di Chrome 91
  • È stato aggiunto un sondaggio per le opinioni degli utenti, mostrato all'apertura delle impostazioni Privacy Sandbox (chrome://settings/privacySandbox).
  • All'avvio della versione Android di Chrome su tablet con schermo grande, viene richiesta la versione desktop del sito, invece della versione per dispositivi mobili. È possibile modificare questo comportamento tramite l'impostazione "chrome://flags/#request-desktop-site-for-tablets".
  • È stato riprogettato il codice per il rendering delle tabelle, risolvendo problemi di incoerenza nel comportamento del rendering delle tabelle in Chrome e Firefox/Safari.
  • È stata interrotta la gestione dei certificati server dell'ente certificatore spagnolo Camerfirma a causa di ripetuti incidenti dal 2017 riguardanti violazioni nell'emissione dei certificati. Il supporto per i certificati client è stato mantenuto, la blocco è applicato solo ai certificati utilizzati sui siti per HTTPS.
  • È stata proseguita l'implementazione del supporto per il partizionamento della rete per proteggere contro i metodi di tracciamento dei movimenti degli utenti tra i siti, basati sullo stoccaggio di identificatori in aree non destinate alla conservazione permanente delle informazioni ("Supercookies"). Poiché le risorse nella cache sono memorizzate in uno spazio dei nomi condiviso, indipendentemente dal dominio di origine, un sito può determinare il caricamento delle risorse da un altro sito controllando la presenza di quella risorsa nella cache. La protezione si basa sull'applicazione del partizionamento della rete, il cui scopo è quello di aggiungere nei cache condivisi un legame aggiuntivo delle registrazioni al dominio, dal quale è stata aperta la pagina principale, limitando così l'ambito di copertura della cache per gli script di tracciamento dei movimenti solo al sito corrente (uno script in iframe non può verificare se una risorsa è stata caricata da un altro sito).

    Il costo del partizionamento è la riduzione dell'efficienza della cache, che porta a un lieve aumento dei tempi di caricamento della pagina (al massimo dell'1,32%, ma per l'80% dei siti si attesta tra lo 0,09% e lo 0,75%). Per testare la modalità di partizionamento, è possibile avviare il browser con l'opzione "—enable-features=PartitionConnectionsByNetworkIsolationKey, PartitionExpectCTStateByNetworkIsolationKey, PartitionHttpServerPropertiesByNetworkIsolationKey, PartitionNelAndReportingByNetworkIsolationKey, PartitionSSLSessionsByNetworkIsolationKey, SplitHostCacheByNetworkIsolationKey".

  • Aggiunto un API REST esterno VersionHistory (https://versionhistory.googleapis.com/v1/chrome), attraverso il quale è possibile ottenere informazioni sulle versioni di Chrome in relazione a piattaforme e rami, nonché sulla cronologia degli aggiornamenti del browser.
  • Negli iframe caricati da domini diversi da quello della pagina principale, è vietato visualizzare dialoghi JavaScript alert(), confirm() e prompt(), il che proteggerà gli utenti da tentativi di visualizzazione di messaggi da parte di script di terze parti spacciati per notifiche del sito principale.
  • Stabilito e proposto di default l'API WebAssembly SIMD per l'utilizzo delle istruzioni SIMD vettoriali nelle applicazioni in formato WebAssembly. Per garantire la portabilità tra piattaforme, si propongono un nuovo tipo a 128 bit, che può rappresentare diversi tipi di dati impacchettati, e diverse operazioni vettoriali di base per il trattamento dei dati impacchettati. SIMD consente di aumentare le prestazioni attraverso il parallelismo del trattamento dei dati e sarà utile nella compilazione di codice nativo in WebAssembly.
  • Nella modalità Origin Trials (funzionalità sperimentali che richiedono un'attivazione separata) sono stati aggiunti diversi nuovi API. L'Origin Trial implica la possibilità di utilizzare l'API specificata da applicazioni caricate da localhost o 127.0.0.1, o dopo aver completato la registrazione e ottenuto un token speciale, valido per un tempo limitato per un sito web specifico.
    • WebTransport — un protocollo e un API JavaScript associato per l'invio e la ricezione di dati tra il browser e server. Il canale di comunicazione è organizzato sopra HTTP/3 utilizzando come trasporto il protocollo QUIC, che a sua volta è un'estensione del protocollo UDP, supporta il multiplexing di più connessioni e offre metodi di crittografia equivalenti a TLS/SSL.

      WebTransport può essere utilizzato al posto dei meccanismi WebSockets e RTCDataChannel, offrendo ulteriori funzionalità come la gestione della trasmissione su più flussi, flussi unidirezionali, consegna non ordinata dei pacchetti (out-of-order), modalità di consegna affidabili e non affidabili. Inoltre, WebTransport può essere utilizzato al posto del meccanismo Server Push, dal quale Google ha rinunciato in Chrome.

    • Interfaccia dichiarativa per definire riferimenti a web-app isolate (PWA), inclusa tramite il parametro capture_links nel manifesto della web-app e consentendo ai siti di aprire automaticamente una nuova finestra PWA al clic su un link dell'app o di passare a una modalità a finestra singola simile alle app mobili.
    • Aggiunto l'API WebXR Plane Detection, che fornisce informazioni su superfici piatte in un ambiente 3D virtuale. Questo API consente di evitare un'elaborazione intensiva delle risorse dei dati ottenuti tramite la chiamata MediaDevices.getUserMedia(), utilizzando le proprie implementazioni di algoritmi di visione artificiale. Ricordiamo che l'API WebXR permette di uniformare il lavoro con diverse classi di dispositivi di realtà virtuale, dai visori 3D fissi a soluzioni basate su dispositivi mobili.
  • Implementato il supporto per l'uso di WebSockets sopra HTTP/2 (RFC 8441), che funziona solo per richieste WebSocket sicure e con una connessione HTTP/2 già stabilita con il server, nella quale è stata annunciata la supporto per l'estensione "WebSockets over HTTP/2".
  • Le limitazioni di precisione dei valori del timer forniti dalla chiamata performance.now() sono state uniformate per tutte le piattaforme supportate e adattate tenendo conto della possibile isolamento degli handler in processi separati. Ad esempio, nei sistemi desktop, la precisione nel trattamento in contesti non isolati è stata ridotta da 5 a 100 microsecondi.
  • Nelle build per sistemi desktop è stata implementata la possibilità di leggere file dagli appunti (la registrazione di file negli appunti rimane vietata). async function onPaste(e) { let file = e.clipboardData.files[0]; let contents = await file.text(); }
  • In CSS è stata implementata la regola @counter-style, che consente di definire stili personalizzati per i counter e le etichette nelle liste numerate.
  • In CSS, ai pseudo-classi «:host()» e «:host-context()» è stata aggiunta la possibilità di passare valori singoli dei selettori complessi () oltre alle liste di selettori ().
  • È stata aggiunta l'interfaccia GravitySensor per la rilevazione di dati volumetrici (su tre assi di coordinate) dal sensore di gravità.
  • Nell'API File System Access è stata fornita la possibilità di definire raccomandazioni per la scelta di nomi di file e directory, suggeriti nella finestra di dialogo per la creazione o apertura di un file.
  • Negli iframe caricati da altri domini è consentito l'accesso all'API WebOTP previa autorizzazione da parte dell'utente. WebOTP consente di leggere i codici di conferma monouso inviati tramite SMS.
  • È consentita la condivisione delle credenziali per i siti collegati tramite il meccanismo DAL (Digital Asset Links), che consente di associare le applicazioni Android ai siti per semplificare l'accesso.
  • Nello Service worker è consentito l'uso di moduli JavaScript. Specificando il tipo ‘module’ durante la chiamata del costruttore, gli script indicati verranno caricati come moduli e saranno disponibili per l'importazione nel contesto del worker. Il supporto per i moduli semplifica la condivisione del codice tra le pagine web e i Service worker.
  • In JavaScript è stata fornita la possibilità di verificare l'esistenza di campi privati in un oggetto, utilizzando la sintassi «#foo in obj». class A { static test(obj) { console.log(#foo in obj); } #foo = 0; } A.test(new A()); // true A.test({}); // false
  • In JavaScript, per impostazione predefinita, è consentito l'uso della parola chiave await ai livelli superiori dei moduli, il che consente di integrare in modo più fluido le chiamate asincrone nel processo di caricamento dei moduli senza doverle racchiudere in una ‘async function’. Ad esempio, invece di (async function() { await Promise.resolve(console.log(‘test’)); }()); ora è possibile scrivere await Promise.resolve(console.log(‘test’));
  • Nel motore JavaScript V8 è stata aumentata l'efficienza della memorizzazione dei template, consentendo un incremento della velocità del 4,5% nel test Speedometer2-FlightJS.
  • È stata introdotta una grande serie di miglioramenti agli strumenti per gli sviluppatori web. È stata aggiunta una nuova modalità di ispezione della memoria (Memory inspector), che fornisce strumenti per esaminare i dati di ArrayBuffer e la memoria Wasm.
    Rilascio di Chrome 91

    Nel pannello Performance è stato aggiunto un indicatore sintetico delle prestazioni, che consente di valutare se un sito necessita di ottimizzazione o meno.

    Rilascio di Chrome 91

    Durante l'anteprima delle immagini nel pannello Elements e nel pannello di analisi delle richieste di rete è stata fornita informazioni sul rapporto d'aspetto dell'immagine, sulle impostazioni di visualizzazione e sulla dimensione del file.

    Rilascio di Chrome 91

    Nel pannello di ispezione della rete è stata aggiunta la possibilità di modificare i valori del header Content-Encoding.

    Rilascio di Chrome 91

    Nel pannello di gestione degli stili è stata introdotta la possibilità di vedere rapidamente il valore calcolato durante la navigazione nelle proprietà CSS, selezionando 'View computed value' dal menu contestuale.

    Rilascio di Chrome 91

Oltre alle novità e alla correzione di errori, la nuova versione ha risolto 32 vulnerabilità. Molte delle vulnerabilità sono state identificate attraverso test automatizzati utilizzando strumenti come AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non sono state identificate problematiche critiche che consentano di bypassare tutti i livelli di protezione del browser e di eseguire codice nel sistema al di fuori dell'ambiente sandbox. Nell'ambito del programma per il pagamento di ricompense per la scoperta di vulnerabilità, Google ha erogato 21 premi per un totale di 92.000 dollari USA (un premio da 20.000 dollari, un premio da 15.000 dollari, quattro premi da 7.500 dollari, tre premi da 5.000 dollari, tre premi da 3.000 dollari, due premi da 1.000 dollari e due premi da 500 dollari). L'importo di 5 premi deve ancora essere determinato.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster