Si desactivas el aislamiento del sitio en Google Chrome

A estas alturas, seguramente ya habrá oído hablar de Spectre , el ominoso defecto de seguridad que afecta a casi todas las CPUs modernas. Y con razón, ya que la vulnerabilidad gira en torno a aplicaciones y sitios web nefastos que acceden a los datos desde áreas en las que realmente no deberían hacerlo. Para hacer frente a este problema en concreto, los navegadores han desarrollado varios mecanismos de seguridad, y una de las implementaciones específicas de Chrome es el Aislamiento de sitios.

Introducido por primera vez en Chrome v63 como una característica de seguridad opcional, Site Isolation ahora se ejecuta de forma predeterminada desde la versión 67. Técnicamente hablando, es muy hábil para mitigar los ataques de ejecución especulativa (en los que se basa Spectre) debido a los procesos en Sandbox que utiliza.

Pero al igual que con cualquier cosa buena, tiene un precio – para ser específicos, el rendimiento. Entonces, ¿desactivar Site Isolation mejoraría el funcionamiento de Chrome? ¿Vale la pena el intercambio en seguridad? Vamos a averiguarlo.

Espectro y aislamiento del sitio

Al igual que cualquier otro navegador, Google Chrome te permite abrir varios sitios web utilizando diferentes pestañas. Antes de la implementación de Site Isolation, las pestañas se utilizaban para compartir procesos comunes, lo que tiene sentido, ya que duplicar tareas sería un desperdicio de recursos del sistema. Sin embargo, esa es una situación ideal para que ocurra un ataque malicioso basado en un diseño de CPU defectuoso – Spectre.

Los microprocesadores modernos utilizan la ejecución especulativa para precargar datos de la memoria del sistema en la caché de la CPU, considerablemente más rápida, como medio para mejorar el rendimiento general. Sin embargo, esto ofrece una oportunidad única para que los códigos maliciosos inciten a la CPU a recuperar datos confidenciales en su caché mediante la explotación de procesos compartidos. Una vez que los datos están en la caché de la CPU, se dejan desprotegidos (a diferencia de la memoria del sistema) y se pueden robar fácilmente.

Suponga que tiene un par de pestañas abiertas – una con su cuenta bancaria, y la otra con algún sitio al azar. En teoría, esta última, siempre que tenga intenciones maliciosas, puede sumergirse en la caché de la CPU utilizada por la primera pestaña y, a continuación, cargar y leer información que va desde los datos de inicio de sesión hasta las claves criptográficas.

Aunque es bastante difícil imaginar que un incidente de este tipo tenga lugar debido a la limitada caché de la CPU (que es sólo una pequeña fracción en comparación con la memoria del sistema). El código malicioso, en cambio, determina exactamente qué datos robar comparando la diferencia entre las velocidades de acceso a la CPU. Después de todo, si las cosas son más rápidas de lo normal, entonces eso se debe a que los datos ya están en la caché de la CPU por especulación precisa.

Al descubrir la vulnerabilidad de Spectre, los navegadores comenzaron a utilizar varias soluciones (como temporizadores de baja resolución para reducir la precisión en la determinación de las velocidades de acceso a la CPU) para desviar los ataques dirigidos. Sin embargo, no son un medio perfecto para contrarrestar las amenazas basadas en Spectre, de ahí la razón del Aislamiento de Sitios.

Aislamiento de sitios, como su nombre indica, aísla completamente las pestañas entre sí mediante la creación de procesos separados para todos los iframes (enlaces externos incrustados), incluidos los que son comunes a otras pestañas. Dado que los procesos compartidos desempeñan un papel importante a la hora de ayudar a los códigos maliciosos a monitorizar y leer información de otras pestañas, el uso de procesos independientes por parte de Site Isolation funciona bien para mitigar dichas vulnerabilidades.

Mirando nuestro ejemplo anterior, con Site Isolation activado, el portal de su cuenta bancaria se ejecuta en un proceso completamente diferente, y no comparte nada similar a la otra pestaña. Este aislamiento reduce al mínimo la posibilidad de robar información en caso de violación.

Incremento de los gastos generales de memoria

Por lo tanto, debe preguntarse si el Aislamiento de Sitios tiene un costo para el rendimiento debido a la memoria adicional del sistema utilizada por cada proceso independiente – pestaña del navegador. Según el Google Online Security Blog, la implementación de seguridad utiliza hasta un 10-13% más de RAM que si la función no estuviera activa en primer lugar. Eso significa que estás mejor si lo habilitas.

Comprobemos la exactitud de esta cifra en la práctica. Sin Aislamiento de Sitios habilitado, la siguiente captura de pantalla muestra un par de sitios web que utilizan muchos iframes similares. Sólo las dos pestañas tienen tareas en curso separadas, sin procesos independientes para ninguno de los iframes.

Note: Las capturas de pantalla se muestran usando el Administrador de tareas incorporado de Chrome. Para acceder a él, abra el menú Chrome, apunte a Más herramientas y, a continuación, haga clic en Administrador de tareas .

El mismo par de pestañas, con el Aislamiento del Sitio habilitado, se muestran en la siguiente captura de pantalla. Como puede ver, hay un aumento significativo en el número de procesos adicionales debido a los iframes utilizados por cada sitio. Además, procesos similares se dividen en dos para mitigar las posibilidades de un ataque exitoso de ejecución especulativa. Si haces los cálculos (sin tener en cuenta las tareas del navegador y del proceso de la GPU), ambos sitios terminan usando alrededor de un 33% más de memoria.

El uso de memoria está muy por encima de lo que indica Google. Sin embargo, consideremos la cifra de un 10-13% más de una media a largo plazo. Los sitios, e incluso las páginas web individuales, difieren en el número de procesos y memoria requeridos de vez en cuando. Por lo tanto, el escenario anterior puede considerarse más bien un caso atípico.

Independientemente de ello, el Aislamiento del Sitio resulta en aumentos moderados, o en este caso, significativos, de la sobrecarga de memoria.

Seguridad vs. Desempeño

Deshabilitar el Aislamiento de Sitios resulta en una disminución en el uso de memoria y posiblemente aumente el rendimiento en dispositivos de gama baja. Sin embargo, Chrome es muy hábil en la gestión de la memoria disponible mediante la suspensión de pestañas no utilizadas. Teniendo en cuenta que el uso de la memoria varía drásticamente de un sitio a otro, no hay una respuesta definitiva. En los dispositivos con alta memoria del sistema, las diferencias de rendimiento deben ser insignificantes.

Consejo Además, también puede encargarse de gestionar manualmente las pestañas para evitar que se atasquen en la memoria con el uso de extensiones como The Great Discarder y The Great Suspender.

Pero aquí está la trampa. Debido a la implementación de Site Isolation, se supone que Chrome debe eliminar las contramedidas preexistentes contra los ataques de Spectre con el tiempo. Por lo tanto, su desactivación va a causar aún más exposición a ataques maliciosos.

Sopesando los dos, las vulnerabilidades potenciales causadas por Spectre, combinadas con el uso cada vez mayor de datos personales, hace que la desactivación de Site Isolation sea una mala idea. A menos que esté navegando en una máquina de gama baja y no haga ningún uso de datos personales, sólo entonces debería considerar la posibilidad de desactivar esta función de seguridad vital.

Desactivación del aislamiento del sitio

La desactivación del Aislamiento del sitio expone su equipo a importantes amenazas de seguridad. Sin embargo, si desea seguir adelante y desactivar la función, a continuación se indican los pasos específicos para hacerlo.

Advertencia: Con el Aislamiento del sitio desactivado, absténgase de utilizar datos personales de navegación en cualquier sitio web. Lo mismo ocurre con el almacenamiento de información sensible en Chrome, como las contraseñas.

Paso 1: En una nueva pestaña, escriba chrome://flags, y luego presione Enter para acceder a las banderas experimentales de Chrome.

Paso 2: Escriba Site Isolation en la barra de búsqueda y, a continuación, presione Intro.

Paso 3: Debería ver dos banderas Chrome etiquetadas como Strict Site Isolation y Site Isolation Trial Opt Out.

  • Fije el indicador Aislamiento estricto del sitio en Desactivado. Es posible que algunos dispositivos específicos tengan esta opción desactivada de forma predeterminada; si ese es el caso, no haga nada.
  • Establezca el indicador de exclusión de la prueba de aislamiento del sitio en Opt-Out (No recomendado).

A continuación, haga clic en Relanzar ahora para aplicar los cambios.

Paso 5: Aislamiento del sitio ahora está deshabilitado. Para verificar, escriba chrome://process-internals en una nueva pestaña y, a continuación, presione Intro.

El Modo de Aislamiento del Sitio debe leerse como Desactivado para indicar confirmación. Para habilitar el Aislamiento del sitio en un momento posterior, vuelva atrás y cambie las banderas a la forma en que estaban antes, y reinicie Chrome.

No, no vale la pena el riesgo

No se garantiza la desactivación de una función de seguridad crítica de Chrome, como Aislamiento del sitio, para reducir el uso de la memoria. Especialmente considerando cómo cada sitio utiliza la memoria de forma diferente. Por lo tanto, no se debe buscar ninguna ganancia marginal de rendimiento al costo potencial de su información personal. Si tienes problemas de rendimiento, siempre puedes considerar usar un navegador alternativo como Firefox Quantum, que tiene una huella de memoria mucho menor en comparación con Chrome antes de hacer algo precipitado.

Deja un comentario