Mozilla ha anunciado el comienzo de pruebas masivas en versiones las versiones beta y nightly de Firefox, del modo de aislamiento de sitios desarrollado por el proyecto Fission.
El modo expande el uso de la arquitectura multiproceso; en lugar de un grupo fijo de procesos, se crea un proceso separado para cada sitio. La activación del modo de fisión se controla mediante la variable «fission.autostart=true» en about:config o en la página «about:preferences#experimental».
Nos complace anunciar que la nueva arquitectura de aislamiento de sitios de Firefox se está uniendo. Este rediseño fundamental de la arquitectura de seguridad de Firefox amplía los mecanismos de seguridad actuales al crear límites a nivel de proceso del sistema operativo para todos los sitios cargados en Firefox para escritorio. Aislar cada sitio en un proceso de sistema operativo separado hace que sea aún más difícil para los sitios maliciosos leer los datos secretos o privados de otro sitio.
Actualmente estamos finalizando la función de aislamiento del sitio de Firefox al permitir que un subconjunto de usuarios se beneficie de esta nueva arquitectura de seguridad en nuestros canales Nightly y Beta y planifiquemos una implementación para más de nuestros usuarios a finales de este año.
Hay que recordar el modelo multiproceso utilizado en Firefox hasta ahora implicaba el lanzamiento de un grupo de procesos de manejo: por defecto, 8 procesos principales para procesar contenido, 2 procesos adicionales sin privilegios para contenido web y 4 procesos auxiliares para complementos, interacción con el GPU, operaciones de red y decodificación, datos multimedia.
La distribución de las pestañas entre los procesos se llevó a cabo de forma arbitraria, por ejemplo, el procesamiento de un sitio web bancario y un recurso dudoso no confiable podría estar en un solo proceso.
El nuevo modo lleva el procesamiento de cada sitio a un proceso separado, con división no por pestañas, sino por dominios, lo que permite aislar adicionalmente el contenido de scripts externos y bloques de iframe. Para separar el procesamiento de subdominios de servicios típicos asociados con diferentes sitios, la separación se aplica no por dominios formales, sino por dominios de nivel superior reales (eTLD) marcados en la lista de sufijos públicos.
El modo permite la protección de bloqueo contra ataques de canal lateral, por ejemplo, asociados con vulnerabilidades de clase Spectre, lo que lleva a la filtración de información dentro de un solo proceso. La fuga de datos confidenciales procesados en el mismo proceso es posible cuando se ejecuta código externo no confiable en motores JIT y en máquinas virtuales.
En el contexto de los navegadores web, el código JavaScript malicioso de un sitio puede recuperar información sobre contraseñas, claves de acceso y números de tarjetas de crédito ingresados en otro sitio procesado en el mismo proceso.
Inicialmente, para protegerse contra ataques de canal lateral, los desarrolladores de navegadores limitaron la precisión del temporizador y bloquearon el acceso a la API SharedArrayBuffer, pero estas medidas solo complicaron y ralentizaron el ataque (por ejemplo, recientemente se propuso un método recuperando datos de la caché de la CPU, trabajando sin JavaScript en absoluto).
Otras ventajas del modo de aislamiento estricto incluyen fragmentación de memoria reducida, retorno de memoria más eficiente al sistema operativo, minimizando el impacto de la recolección de basura y computación intensiva en páginas en otros procesos, aumentando la eficiencia del equilibrio de carga en diferentes núcleos de CPU, aumentando la estabilidad (el bloqueo del proceso que procesa el iframe no tira del sitio principal y otras pestañas detrás de él).
Entre los problemas conocidos que ocurren al usar Fission, hay un marcado aumento en el consumo de memoria, conexiones X11 y file deskriptrov al abrir una gran cantidad de pestañas, así como la interrupción de algunos suplementos, pérdida de contenido de iframe para imprimir y la función de grabación de capturas de pantalla de llamadas, disminuye la efectividad del almacenamiento en caché de documentos de iframe, pérdida de contenido de formularios completados pero no enviados al recuperar una sesión después de un bloqueo.
Finalmente si estás interesado en conocer más al respecto, puedes consultar los detalles en el siguiente enlace.