Máquinas virtuales basadas en navegador

8

¿Cómo aplicaría los principios de hipervisor (por ejemplo, xen) en el desarrollo de un navegador web que ofrezca pestañas aisladas (máquinas virtuales) para mejorar o reducir la seguridad de las aplicaciones web existentes (bien o mal codificadas)?

En este contexto, una aplicación web sería una pestaña, con una política de origen cruzado que utiliza un enfoque de lista blanca y la pestaña (unix jails), en una jaula de ventana principal que es una copia grabable del navegador central. El navegador en sí mismo podría ser de solo lectura e implementar una comprobación de firmas en el arranque.

La política de origen cruzado sería simplemente un archivo de manifiesto en el que las listas blancas permiten recursos como imágenes, javascript, css, fuentes, etc.

El concepto sería no compartir nada y cerrar la ventana del navegador eliminaría cualquier rastro. Todos los archivos tmp se almacenan en la cárcel. Esto debería proteger contra vulnerabilidades en la implementación del navegador que se está explotando después de cerrar una ventana / pestaña.

En teoría, este concepto podría expandirse para permitir complementos / complementos de ventana para cosas como Tor, haciendo que el anonimato y la privacidad estén disponibles para los usuarios principales.

    
pregunta Null 15.08.2013 - 01:40
fuente

2 respuestas

5

Los navegadores web ya intentan aislar pestañas entre sí. Chrome fue pionero en el principio de "un proceso por pestaña" y otros navegadores siguieron. Este tipo de aislamiento estaba destinado a la fiabilidad más que a la seguridad: cuando se bloquea una pestaña, por ejemplo, debido a un error en un complemento, evita que todo el proceso del navegador también muera.

El uso de técnicas de VM, ya sean las cárceles de nivel Unix o incluso los hipervisores en toda regla, puede ayudar en el caso de que una pestaña sea subvertida : a través de un agujero de seguridad, un atacante logra ejecutar su propia Código malicioso en su navegador. La máquina virtual intentará contener ese ataque. Tenga en cuenta que el problema tiene consecuencias de largo alcance: por ejemplo, un navegador web debe poder leer archivos locales para poder admitir sitios web que soliciten la carga de un archivo local. Cuando se aplica el aislamiento completo, la funcionalidad disminuye.

Si desea completar el aislamiento, consulte Qubes OS : este es un sistema operativo basado en Linux. que lanza una máquina virtual pequeña para aplicaciones individuales (o grupo de aplicaciones) y le permitiría ejecutar varias instancias de navegador que no pueden verse entre sí.

El problema, sin embargo, es que normalmente no quieres un aislamiento completo, y el secuestro hostil de todo el proceso es raro. Los navegadores ya aplican algún tipo de aislamiento que no utiliza hipervisores, pero es (generalmente) efectivo. Los problemas de seguridad no provienen de la ruptura de un proceso de pestañas, sino de los canales de comunicación que el navegador mantiene entre pestañas para implementar la funcionalidad requerida. La Política del mismo origen es un concepto importante que forma parte del tema: el SOP encarna el modelo de seguridad que el el navegador hace cumplir, y la mayoría de los problemas de seguridad con los navegadores web se deben a la confusión con la que se definen los límites de SOP.

Para hacer una analogía , considera una pared de ladrillos con una puerta en ella. Usar tecnología de hipervisor sería similar a reforzar la pared y el marco de la puerta con acero. Esto no es malo, pero no ayudará mucho si el problema real es que la puerta no está cerrada. Cuando se trata de imponer el aislamiento entre las instancias de navegación, lo realmente difícil es definir con precisión qué se puede compartir y qué no; Los hipervisores operan a un nivel inferior y son solo herramientas para hacer cumplir una política, pero primero se debe definir la política.

    
respondido por el Thomas Pornin 15.08.2013 - 16:38
fuente
1

Crédito a @Thomas Pornin & @Ramhound,

Las máquinas virtuales basadas en navegador ya tienen algunas implementaciones (navegadores sin cabeza). Al momento de escribir la pregunta, no sabía que Chrome ya había dado este salto.

Implementaciones de concepto :

Conceptos alternativos :

Críticas :

  • Las máquinas virtuales (por ejemplo, Virtualbox) son especialmente resistentes a los ataques, ya que tiene una superficie de ataque mucho más grande y, en general, no asume huéspedes maliciosos.
  • ....

Agregue a esta lista en los comentarios y actualizaré la respuesta.

    
respondido por el Null 16.08.2013 - 11:36
fuente

Lea otras preguntas en las etiquetas