¿Debería deshabilitar el aislamiento del sitio en Google Chrome?
Miscelánea / / November 29, 2021
A estas alturas, seguramente habrá oído hablar de 'Spectre', la falla de seguridad ominosamente apodada que afecta a casi todas las CPU modernas. Y con razón, ya que la vulnerabilidad gira en torno a aplicaciones y sitios web nefastos que acceden a datos de áreas donde realmente no deberían hacerlo. Para hacer frente a este problema específicamente, los navegadores han desarrollado varios mecanismos de seguridad, y una de esas implementaciones específicas de Chrome es Site Isolation.
Introducido por primera vez en Chrome v63 como una función de seguridad opcional, Site Isolation ahora se ejecuta de forma predeterminada desde la versión 67. Técnicamente hablando, es bastante hábil para mitigar los ataques de ejecución especulativa (en los que se basa Spectre) debido a los procesos de espacio aislado que utiliza.
Pero al igual que con todo lo bueno, tiene un precio: para ser específicos, el rendimiento. Entonces, ¿deshabilitar el aislamiento del sitio mejoraría el funcionamiento de Chrome? ¿Vale la pena sacrificar la seguridad? Vamos a averiguar.
Aislamiento de sitios y espectros
Al igual que cualquier otro navegador, Google Chrome le permite abrir varios sitios web usando diferentes pestañas. Antes de la implementación de Site Isolation, las pestañas se usaban para compartir procesos comunes, lo cual 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 defectuoso de la CPU: Spectre.
Los microprocesadores modernos utilizan la ejecución especulativa para precargar datos de la memoria del sistema en el caché de CPU considerablemente más rápido como un medio para mejorar el rendimiento general. Sin embargo, esto ofrece una oportunidad única para que el código malicioso solicite a la CPU que recupere datos confidenciales en su caché mediante la explotación de procesos compartidos. Una vez que los datos están en la memoria 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 aleatorio. En teoría, este último, siempre que tenga una intención maliciosa, puede sumergirse en la caché de la CPU utilizada por el pestaña anterior, y luego cargue y lea información que va desde los detalles de inicio de sesión hasta los datos criptográficos teclas.
Si bien es bastante difícil imaginar que ocurra un incidente de este tipo debido a la memoria caché de la CPU limitada (que es solo una pequeña fracción en comparación con a la memoria del sistema), el código malicioso determina exactamente qué datos robar comparando la diferencia entre el acceso a la CPU velocidades. Después de todo, si las cosas son más rápidas de lo habitual, eso se debe a que los datos ya están en la memoria caché de la CPU debido a una especulación precisa.
Tras el descubrimiento de la vulnerabilidad Spectre, los navegadores comenzaron a usar varias soluciones (como temporizadores de resolución más baja para disminuir la precisión de determinar las velocidades de acceso a la CPU) para lanzar ataques dirigidos. Sin embargo, no son un medio perfecto para contrarrestar las amenazas basadas en Spectre, de ahí el motivo del aislamiento del sitio.
Site Isolation, 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 para ayudar a controlar el código malicioso y leer información de otras pestañas, el uso de procesos independientes de Site Isolation funciona bien para mitigar tales 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 incumplimiento.
Aumento de la sobrecarga de memoria
Por lo tanto, debe preguntarse si el aislamiento del sitio tiene un costo para el rendimiento debido a la memoria adicional del sistema utilizada por cada proceso independiente: pestaña del navegador. De acuerdo a el Blog de seguridad en línea de Google, 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.
Veamos qué tan precisa es esta cifra en la práctica. Sin el aislamiento del sitio habilitado, la captura de pantalla a continuación muestra un par de sitios web que usan muchos iframes similares. Solo las dos pestañas tienen tareas en curso separadas, sin procesos independientes para ninguno de los iframes.
Nota: Las capturas de pantalla se muestran usando el Administrador de tareas integrado de Chrome. Para acceder a él, abra el menú de Chrome, seleccione Más herramientas y luego haga clic en Administrador de tareas.
El mismo par de pestañas, con Site Isolation habilitado, se muestran en la siguiente captura de pantalla. Como puede ver, hay un aumento significativo en la cantidad de procesos adicionales debido a los iframes utilizados por cada sitio. Además, los procesos similares se dividen en dos para mitigar las posibilidades de un ataque de ejecución especulativa exitoso. Si hace 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á significativamente por encima de lo que indica Google. Sin embargo, considere la cifra de un 10-13% más de un promedio a largo plazo. Los sitios, e incluso las páginas web individuales, difieren en la cantidad de procesos y la memoria que se requieren de vez en cuando. Por lo tanto, el escenario anterior puede considerarse un valor atípico.
Independientemente, el aislamiento del sitio da como resultado aumentos moderados o, en este caso, significativos en la sobrecarga de memoria.
Seguridad vs. Rendimiento
La desactivación del aislamiento del sitio da como resultado una caída en el uso de la memoria y posiblemente aumenta el rendimiento en dispositivos de gama baja. Sin embargo, Chrome es bastante experto en la gestión de la memoria disponible suspendiendo 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 dispositivos con alta memoria del sistema, las diferencias de rendimiento deberían ser insignificantes.
Pero aquí está el truco. Debido a la implementación de Site Isolation, se supone que Chrome eliminará las contramedidas preexistentes contra los ataques de Spectre con el tiempo. Por lo tanto, deshabilitarlo causará aún más exposición a ataques maliciosos.
Al sopesar los dos, las posibles vulnerabilidades causadas por Spectre, combinadas con el uso cada vez mayor de datos personales, hacen que desactivar el aislamiento del sitio sea una mala idea. A menos que esté navegando en una máquina de gama baja y no utilice datos personales en absoluto, solo entonces debería considerar deshabilitar esta función de seguridad vital.
Deshabilitar el aislamiento del sitio
La desactivación del aislamiento del sitio expone su computadora a importantes amenazas de seguridad. Sin embargo, si desea continuar y deshabilitar la función, a continuación se detallan los pasos específicos para hacerlo.
Advertencia: Con el aislamiento del sitio deshabilitado, absténgase de utilizar datos personales de navegación en cualquier sitio web. Lo mismo ocurre con el almacenamiento de información confidencial en Chrome, como las contraseñas.
Paso 1: En una nueva pestaña, escriba chrome: // flags y luego presione Entrar para acceder a las banderas experimentales de Chrome.
Paso 2: Escriba Site Isolation en la barra de búsqueda y luego presione Entrar.
Paso 3: Debería ver dos banderas de Chrome etiquetadas como Aislamiento estricto del sitio y Opción de exclusión de prueba de aislamiento del sitio.
- Establezca el indicador de Aislamiento estricto del sitio en Deshabilitado. Los dispositivos específicos pueden tener esta opción configurada como Desactivada de forma predeterminada; si ese es el caso, no haga nada.
- Establezca la marca de exclusión de prueba de aislamiento del sitio en Exclusión voluntaria (no recomendado).
Luego haga clic en Relanzar ahora para aplicar los cambios.
Paso 5: El aislamiento del sitio ahora está deshabilitado. Para verificar, escriba chrome: // process-internals en una nueva pestaña y luego presione Enter.
El modo de aislamiento del sitio debe leerse como deshabilitado para indicar la confirmación. Para habilitar el aislamiento del sitio en otro momento, regrese y cambie las banderas a la forma en que estaban antes, y reinicie Chrome.
No, no vale la pena correr el riesgo
No se garantiza la desactivación de una función de seguridad crítica de Chrome, como el aislamiento del sitio, para reducir el uso de memoria. Especialmente considerando cómo cada sitio utiliza la memoria de manera diferente. Por lo tanto, no debe buscarse ninguna ganancia marginal de rendimiento al costo potencial de su información personal. Si tiene problemas con el rendimiento, siempre puede considere 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.