Joanna Rutkowska, líder del proyecto Qubes, hace un gran trabajo para documentar los conceptos en los que confía Qubes. Por lo tanto, le sugiero encarecidamente que obtenga la información en la fuente y, en particular, que lea los dos documentos siguientes:
Qubes no solo mejora la experiencia del usuario en comparación con la ejecución de varias instancias de vmWare, sino que también aporta un aislamiento más preciso.
Para explicarlo en términos generales, el modelo que describe es como colocar un conjunto de cajas más pequeñas (las máquinas virtuales) dentro de una sola caja grande (el sistema host). Todas las máquinas virtuales pasarán por el sistema host para acceder a cualquier dispositivo (red, USB, lector de DVD, etc.), y el sistema host controla las máquinas virtuales, los dispositivos, la interfaz del usuario y se enfrenta directamente a Internet.
La idea detrás de Qubes no es almacenar las cajas pequeñas en una caja grande sobrepotente, sino configurar las cajas pequeñas en una especie de red local virtual para que, juntos, parezcan como una gran cuadro sin ser uno y sin usar uno.
La necesidad de lucir como algo que los usuarios ya saben es importante para su adopción. Pero detrás de la escena, todas las partes del sistema están aisladas unas de otras. Entre las principales diferencias se encuentra el hecho de que la interfaz de usuario no se enfrenta a la red y no tiene conexión a Internet. La VM dedicada a enfrentar la red está aislada del resto de las VM por otra VM dedicada al firewall. Qubes 3.0 trajo una característica tan esperada que permite tener una máquina virtual dedicada a dispositivos USB.
Para ver esto desde y una vista de punto de atacante:
-
Si quiero hackear su solución basada en Windows, todo lo que tengo que hacer es administrar para explotar su host de Windows (punto único de falla). Una vez que lo obtengo, obtengo energía en todo y esto debería ser relativamente fácil, ya que se enfrenta a la red, lo que permite una amplia gama de posibilidades, desde explotaciones remotas para revertir troyanos de concha.
-
Si quiero piratear Qubes, no tendré más remedio que comenzar en una posición de invitado ya que ni Xen ni el dominio principal Dom0 tienen ningún vínculo directo con el mundo exterior, y desde allí encontrar una forma de migrar de invitado a invitado o administre para explotar el núcleo de Xen o llegue a la interfaz del usuario que se ejecuta en Dom0 (sabiendo que los invitados han sustituido su servidor X por un servidor de pantalla reforzado especialmente diseñado para evitar precisamente esa posibilidad. Todas las comunicaciones inter-VM en general han sido cuidadosamente diseñado para reducir cualquier área de exposición al mínimo), y construir los túneles apropiados para poder seguir comunicándonos con su software malicioso (entrar no es suficiente, también desea que los datos puedan salir, lo cual es trivial en un sistema orientado a la red, pero mucho más difícil en sistemas invitados aislados).
Solo quiero agregar que, si bien el sistema operativo Qubes es el más conocido y documentado como la única iniciativa de código abierto que implementa este concepto, el concepto en sí no es algo completamente nuevo y revolucionario. Polyxene por ejemplo, es un sistema propietario que adopta exactamente el mismo enfoque para asegurar sistemas de escritorio de nivel de defensa. Digo esto solo para resaltar el hecho de que la discusión de dicha tecnología va más allá de la discusión de sistemas operativos de código abierto y propietarios.