Versão 90 do Chrome

O Google revelou o lançamento do navegador Chrome 90. Ao mesmo tempo, está disponível uma versão estável do projeto gratuito Chromium, que serve de base ao Chrome. O navegador Chrome se diferencia pelo uso dos logotipos do Google, pela presença de um sistema de envio de notificações em caso de travamento, módulos para reprodução de conteúdo de vídeo protegido (DRM), sistema de instalação automática de atualizações e transmissão de parâmetros RLZ durante a pesquisa. O próximo lançamento do Chrome 91 está agendado para 25 de maio.

Principais mudanças no Chrome 90:

  • Todos os usuários podem abrir sites via HTTPS por padrão ao digitar nomes de host na barra de endereço. Por exemplo, quando você insere o host example.com, o site https://example.com será aberto por padrão e, se surgirem problemas ao abrir, ele será revertido para http://example.com. Para controlar o uso do padrão “https://”, é proposta a configuração “chrome://flags#omnibox-default-typed-navigations-to-https”.
  • Agora é possível atribuir rótulos diferentes às janelas para separá-las visualmente no painel da área de trabalho. O suporte para alterar o nome da janela simplificará a organização do trabalho ao usar janelas separadas do navegador para tarefas diferentes, por exemplo, ao abrir janelas separadas para tarefas de trabalho, interesses pessoais, entretenimento, materiais diferidos, etc. O nome é alterado através do item “Adicionar título da janela” no menu de contexto que aparece quando você clica com o botão direito em uma área vazia da barra de guias. Após alterar o nome no painel do aplicativo, ao invés do nome do site da aba ativa, é exibido o nome selecionado, o que pode ser útil ao abrir os mesmos sites em janelas diferentes vinculadas a contas separadas. A ligação é mantida entre as sessões e após a reinicialização as janelas serão restauradas com os nomes selecionados.
    Versão 90 do Chrome
  • Adicionada a capacidade de ocultar a “Lista de leitura” sem ter que alterar as configurações em “chrome://flags” (“chrome://flags#read-later”). Para ocultar, agora você pode usar a opção “Mostrar lista de leitura” na parte inferior do menu de contexto mostrado ao clicar com o botão direito na barra de favoritos. Lembramos que na última versão, quando alguns usuários clicam no asterisco da barra de endereço, além do botão “Adicionar favorito”, aparece um segundo botão “Adicionar à lista de leitura”, e no canto direito do painel de favoritos, aparece o menu “Lista de leitura”, que lista todas as páginas adicionadas anteriormente à lista. Quando você abre uma página da lista, ela é marcada como lida. As páginas da lista também podem ser marcadas manualmente como lidas ou não lidas, ou removidas da lista.
  • Adicionado suporte para segmentação de rede para proteção contra métodos de rastreamento de movimentos de usuários entre sites com base no armazenamento de identificadores em áreas não destinadas ao armazenamento permanente de informações (“Supercookies”). Como os recursos armazenados em cache são armazenados em um namespace comum, independentemente do domínio de origem, um site pode determinar que outro site está carregando recursos verificando se esse recurso está no cache. A proteção é baseada no uso de segmentação de rede (particionamento de rede), cuja essência é adicionar aos caches compartilhados ligação adicional de registros ao domínio a partir do qual a página principal é aberta, o que limita a cobertura do cache apenas para scripts de rastreamento de movimento para o site atual (um script de um iframe não poderá verificar se o recurso foi baixado de outro site). O preço da segmentação é uma diminuição na eficiência do cache, levando a um ligeiro aumento no tempo de carregamento da página (máximo de 1.32%, mas para 80% dos sites de 0.09-0.75%).
  • A lista negra de portas de rede para as quais o envio de solicitações HTTP, HTTPS e FTP está bloqueado foi reabastecida para proteger contra ataques de slipstreaming NAT, que permite, ao abrir uma página web especialmente preparada pelo invasor em um navegador, estabelecer uma rede conexão do servidor do invasor a qualquer porta UDP ou TCP no sistema do usuário, apesar do uso do intervalo de endereços interno (192.168.xx, 10.xxx). Adicionado 554 (protocolo RTSP) e 10080 (usado no backup Amanda e VMWare vCenter) à lista de portas proibidas. Anteriormente, as portas 69, 137, 161, 554, 1719, 1720, 1723, 5060, 5061 e 6566 já estavam bloqueadas.
  • Adicionado suporte inicial para abertura de documentos PDF com formulários XFA no navegador.
  • Para alguns usuários, foi ativada uma nova seção de configurações “Configurações do Chrome > Privacidade e segurança > Sandbox de privacidade”, que permite gerenciar os parâmetros da API FLoC, visando determinar a categoria de interesses do usuário sem identificação individual e sem referência a o histórico de visitas a sites específicos.
  • Uma notificação mais clara com uma lista de ações permitidas agora é exibida quando um usuário se conecta a um perfil para o qual o gerenciamento centralizado está habilitado.
  • Tornou a interface de solicitação de permissões menos intrusiva. As solicitações que o usuário provavelmente reprovará agora são bloqueadas automaticamente com um indicador correspondente exibido na barra de endereço, com o qual o usuário pode acessar a interface para gerenciar permissões por site.
    Versão 90 do Chrome
  • O suporte para extensões Intel CET (Intel Control-flow Enforcement Technology) está incluído para proteção de hardware contra explorações criadas usando técnicas de programação orientada a retorno (ROP, Return-Oriented Programming).
  • O trabalho continua para fazer a transição do navegador para usar uma terminologia inclusiva. O arquivo "master_preferences" foi renomeado para "initial_preferences" para evitar ferir os sentimentos dos usuários que percebem a palavra "master" como uma dica sobre a antiga escravidão de seus ancestrais. Para manter a compatibilidade, o suporte para “master_preferences” permanecerá no navegador por algum tempo. Anteriormente, o navegador já havia se livrado do uso das palavras “lista branca”, “lista negra” e “nativo”.
  • Na versão Android, quando o modo de economia de tráfego “Lite” está habilitado, a taxa de bits é reduzida no download de vídeo quando conectado através das redes das operadoras móveis, o que reduzirá os custos dos usuários que possuem tarifas baseadas em tráfego habilitadas. O modo “Lite” também fornece compactação de imagens solicitadas de recursos disponíveis publicamente (sem necessidade de autenticação) via HTTPS.
  • Adicionado codificador de formato de vídeo AV1, especialmente otimizado para uso em videoconferência baseado no protocolo WebRTC. A utilização do AV1 em videoconferência permite aumentar a eficiência da compressão e proporcionar a capacidade de transmissão em canais com largura de banda de 30 kbit/s.
  • Em JavaScript, os objetos Array, String e TypedArrays implementam o método at(), que permite usar a indexação relativa (a posição relativa é especificada como o índice da matriz), incluindo a especificação de valores negativos relativos ao final (por exemplo, "arr.at(-1)" retornará o último elemento do array).
  • JavaScript adicionou a propriedade “.indices” para expressões regulares, que contém um array com as posições inicial e final de grupos de correspondências. A propriedade é preenchida somente ao executar a expressão regular com a flag "/d". const re = /(a)(b)/d; const m = re.exec('ab'); console.log(m.indices[0]); // 0 — todos os grupos de correspondência // → [0, 2] console.log(m.indices[1]); // 1 é o primeiro grupo de correspondências // → [0, 1] console.log(m.indices[2]); // 2 - segundo grupo de correspondências // → [1, 2]
  • O desempenho das propriedades “super” (por exemplo, super.x) para as quais o cache embutido está habilitado foi otimizado. O desempenho do uso de "super" agora está próximo do desempenho do acesso a propriedades regulares.
  • A chamada de funções WebAssembly a partir de JavaScript foi significativamente acelerada devido ao uso de implantação inline. Esta otimização permanece experimental por enquanto e requer execução com o sinalizador “-turbo-inline-js-wasm-calls”.
  • Adicionada a API WebXR Depth Sensing, que permite determinar a distância entre objetos no ambiente do usuário e o dispositivo do usuário, por exemplo, para criar aplicativos de realidade aumentada mais realistas. Lembramos que a API WebXR permite unificar o trabalho com diversas classes de dispositivos de realidade virtual, desde capacetes 3D estacionários até soluções baseadas em dispositivos móveis.
  • O recurso WebXR AR Lighting Estimation foi estabilizado, permitindo que sessões WebXR AR determinem parâmetros de iluminação ambiente para dar aos modelos uma aparência mais natural e melhor integração com o ambiente do usuário.
  • O modo Origin Trials (recursos experimentais que requerem ativação separada) adiciona várias novas APIs que estão atualmente limitadas à plataforma Android. Origin Trial implica a capacidade de trabalhar com a API especificada a partir de aplicativos baixados de localhost ou 127.0.0.1, ou após registrar e receber um token especial válido por tempo limitado para um site específico.
    • O método getCurrentBrowsingContextMedia(), que possibilita capturar um fluxo de vídeo MediaStream refletindo o conteúdo da guia atual. Ao contrário do método getDisplayMedia() semelhante, ao chamar getCurrentBrowsingContextMedia(), uma caixa de diálogo simples é apresentada ao usuário para confirmar ou bloquear a operação de transferência de vídeo com o conteúdo da guia.
    • API Insertable Streams, que permite manipular fluxos de mídia bruta transmitidos por meio da API MediaStreamTrack, como dados de câmera e microfone, resultados de captura de tela ou dados de decodificação de codec intermediário. Interfaces WebCodec são usadas para apresentar quadros brutos e um fluxo é gerado semelhante ao que a API WebRTC Insertable Streams gera com base em RTCPeerConnections. Do lado prático, a nova API permite funcionalidades como a aplicação de técnicas de aprendizado de máquina para identificar ou anotar objetos em tempo real ou adicionar efeitos como recorte de fundo antes da codificação ou após a decodificação por um codec.
    • A capacidade de empacotar recursos em pacotes (Web Bundle) para organizar o carregamento mais eficiente de um grande número de arquivos acompanhantes (estilos CSS, JavaScript, imagens, iframes). Entre as deficiências no suporte existente para pacotes de arquivos JavaScript (webpack), que o Web Bundle está tentando eliminar: o pacote em si, mas não seus componentes, pode acabar no cache HTTP; a compilação e a execução só podem começar após o download completo do pacote; Recursos adicionais, como CSS e imagens, devem ser codificados na forma de strings JavaScript, o que aumenta o tamanho e requer outra etapa de análise.
    • Suporte para tratamento de exceções no WebAssembly.
  • Estabilizou a API Declarative Shadow DOM para criar novas ramificações raiz no Shadow DOM, por exemplo, para separar um estilo de elemento de terceiros importado e sua sub-ramificação DOM associada do documento principal. A API declarativa proposta permite usar apenas HTML para liberar ramificações DOM sem a necessidade de escrever código JavaScript.
  • A propriedade CSS de proporção de aspecto, que permite vincular explicitamente a proporção de aspecto a qualquer elemento (para calcular automaticamente o tamanho ausente ao especificar apenas a altura ou largura), implementa a capacidade de interpolar valores durante a animação (transição suave de um relação de aspecto para outra).
  • Adicionada a capacidade de refletir o estado de elementos HTML personalizados em CSS por meio da pseudoclasse “:state()”. A funcionalidade é implementada por analogia com a capacidade dos elementos HTML padrão de alterar seu estado dependendo da interação do usuário.
  • A propriedade CSS "appearance" agora suporta o valor 'auto', que é definido por padrão para E , e na plataforma Android adicionalmente para , , , E .
  • O suporte para o valor “clip” foi adicionado à propriedade CSS “overflow”, quando definido, o conteúdo que se estende além do bloco é cortado até o limite do overflow permitido do bloco sem a possibilidade de rolagem. O valor que determina até que ponto o conteúdo pode se estender além da borda real da caixa antes do início do recorte é definido por meio da nova propriedade CSS "overflow-clip-margin". Comparado com "overflow: hidden", usar "overflow: clip" permite um melhor desempenho.
    Versão 90 do ChromeVersão 90 do Chrome
  • O cabeçalho HTTP Feature-Policy foi substituído por um novo cabeçalho Permissions-Policy para controlar a delegação de permissões e a ativação de recursos avançados, que inclui suporte para valores de campos estruturados (por exemplo, agora você pode especificar "Permissions-Policy: geolocation =()" em vez de "Política de recursos: geolocalização 'nenhuma'").
  • Proteção reforçada contra o uso de Buffers de Protocolo para ataques causados ​​por execução especulativa de instruções em processadores. A proteção é implementada adicionando o tipo MIME “application/x-protobuffer” à lista de tipos MIME nunca detectados, que é processada por meio do mecanismo Cross-Origin-Read-Blocking. Anteriormente, o tipo MIME “application/x-protobuf” já estava incluído em uma lista semelhante, mas “application/x-protobuffer” foi deixado de fora.
  • A API File System Access implementa a capacidade de mudar a posição atual em um arquivo além de seu final, preenchendo a lacuna resultante com zeros durante a gravação subsequente por meio da chamada FileSystemWritableFileStream.write(). Este recurso permite criar arquivos esparsos com espaços vazios e simplifica significativamente a organização da gravação em fluxos de arquivos com chegada desordenada de blocos de dados (por exemplo, isso é praticado no BitTorrent).
  • Adicionado construtor StaticRange com implementação de tipos Range leves que não requerem atualização de todos os objetos associados sempre que a árvore DOM muda.
  • Implementada a capacidade de especificar parâmetros de largura e altura para elementos especificado dentro do elemento . Este recurso permite calcular a proporção dos elementos , por analogia com como isso é feito para , E .
  • O suporte não padronizado para canais de dados RTP foi removido do WebRTC e é recomendado usar canais de dados baseados em SCTP.
  • As propriedades navigator.plugins e navigator.mimeTypes agora sempre retornam um valor vazio (após o término do suporte ao Flash, essas propriedades não eram mais necessárias).
  • Uma grande parte de pequenas melhorias foram feitas nas ferramentas para desenvolvedores web e uma nova ferramenta de depuração CSS, flexbox, foi adicionada.
    Versão 90 do Chrome

Além de inovações e correções de bugs, a nova versão elimina 37 vulnerabilidades. Muitas das vulnerabilidades foram identificadas como resultado de testes automatizados usando as ferramentas AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer e AFL. Nenhum problema crítico foi identificado que permitiria ignorar todos os níveis de proteção do navegador e executar código no sistema fora do ambiente sandbox. Como parte do programa de recompensa em dinheiro pela descoberta de vulnerabilidades na versão atual, o Google pagou 19 prêmios no valor de US$ 54000 (um prêmio de US$ 20000, um prêmio de US$ 10000, dois prêmios de US$ 5000, três prêmios de US$ 3000, um prêmio de US$ 2000, um prêmio de US$ 1000 e quatro prêmios de US$ 500 ). ). O tamanho das 6 recompensas ainda não foi determinado.

Separadamente, pode-se notar que ontem, após a formação da versão corretiva 89.0.4389.128, mas antes do lançamento do Chrome 90, foi publicado outro exploit, que utilizou uma nova vulnerabilidade de dia 0 que não foi corrigida no Chrome 89.0.4389.128 . Ainda não está claro se esse problema foi corrigido no Chrome 90. Como no primeiro caso, a exploração cobre apenas uma vulnerabilidade e não contém código para contornar o isolamento da sandbox (ao executar o Chrome com o sinalizador “--no-sandbox” , a exploração ocorre quando a abertura de uma página da web na plataforma Windows permite executar o Bloco de Notas). A vulnerabilidade associada à nova exploração afeta a tecnologia WebAssembly.

Fonte: opennet.ru

Adicionar um comentário