Google ha habilitado en secreto una característica de seguridad llamada “Site Isolation” para el 99% de sus usuarios de escritorio en Windows, Mac, Linux y Chrome OS (el sistema operativo que traen las Chromebooks). Esto sucedió en Chrome 67, lanzado a fines de mayo.
El “Site Isolation” (aislamiento del sitio) no es una característica nueva en sí misma, se agregó por primera vez en Chrome 63, en diciembre del 2017. En ese momento, solo estaba disponible si los usuarios lo activaban dentro de las configuraciones de Chrome y la habilitaban manualmente en cada uno de sus navegadores.
Esta característica es un cambio arquitectónico en el modus operandi de Chrome porque cuando el aislamiento del sitio está habilitado, Chrome ejecuta un proceso de navegador diferente para cada dominio de Internet. Esto tiene el efecto secundario de requerir más memoria RAM, pero mejora la seguridad.
Inicialmente, Google describió el aislamiento del sitio como un “límite de seguridad adicional entre sitios web” y como una forma de evitar que código inyectado por sitios maliciosos se metieran con el código de sitios legítimos.
Los planes iniciales de Google sobre el lanzamiento de la característica de aislamiento del sitio cambiaron un mes después de haberlo lanzado, en enero de 2018, cuando las vulnerabilidades de Meltdown y Spectre se divulgaron al público.
A partir de un proyecto experimental que lleva varios meses en proceso, Site Isolation se convirtió en la principal defensa de Chrome contra los ataques Meltdown y Spectre.
Es por ello que desde enero de este año, Google ha estado permitiendo lentamente el aislamiento del sitio de forma predeterminada para un número cada vez mayor de usuarios, probando cómo afectó el rendimiento del navegador.
La división del código de cada dominio en un proceso separado tiene un alto costo en el uso de recursos por parte de Chrome y en el sistema operativo subyacente. Según Google, este impacto es “una sobrecarga de memoria total del 10-13% en cargas de trabajo reales debido a la mayor cantidad de procesos“.
Pero los ingenieros de Google parecen estar de acuerdo en que esta sobrecarga de rendimiento, esta compensada por la mejora en la seguridad del sistema.
La función ahora está habilitada de forma predeterminada para el 99% de la base de usuarios de escritorio de Chrome y los usuarios de Android seran los siguientes en ver este cambio. Site Chrome es compatible con Chrome para Android, pero todavía está deshabilitado por defecto y oculto debajo del indicador chrome://flags/#enable-site-per-process.
Google dice que al habilitar Site Isolation para la gran mayoría de los usuarios de Chrome en la versión 67, sus ingenieros ahora pueden revertir algunas de las otras mitigaciones de Meltdown y Spectre que agregaron a Chrome, pero que también tuvieron un impacto negativo en el rendimiento y que no son necesarias si Site Isolation está habilitado.
Google ha declarado: “Estamos planeando volver a habilitar temporizadores precisos y funciones como SharedArrayBuffer (que se puede usar como un temporizador preciso) para la versión de Chrome para computadoras de escritorio“.
Los temporizadores precisos que tienen una menor precisión y la desactivación de la función SharedArrayBuffer es cómo Firefox, Edge y Safari también lidiaron con Meltdown y Spectre, las vulnerabilidades de los CPU que permitieron a los atacantes usar JavaScript para recuperar información del proceso de un navegador, como contraseñas o claves de cifrado.
Con el Site Isolation habilitado, dichos ataques no son posibles porque cada dominio del sitio se ejecuta en un proceso de navegador independiente que contiene datos de un solo dominio, y no de varios sitios a la vez. Además, Site Isolation también destruyen el proceso de un sitio y crea uno nuevo si el usuario navega a un sitio diferente dentro de la misma pestaña, manteniendo el aislamiento en el nivel del sitio y no en el nivel de pestaña, como su nombre lo indica.
No se espera que volver a habilitar temporizadores precisos y acceder a la función SharedArrayBuffer tenga un impacto negativo en la seguridad de los usuarios de Chrome, pero permitirá a los desarrolladores web la posibilidad de crear aplicaciones web más precisas que manejen con datos en tiempo real una vez más.