Crítica à ativação da API de detecção de ociosidade no Chrome 94. Experimentando o Rust no Chrome

A inclusão padrão da API Idle Detection no Chrome 94 gerou uma onda de críticas, citando objeções dos desenvolvedores do Firefox e do WebKit/Safari.

A API Idle Detection permite que os sites detectem o momento em que um usuário está inativo, ou seja, Não interage com teclado/mouse nem realiza trabalho em outro monitor. A API também permite descobrir se um protetor de tela está em execução no sistema ou não. A informação sobre a inatividade é realizada através do envio de uma notificação após atingir um determinado limite de inatividade, cujo valor mínimo é definido como 1 minuto.

É importante observar que o uso da API Idle Detection requer a concessão explícita de permissões de usuário, ou seja, Se o aplicativo tentar detectar inatividade pela primeira vez, será apresentada ao usuário uma janela perguntando se deseja conceder permissões ou bloquear a operação. Para desativar completamente a API de detecção de inatividade, uma opção especial (“chrome://settings/content/idleDetection”) é fornecida na seção de configurações “Privacidade e segurança”.

As áreas de aplicação incluem aplicativos de bate-papo, redes sociais e comunicações que podem alterar o status do usuário dependendo de sua presença no computador ou atrasar a notificação de novas mensagens até a chegada do usuário. A API também pode ser usada em aplicativos de quiosque para retornar à tela original após um período de inatividade ou para desativar operações interativas que consomem muitos recursos, como redesenhar gráficos complexos e atualizar constantemente, quando o usuário não está no computador.

A posição dos oponentes à ativação da API Idle Detection é que as informações sobre se o usuário está ou não no computador podem ser consideradas confidenciais. Além de aplicações úteis, esta API também pode ser usada para fins mal-intencionados, por exemplo, para tentar explorar vulnerabilidades enquanto o usuário está ausente ou para ocultar atividades maliciosas visíveis, como mineração. Através da API em questão também podem ser coletadas informações sobre os padrões de comportamento do usuário e o ritmo diário de seu trabalho. Por exemplo, você pode saber quando o usuário costuma sair para almoçar ou sair do local de trabalho. No contexto de um pedido obrigatório de prova de autorização, estas preocupações são consideradas insignificantes pela Google.

Além disso, você pode observar a nota dos desenvolvedores do Chrome sobre a promoção de novas técnicas para garantir uma operação segura com memória. Segundo o Google, 70% dos problemas de segurança no Chrome são causados ​​por erros de memória, como usar um buffer após liberar a memória associada a ele (use-after-free). São identificadas três estratégias principais para lidar com tais erros: fortalecer as verificações na fase de compilação, bloquear erros em tempo de execução e usar uma linguagem segura para a memória.

É relatado que experimentos começaram a adicionar a capacidade de desenvolver componentes na linguagem Rust à base de código do Chromium. O código Rust ainda não está incluído nas compilações entregues aos usuários e tem como objetivo principal testar a possibilidade de desenvolvimento de partes individuais do navegador em Rust e sua integração com outras partes escritas em C++. Paralelamente, para o código C++, continua em desenvolvimento um projeto para utilizar o tipo MiraclePtr em vez de ponteiros brutos para bloquear a possibilidade de exploração de vulnerabilidades causadas pelo acesso a blocos de memória já liberados, e também são propostos novos métodos para detecção de erros na fase de compilação.

Além disso, o Google está iniciando um experimento para testar a possível interrupção de sites após o navegador atingir uma versão composta por três dígitos em vez de dois. Em particular, nas versões de teste do Chrome 96, a configuração “chrome://flags#force-major-version-to-100” apareceu, quando especificada no cabeçalho User-Agent, versão 100 (Chrome/100.0.4650.4) começa a ser exibido. Em agosto, um experimento semelhante foi realizado no Firefox, que revelou problemas no processamento de versões de três dígitos em alguns sites.

Fonte: opennet.ru

Adicionar um comentário