Versión de Chrome 90

Google presentou o lanzamento do navegador web Chrome 90. Ao mesmo tempo, está dispoñible unha versión estable do proxecto Chromium gratuíto, que serve como base de Chrome. O navegador Chrome distínguese polo uso de logotipos de Google, a presenza dun sistema de envío de notificacións en caso de fallo, módulos para reproducir contido de vídeo protexido (DRM), un sistema de instalación automática de actualizacións e transmisión de parámetros RLZ durante a busca. A próxima versión de Chrome 91 está programada para o 25 de maio.

Cambios clave en Chrome 90:

  • Todos os usuarios están habilitados para abrir sitios a través de HTTPS de forma predeterminada ao escribir os nomes de host na barra de enderezos. Por exemplo, cando ingrese ao host example.com, o sitio https://example.com abrirase de forma predeterminada e, se xurden problemas ao abrir, volverase a http://example.com. Para controlar o uso do "https://" predeterminado, proponse a configuración "chrome://flags#omnibox-default-typed-navigations-to-https".
  • Agora é posible asignar diferentes etiquetas ás fiestras para separalas visualmente no panel do escritorio. A compatibilidade para cambiar o nome da xanela simplificará a organización do traballo cando se usan ventás separadas do navegador para diferentes tarefas, por exemplo, ao abrir ventás separadas para tarefas laborais, intereses persoais, entretemento, materiais aprazados, etc. O nome cámbiase a través do elemento "Engadir título da xanela" no menú contextual que aparece cando fai clic co botón dereito nunha área baleira da barra de pestanas. Despois de cambiar o nome no panel da aplicación, en lugar do nome do sitio da pestana activa, móstrase o nome seleccionado, o que pode ser útil ao abrir os mesmos sitios en diferentes ventás vinculadas a contas separadas. A vinculación mantense entre sesións e despois dun reinicio as fiestras restauraranse cos nomes seleccionados.
    Versión de Chrome 90
  • Engadiuse a posibilidade de ocultar a "Lista de lectura" sen ter que cambiar a configuración en "chrome://flags" ("chrome://flags#read-later"). Para ocultalo, agora pode usar a opción "Mostrar lista de lecturas" na parte inferior do menú contextual que se mostra ao facer clic co botón dereito na barra de marcadores. Lembrámosche que na última versión, cando algúns usuarios fan clic no asterisco da barra de enderezos, ademais do botón "Engadir marcador", aparece un segundo botón "Engadir á lista de lecturas", e na esquina dereita do panel de marcadores aparece o menú "Lista de lectura", que enumera todas as páxinas engadidas previamente á lista. Cando abres unha páxina da lista, márcase como lida. As páxinas da lista tamén se poden marcar manualmente como lidas ou non lidas, ou eliminarse da lista.
  • Engadiuse compatibilidade coa segmentación da rede para protexerse contra métodos de seguimento dos movementos dos usuarios entre sitios baseados no almacenamento de identificadores en áreas non destinadas ao almacenamento permanente de información ("Supercookies"). Dado que os recursos almacenados na caché almacénanse nun espazo de nomes común, independentemente do dominio de orixe, un sitio pode determinar que outro sitio está cargando recursos comprobando se ese recurso está na caché. A protección baséase no uso da segmentación de rede (Network Partitioning), cuxa esencia é engadir ás cachés compartidas vinculación adicional de rexistros ao dominio desde o que se abre a páxina principal, o que limita a cobertura da caché só para os scripts de seguimento de movementos. ao sitio actual (un script dun iframe non poderá comprobar se o recurso foi descargado doutro sitio). O prezo da segmentación é unha diminución da eficiencia do caché, o que leva a un lixeiro aumento do tempo de carga da páxina (máximo nun 1.32 %, pero para o 80 % dos sitios nun 0.09-0.75 %).
  • A lista negra de portos de rede para os que está bloqueado o envío de solicitudes HTTP, HTTPS e FTP foi reabastecida para protexerse contra ataques slipstreaming NAT, o que permite, ao abrir unha páxina web especialmente preparada polo atacante nun navegador, establecer unha rede. conexión do servidor do atacante a calquera porto UDP ou TCP do sistema do usuario , a pesar do uso do intervalo de enderezos interno (192.168.xx, 10.xxx). Engadiuse 554 (protocolo RTSP) e 10080 (usado na copia de seguridade de Amanda e VMWare vCenter) á lista de portos prohibidos. Anteriormente, xa estaban bloqueados os portos 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 e 6566.
  • Engadido soporte inicial para abrir documentos PDF con formularios XFA no navegador.
  • Para algúns usuarios, activouse unha nova sección de configuración "Configuración de Chrome > Privacidade e seguridade > Sandbox de privacidade", que permite xestionar os parámetros da API FLoC, destinada a determinar a categoría de intereses dos usuarios sen identificación individual e sen referencia a a historia de visitar sitios específicos.
  • Agora móstrase unha notificación máis clara cunha lista de accións permitidas cando un usuario se conecta a un perfil para o que está habilitada a xestión centralizada.
  • Fixo a interface de solicitude de permisos menos intrusiva. As solicitudes que é probable que o usuario rexeite agora bloqueáronse automaticamente cun indicador correspondente que se mostra na barra de enderezos, co cal o usuario pode ir á interface para xestionar os permisos por cada sitio.
    Versión de Chrome 90
  • Inclúese soporte para as extensións Intel CET (Intel Control-flow Enforcement Technology) para a protección do hardware contra exploits construídos mediante técnicas de programación orientada a retorno (ROP, Return-Oriented Programming).
  • Continúa o traballo para facer a transición do navegador para utilizar unha terminoloxía inclusiva. O ficheiro "master_preferences" cambiou o nome a "initial_preferences" para evitar ferir os sentimentos dos usuarios que perciben a palabra "master" como unha pista sobre a antiga escravitude dos seus antepasados. Para manter a compatibilidade, o soporte para "master_preferences" permanecerá no navegador durante algún tempo. Anteriormente, o navegador xa se librara do uso das palabras "lista branca", "lista negra" e "nativo".
  • Na versión de Android, cando o modo de aforro de tráfico "Lite" está activado, a taxa de bits redúcese ao descargar vídeo ao conectarse a través das redes de operadores móbiles, o que reducirá os custos dos usuarios que teñan activadas as tarifas baseadas no tráfico. O modo "Lite" tamén ofrece compresión de imaxes solicitadas desde recursos dispoñibles publicamente (sen necesidade de autenticación) a través de HTTPS.
  • Engadido codificador de formato de vídeo AV1, especialmente optimizado para o seu uso en videoconferencia baseado no protocolo WebRTC. O uso de AV1 nas videoconferencias permite aumentar a eficiencia da compresión e ofrecer a posibilidade de transmitir en canles cun ancho de banda de 30 kbit/s.
  • En JavaScript, os obxectos Array, String e TypedArrays implementan o método at(), que lle permite usar a indexación relativa (a posición relativa especifícase como índice da matriz), incluíndo a especificación de valores negativos relativos ao final (por exemplo, "arr.at(-1)" devolverá o último elemento da matriz).
  • JavaScript engadiu a propiedade ".indices" para expresións regulares, que contén unha matriz coas posicións inicial e final dos grupos de coincidencias. A propiedade énchese só cando se executa a expresión regular coa marca "/d". const re = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indices[0]); // 0 — todos os grupos de coincidencias // → [0, 2] console.log(m.indices[1]); // 1 é o primeiro grupo de coincidencias // → [0, 1] console.log(m.indices[2]); // 2 - segundo grupo de partidos // → [1, 2]
  • Optimizouse o rendemento das propiedades "super" (por exemplo, super.x) para as que está habilitada a caché en liña. O rendemento de usar "super" agora está preto do rendemento de acceder ás propiedades habituais.
  • A chamada de funcións de WebAssembly desde JavaScript acelerouse significativamente debido ao uso da implementación en liña. Esta optimización segue sendo experimental polo momento e require executarse coa marca "-turbo-inline-js-wasm-calls".
  • Engadiuse a API WebXR Depth Sensing, que permite determinar a distancia entre os obxectos da contorna do usuario e o dispositivo do usuario, por exemplo, para crear aplicacións de realidade aumentada máis realistas. Lembrámosche que a API de WebXR permíteche unificar o traballo con varias clases de dispositivos de realidade virtual, desde cascos 3D estacionarios ata solucións baseadas en dispositivos móbiles.
  • Estabilizouse a función WebXR AR Lighting Estimation, o que permite que as sesións WebXR AR determinen os parámetros de iluminación ambiental para dar aos modelos un aspecto máis natural e unha mellor integración co entorno do usuario.
  • O modo Origin Trials (funcións experimentais que requiren unha activación separada) engade varias API novas que actualmente están limitadas á plataforma Android. Origin Trial implica a posibilidade de traballar coa API especificada desde aplicacións descargadas desde localhost ou 127.0.0.1, ou despois de rexistrarse e recibir un token especial que é válido por un tempo limitado para un sitio específico.
    • O método getCurrentBrowsingContextMedia(), que permite capturar un fluxo de vídeo MediaStream que reflicte o contido da pestana actual. A diferenza do método similar getDisplayMedia(), ao chamar a getCurrentBrowsingContextMedia(), preséntase ao usuario un diálogo sinxelo para confirmar ou bloquear a operación de transferencia de vídeo co contido da pestana.
    • API Insertable Streams, que permite manipular fluxos multimedia en bruto transmitidos a través da API MediaStreamTrack, como datos de cámara e micrófono, resultados de captura de pantalla ou datos de decodificación de códecs intermedios. As interfaces de WebCodec utilízanse para presentar marcos en bruto e xérase un fluxo similar ao que xera a API de WebRTC Insertable Streams baseado en RTCPeerConnections. No lado práctico, a nova API permite funcionalidades como a aplicación de técnicas de aprendizaxe automática para identificar ou anotar obxectos en tempo real, ou engadir efectos como o recorte de fondo antes da codificación ou despois da descodificación mediante un códec.
    • A capacidade de empaquetar recursos en paquetes (Web Bundle) para organizar a carga máis eficiente dun gran número de ficheiros acompañantes (estilos CSS, JavaScript, imaxes, iframes). Entre as deficiencias do soporte existente para paquetes para ficheiros JavaScript (webpack), que o Web Bundle está intentando eliminar: o paquete en si, pero non os seus compoñentes, pode acabar na caché HTTP; a compilación e execución só poden comezar despois de que o paquete fose completamente descargado; Os recursos adicionais como CSS e imaxes deben codificarse en forma de cadeas JavaScript, o que aumenta o tamaño e require outro paso de análise.
    • Soporte para o manexo de excepcións en WebAssembly.
  • Estabilizouse a API Declarative Shadow DOM para crear novas ramas raíz no Shadow DOM, por exemplo para separar un estilo de elemento de terceiros importado e a súa subrama DOM asociada do documento principal. A API declarativa proposta permítelle usar só HTML para desenganchar ramas DOM sen necesidade de escribir código JavaScript.
  • A propiedade CSS de relación de aspecto, que permite vincular explícitamente a relación de aspecto a calquera elemento (para calcular automaticamente o tamaño que falta ao especificar só a altura ou o ancho), implementa a capacidade de interpolar valores durante a animación (transición suave dun relación de aspecto con outra).
  • Engadida a capacidade de reflectir o estado dos elementos HTML personalizados en CSS mediante a pseudo-clase ":state()". A funcionalidade implícase por analoxía coa capacidade dos elementos HTML estándar para cambiar o seu estado dependendo da interacción do usuario.
  • A propiedade CSS "aparencia" agora admite o valor "auto", que está configurado por defecto para E , e na plataforma Android adicionalmente para , , , E .
  • A compatibilidade do valor "clip" engadiuse á propiedade CSS "desbordamento", cando se estableceu, o contido que se estende máis aló do bloque córtase ata o límite do desbordamento permitido do bloque sen posibilidade de desprazamento. O valor que determina ata que punto o contido pode estenderse máis aló do bordo real da caixa antes de que comece o recorte establécese a través da nova propiedade CSS "overflow-clip-margin". En comparación con "desbordamento: oculto", usar "desbordamento: clip" permite un mellor rendemento.
    Versión de Chrome 90Versión de Chrome 90
  • A cabeceira HTTP da política de funcións foi substituída por unha nova cabeceira de política de permisos para controlar a delegación de permisos e a habilitación de funcións avanzadas, que inclúe soporte para valores de campo estruturados (por exemplo, agora pode especificar "Política de permisos: xeolocalización). =()" en lugar de "Función-Política: xeolocalización 'ningunha'").
  • Protección reforzada contra o uso de Protocol Buffers para ataques provocados pola execución especulativa de instrucións nos procesadores. A protección implícase engadindo o tipo MIME "application/x-protobuffer" á lista de tipos MIME nunca olfados, que se procesa a través do mecanismo de bloqueo de lectura cruzada. Anteriormente, o tipo MIME "application/x-protobuf" xa estaba incluído nunha lista similar, pero "application/x-protobuffer" quedou fóra.
  • A API de acceso ao sistema de ficheiros implementa a capacidade de cambiar a posición actual nun ficheiro máis aló do seu final, enchendo o oco resultante con ceros durante a escritura posterior mediante a chamada FileSystemWritableFileStream.write(). Esta función permítelle crear ficheiros escasos con espazos baleiros e simplifica significativamente a organización da escritura en fluxos de ficheiros coa chegada desordenada de bloques de datos (por exemplo, isto se practica en BitTorrent).
  • Engadiuse o construtor StaticRange coa implementación de tipos de rango lixeiros que non requiren actualizar todos os obxectos asociados cada vez que cambia a árbore DOM.
  • Implementouse a capacidade de especificar parámetros de ancho e alto para os elementos especificado dentro do elemento . Esta función permítelle calcular a relación de aspecto dos elementos , por analoxía con como se fai para , E .
  • Eliminouse de WebRTC a compatibilidade non estandarizada para as canles de datos RTP e recoméndase utilizar canles de datos baseadas en SCTP.
  • Agora as propiedades navigator.plugins e navigator.mimeTypes sempre devolven un valor baleiro (despois de que rematou a compatibilidade con Flash, estas propiedades xa non eran necesarias).
  • Realizáronse unha gran parte de pequenas melloras nas ferramentas para desenvolvedores web e engadiuse unha nova ferramenta de depuración de CSS, flexbox.
    Versión de Chrome 90

Ademais de innovacións e correccións de erros, a nova versión elimina 37 vulnerabilidades. Moitas das vulnerabilidades identificáronse como resultado de probas automatizadas mediante as ferramentas AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Non se identificaron problemas críticos que permitan ignorar todos os niveis de protección do navegador e executar código no sistema fóra do entorno sandbox. Como parte do programa de recompensas en metálico para descubrir vulnerabilidades para a versión actual, Google pagou 19 premios por valor de 54000 USD (un premio de 20000 USD, un premio de 10000 USD, dous premios de 5000 USD, tres premios de 3000 USD, un premio de 2000 USD, un premio de 1000 USD e catro premios de 500 USD). ). ). Aínda non se determinou o tamaño das 6 recompensas.

Por separado, pódese sinalar que onte, despois da formación da versión correctiva 89.0.4389.128, pero antes do lanzamento de Chrome 90, publicouse outro exploit, que utilizaba unha nova vulnerabilidade de 0 días que non foi corrixida en Chrome 89.0.4389.128. . Aínda non está claro se este problema foi solucionado en Chrome 90. Como no primeiro caso, o exploit cobre só unha vulnerabilidade e non contén código para evitar o illamento de sandbox (ao executar Chrome coa marca "--no-sandbox" , o exploit prodúcese ao abrir unha páxina web na plataforma Windows permítelle executar o Bloc de notas). A vulnerabilidade asociada ao novo exploit afecta á tecnoloxía WebAssembly.

Fonte: opennet.ru

Engadir un comentario