API de detección de inactividad en Chrome 94 ha provocado una ola de críticas
En el lanzamiento de la versión de Chrome 94 se realizó la inclusión predeterminada de la API de detección de inactividad, la cual ha provocado una ola de críticas con enlaces a objeciones de los desarrolladores de Firefox y WebKit/Safari.
La API de detección de inactividad permite que los sitios detecten cuando un usuario está inactivo, es decir, no interactúa con el teclado/mouse o funciona en otro monitor. La API también permite saber si el protector de pantalla se está ejecutando en el sistema o no. La notificación de inactividad se realiza mediante el envío de una notificación después de alcanzar un umbral de inactividad predeterminado, cuyo valor mínimo se establece en 1 minuto.
Es importante tener en cuenta que el uso de la API de detección de inactividad requiere la concesión explícita de credenciales de usuario, es decir, si la aplicación intenta determinar el hecho de inactividad por primera vez, se le mostrará al usuario una ventana con una propuesta para otorgar permisos o bloquear la operación.
Las aplicaciones de chat, redes sociales y comunicaciones se denominan aplicaciones, que pueden cambiar el estado del usuario en función de su presencia en el ordenador o posponer la visualización de notificaciones de nuevos mensajes hasta la llegada del usuario.
La API también se puede utilizar en otras aplicaciones para volver a la pantalla original después de un período específico de inactividad, o para deshabilitar operaciones interactivas que consumen muchos recursos, como volver a dibujar gráficos complejos que se actualizan constantemente cuando el usuario no está en la computadora.
La posición de quienes se oponen a habilitar la API de detección inactiva se reduce al hecho de que la información sobre si el usuario está en la computadora o no puede considerarse confidencial. Además de los usos útiles, esta API también se puede utilizar no para buenos propósitos, por ejemplo, para intentar explotar vulnerabilidades mientras el usuario está ausente o para ocultar una actividad maliciosa visible, como la minería.
Utilizando la API en cuestión, también se puede recopilar información sobre los patrones de comportamiento del usuario y el ritmo diario de su trabajo. Por ejemplo, puede averiguar cuándo un usuario suele ir a almorzar o dejar el lugar de trabajo. En el contexto de una solicitud obligatoria de confirmación de autorización, Google percibe estas preocupaciones como irrelevantes.
Para deshabilitar completamente la API de detección de inactividad, se proporciona una opción especial en la sección «Privacidad y seguridad» de la configuración («chrome://settings/content/idleDetection»).
Además, debemos de tomar en cuenta una nota de los desarrolladores de Chrome sobre el avance de nuevas técnicas para garantizar una gestión segura de la memoria. Según Google, el 70% de los problemas de seguridad en Chrome son causados por errores de memoria, como el uso después del acceso libre a un búfer. Se identifican tres estrategias principales para hacer frente a tales errores: endurecimiento de las comprobaciones en tiempo de compilación, bloqueo de errores en tiempo de ejecución y uso de un lenguaje seguro para la memoria.
Se informa que los experimentos han comenzado a agregar la capacidad de desarrollar componentes en el lenguaje Rust al código base de Chromium. El código de Rust aún no está incluido en las compilaciones suministradas a los usuarios y tiene como principal objetivo probar la posibilidad de desarrollar partes individuales del navegador en Rust e integrarlas con el resto de partes escritas en C++.
Paralelamente, para el código C++, el proyecto continúa desarrollándose utilizando el tipo MiraclePtr en lugar de punteros sin procesar para bloquear la posibilidad de explotar vulnerabilidades causadas por el acceso a bloques de memoria ya liberados, y se proponen nuevos métodos para detectar errores en la etapa de compilación.
Además, Google está iniciando un experimento para probar la posible interrupción del sitio después de que el navegador alcance una versión de tres dígitos en lugar de dos.
En particular, la configuración «chrome://flags#force-major-version-to-100» apareció en las versiones de prueba de Chrome 96, cuando se especifica en el encabezado User-Agent, la versión 100 (Chrome/100.0.4650.4) será desplegado. En agosto, se llevó a cabo un experimento similar en Firefox, que reveló problemas con el manejo de versiones de tres dígitos en algunos sitios.