Chrome Version 93

Google a dévoilé la sortie du navigateur web Chrome 93. Dans le même temps, une version stable du projet gratuit Chromium, qui est la base de Chrome, est disponible. Le navigateur Chrome se distingue par l'utilisation des logos Google, la présence d'un système d'envoi de notifications en cas de crash, de modules de lecture de contenus vidéo protégés (DRM), d'un système de mise à jour automatique et de transmission lors de la recherche de paramètres RLZ. La prochaine version de Chrome 94 est prévue pour le 21 septembre (le développement a été déplacé vers un cycle de publication de 4 semaines).

Changements clés dans Chrome 93 :

  • La conception du bloc avec des informations sur la page (informations sur la page) a été modernisée, dans laquelle les blocs imbriqués sont pris en charge et les listes déroulantes avec droits d'accès ont été remplacées par des commutateurs. Les listes fournissent la sortie des informations les plus importantes en premier lieu. Le changement n'est pas activé pour tous les utilisateurs, vous pouvez utiliser le paramètre "chrome://flags/#page-info-version-2-desktop" pour l'activer.
    Chrome Version 93
  • Pour un petit pourcentage d'utilisateurs, à titre expérimental, l'indicateur de connexion sécurisée dans la barre d'adresse a été remplacé par un symbole plus neutre et non double (le cadenas a été remplacé par un signe « V »). Les connexions établies sans cryptage continuent d'afficher l'indicateur "non sécurisé". La raison du remplacement de l'indicateur est que de nombreux utilisateurs associent l'indicateur de verrouillage au fait que le contenu du site est digne de confiance et ne le perçoivent pas comme un signe de cryptage de la connexion. Selon une enquête de Google, seuls 11 % des utilisateurs comprennent la signification de l'icône du cadenas.
    Chrome Version 93
  • Dans la liste des onglets récemment fermés, le contenu des groupes d'onglets fermés est affiché (auparavant, la liste affichait simplement le nom du groupe sans détailler le contenu) avec la possibilité de renvoyer à la fois le groupe entier et les onglets individuels du groupe à une fois. La fonctionnalité n'est pas activée pour tous les utilisateurs, vous devrez donc peut-être modifier le paramètre "chrome://flags/#tab-restore-sub-menus" pour l'activer.
    Chrome Version 93
  • Pour les entreprises, de nouveaux paramètres DefaultJavaScriptJitSetting, JavaScriptJitAllowedForSites et JavaScriptJitBlockedForSites ont été implémentés pour contrôler le mode sans JIT, qui désactive la compilation JIT lors de l'exécution de JavaScript (seul l'interpréteur Ignition est utilisé) et interdit l'allocation de mémoire exécutable pendant l'exécution du code. La désactivation de JIT peut être utile pour améliorer la sécurité du travail avec des applications Web potentiellement dangereuses au prix d'une réduction des performances d'exécution de JavaScript d'environ 17 %. Il est à noter que Microsoft est allé encore plus loin et a implémenté un mode expérimental "Super Duper Secure" dans le navigateur Edge, qui permet à l'utilisateur de désactiver JIT et d'activer les mécanismes de protection matérielle incompatibles JIT CET (Controlflow-Enforcement Technology), ACG (Arbitrary Code Guard) et CFG (Control Flow Guard) pour les processus qui traitent le contenu Web. Si l'expérience s'avère réussie, nous pouvons nous attendre à ce qu'elle soit transférée à la composition principale de Chrome.
  • La nouvelle page à onglet fournit une liste des documents les plus demandés enregistrés dans Google Drive. Le contenu de la liste correspond à la section Priorité de drive.google.com. Vous pouvez utiliser les paramètres "chrome://flags/#ntp-modules" et "chrome://flags/#ntp-drive-module" pour contrôler l'affichage du contenu de Google Drive.
    Chrome Version 93
  • La nouvelle page à onglet contient de nouvelles cartes d'informations pour vous aider à trouver le contenu récemment consulté et les informations associées. Les cartes sont conçues pour faciliter la poursuite du travail avec des informations interrompues. Par exemple, les cartes vous aideront à trouver une recette pour un plat que vous avez récemment trouvé en ligne mais que vous avez perdu après avoir fermé la page, ou à continuer vos achats dans les magasins. À titre expérimental, les utilisateurs se voient proposer deux nouvelles cartes : "Recipes" (chrome://flags/#ntp-recipe-tasks-module) pour rechercher des recettes et afficher les recettes récemment consultées ; "Achats" (chrome://flags/#ntp-chrome-cart-module) pour les rappels de produits sélectionnés dans les magasins en ligne.
  • Ajout de la prise en charge facultative de la version Android de la barre de recherche continue (chrome://flags/#continuous-search) pour que les résultats de recherche récents de Google restent visibles (la barre continue d'afficher les résultats après avoir navigué vers d'autres pages).
    Chrome Version 93
  • Un mode expérimental d'échange de citations (chrome://flags/#webnotes-stylize) a été ajouté à la version Android, qui permet de sauvegarder une sélection sous forme de citation et de la partager avec d'autres utilisateurs.
  • La vérification à deux facteurs du développeur est désormais requise lors de la publication de nouveaux ajouts ou de mises à jour de version sur le Chrome Web Store.
  • Les utilisateurs de compte Google ont la possibilité d'enregistrer les informations de paiement sur leur compte Google.
  • En mode incognito, si l'option d'effacement des données de navigation est activée, une nouvelle boîte de dialogue de confirmation d'opération a été implémentée, expliquant que l'effacement des données fermera la fenêtre et mettra fin à toutes les sessions en mode incognito.
  • En raison d'incompatibilités identifiées avec le firmware de certains appareils, prise en charge de la nouvelle méthode d'accord de clé ajoutée dans Chrome 91, résistante à la sélection sur les ordinateurs quantiques, basée sur l'utilisation de l'extension CECPQ1.3 (Combined Elliptic-Curve and Post-Quantum 2) dans TLSv2, qui combine le mécanisme d'échange de clés X25519 classique avec un schéma HRSS basé sur l'algorithme NTRU Prime développé pour les cryptosystèmes post-quantiques.
  • Les ports 989 (ftps-data) et 990 (ftps) ont été ajoutés à la liste des ports réseau interdits afin de bloquer l'attaque ALPACA. Auparavant, les ports 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061, 6566 et 10080 ont déjà été bloqués pour se protéger contre les attaques NAT slipstreaming.
  • TLS a abandonné la prise en charge des chiffrements basés sur l'algorithme 3DES. En particulier, la suite de chiffrement TLS_RSA_WITH_3DES_EDE_CBC_SHA, sujette à l'attaque Sweet32, a été supprimée.
  • La distribution d'Ubuntu 16.04 a été interrompue.
  • Fourni la possibilité d'utiliser l'API WebOTP entre différents appareils connectés via un compte Google commun. WebOTP permet à une application Web de lire des codes de vérification à usage unique envoyés par SMS. La modification proposée permet de recevoir un code de vérification sur un appareil mobile avec Chrome pour Android et de l'appliquer sur un système de bureau.
  • Extension de l'API User-Agent Client Hints, développée en remplacement de l'en-tête User-Agent. User-Agent Client Hints vous permet d'organiser le retour sélectif de données sur des paramètres spécifiques du navigateur et du système (version, plate-forme, etc.) uniquement après une demande du serveur. L'utilisateur, à son tour, peut déterminer quelles informations peuvent être fournies aux propriétaires du site. Lorsque vous utilisez User-Agent Client Hints, l'identifiant du navigateur n'est pas transmis sans une demande explicite, et seuls les paramètres de base sont spécifiés par défaut, ce qui rend difficile l'identification passive.

    La nouvelle version prend en charge le paramètre Sec-CH-UA-Bitness pour renvoyer les données de bitness de la plate-forme, qui peuvent être utilisées pour renvoyer des fichiers binaires optimisés. Par défaut, le paramètre Sec-CH-UA-Platform est envoyé avec les données générales de la plate-forme. Dans la valeur UADataValues ​​retournée lors de l'appel à getHighEntropyValues(), par défaut, le retour des paramètres génériques est implémenté s'il n'est pas possible de retourner une version détaillée. La méthode toJSON a été ajoutée à l'objet NavigatorUAData, ce qui permet l'utilisation de constructions JSON.stringify(navigator.userAgentData).

  • La possibilité de conditionner des ressources dans des packages au format Web Bundle a été stabilisée et proposée par défaut, adaptée pour organiser plus efficacement le chargement d'un grand nombre de fichiers associés (styles CSS, JavaScript, images, iframes). Parmi les lacunes de la prise en charge des packages existants pour les fichiers JavaScript (webpack) que Web Bundle tente d'éliminer : le package lui-même peut s'installer dans le cache HTTP, mais pas ses composants ; la compilation et l'exécution ne peuvent commencer qu'après le téléchargement complet du package ; les ressources supplémentaires telles que CSS et les images doivent être encodées sous forme de chaînes JavaScript, ce qui entraîne une augmentation de la taille et une autre étape d'analyse.
  • Activation de l'API WebXR Plane Detection, qui fournit des informations sur les surfaces planes dans un environnement virtuel 3D. L'API spécifiée permet de se passer du traitement gourmand en ressources des données reçues via l'appel MediaDevices.getUserMedia(), en utilisant nos propres implémentations d'algorithmes de vision industrielle. Rappelons que l'API WebXR vous permet d'unifier le travail avec différentes classes d'appareils de réalité virtuelle, des casques 3D fixes aux solutions basées sur les appareils mobiles.
  • Plusieurs nouvelles API ont été ajoutées au mode Origin Trials (fonctionnalités expérimentales nécessitant une activation séparée). Origin Trial implique la possibilité de travailler avec l'API spécifiée à partir d'applications téléchargées depuis localhost ou 127.0.0.1, ou après s'être enregistré et avoir reçu un jeton spécial valable pour une durée limitée pour un site spécifique.
    • L'API de placement de fenêtres multi-écrans a été proposée, ce qui vous permet de placer des fenêtres sur n'importe quel écran connecté au système actuel, ainsi que de sauvegarder la position de la fenêtre et, si nécessaire, d'agrandir la fenêtre en plein écran. Par exemple, à l'aide de l'API spécifiée, une application Web de présentation peut afficher des diapositives sur un écran et afficher une note pour le présentateur sur un autre.
    • L'en-tête Cross-Origin-Embedder-Policy, qui contrôle le mode d'isolement Cross-Origin et vous permet de définir des règles d'utilisation sécurisées dans la page des opérations privilégiées, prend désormais en charge le paramètre "credentialless" pour désactiver la transmission des informations relatives aux informations d'identification telles que cookies et certificats clients.
    • Pour les applications Web autonomes (PWA, Progressive Web Apps) qui contrôlent le rendu du contenu de la fenêtre et traitent les entrées, une superposition avec des commandes de fenêtre, telles qu'une barre de titre et des boutons d'expansion/réduction de fenêtre, est fournie. La superposition étend la zone modifiable à toute la fenêtre et vous permet d'ajouter vos propres éléments à la zone de titre.
      Chrome Version 93
    • Ajout de la possibilité de créer des applications PWA pouvant être utilisées comme gestionnaires d'URL. Par exemple, l'application music.example.com peut s'enregistrer en tant que gestionnaire d'URL https://*.music.example.com et toutes les transitions à partir d'applications externes suivant ces liens, par exemple, à partir de messageries instantanées et de clients de messagerie, conduiront à l'ouverture de ces applications PWA, pas un nouvel onglet de navigateur.
  • La possibilité de charger des fichiers CSS à l'aide de l'instruction "import", similaire au chargement de modules JavaScript, est fournie, ce qui est pratique lors de la création de vos propres éléments et élimine le besoin d'attribuer des styles au code JavaScript. importer la feuille de './styles.css' assert { type: 'css' } ; document.adoptedStyleSheets = [feuille] ; shadowRoot.adoptedStyleSheets = [feuille] ;
  • Une nouvelle méthode statique AbortSignal.abort() a été fournie qui renvoie un objet AbortSignal qui a déjà le jeu de paramètres abandonné. Au lieu de plusieurs lignes de code pour créer un objet AbortSignal à l'état abandonné, vous pouvez désormais le faire avec une seule ligne "return AbortSignal.abort()".
  • La prise en charge des mots-clés start, end, self-start, self-end, left et right a été ajoutée à l'élément Flexbox, qui complète les mots-clés center, flex-start et flex-end avec des outils pour faciliter l'alignement de la position d'articles flexibles.
  • Le constructeur Error() a une nouvelle propriété optionnelle "cause" qui peut être utilisée pour lier facilement les erreurs les unes aux autres. const erreur parent = nouvelle erreur('parent'); erreur const = nouvelle erreur ('parent', { cause : erreur parent }); console.log(error.cause === parentError); // → vrai
  • La prise en charge du mode noplaybackrate a été ajoutée à la propriété HTMLMediaElement.controlsList, qui vous permet de désactiver des éléments de l'interface fournis dans le navigateur pour modifier la vitesse de lecture du contenu multimédia.
  • Ajout de l'en-tête Sec-CH-Prefers-Color-Scheme, qui permet au stade de l'envoi de la requête de transférer des données sur le schéma de couleurs préféré de l'utilisateur utilisé dans les requêtes multimédia "prefers-color-scheme", ce qui permettra au site de optimiser le chargement du CSS associé au schéma sélectionné et éviter les basculements visibles depuis d'autres graphiques.
  • La propriété Object.hasOwn a été ajoutée, qui est une version simplifiée de Object.prototype.hasOwnProperty implémentée en tant que méthode statique. Object.hasOwn({ prop : 42 }, 'prop') // → vrai
  • Conçu pour une compilation grossière très rapide, le compilateur Sparkplug JIT a ajouté un mode d'exécution par lots pour réduire la surcharge de commutation des pages mémoire entre le mode écriture et le mode exécution. Sparkplug compile désormais plusieurs fonctions à la fois et appelle mprotect une fois pour modifier les autorisations de l'ensemble du groupe. Le mode proposé réduit significativement le temps de compilation (jusqu'à 44%) sans impacter négativement les performances d'exécution de JavaScript.
    Chrome Version 93
  • La version Android désactive les mécanismes de protection intégrés au moteur V8 contre les attaques tierces, telles que Spectre, qui sont considérées comme moins efficaces que l'isolement des sites dans des processus séparés. Dans la version de bureau, ces mécanismes ont été désactivés dans la version de Chrome 70. La désactivation des vérifications inutiles nous a permis d'augmenter les performances de 2 à 15 %.
    Chrome Version 93
  • Des améliorations ont été apportées aux outils pour les développeurs Web. En mode d'inspection de feuille de style, la possibilité de modifier les requêtes générées à l'aide de l'expression @container est fournie. En mode d'inspection du réseau, un aperçu des ressources au format de bundle Web est implémenté. Dans la console Web, des options ont été ajoutées au menu contextuel pour copier des chaînes sous la forme de littéraux JavaScript ou JSON. Le débogage des erreurs liées au CORS (Cross-Origin Resource Sharing) a été simplifié.
    Chrome Version 93

En plus des innovations et des corrections de bugs, 27 vulnérabilités ont été corrigées dans la nouvelle version. De nombreuses vulnérabilités ont été identifiées grâce aux outils de test automatisés AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer et AFL. Aucun problème critique permettant de contourner tous les niveaux de protection du navigateur et d'exécuter du code dans le système en dehors de l'environnement sandbox n'a été identifié. Dans le cadre du programme Vulnerability Bounty pour la version actuelle, Google a versé 19 récompenses totalisant 136500 20000 $ (trois récompenses de 15000 10000 $, une récompense de 7500 5000 $, trois récompenses de 3000 5 $, une récompense de XNUMX XNUMX $, trois récompenses de XNUMX XNUMX $ et trois récompenses de XNUMX XNUMX $). Le montant de XNUMX récompenses n'a pas encore été déterminé.

Source: opennet.ru

Ajouter un commentaire