Críticas sobre a inclusão da API Idle Detection no Chrome 94. Experimentos com Rust no Chrome

A ativação padrão da API Idle Detection no Chrome 94 gerou uma onda de críticas com referência a objeções de desenvolvedores do Firefox e WebKit/Safari.

A API Idle Detection permite que os sites determinem quando o usuário está inativo, ou seja, não interagindo com o teclado/mouse ou realizando tarefas em outro monitor. A API também permite saber se um protetor de tela está ativado no sistema. A notificação sobre a inatividade é realizada por meio do envio de uma mensagem após atingir um limite de inatividade, que está configurado para um mínimo de 1 minuto.

É importante notar que o uso da API Idle Detection requer a concessão explícita de permissões pelo usuário, ou seja, se o aplicativo tentar determinar a inatividade pela primeira vez, o usuário verá uma janela solicitando a concessão de permissões ou a bloqueio da operação. Para desativar completamente a API Idle Detection, há uma opção específica nas configurações de 'Privacidade e segurança' ('chrome://settings/content/idleDetection').

As áreas de aplicação incluem aplicativos de chat, redes sociais e comunicação, que podem alterar o status do usuário com base em sua presença no computador ou adiar a exibição de notificações de novas mensagens até que o usuário retorne. A API também pode ser aplicada em aplicativos quiosque para retornar à tela inicial após um certo tempo de inatividade ou para desativar operações interativas que consomem muitos recursos, como a re-renderização de gráficos complexos que são atualizados constantemente, quando o usuário não está presente no computador.

A posição dos opositores à ativação da API Idle Detection baseia-se no fato de que a informação sobre se um usuário está ou não na frente do computador pode ser considerada como confidencial. Além de aplicações úteis, essa API pode ser utilizada para fins nefastos, como tentativas de exploração de vulnerabilidades durante a ausência do usuário ou para encobrir atividades maliciosas visíveis, como mineração. Com a API em questão, também podem ser coletadas informações sobre os padrões de comportamento do usuário e o ritmo do seu dia de trabalho. Por exemplo, é possível saber quando o usuário normalmente sai para o almoço ou deixa seu posto de trabalho. Em situações onde é exigido um pedido de confirmação para conceder permissões, essas preocupações são vistas pelo Google como insignificantes.

Adicionalmente, pode-se destacar a nota dos desenvolvedores do Chrome sobre o avanço em novas técnicas para garantir um uso seguro da memória. Segundo o Google, 70% dos problemas de segurança no Chrome são causados por erros relacionados à memória, como o acesso a um buffer após a liberação da memória associada (use-after-free). Três estratégias principais são definidas para combater esses tipos de erros: reforço das verificações na fase de compilação, bloqueio de erros durante a execução e a utilização de uma linguagem que garanta a segurança na manipulação da memória.

Foi relatado o início de experimentos para adicionar à base de código do Chromium a capacidade de desenvolver componentes na linguagem Rust. O código em Rust ainda não faz parte das compilações entregues aos usuários e tem como objetivo principalmente testar a viabilidade de desenvolver partes específicas do navegador em Rust e integrá-las com as demais escritas em C++. Paralelamente, um projeto para o código em C++ continua a desenvolver a aplicação do 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, além de serem propostas novas técnicas para detecção de erros na fase de compilação.

Além disso, a empresa Google começou um experimento para testar possíveis interrupções em 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, foi adicionada uma configuração "chrome://flags#force-major-version-to-100", que, quando ativada, faz com que a versão 100 (Chrome/100.0.4650.4) seja exibida no cabeçalho User-Agent. Em agosto, um experimento semelhante foi realizado no Firefox, que revelou problemas com o processamento de versões de três dígitos em alguns sites.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster