¿Cómo los navegadores modernos aíslan diferentes complementos?

1

Un usuario puede tener varios complementos instalados en un navegador. Pero normalmente, el navegador se ejecuta en el espacio de usuario con un uid sin privilegios. Me preguntaba cómo los navegadores modernos pueden, en tal configuración, proporcionar una infraestructura para que los distintos complementos estén aislados de forma adecuada.

Hablando de manera informal, el aislamiento significa que un complemento no puede leer los datos de otro complemento, ni interferir con la ejecución de otro complemento.

¿Qué tipo de tecnología se está utilizando aquí? Complementos del navegador se suelen implementar en JavaScript. ¿El aislamiento es provisto por el motor de JavaScript o en una capa diferente? ¿Qué tipo de soporte necesita el navegador del sistema operativo y el hardware subyacentes?

    
pregunta Cyker 18.08.2018 - 03:49
fuente

1 respuesta

1

Los complementos realizan acciones a través de una API específica proporcionada por el navegador. No se ejecutan solos como procesos separados completamente independientes del navegador en sí. Depende completamente del navegador limitar la API, por lo que un complemento o extensión determinada solo puede acceder a las funciones a las que tiene permiso de acceso y solo puede acceder a los datos del sistema de archivos que se le asignan. El navegador en sí no necesita ningún soporte de hardware específico (como la administración de memoria virtual), ya que el complemento no ejecuta código arbitrario directamente en el procesador.

La API específica depende del navegador. La API de extensión web de Mozilla Firefox es diferente de la API de Google Chrome . Cualquier código que se ejecute como un complemento debe utilizar esta API para solicitar el acceso a recursos que no le pertenecen. Por ejemplo, el acceso a un archivo en el sistema de archivos requiere que el script solicite un servicio desde el navegador. Es responsabilidad del navegador rechazar ese servicio (ya sea porque el navegador no puede acceder al recurso, o porque el complemento no tiene permisos suficientes) o otorgarlo. El complemento es impotente para impugnar esta decisión.

    
respondido por el forest 18.08.2018 - 03:53
fuente

Lea otras preguntas en las etiquetas