Chrome 86

La prossima versione di Chrome 86 e la versione stabile di Chromium sono state rilasciate.

Modifiche principali in Chrome 86:

  • protezione contro l'invio non sicuro di moduli di input su pagine caricate su HTTPS ma che inviano dati su HTTP.
  • Il blocco del download non sicuro (http) di file eseguibili è stato integrato con il blocco del download non sicuro di archivi (zip, iso, ecc.) e la visualizzazione di avvisi in caso di caricamento non sicuro di documenti (docx, pdf, ecc.). La prossima versione dovrebbe bloccare i documenti ed emettere un avviso per immagini, testo e file multimediali. Il blocco è implementato perché il download di file senza crittografia può essere utilizzato per eseguire azioni dannose sostituendo il contenuto durante gli attacchi MITM.
  • Il menu contestuale predefinito mostra l'opzione "Mostra sempre l'URL per intero", che in precedenza richiedeva la modifica delle impostazioni nella pagina about:flags. L'URL completo può essere visualizzato anche facendo doppio clic sulla barra degli indirizzi. Ricordiamo che a partire da Chrome 76, per impostazione predefinita, l'indirizzo ha iniziato a essere visualizzato senza il protocollo e il sottodominio www. In Chrome 79, l'impostazione per ripristinare il vecchio comportamento è stata rimossa, ma dopo l'insoddisfazione dell'utente, è stato aggiunto un nuovo flag sperimentale in Chrome 83, aggiungendo una voce al menu contestuale per disabilitare l'occultamento e la visualizzazione dell'URL completo in tutte le condizioni.
    Per una piccola percentuale di utenti è stato lanciato un esperimento per visualizzare di default nella barra degli indirizzi solo il dominio, senza elementi di percorso e parametri di query. Ad esempio, invece di "https://example.com/secure-google-sign-in/" Verrà visualizzato "example.com". Portare la modalità proposta a tutti gli utenti è previsto in una delle prossime versioni. Per disabilitare questo comportamento, puoi utilizzare l'opzione "Mostra sempre l'URL completo" e per visualizzare l'intero URL puoi fare clic sulla barra degli indirizzi. Il motivo del cambiamento è il desiderio di proteggere gli utenti dal phishing che manipola i parametri nell'URL: gli aggressori sfruttano la disattenzione degli utenti per creare l'apparenza di aprire un altro sito e commettere azioni fraudolente (se tali sostituzioni colpiscono un utente tecnicamente competente, poi manipolazioni di laici inesperti).
  • L'iniziativa per rimuovere il supporto FTP è stata ripresa. In Chrome 86, l'FTP è disabilitato per impostazione predefinita per circa l'1% degli utenti e in Chrome 87 la copertura della disabilitazione verrà aumentata al 50%, ma il supporto può essere restituito utilizzando il flag "--enable-ftp" o " --enable-features=Protocollo Ftp". In Chrome 88, il supporto FTP sarà completamente disabilitato.
  • Nella versione per Android, in analogia con la versione per sistemi desktop, il gestore delle password implementa un controllo delle login e delle password salvate rispetto al database degli account compromessi con un avviso in caso di problemi o tentativo di utilizzo di password banali. Il controllo viene eseguito su un database che copre più di 4 miliardi di account compromessi che sono apparsi in perdite di database degli utenti. Per preservare la privacy, il prefisso hash viene verificato sul lato utente e le password stesse e i loro hash completi non vengono trasmessi all'esterno.
  • La versione per Android include anche il pulsante Controllo sicurezza e Navigazione sicura avanzata. Il pulsante "Controllo di sicurezza" mostra un riepilogo di potenziali problemi di sicurezza come password compromesse, stato di Navigazione sicura, aggiornamenti disinstallati e rilevamento di componenti aggiuntivi dannosi. La modalità di protezione avanzata attiva controlli aggiuntivi per proteggere da phishing, attività dannose e altre minacce sul Web e include anche una protezione aggiuntiva per il tuo account Google e i servizi Google (Gmail, Drive, ecc.). Mentre nella normale modalità di Navigazione sicura i controlli vengono eseguiti localmente rispetto a un database scaricato periodicamente nel sistema del cliente, nella Navigazione sicura avanzata le informazioni in tempo reale su pagine e download vengono inviate a Google per la verifica, che consente di rispondere rapidamente alle minacce subito dopo vengono rilevati, senza attendere l'aggiornamento della black list locale.
  • Aggiunto il supporto per il file indicatore ".well-known/change-password", con cui i proprietari del sito possono specificare l'indirizzo del modulo web per cambiare la password. Nel caso in cui le credenziali di un utente siano state compromesse, Chrome ora richiederà all'utente un modulo di modifica della password basato sulle informazioni in questo file.
  • Implementato un nuovo avviso "Suggerimento per la sicurezza" visualizzato all'apertura di siti il ​​cui dominio è molto simile a un altro sito e l'euristica mostra che esiste un'alta probabilità di spoofing (ad esempio, viene aperto goog0le.com invece di google.com).

    * Supporto implementato per la cache di transizione (Back-forward cache), che fornisce una transizione istantanea quando si utilizzano i pulsanti "Indietro" e "Avanti" o durante la navigazione attraverso pagine precedentemente visualizzate del sito corrente. La cache è abilitata utilizzando l'impostazione chrome://flags/#back-forward-cache.

  • Ottimizzazione del consumo di risorse della CPU da parte di finestre fuori ambito. Chrome controlla se la finestra del browser è sovrapposta da altre finestre ed evita di disegnare pixel nelle aree di sovrapposizione. Questa ottimizzazione è stata abilitata per una piccola percentuale di utenti in Chrome 84 e 85 ed è ora abilitata a livello globale. Rispetto alle versioni precedenti, abbiamo anche risolto un'incompatibilità con i sistemi di virtualizzazione che causava la visualizzazione di pagine bianche vuote.
  • Troncamento delle risorse migliorato per le schede in background. Tali schede non possono più consumare più dell'1% delle risorse della CPU e possono essere attivate non più di una volta al minuto. Dopo cinque minuti in background, le schede vengono bloccate, ad eccezione delle schede che riproducono contenuti multimediali o registrano.
  • Il lavoro sull'unificazione dell'intestazione HTTP User-Agent è stato ripreso. Nella nuova versione viene attivato per tutti gli utenti il ​​supporto al meccanismo User-Agent Client Hints, sviluppato in sostituzione di User-Agent. Il nuovo meccanismo implica la restituzione selettiva di dati su specifici parametri di browser e di sistema (versione, piattaforma, ecc.) solo a seguito di una richiesta da parte del server e offre agli utenti la possibilità di fornire selettivamente tali informazioni ai proprietari del sito. Quando si utilizzano User-Agent Client Hints, l'identificatore non viene passato per impostazione predefinita senza una richiesta esplicita, il che rende impossibile l'identificazione passiva (solo il nome del browser è specificato per impostazione predefinita).
    Modificata l'indicazione della presenza di un aggiornamento e la necessità di riavviare il browser per installarlo. Invece di una freccia colorata nel campo dell'avatar dell'account, ora appare la scritta "Aggiorna".
  • È stato fatto del lavoro per tradurre il browser in modo che utilizzi una terminologia inclusiva. Nei nomi delle policy, le parole "whitelist" e "blacklist" sono state sostituite con "allowlist" e "blocklist" (le policy già aggiunte continueranno a funzionare, ma verrà visualizzato un avviso relativo alla loro deprecazione). Nel codice e nei nomi dei file, i riferimenti a "blacklist" sono sostituiti da "blocklist". I riferimenti visibili all'utente a "lista nera" e "lista bianca" sono stati sostituiti all'inizio del 2019.
    Aggiunta una possibilità sperimentale di modificare le password salvate, attivata utilizzando il flag "chrome://flags/#edit-passwords-in-settings".
  • Spostato nella categoria delle API del file system nativo stabile e pubblico, che consente di creare applicazioni Web che interagiscono con i file nel file system locale. Ad esempio, la nuova API potrebbe essere richiesta in IDE basati su browser, editor di testo, editor di immagini ed editor di video. Per poter scrivere e leggere direttamente i file o utilizzare le finestre di dialogo per aprire e salvare i file, nonché per navigare nel contenuto delle directory, l'applicazione richiede all'utente una conferma speciale.
  • Aggiunto il selettore CSS ":focus-visible", che utilizza la stessa euristica che utilizza il browser quando decide se mostrare l'indicatore di cambiamento del focus (spostando il focus sul pulsante con le scorciatoie da tastiera appare l'indicatore, ma non quando si fa clic con il mouse ). Il selettore CSS ":focus" precedentemente disponibile evidenzia sempre il focus. Inoltre, è stata aggiunta alle impostazioni l'opzione "Quick Focus Highlight", quando abilitata, accanto agli elementi attivi verrà mostrato un indicatore di focus aggiuntivo, che rimane visibile anche se gli elementi di stile per l'evidenziazione visiva del focus sono disabilitati sulla pagina tramite CSS.
  • 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.
  • API WebHID per l'accesso di basso livello ai dispositivi HID (dispositivi di interfaccia umana, tastiere, mouse, gamepad, touchpad), che consente di implementare la logica di lavorare con un dispositivo HID in JavaScript per organizzare il lavoro con dispositivi HID rari senza la presenza di driver specifici nel sistema. Innanzitutto, la nuova API ha lo scopo di fornire supporto per i gamepad.
  • L'API Screen Information estende l'API Window Placement per supportare le configurazioni multischermo. A differenza di window.screen , la nuova API consente di manipolare il posizionamento di una finestra nello spazio dello schermo condiviso di sistemi multi-monitor senza essere limitato allo schermo corrente.
  • Il meta tag per il risparmio della batteria, con il quale il sito può informare il browser sulla necessità di attivare modalità per ridurre i consumi e ottimizzare il carico sulla CPU.
  • API COOP Reporting per segnalare potenziali violazioni dei blocchi Cross-Origin-Embedder-Policy (COEP) e Cross-Origin-Opener-Policy (COOP) senza applicare effettivamente le restrizioni.
  • L'API di gestione delle credenziali offre un nuovo tipo di credenziale PaymentCredential che fornisce un'ulteriore conferma della transazione di pagamento effettuata. Una relying party, ad esempio una banca, ha la possibilità di generare una PublicKeyCredential che può essere richiesta dal commerciante per un'ulteriore conferma sicura del pagamento.
  • L'API PointerEvents per determinare l'inclinazione dello stilo * ha aggiunto il supporto per gli angoli di elevazione (l'angolo tra lo stilo e lo schermo) e l'azimut (l'angolo tra l'asse X e la proiezione dello stilo sullo schermo), invece del TiltX e gli angoli TiltY (gli angoli tra il piano dallo stilo e uno degli assi e il piano dagli assi Y e Z). Aggiunte anche funzioni di conversione tra altitudine/azimut e TiltX/TiltY.
  • Codifica modificata dello spazio nell'URL quando viene valutato nei gestori di protocollo: il metodo navigator.registerProtocolHandler() ora sostituisce gli spazi con "%20" invece di "+", che unifica il comportamento con altri browser come Firefox.
  • Aggiunto lo pseudo-elemento "::marker" al CSS per personalizzare colore, dimensione, forma e tipo di numeri e punti per gli elenchi in blocchi E .
  • Aggiunto il supporto per l'intestazione HTTP Document-Policy, che consente di impostare regole di accesso ai documenti simili al meccanismo di isolamento sandbox iframe, ma più versatili. Ad esempio, attraverso la Document-Policy, puoi limitare l'uso di immagini di bassa qualità, disabilitare API JavaScript lente, configurare regole per il caricamento di iframe, immagini e script, limitare la dimensione totale del documento e del traffico, proibire metodi che portano a ridisegnare la pagina e disabilitare la funzione Scroll-To-Text.
  • All'elemento aggiunto il supporto per i parametri 'inline-grid', 'grid', 'inline-flex' e 'flex' impostati tramite la proprietà CSS 'display'.
  • Aggiunto il metodo ParentNode.replaceChildren() per sostituire tutti i figli di un nodo padre con un altro nodo DOM. In precedenza, era possibile utilizzare una combinazione di node.removeChild() e node.append() o node.innerHTML e node.append() per sostituire i nodi.
  • Ampliato l'intervallo di schemi URL che possono essere sovrascritti con registerProtocolHandler(). L'elenco degli schemi include i protocolli decentralizzati cabal, dat, did, dweb, ethereum, hyper, ipfs, ipns e ssb, che consentono di definire i collegamenti agli elementi indipendentemente dal sito o dal gateway che fornisce l'accesso alla risorsa.
  • L'API degli Appunti asincroni ha aggiunto il supporto per il formato text/html per copiare e incollare HTML tramite gli Appunti (la scrittura e la lettura negli Appunti ripulisce i costrutti HTML pericolosi). La modifica, ad esempio, consente agli editor web di organizzare l'inserimento e la copia di testo formattato con immagini e collegamenti.
  • WebRTC ha aggiunto la possibilità di connettere i propri gestori dati chiamati nelle fasi di codifica o decodifica WebRTC MediaStreamTrack. Ad esempio, questa funzionalità può essere utilizzata per aggiungere il supporto per la crittografia end-to-end dei dati trasmessi tramite server intermedi.
    L'implementazione di Number.prototype.toString è più veloce del 8% nel motore JavaScript V75. La proprietà .name è stata aggiunta alle classi asincrone con un valore vuoto. Rimosso il metodo Atomics.wake, che una volta era rinominato Atomics.notify per conformarsi alla specifica ECMA-262. Il codice per lo strumento di test fuzzing JS-Fuzzer è stato rilasciato.
  • Il compilatore di baseline Liftoff per WebAssembly incluso nell'ultima versione include la possibilità di utilizzare le istruzioni vettoriali SIMD per velocizzare i calcoli. A giudicare dai test, l'ottimizzazione ha permesso di accelerare il passaggio di alcuni test di 2.8 volte. Un'altra ottimizzazione ha permesso di velocizzare notevolmente la chiamata delle funzioni JavaScript importate da WebAssembly.
  • Strumenti ampliati per gli sviluppatori Web: sono state aggiunte informazioni sui lettori utilizzati per riprodurre i video sulla pagina nel pannello Media, inclusi i dati degli eventi, i registri, i valori delle proprietà e i parametri di decodifica dei frame (ad esempio, è possibile determinare le cause del frame cadute e problemi di interazione da JavaScript) .
  • Nel menu contestuale del pannello Elementi è stata aggiunta la possibilità di creare screenshot dell'elemento selezionato (ad esempio, è possibile creare uno screenshot del sommario o di una tabella).
  • Nella console Web, il pannello di avviso dei problemi è stato sostituito con un normale messaggio e i problemi con i cookie di terze parti sono nascosti per impostazione predefinita nella scheda Problemi e sono abilitati da una casella di controllo speciale.
  • Alla scheda Rendering è stato aggiunto il pulsante "Disabilita caratteri locali", che consente di simulare l'assenza di caratteri locali, e la scheda Sensori ha la capacità di simulare l'inattività dell'utente (per le applicazioni che utilizzano l'API Idle Detection).
  • Il pannello Applicazione fornisce informazioni dettagliate su ogni iframe, finestra aperta e pop-up, inclusi i dati sull'isolamento tra le origini utilizzando COEP e COOP.

È iniziata la sostituzione dell'implementazione del protocollo QUIC con la versione sviluppata nella specifica IETF, al posto della versione Google di QUIC.
Oltre alle innovazioni e alle correzioni di bug, nella nuova versione sono state corrette 35 vulnerabilità. Molte delle vulnerabilità sono state identificate a seguito di strumenti di test automatici AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Una vulnerabilità (CVE-2020-15967, accesso alla memoria liberato nel codice per l'interazione con Google Payments) è contrassegnata come critica, ad es. consente di bypassare tutti i livelli di protezione del browser ed eseguire codice sul sistema al di fuori dell'ambiente sandbox. Nell'ambito del programma Vulnerability Bounty per la versione attuale, Google ha assegnato 27 premi del valore di $ 71500 (un premio da $ 15000, tre premi da $ 7500, cinque premi da $ 5000, due premi da $ 3000, uno da $ 200 e due da $ 500). L'importo di 13 premi non è stato ancora determinato.

Preso da opennet.ru

Fonte: linux.org.ru

Aggiungi un commento