Críticas a la inclusión de la API de Detección de Inactividad en Chrome 94. Experimentos con Rust en Chrome

La activación por defecto de la API de Detección de Inactividad en Chrome 94 ha provocado una ola de críticas citando objeciones de desarrolladores de Firefox y WebKit/Safari.

La API de Detección de Inactividad permite a los sitios web determinar el tiempo en que el usuario está inactivo, es decir, no interactuando con el teclado/mouse o realizando trabajos en otra pantalla. La API también permite saber si hay un salvapantallas activo en el sistema. La notificación de inactividad se realiza mediante el envío de una alerta tras alcanzar un umbral de inactividad, cuyo valor mínimo se establece en 1 minuto.

Es importante destacar que la aplicación de la API de Detección de Inactividad requiere el consentimiento explícito del usuario, es decir, si la aplicación intenta determinar por primera vez si hay inactividad, se mostrará un cuadro de diálogo pidiendo al usuario que otorgue permisos o bloquee la operación. Para desactivar completamente la API de Detección de Inactividad, hay una opción específica en la sección de configuración "Privacidad y seguridad" ("chrome://settings/content/idleDetection").

Como áreas de aplicación se mencionan aplicaciones de chat, redes sociales y comunicaciones, que pueden cambiar el estado del usuario según su presencia frente a la computadora o posponer la entrega de notificaciones sobre nuevos mensajes hasta que el usuario regrese. La API también puede aplicarse en aplicaciones tipo quiosco para volver a la pantalla inicial después de un período determinado de inactividad o para desactivar operaciones interactivas intensivas en recursos, como la reutilización de gráficos complejos que se actualizan continuamente, cuando el usuario no está frente a la computadora.

La posición de los opositores a la inclusión de la API Idle Detection se basa en que la información sobre si un usuario está presente en la computadora puede considerarse confidencial. Además de sus aplicaciones útiles, esta API puede ser utilizada para fines no benévolos, como intentos de explotar vulnerabilidades durante la ausencia del usuario o para ocultar actividades maliciosas evidentes, como la minería. Con esta API también se pueden recopilar datos sobre patrones de comportamiento del usuario y el ritmo diario de su trabajo. Por ejemplo, se puede saber cuándo el usuario generalmente se va a almorzar o deja su lugar de trabajo. En condiciones de una solicitud obligatoria de confirmación para otorgar permisos, estas preocupaciones son percibidas por Google como insignificantes.

Adicionalmente, se puede mencionar la nota de los desarrolladores de Chrome sobre la promoción de nuevas técnicas para garantizar un uso seguro de la memoria. Según Google, el 70% de los problemas de seguridad en Chrome son causados por errores de manejo de memoria, como el acceso a un búfer después de liberar la memoria relacionada (use-after-free). Se definen tres estrategias principales para combatir tales errores: aumentar las comprobaciones en la etapa de compilación, bloquear errores durante la ejecución y utilizar un lenguaje que garantice un uso seguro de la memoria.

Se informa del inicio de experimentos para añadir a la base de código de Chromium la posibilidad de desarrollar componentes en el lenguaje Rust. El código en Rust aún no se incluye en las versiones entregadas a los usuarios y está principalmente dirigido a probar la capacidad de desarrollar partes del navegador en Rust y su integración con el resto del código, escrito en C++. Paralelamente, el proyecto para utilizar el tipo MiraclePtr en lugar de punteros sin procesar para bloquear la posibilidad de explotación de vulnerabilidades causadas por el acceso a bloques de memoria ya liberados continúa desarrollándose, y se proponen nuevos métodos para detectar errores en la etapa de compilación.

Además, Google comienza un experimento para probar posibles interrupciones en los sitios web después de que el navegador alcance una versión de tres dígitos en lugar de dos. En particular, en las versiones de prueba de Chrome 96, apareció una configuración "chrome://flags#force-major-version-to-100", que al establecerse genera un encabezado User-Agent con la versión 100 (Chrome/100.0.4650.4). 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 web.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster