TECH: Nuevo Chrome, requerirá mucha más RAM

TECH: Nuevo Chrome, requerirá mucha más RAM

Chrome incluye una nueva función en su más reciente actualización. Su nombre es Site Isolation, la cuál mantiene en procesos separados la información de las páginas web y dominios, para proteger al usuario de nuevos ataques basados en Spectre. No obstante, esta mayor protección trae como consecuencia negativa un mayor consumo de RAM.

El navegador ahora consumirá entre 10% y 13% adicionales de memoria RAM, debido al gran número de procesos, según explicó en un comunicado oficial el ingeniero de software Charlie Reis, lo que reconoce que puede suponer un problema en sistemas con poca memoria RAM, como ordenadores con 4 GB o menos. La función ya está activa en Chrome para escritorio, pero continúa desactivada por defecto en la app para iOS y Android.

La ejecución especulativa de ataques de canal lateral como Spectre es un riesgo de seguridad recientemente descubierto para los navegadores web. Un sitio web podría utilizar estos ataques para robar datos o información de inicio de sesión de otros sitios web que están abiertos en el navegador.

Para mitigar mejor estos ataques, nos complace anunciar que Chrome 67 ha habilitado una función de seguridad llamada Site Isolation en Windows, Mac, Linux y Chrome OS. El Aislamiento de Sitios ha estado disponible opcionalmente como una política empresarial experimental desde Chrome 63, pero muchos problemas conocidos se han resuelto desde entonces, haciendo que sea práctico habilitarlo por defecto para todos los usuarios de escritorio de Chrome.

Este lanzamiento es una fase de nuestro proyecto general de aislamiento de sitios. Permanezca atento a las actualizaciones de seguridad adicionales que mitigarán los ataques más allá de Spectre (por ejemplo, los ataques de procesos de renderizado totalmente comprometidos).

¿Qué es Spectre?

En enero, el Proyecto Cero de Google reveló un conjunto de ataques de ejecución especulativa de canal lateral que se hicieron conocidos públicamente como Spectre and Meltdown. Una variante adicional de Spectre fue revelada en mayo. Estos ataques utilizan las características de ejecución especulativa de la mayoría de las CPUs para acceder a partes de la memoria que deberían estar fuera de los límites de un fragmento de código, y luego utilizan ataques de tiempo para descubrir los valores almacenados en esa memoria. Efectivamente, esto significa que un código no confiable puede ser capaz de leer cualquier memoria en el espacio de direcciones de su proceso.

 

Esto es particularmente relevante para los navegadores web, ya que los navegadores ejecutan código JavaScript potencialmente malicioso de varios sitios web, a menudo en el mismo proceso. En teoría, un sitio web podría usar tal ataque para robar información de otros sitios web, violando la Política de Mismo Origen. Todos los navegadores importantes ya han implementado algunas mitigaciones para Spectre, entre las que se incluyen la reducción de la granularidad del temporizador y el cambio de los compiladores JavaScript para que los ataques tengan menos probabilidades de éxito. Sin embargo, creemos que la mitigación más eficaz la ofrecen enfoques como el Aislamiento del sitio, que intentan evitar tener datos que valga la pena robar en el mismo proceso, incluso si se produce un ataque Spectre.

Lee también:  MÉXICO: Violenta reacción de lugareños contra #CaravanaMigrante

¿Qué es el Aislamiento del Sitio?

“Site Isolation” o Aislamiento del Sitio es un gran cambio en la arquitectura de Chrome que limita cada proceso del renderizador a documentos de un solo sitio. Como resultado, Chrome puede confiar en el sistema operativo para prevenir ataques entre procesos y, por tanto, entre sitios. Tenga en cuenta que Chrome utiliza una definición específica de “sitio” que incluye sólo el esquema y el dominio registrado. Así, https://google.co.uk sería un sitio, y subdominios como https://maps.google.co.uk permanecerían en el mismo proceso.

 

Chrome siempre ha tenido una arquitectura multiproceso en la que diferentes pestañas podían utilizar diferentes procesos de renderizado. Una pestaña dada podría incluso cambiar de proceso cuando se navega a un nuevo sitio en algunos casos. Sin embargo, todavía era posible que la página de un atacante compartiera un proceso con la página de una víctima. Por ejemplo, los iframes de sitios cruzados y los pop-ups de sitios cruzados normalmente permanecen en el mismo proceso que la página que los creó. Esto permitiría a un ataque Spectre exitoso leer datos (por ejemplo, cookies, contraseñas, etc.) pertenecientes a otros marcos o ventanas emergentes en su proceso.

Cuando Aislamiento de sitio está habilitado, cada proceso de renderizado contiene documentos de un máximo de un sitio. Esto significa que todas las navegaciones a documentos entre sitios hacen que una ficha cambie de proceso. También significa que todos los iframes cruzados son puestos en un proceso diferente al de su frame padre, usando “iframes fuera de proceso”.

Lee también:  GUATEMALA: Villa Nueva Otro Ataque Armado

Dividir una sola página en varios procesos es un cambio importante en el funcionamiento de Chrome, y el equipo de Chrome Security lleva varios años persiguiéndolo, independientemente de Spectre. Los primeros usos de iframes fuera de proceso enviados el año pasado para mejorar el modelo de seguridad de las extensiones Chrome.

Incluso cuando cada proceso de renderizado se limita a documentos de un único sitio, existe el riesgo de que la página de un atacante pueda acceder y filtrar información de URLs de sitios cruzados solicitándolos como subrecursos, como imágenes o scripts.

Los navegadores generalmente permiten que las páginas incrusten imágenes y scripts de cualquier sitio. Sin embargo, una página podría intentar solicitar una URL HTML o JSON con datos sensibles como si fuera una imagen o script.

Esto normalmente fallaría al renderizar y no exponer los datos a la página, pero esos datos todavía terminarían dentro del proceso del renderizador donde un ataque de Spectre podría acceder a él.

Para mitigar esto, “Site Isolation” incluye una función llamada Cross-Origin Read Blocking (CORB) (Bloqueo de lectura de origen cruzado), que ahora forma parte de la especificación Fetch. CORB trata de bloquear de forma transparente las respuestas HTML, XML y JSON de todos los sitios del proceso de renderizado, con un impacto casi nulo en la compatibilidad. Para obtener la máxima protección de Site Isolation y CORB, los desarrolladores web deben comprobar que sus recursos se sirven con el tipo MIME correcto y con el encabezado de respuesta nosniff.

El Aislamiento de sitios es un cambio significativo en el comportamiento de Chrome bajo el capó, pero generalmente no debería causar cambios visibles para la mayoría de los usuarios o desarrolladores web (más allá de unos pocos problemas conocidos). Simplemente ofrece más protección entre sitios web entre bastidores.

El Aislamiento de Sitios hace que Chrome cree más procesos de renderizado, lo que conlleva compensaciones de rendimiento: en el lado positivo, cada proceso de renderizado es más pequeño, de vida más corta, y tiene menos contención interna, pero hay alrededor de un 10-13% de sobrecarga total de memoria en cargas de trabajo reales debido al mayor número de procesos. Nuestro equipo sigue trabajando duro para optimizar este comportamiento y mantener Chrome rápido y seguro.

Lee también:  MÉXICO: Violenta reacción de lugareños contra #CaravanaMigrante

¿Cómo ayuda Site Isolation?

En el Chrome 67, el Aislamiento del sitio se ha habilitado para el 99% de los usuarios de Windows, Mac, Linux y Chrome OS. (Dado el gran alcance de este cambio, por ahora mantenemos una retención del 1% para monitorear y mejorar el desempeño. Esto significa que incluso si se produjera un ataque Spectre en una página web maliciosa, los datos de otros sitios web generalmente no se cargarían en el mismo proceso, por lo que el atacante dispondría de muchos menos datos. Esto reduce significativamente la amenaza que representa Spectre.

Debido a esto, estamos planeando volver a habilitar temporizadores precisos y características como SharedArrayBuffer (que puede ser usado como un temporizador preciso) para el escritorio.

¿Qué trabajo adicional se está llevando a cabo?

Ahora estamos investigando cómo ampliar la cobertura de Site Isolation a Chrome para Android, donde hay problemas adicionales conocidos. Las políticas empresariales experimentales para habilitar el Aislamiento de Sitios estarán disponibles en el Chrome 68 para Android, y se puede habilitar manualmente en Android usando chrome://flags/#enable-site-per-process.

También estamos trabajando en comprobaciones de seguridad adicionales en el proceso del navegador, lo que permitirá a Site Isolation mitigar no sólo los ataques de Spectre, sino también los ataques de procesos de renderizado totalmente comprometidos. Estos refuerzos adicionales nos permitirán alcanzar los objetivos originales de motivación para el Aislamiento de Sitios, donde Chrome puede tratar eficazmente todo el proceso de renderizado como no confiable. Manténgase en sintonía para recibir información actualizada sobre estas medidas de seguridad! Por último, otros importantes proveedores de navegadores están encontrando formas relacionadas de defenderse de Spectre mediante un mejor aislamiento de los sitios. Estamos colaborando con ellos y estamos contentos de ver el progreso a través del ecosistema web.

Recompensas por ayudar a mejorar el aislamiento del sitio

Ofrecemos recompensas en efectivo a los investigadores que envíen errores de seguridad a través del programa Chrome Vulnerability Reward Program. Por un tiempo limitado, los errores de seguridad que afectan el Aislamiento del Sitio pueden ser elegibles para niveles de recompensas más altos, hasta el doble de la cantidad usual para los errores de divulgación de información. Más información sobre Chrome New Feature Special Rewards.