Chrome Versión 91

Google ha presentado el lanzamiento del navegador web Chrome 91. Al mismo tiempo, está disponible una versión estable del proyecto gratuito Chromium, que sirve como base para Chrome. El navegador Chrome se distingue por el uso de los logotipos de Google, la presencia de un sistema para enviar notificaciones en caso de falla, módulos para reproducir contenido de video protegido (DRM), un sistema para instalar actualizaciones automáticamente y transmitir parámetros RLZ durante la búsqueda. El próximo lanzamiento de Chrome 92 está previsto para el 20 de julio.

Cambios clave en Chrome 91:

  • Se implementó la capacidad de detener la ejecución de JavaScript en un grupo de pestañas colapsado. Chrome 85 introdujo soporte para organizar pestañas en grupos que se pueden asociar con un color y una etiqueta específicos. Cuando hace clic en la etiqueta de un grupo, las pestañas asociadas con él se contraen y en su lugar permanece una etiqueta (al hacer clic nuevamente en la etiqueta se abre el grupo). En la nueva versión, para reducir la carga de la CPU y ahorrar energía, se suspendió la actividad en las pestañas minimizadas. Se hace una excepción solo para las pestañas que reproducen sonido, usan Web Locks o IndexedDB API, se conectan a un dispositivo USB o capturan video, sonido o contenido de ventana. El cambio se implementará gradualmente, comenzando con un pequeño porcentaje de usuarios.
  • Incluyó soporte para un método de acuerdo clave que es resistente a la fuerza bruta en computadoras cuánticas. Las computadoras cuánticas son radicalmente más rápidas a la hora de resolver el problema de descomponer un número natural en factores primos, lo que subyace a los modernos algoritmos de cifrado asimétrico y no puede resolverse eficazmente en los procesadores clásicos. Para su uso en TLSv1.3, se proporciona el complemento CECPQ2 (Combined Elliptic-Curve and Post-Quantum 2), que combina el clásico mecanismo de intercambio de claves X25519 con el esquema HRSS basado en el algoritmo NTRU Prime, diseñado para criptosistemas post-cuánticos.
  • El soporte para los protocolos TLS 1.0 y TLS 1.1, que han quedado obsoletos por el comité IETF (Internet Engineering Task Force), se ha suspendido por completo. Se ha eliminado la posibilidad de devolver TLS 1.0/1.1 cambiando la política SSLVersionMin.
  • Los ensamblajes para la plataforma Linux incluyen el uso del modo “DNS sobre HTTPS” (DoH, DNS sobre HTTPS), que anteriormente se ofrecía a los usuarios de Windows, macOS, ChromeOS y Android. DNS sobre HTTPS se activará automáticamente para los usuarios cuya configuración especifique proveedores de DNS que admitan esta tecnología (para DNS sobre HTTPS se utiliza el mismo proveedor que para DNS). Por ejemplo, si el usuario tiene DNS 8.8.8.8 especificado en la configuración del sistema, entonces el servicio DNS-over-HTTPS de Google ("https://dns.google.com/dns-query") se activará en Chrome si el DNS es 1.1.1.1, luego el servicio DNS sobre HTTPS Cloudflare (“https://cloudflare-dns.com/dns-query”), etc.
  • El puerto 10080, que se utiliza en Amanda Backup y VMWare vCenter, se agregó a la lista de puertos de red prohibidos. Anteriormente, ya estaban bloqueados los puertos 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 y 6566. Para los puertos en la lista negra, el envío de solicitudes HTTP, HTTPS y FTP está bloqueado para proteger contra el ataque de deslizamiento NAT. , que permite al abrir una página web especialmente preparada por el atacante en el navegador establecer una conexión de red desde el servidor del atacante a cualquier puerto UDP o TCP en el sistema del usuario, a pesar del uso del rango de direcciones interno (192.168.xx, 10 .xxx).
  • Es posible configurar el inicio automático de aplicaciones web independientes (PWA - Progressive Web Apps) cuando el usuario inicia sesión en el sistema (Windows y macOS). La ejecución automática se configura en la página chrome://apps. Actualmente, la funcionalidad se está probando en un pequeño porcentaje de usuarios y, para el resto, requiere activar la configuración "chrome://flags/#enable-desktop-pwas-run-on-os-login".
  • Como parte del trabajo para hacer que el navegador utilice terminología inclusiva, se ha cambiado el nombre del archivo "master_preferences" a "initial_preferences". Para mantener la compatibilidad, la compatibilidad con "master_preferences" permanecerá en el navegador durante algún tiempo. Anteriormente, el navegador ya se había deshecho del uso de las palabras “lista blanca”, “lista negra” y “nativo”.
  • El modo de navegación segura mejorada, que activa comprobaciones adicionales para proteger contra phishing, actividad maliciosa y otras amenazas en la Web, incluye la capacidad de enviar archivos descargados para escanearlos por parte de Google. Además, la Navegación segura mejorada implementa la contabilidad de tokens vinculados a una cuenta de Google al identificar intentos de phishing, además de enviar valores de encabezado de referencia a los servidores de Google para verificar si hay reenvíos desde un sitio malicioso.
  • En la edición para la plataforma Android se ha mejorado el diseño de los elementos del formulario web, los cuales se han optimizado para su uso en pantallas táctiles y sistemas para personas con discapacidad (para sistemas de escritorio, el diseño se ha rehecho en Chrome 83). El objetivo de la reelaboración era unificar el diseño de los elementos del formulario y eliminar las inconsistencias de estilo; anteriormente, algunos elementos del formulario se diseñaban de acuerdo con los elementos de la interfaz del sistema operativo y otros, de acuerdo con los estilos más populares. Por este motivo, los distintos elementos se adaptaron de forma diferente a las pantallas táctiles y a los sistemas para personas con discapacidad.
    Chrome Versión 91Chrome Versión 91
  • Se agregó una encuesta de opinión de los usuarios que se muestra al abrir la configuración de Privacy Sandbox (chrome://settings/privacySandbox).
  • Cuando se ejecuta la versión Android de Chrome en tabletas con pantallas grandes, la solicitud se realiza para la versión de escritorio del sitio y no para la edición para dispositivos móviles. Puede cambiar el comportamiento utilizando la configuración “chrome://flags/#request-desktop-site-for-tablets”.
  • El código para representar tablas ha sido reelaborado, lo que nos permitió resolver problemas de inconsistencia en el comportamiento al mostrar tablas en Chrome y Firefox/Safari.
  • La tramitación de los certificados de servidor de la autoridad certificadora española Camerfirma se encuentra paralizada debido a incidentes recurrentes desde 2017 relacionados con infracciones en la emisión de certificados. Se conserva la compatibilidad con certificados de cliente; el bloqueo solo se aplica a los certificados utilizados en sitios HTTPS.
  • Seguimos implementando soporte para la segmentación de la red para protegernos contra métodos de seguimiento de los movimientos de los usuarios entre sitios basados ​​en el almacenamiento de identificadores en áreas no destinadas al almacenamiento permanente de información ("Supercookies"). Debido a que los recursos almacenados en caché se almacenan en un espacio de nombres común, independientemente del dominio de origen, un sitio puede determinar que otro sitio está cargando recursos al verificar si ese recurso está en el caché. La protección se basa en el uso de segmentación de red (Network Partitioning), cuya esencia es agregar a las cachés compartidas una vinculación adicional de registros al dominio desde el que se abre la página principal, lo que limita la cobertura de la caché solo para scripts de seguimiento de movimiento. al sitio actual (un script de un iframe no podrá verificar si el recurso se descargó de otro sitio).

    El precio de la segmentación es una disminución de la eficiencia del almacenamiento en caché, lo que lleva a un ligero aumento en el tiempo de carga de la página (máximo un 1.32%, pero para el 80% de los sitios entre un 0.09% y un 0.75%). Para probar el modo de segmentación, puede ejecutar el navegador con la opción “—enable-features=PartitionConnectionsByNetworkIsolationKey, PartitionExpectCTStateByNetworkIsolationKey, PartitionHttpServerPropertiesByNetworkIsolationKey, PartitionNelAndReportingByNetworkIsolationKey, PartitionSSLSessionsByNetworkIsolationKey, SplitHostCacheB yNetworkIsol clave de operación".

  • Se agregó VersionHistory de la API REST externa (https://versionhistory.googleapis.com/v1/chrome), a través del cual puede obtener información sobre las versiones de Chrome en relación con plataformas y sucursales, así como el historial de actualizaciones del navegador.
  • En iframes cargados desde dominios distintos al dominio de la página base, se prohíbe la visualización de los cuadros de diálogo JavaScript alert(), confirm() y Prompt(), lo que protegerá a los usuarios de los intentos de un script de terceros de mostrar mensajes bajo el dominio. como si la notificación fuera mostrada por el sitio principal.
  • La API SIMD de WebAssembly se ha estabilizado y se ofrece de forma predeterminada para el uso de instrucciones SIMD vectoriales en aplicaciones formateadas por WebAssembly. Para garantizar la independencia de la plataforma, ofrece un nuevo tipo de 128 bits que puede representar diferentes tipos de datos empaquetados y varias operaciones vectoriales básicas para procesar datos empaquetados. SIMD le permite aumentar la productividad al paralelizar el procesamiento de datos y será útil al compilar código nativo en WebAssembly.
  • Se han agregado varias API nuevas al modo de prueba de Origin (funciones experimentales que requieren activación por separado). Origin Trial implica la capacidad de trabajar con la API especificada desde aplicaciones descargadas de localhost o 127.0.0.1, o después de registrarse y recibir un token especial que es válido por un tiempo limitado para un sitio específico.
    • WebTransport es un protocolo y una API de JavaScript que lo acompaña para enviar y recibir datos entre el navegador y el servidor. El canal de comunicación está organizado sobre HTTP/3 utilizando el protocolo QUIC como transporte, que, a su vez, es un complemento del protocolo UDP que admite la multiplexación de múltiples conexiones y proporciona métodos de cifrado equivalentes a TLS/SSL.

      WebTransport se puede utilizar en lugar de los mecanismos WebSockets y RTCDataChannel, ofreciendo características adicionales como transmisión de múltiples transmisiones, transmisiones unidireccionales, entrega fuera de orden y modos de entrega confiables y no confiables. Además, se puede utilizar WebTransport en lugar del mecanismo Server Push, que Google ha abandonado en Chrome.

    • Una interfaz declarativa para definir enlaces a aplicaciones web independientes (PWA), habilitada mediante el parámetro capture_links en el manifiesto de la aplicación web y que permite a los sitios abrir automáticamente una nueva ventana de PWA cuando se hace clic en el enlace de una aplicación o cambiar al modo de ventana única. similar a las aplicaciones móviles.
    • Se agregó la API de detección de planos WebXR, que proporciona información sobre superficies planas en un entorno virtual 3D. La API especificada permite evitar el procesamiento intensivo de recursos de los datos obtenidos a través de la llamada MediaDevices.getUserMedia(), utilizando implementaciones patentadas de algoritmos de visión por computadora. Le recordamos que la API WebXR le permite unificar el trabajo con varias clases de dispositivos de realidad virtual, desde cascos 3D estacionarios hasta soluciones basadas en dispositivos móviles.
  • Se implementó soporte para trabajar con WebSockets a través de HTTP/2 (RFC 8441), que es válido solo para solicitudes seguras a WebSockets y en presencia de una conexión HTTP/2 ya establecida con el servidor, que anunció soporte para "WebSockets sobre HTTP/2". Extensión HTTP/XNUMX”.
  • Los límites a la precisión de los valores del temporizador producidos por una llamada a performance.now() son consistentes en todas las plataformas admitidas y se adaptan a la posibilidad de aislar controladores en procesos separados. Por ejemplo, en sistemas de escritorio, la precisión al procesar en contextos no aislados se ha reducido de 5 a 100 microsegundos.
  • Las versiones de escritorio ahora incluyen la capacidad de leer archivos desde el portapapeles (aún está prohibido escribir archivos en el portapapeles). función asíncrona onPaste(e) { let file = e.clipboardData.files[0]; let content = await file.text(); }
  • CSS implementa la regla @counter-style, que le permite definir su propio estilo para contadores y etiquetas en listas numeradas.
  • Las pseudoclases CSS “:host()” y “:host-context()” han agregado la capacidad de pasar valores únicos de selectores compuestos ( ) además de listas de selección ( ).
  • Se agregó la interfaz GravitySensor para determinar datos volumétricos (tres ejes de coordenadas) del sensor de gravedad.
  • La API de acceso al sistema de archivos brinda la capacidad de definir recomendaciones para elegir un nombre de archivo y un directorio ofrecido en el cuadro de diálogo para crear o abrir un archivo.
  • Los iframes cargados desde otros dominios pueden acceder a la API de WebOTP si el usuario otorga los permisos adecuados. WebOTP le permite leer códigos de verificación únicos enviados por SMS.
  • Se permite compartir el acceso a las credenciales de los sitios vinculados mediante el mecanismo DAL (Enlaces de activos digitales), que permite asociar aplicaciones de Android con sitios para simplificar el inicio de sesión.
  • Los trabajadores del servicio permiten el uso de módulos JavaScript. Cuando especifica el tipo de 'módulo' al llamar al constructor, los scripts especificados se cargarán en forma de módulos y estarán disponibles para importar en el contexto del trabajador. La compatibilidad con módulos facilita compartir código entre páginas web y trabajadores de servicios.
  • JavaScript proporciona la posibilidad de comprobar la existencia de campos privados en un objeto utilizando la sintaxis "#foo in obj". clase A {prueba estática(obj) { console.log(#foo en obj); } #foo = 0; } A.prueba(nueva A()); // verdadero A.test({}); // FALSO
  • JavaScript de forma predeterminada permite el uso de la palabra clave await en módulos en el nivel superior, lo que permite que las llamadas asincrónicas se integren más fácilmente en el proceso de carga del módulo y evita envolverlas en una "función asíncrona". Por ejemplo, en lugar de (async function() { await Promise.resolve(console.log('test')); }()); ahora puedes escribir await Promise.resolve(console.log('test'));
  • El motor JavaScript V8 ha mejorado la eficiencia del almacenamiento en caché de plantillas, lo que ha aumentado la velocidad de aprobación de la prueba Speedometer4.5-FlightJS en un 2%.
  • Se han realizado una gran parte de mejoras en las herramientas para desarrolladores web. Se ha agregado un nuevo modo de inspector de memoria, que proporciona herramientas para examinar los datos de ArrayBuffer y la memoria Wasm.
    Chrome Versión 91

    Se ha agregado un indicador de rendimiento resumido al panel Rendimiento, que le permite juzgar si un sitio requiere optimización o no.

    Chrome Versión 91

    Las vistas previas de imágenes en el panel Elementos y el panel Análisis de red brindan información sobre la relación de aspecto de la imagen, las opciones de representación y el tamaño del archivo.

    Chrome Versión 91

    En el panel de inspección de la red, ahora es posible cambiar los valores aceptados del encabezado Content-Encoding.

    Chrome Versión 91

    En el panel de estilo, ahora puede ver rápidamente el valor calculado cuando navega por los parámetros CSS seleccionando "Ver valor calculado" en el menú contextual.

    Chrome Versión 91

Además de las innovaciones y correcciones de errores, la nueva versión elimina 32 vulnerabilidades. Muchas de las vulnerabilidades se identificaron como resultado de pruebas automatizadas utilizando las herramientas AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer y AFL. No se han identificado problemas críticos que permitan eludir todos los niveles de protección del navegador y ejecutar código en el sistema fuera del entorno sandbox. Como parte del programa para pagar recompensas en efectivo por descubrir vulnerabilidades para la versión actual, Google pagó 21 premios por valor de 92000 dólares (un premio de 20000 dólares, un premio de 15000 dólares, cuatro premios de 7500 dólares, tres premios de 5000 dólares, tres premios de 3000 dólares, dos premios de 1000 dólares y dos $500). Aún no se ha determinado el tamaño de las 5 recompensas.

Fuente: opennet.ru

Añadir un comentario