Qubes OS. Uno más en la familia.

Desde siempre se ha debatido sobre la seguridad que nos ofrecen los Sistemas Operativos, actuales o no. Al fin y al cabo, aunque todos sabemos que la “última palabra” la tiene el usuario final, no deja de ser una ventaja que el SO nos ayude a lo que no podemos hacer los usuarios, aislar aplicaciones.

El día 03 de Septiembre se publicó la versión 1.0 de Qubes, un Sistema Operativo que, según palabras textuales de los autores, es “razonablemente seguro”. Para conseguir esto, emplea Xen, un monitor de máquinas virtuales desarrollado por la Universidad de Cambridge. ¿Qué diferencia a Qubes de los demás?

Esta es la pregunta que me ha venido a la cabeza nada más leer la noticia anunciando la v1.0. Tras leer más sobre el proyecto, he visto que han tardado aproximadamente tres años en sacar la versión actual a la luz, debido a que han sacado su propio micro-kernel, basado en Fedora 17, en la que viene habilitado “de serie” nuestro amigo Xen.

¿Cómo consigue Qubes esa seguridad extra?

Como hemos dicho, Qubes emplea Xen Hypervisor y crea “dominios” (máquinas virtuales) para un grupo de aplicaciones que el usuario puede modificar/añadir y organizárselo a su gusto. Existen una serie de dominios predefinidos para el usuario, estos son:

  • Random: Navegación Web e instalación de aplicaciones en las que no confiemos al 100%:, una máquina virtual que no almacena información sensible y en caso de ser comprometida sabemos que no estamos en peligro de fuga de información.
  • Social: Aplicaciones de uso cotidiano como pueden ser Facebook, Twitter, cliente de correo electrónico, etc. Están todas agrupadas en una misma VM ya que trabajan con información personal y/o de trabajo, por lo que se trata de dominio sensible.
  • Shopping: Esta VM está pensada para tener todas las aplicaciones/navegadores Web que hagan uso del comercio electrónico.
  • Bank: VM especial, el nombre lo dice todo; sólo permite navegación Web a través de HTTPS.
  • Corporate: Tiene un cliente VPN conectado y sólo permite trabajar con la Red si la máquina está conectada a la VPN de la compañía o una VPN conocida.

Además, en el sistema, hay definidos otros dominios necesarios para el funcionamiento del SO:

  • Network: Todos los drivers y aplicaciones que hacen uso de las comunicaciones.
  • Storage: Drivers, pilas, sistema de ficheros, etc.
  • Secure GUI: A través de este dominio, se le permite al usuario trabajar e interactuar con el resto de dominios. Para que sea completamente transparente, se le presenta al usuario como el tradicional escritorio de trabajo.

Aquí un pequeño esquema que seguro nos ayuda a entender su arquitectura:


Imagen de http://qubes-os.org/Architecture_files/droppedImage.png

A pesar de todas estas precauciones, todos sabemos que tarde o temprano es habitual que alguien desarrolle un método para saltarse este tipo de restricciones, de modo que un fallo de seguridad en Xen permitiría mediante un exploit local saltarse esta seguridad. Precisamente esto es lo que parece (no lo he analizado en profundidad) haber sucedido recientemente con una vulnerabilidad en Xen descubierta por Rafal Wojtczuk and Jan Beulich.

Poco más que añadir, os invito a que echéis un vistazo al proyecto en su Web oficial así como a un detallado e interesante documento de análisis de seguridad de Qubes.