A empresa Google lançamento do navegador web . Ao mesmo tempo lançamento estável de um projeto de código aberto , que serve como base para o Chrome. O navegador Chrome pelo uso de logotipos do Google, pela presença de um sistema de envio de notificações em caso de falha, pela possibilidade de carregar o módulo Flash sob demanda, 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 na busca . O próximo lançamento do Chrome 87 está programado para 17 de novembro.
:
- Adicionada proteção contra o envio inseguro de formulários em páginas carregadas por HTTPS, mas que enviam dados por HTTP, o que cria uma ameaça de interceptação e alteração de dados durante ataques MITM. A proteção consiste em três mudanças:
- Desativação do preenchimento automático de quaisquer formulários mistos, semelhante ao que já foi feito há algum tempo para desativar o preenchimento automático de formulários de autenticação em páginas abertas por HTTP. Se anteriormente a abertura da página com o formulário por HTTPS ou HTTP era um sinal para a desativação, agora também é considerada a aplicação de criptografia ao enviar dados para o processador de formulários. A funcionalidade do gerenciador de senhas para formulários mistos de autenticação não foi desativada, pois o risco de usar uma senha insegura e reutilizar senhas em diferentes sites supera o risco potencial de interceptação de tráfego.
- Ao começar a digitar em formulários mistos, é exibido um aviso informando o usuário sobre o envio dos dados preenchidos através de um canal inseguro.
- Ao tentar enviar um formulário misto, é exibida uma página separada com um aviso sobre o risco potencial de transmissão de dados através de um canal inseguro. Em versões anteriores, um indicador de cadeado na barra de endereços era usado para indicar formulários mistos, mas essa marcação não era evidente para os usuários e não refletia efetivamente os riscos envolvidos.
- Bloqueio sem criptografia de arquivos executáveis foi complementado com o bloqueio de carregamento inseguro de arquivos zip, iso, etc. e exibição de avisos ao realizar carregamentos inseguros.
documentos (docx, pdf, etc.). Na próxima versão, espera-se a interrupção de documentos e a exibição de um aviso para imagens, arquivos de texto e multimídia. A interrupção foi implementada, pois o upload de arquivos sem criptografia pode ser usado para realizar ações maliciosas por meio de substituição de conteúdo durante ataques MITM. - No menu de contexto, a opção 'Sempre mostrar URL completamente' é exibida por padrão, podendo ser ativada anteriormente alterando as configurações na página about:flags. O URL completo também pode ser visualizado clicando duas vezes na barra de endereços. Lembramos que, a partir de , por padrão o endereço começou a ser exibido sem o protocolo e o subdomínio www. Em , foi removida a configuração que permitia retornar ao comportamento antigo, mas após a insatisfação dos usuários em , foi adicionado um novo sinalizador experimental que acrescenta no menu de contexto uma opção para desativar a ocultação e mostrar o URL completo em quaisquer condições.
- Para uma pequena porcentagem de usuários, foi lançado para por padrão na barra de endereços somente o domínio, sem elementos de caminho e parâmetros de consulta. Por exemplo, ao invés de 'https://example.com/secure-google-sign-in/', será exibido 'example.com'. A implementação do modo sugerido para todos os usuários está prevista em uma das próximas versões. Para desativar o comportamento indicado, pode-se usar a opção 'Sempre mostrar URL completamente', e para visualizar o URL completo, pode-se clicar na barra de endereços. A motivação para a mudança é o desejo de proteger os usuários contra phishing, que manipula parâmetros na URL — os criminosos se aproveitam da desatenção dos usuários para criar a aparência de que estão abrindo outro site e cometer ações fraudulentas (se para um usuário tecnicamente habilidoso tais substituições são evidentes, os leigos facilmente caem em tais manipulações simples).
- Foi retomada para remover o suporte ao FTP. No Chrome 86, o FTP foi desativado por padrão para cerca de 1% dos usuários, e no Chrome 87, o alcance da desativação será ampliado para 50%, mas o suporte poderá ser restaurado usando o sinalizador '--enable-ftp' ou '--enable-features=FtpProtocol'. No Chrome 88, o suporte ao FTP será totalmente desativado.
- Na versão para Android, assim como na versão para desktop, o gerenciador de senhas implementa a verificação de logins e senhas salvos em um banco de dados de contas comprometidas, exibindo um aviso em caso de problemas ou tentativas de uso de senhas triviais. A verificação é realizada em um banco de dados que abrange mais de 4 bilhões de contas comprometidas, que figuraram em vazamentos de dados do usuário. Para manter a privacidade a verificação do prefixo de hash no lado do usuário, e as senhas e seus hashes completos não são transmitidos para fora.
- Na versão para Android também o botão "Verificação de segurança" (Safety check) e o modo avançado de proteção contra sites perigosos (Enhanced Safe Browsing). O botão "Safety check" mostra um resumo sobre possíveis problemas de segurança, como o uso de senhas comprometidas, o estado da verificação de sites maliciosos (Safe Browsing), a presença de atualizações não instaladas e a detecção de extensões maliciosas. O modo avançado de proteção ativa verificações adicionais para proteção contra phishing, atividades maliciosas e outras ameaças na Web, além de incluir proteção extra para a conta do Google e serviços do Google (Gmail, Drive, etc.). Se no modo normal Safe Browsing as verificações são realizadas localmente com um banco de dados periodicamente baixado para o sistema do cliente, no Enhanced Safe Browsing as informações sobre páginas e downloads em tempo real são enviadas para verificação no lado do Google, permitindo uma resposta rápida a ameaças assim que forem detectadas, sem esperar pela atualização da lista negra local.
- suporte ao arquivo indicativo ".well-known/change-password", através do qual os proprietários de sites podem indicar o endereço do formulário da web para alteração de senha. No caso de detecção de comprometimento das credenciais do usuário, o Chrome agora oferecerá imediatamente ao usuário um formulário para mudança de senha, definido com base nas informações deste arquivo.
- Foi implementado um novo aviso "Dica de Segurança" (Safety Tip), exibido ao abrir sites cujos domínios são muito semelhantes a outro site e a heurística mostra que há uma alta probabilidade de spoofing (por exemplo, ao abrir goog0le.com em vez de google.com).
- suporte de cache de transição (Back-forward cache), que proporciona uma transição instantânea ao usar os botões "Voltar" e "Avançar" ou ao navegar por páginas previamente visitadas do site atual. O cache é ativado por meio da configuração chrome://flags/#back-forward-cache.
- Foi otimizado o consumo de recursos da CPU das janelas
fora da área visível. O Chrome verifica se a janela do navegador não está coberta por outras janelas e exclui a renderização de pixels nas áreas de sobreposição. Essa otimização foi ativada para uma pequena porcentagem de usuários no Chrome 84 e 85, e agora está ativada globalmente. Em comparação com versões anteriores, também foi eliminada a incompatibilidade com sistemas de virtualização, que causava a exibição de páginas em branco. - Foi reforçado o corte de recursos para abas em segundo plano. Estas abas agora não podem consumir mais de 1% dos recursos da CPU e podem ser ativadas no máximo uma vez por minuto. Após cinco minutos em segundo plano, as abas são congeladas, exceto aquelas que reproduzem conteúdo multimídia ou estão gravando.
- O trabalho foi retomado para do cabeçalho HTTP User-Agent. Na nova versão, para todos os usuários foi ativado o suporte ao mecanismo , que está sendo desenvolvido como alternativa ao User-Agent. O novo mecanismo supõe a entrega seletiva de dados sobre parâmetros específicos do navegador e do sistema (versão, plataforma, etc.) apenas após solicitação do servidor, permitindo aos usuários fornecer seletivamente essas informações aos proprietários de sites. Ao usar o User-Agent Client Hints, o identificador não é enviado por padrão sem solicitação explícita, tornando impossível a identificação passiva (por padrão, apenas o nome do navegador é indicado).
- Mudou a indicação de atualização disponível e a necessidade de reiniciar o navegador para a instalação. Em vez de uma seta colorida no campo do avatar da conta, agora aparece a mensagem "Atualizar".
- Foi feito um trabalho para traduzir o navegador para a aplicação de terminologia inclusiva. Nos nomes das políticas, as palavras "whitelist" e "blacklist" foram substituídas por "allowlist" e "blocklist" (as políticas já adicionadas continuarão funcionando, mas um aviso sobre a transição para o status de obsolescência será exibido). No e Menções a «blacklist» foram substituídas por «blocklist».
As menções visíveis para o usuário de «blacklist» e «whitelist» foram substituídas no início de 2019. - Adicionada uma opção experimental para editar senhas salvas, ativável através da flag «chrome://flags/#edit-passwords-in-settings».
- Classificado como APIs estáveis e de acesso público. , permitindo a criação de aplicativos web que interagem com arquivos no sistema de arquivos local. Por exemplo, a nova API pode ser útil em ambientes de desenvolvimento integrados executados no navegador, editores de texto, imagens e vídeos. Para obter a capacidade de leitura e gravação direta de arquivos ou para usar diálogos para abrir e salvar arquivos, bem como para navegar pelo conteúdo de pastas, o aplicativo solicita uma confirmação especial do usuário.
- Adicionado o seletor CSS «», que utiliza a mesma heurística aplicada pelo navegador ao decidir sobre a exibição do indicador de mudança de foco (quando o foco se move para um botão através de combinações de teclas, o indicador aparece, enquanto ao clicar com o mouse, ele não aparece). O seletor CSS «:focus» disponível anteriormente sempre destaca o foco.
Além disso, uma opção de configuração «Realce Rápido do Foco» foi adicionada, que, quando ativada, mostrará um indicador de foco adicional próximo aos elementos ativos, que permanece visível mesmo quando os estilos visuais para destacar o foco estão desativados na página via CSS. - No modo Origin Trials (recursos experimentais que requerem ativação separada) foram adicionadas várias novas APIs. O Origin Trial permite o uso da API especificada a partir de aplicativos carregados a partir de localhost ou 127.0.0.1, ou após registro e obtenção de um token especial, que é válido por tempo limitado para um site específico.
- para acesso de baixo nível a dispositivos HID (Dispositivos de Interface Humana, teclados, mouses, gamepads, touchpads), permitindo implementar a lógica de funcionamento com dispositivos HID em JavaScript para trabalhar com dispositivos HID raros sem a necessidade de drivers específicos no sistema.
Acima de tudo, a nova API visa fornecer suporte para gamepads. - , expande as capacidades da API Window Placement com suporte a configurações de múltiplos monitores. Ao contrário de window.screen, a nova API permite manipular o posicionamento da janela no espaço de tela compartilhado de sistemas com vários monitores, sem se limitar à tela atual.
- Meta-tag , através do qual o site pode informar ao navegador sobre a necessidade de ativar modos de economia de energia e otimização da carga no CPU.
- API para informar sobre possíveis violações dos modos de isolamento (COEP) e (COOP), sem a aplicação de restrições reais.
- Na API foi proposto um novo tipo de credenciais , fornecendo confirmação adicional para operações de pagamento. A parte verificadora, por exemplo, o banco, pode gerar uma chave pública PublicKeyCredential, que pode ser solicitada pelo vendedor para confirmação segura adicional do pagamento.
- para acesso de baixo nível a dispositivos HID (Dispositivos de Interface Humana, teclados, mouses, gamepads, touchpads), permitindo implementar a lógica de funcionamento com dispositivos HID em JavaScript para trabalhar com dispositivos HID raros sem a necessidade de drivers específicos no sistema.
- Na API para determinar a inclinação da stylus, adicionou suporte a ângulos de altura (ângulo entre a stylus e a tela) e azimute (ângulo entre o eixo X e a projeção da stylus na tela), em vez dos ângulos TiltX e TiltY (ângulos entre o plano da stylus e um dos eixos e o plano dos eixos Y e Z). Além disso, foram adicionadas funções de conversão entre altura/azimute e TiltX/TiltY.
- A codificação do espaço em URLs foi alterada. Ao calcular isso nos manipuladores de protocolo, o método navigator.registerProtocolHandler() agora substitui espaços por «» ao invés de «+», padronizando o comportamento com outros navegadores, como o Firefox.
- No CSS foi adicionado o pseudoelemento ““, permitindo personalizar a cor, tamanho, forma e tipo de números e pontos para listas em blocos
- e
- .
- Adicionada a suporte ao cabeçalho HTTP , regras de acesso a documentos, semelhantes ao mecanismo de isolamento sandbox para iframes, mas mais abrangente. Por exemplo, através da Document-Policy, pode-se restringir o uso de imagens de baixa qualidade, desativar APIs JavaScript lentas, definir regras para cargas de iframes, imagens e scripts, limitar o tamanho total do documento e o tráfego, proibir métodos que levam à nova rendering da página, desativar a função .
- No elemento foi adicionada a suporte a parâmetros ‘inline-grid’, ‘grid’, ‘inline-flex’ e ‘flex’, definidos pela propriedade CSS ‘display’.
- Método adicionado para substituir todos os elementos filho do nó pai por outro nó DOM. Anteriormente, a substituição de nós poderia ser feita usando uma combinação dos métodos node.removeChild() e node.append() ou node.innerHTML e node.append().
- espectro de esquemas de URL permitidos para substituição através de registerProtocolHandler(). A lista de esquemas inclui protocolos descentralizados cabal, dat, did, dweb, ethereum, hyper, ipfs, ipns e ssb, permitindo definir links para elementos independentemente do site ou gateway que fornece acesso ao recurso.
- Na API suporte adicionado para o formato text/html para copiar e colar HTML pela área de transferência (durante a gravação e leitura na área de transferência, realiza-se a limpeza de construções HTML perigosas). Essa mudança, por exemplo, permite organizar em editores web a inserção e cópia de texto formatado com imagens e links.
- No WebRTC possibilidade de conectar manipuladores de dados personalizados, chamados nas etapas de codificação ou decodificação do WebRTC MediaStreamTrack. Por exemplo, essa possibilidade pode ser utilizada para adicionar suporte a criptografia de ponta a ponta dos dados transmitidos através de servidores intermediários.
- No motor JavaScript V8, 75% implementação de Number.prototype.toString. Em classes assíncronas, foi adicionado a propriedade .name com valor vazio. O método Atomics.wake, que na época foi renomeado para Atomics.notify para corresponder à especificação ECMA-262, foi removido. O código da ferramenta de teste de fuzzing foi aberto. .
- No compilador inicial (baseline) Liftoff para WebAssembly, foi incluída a possibilidade de usar instruções vetoriais para acelerar cálculos. De acordo com os testes, a otimização permitiu acelerar a execução de alguns testes em 2,8 vezes. Outra otimização permitiu acelerar significativamente a chamada de funções JavaScript importadas do WebAssembly.
- ferramentas para desenvolvedores web: O painel Media adicionou informações sobre os reprodutores utilizados para reproduzir vídeo na página, incluindo dados sobre eventos, logs, valores de propriedades e parâmetros de decodificação de quadros (por exemplo, é possível identificar as causas da perda de quadros e problemas de interação a partir do JavaScript).
No menu contextual do painel Elements, foi adicionada a possibilidade de criar capturas de tela do elemento selecionado (por exemplo, é possível criar uma captura de tela do índice ou da tabela).
No painel da web, a barra de aviso sobre problemas foi substituída por uma mensagem comum, e os problemas com cookies de terceiros são ocultados por padrão na aba Issues, sendo ativados por uma opção especial.
Na aba Rendering, foi adicionada a botão 'Desativar fontes locais', permitindo simular a ausência de fontes locais, e na aba Sensors, surgiu a possibilidade de simular a inatividade do usuário (para aplicações que utilizam a API Idle Detection).
No painel Application, são fornecidas informações detalhadas sobre cada iframe, janela aberta e pop-ups, incluindo dados sobre a isolação Cross-Origin através do COEP e COOP.
- a substituição da implementação do protocolo pela variante em desenvolvimento na especificação IETF, ao invés da variante do Google QUIC.
Além das inovações e correções de bugs, na nova versão foram eliminadas . Muitas das vulnerabilidades foram descobertas através de teste automatizado com ferramentas , , , e . Uma vulnerabilidade (CVE-2020-15967, acesso a uma área de memória liberada no código para interação com o Google Payments) foi marcada como crítica, ou seja, permite contornar todos os níveis de proteção do navegador e executar código no sistema fora do ambiente sandbox. No âmbito do programa de recompensas por descoberta de vulnerabilidades para a versão atual, a Google pagou 27 prêmios totalizando 71.500 dólares (um prêmio de $15.000, três prêmios de $7.500, cinco prêmios de $5.000, dois de $3.000, um de $200 e dois prêmios de $500). O valor de 13 recompensas ainda não foi definido.
Fonte: opennet.ru
