Qubes OS

sistema operativo

Qubes OS es un sistema operativo centrado en la seguridad del escritorio a través de aislamiento. La virtualización está implementada por el micronucleo Xen,[3]​ mientras que los entornos o dominios o ámbitos de usuario pueden estar basados en Fedora, Debian, Whonix, y Microsoft Windows, entre otros sistemas operativos.[4][5]

Qubes OS
Parte de Unix-like
Información general
Tipo de programa Sistema Operativo
Desarrollador Invisible Things Lab
Lanzamiento inicial 3 de septiembre de 2012[1]
Licencia GNU GPL[2]
Información técnica
Plataformas admitidas x86-64
Interfaz gráfica predeterminada
Sistema de gestión de paquetes RPM Package Manager
Método de actualización
Versiones
Última versión estable 4.2.2 (info) ( 13 de julio de 2024 (4 meses y 11 días))
Enlaces

El 16 de febrero de 2014, Qubes fue seleccionado como finalista del Premio Access Innovation 2014 en la categoría de Solución de Seguridad de Punto Final.[6]

Metas de seguridad

editar
 
Esquema de ámbitos de seguridad

Qubes Implementa Seguridad por aproximación de Aislamiento.[7]​ Está basado en la asunción de que no puede haber ningún sistema perfecto, libre de bugs o errores. Dado que cada entorno cuenta con millones de líneas de código y miles de millones de interacciones software/hardware. Un error crítico en cualquier de estas interacciones puede ser suficiente para que un software malicioso pueda tomar el control de una máquina.[8][9]

Para asegurar el sistema, un usuario de Qubes experimenta un aislamiento en varios entornos o dominios, de modo que si uno de los componentes es comprometido, el software atacante/malicioso solo conseguiría acceso a los datos dentro de dicho entorno o dominio.[10]

En Qubes, el aislamiento está proporcionado por dos dimensiones: los controladores de hardware que están aislados en ámbitos/dominios funcionales (GUI, red y ámbitos/dominios de almacenamiento), mientras que la vida digital del usuario está distribuida en dominios con diferentes niveles de confianza. Por ejemplo: ámbito/dominio de trabajo (el de mayor confianza), ámbito/dominio de compra, ámbito/dominio aleatorio (el de menor confianza).[11]​ Cada uno de ellos ejecutándose en una máquina virtual separada e independiente. Qubes NO es un sistema multiusuario.

Requerimientos

editar

Qubes no fue creado con la intención de correr sobre sistemas mulltiarranque para que en caso de que un atacante obtenga control sobre uno de los sistemas operativos también lo tendía sobre Qubes (e.g. before Qubes boots).[12]​ Sin embargo, todavía es posible usar Qubes como parte de un sistema de arranque múltiple e incluso usar grub2 como boot loader/boot manager.[12]​ Una instalación estándar de Qubes ocupa todo el espacio en el storage medium (e.g. hard drive, USB flash drive) en el que está instalado (no solo todo el espacio libre disponible) y utiliza LUKS/dm-crypt cifrado de disco completo.[13]​ Es posible (aunque no trivial) personalizar gran parte de la instalación del sistema operativo Qubes, pero por razones de seguridad, esto se desaconseja para los usuarios que no están íntimamente familiarizados con Qubes. Qubes 4.x necesita al menos 32 GiB de espacio en disco y 4 GB de RAM.[14]​ Sin embargo, en la práctica, normalmente necesita más de 6-8 GB de RAM, ya que aunque es posible ejecutarlo con solo 4 GB de RAM, es probable que los usuarios se limiten a ejecutar no más de tres Qubes a la vez.[13]

Desde 2013, Qubes no ha tenido soporte para arquitecturas x86 de 32 bits y ahora requiere un procesador de 64 bits.[13]​ Qubes utiliza Intel VT-d/AMD's AMD-Vi, que solo está disponible en arquitecturas de 64 bits, para aislar dispositivos y controladores. La arquitectura de 64 bits también proporciona un poco más de protección contra algunas clases de ataques..[13]​ Desde Qubes 4.x, este requiere ya sea un procesador Intel con soporte para VT-x cont EPT y tecnología de virtualización Intel VT-d o un procesador AMD son soporte para AMD-V con RVI (SLAT) y tecnología de virtualización AMD-Vi (también conocido como AMD IOMMU) .[13]​ Qubes apunta al mercado desktop. Este mercado está dominado por portátiles con procesadores y conjuntos de chips Intel, por esto los desarrolladores de Qubes se centran en las tecnologías VT-x / VT-d de Intel.[15]​ Este no es un problema importante para los procesadores AMD, ya que AMD IOMMU es funcionalmente idéntico al VT-d de Intel.[15]

Diferencia con VMs en Sistemas Operativos convencionales

editar

No todas las máquinas virtuales son iguales en lo que se refiere a la seguridad. Las máquinas virtuales utilizadas en softwares VirtualBox o VMware son conocidas como de "Tipo 2". Estos programas son populares por su facilidad de uso y pueden ser ejecutados en los Sistemas Operativos populares. Al ser de Tipo 2 son tan seguros como lo es el propio sistema operativo, si este es comprometido, todas las VMs también lo son.

Qubes OS, en cambio, usa un hipervisor de "Tipo 1" también conocido como Bare Metal (en inglés), Xen. Se ejecuta directamente sobre el hardware, lo que significa que un atacante debe ser capaz de subvertir el hipervisor en sí con el fin de poner en peligro todo el sistema, que es mucho más difícil.

Qubes logra que múltiples máquinas virtuales que se ejecutan en un hipervisor de Tipo 1 se pueden utilizar con seguridad como un sistema operativo integrado. Por ejemplo, se pone todas sus ventanas de la aplicación en el mismo escritorio con bordes de colores especiales que indican los niveles de confianza de sus respectivas máquinas virtuales. También permite cosas como las operaciones de copia de seguridad / pegar entre máquinas virtuales, copiar y transferir archivos entre máquinas virtuales y redes seguras entre las máquinas virtuales y de Internet de forma segura.[16]

Visión general de la arquitectura del sistema

editar

Hipervisor Xen y dominio administrativo (Dom0)

editar

El hipervisor proporciona aislamiento entre las diferentes máquinas virtuales. El dominio administrativo, también conocido como Dom0, tiene acceso directo al hardware del equipo. Dom0 aloja el dominio GUI y controla los dispositivos gráficos, así como los dispositivos de entrada, como teclado y ratón. El dominio GUI se ejecuta en el servidor X, el cual muestra el escritorio del usuario, y el gestor de ventanas, que permite al usuario arrancar y parar las diferentes aplicaciones así como manipular sus ventanas.

La integración de las diferentes máquinas virtuales está proporcionada por el Application Viewer, el cual crea la ilusión de que las aplicaciones se ejecutan nativamente en el escritorio para el usuario, mientras que en realidad están alojadas (y aisladas) en diferentes máquinas virtuales. Qubes Integra todas estas máquinas virtuales en un entorno de escritorio común.

Precisamente porque el Dom0 es el que mayor riesgo de seguridad supone, está aislado de la red. Se tiende a tener una interfaz muy pequeña y una comunicación con otros ámbitos tan mínima como sea posible para reducir la posibilidad de un ataque proveniente de una máquina virtual infectada.[17][18]

El dominio de red

editar

El mecanismo de red es el más expuesto a ataques de seguridad. Este es el motivo por el que está aislado en un dominio separado en una máquina virtual sin privilegios llamada Network Domain.

Se utiliza una máquina virtual proxy adicional para la configuración avanzada de la red (networking).[19]

El dominio de almacenamiento

editar

El espacio de disco queda a salvo gracias a varias máquinas virtuales (VM) que comparten el mismo sistema de archivos raíz en modo solo lectura. El almacenamiento en discos externos solo es utilizado por el dominio administrativo (Dom0) y en cada VM mediante configuración establecida específicamente por el usuario. Esto permite que la instalación de software y las actualizaciones puedan ser centralizadas. Naturalmente, cualquier software puede ser instalado solo en una VM en concreto.

Se usa cifrado para proteger los sistemas de archivos, de modo que el dominio de almacenamiento no pueda leer datos confidenciales contenidos en otros dominios.

Máquinas Virtuales de Aplicación (AppVM)

editar
 
Aplicaciones que se ejecutan en ámbitos de seguridad diferentes

Las AppVMs son las máquinas virtuales utilizadas para hospedaje de aplicaciones de usuario, como un navegador web, un cliente de correo electrónico o un editor de texto. Por motivos de seguridad, estas aplicaciones pueden ser agrupadas en dominios diferentes, como “personal”, “trabajo”, “compras”, “banca”, etc. Los dominios de seguridad están implementados como Máquinas Virtuales separadas (VMs), por lo que son aislados unos de otros como si se ejecutaran en diferentes máquinas físicas.

Algunos documentos o aplicaciones pueden ser ejecutados en VMs desechables a través de un lanzador disponible en el gestor de archivos. Siguiendo la idea de las cajas de arena o sandboxes: después de ver el documento o ejecutar la aplicación correspondiente, la VM será destruida.[20]

Cada dominio de seguridad está etiquetado con un color, y cada ventana está marcada por dicho color del dominio al que pertenece. De forma que siempre sea claramente visible a qué ámbito/dominio pertenece una ventana dada.

Referencias

editar
  1. «Introducing Qubes 1.0!». 3 de septiembre de 2012. 
  2. https://www.qubes-os.org/doc/QubesLicensing/
  3. «Qubes OS bakes in virty system-level security». The Register. 5 de septiembre de 2012. 
  4. «Qubes OS Templates». 
  5. «Installing and using Windows-based AppVMs». 
  6. «Endpoint Security Prize Finalists Announced!». Michael Carbone. 13 de febrero de 2014. 
  7. «The three approaches to computer security». Joanna Rutkowska. 2 de septiembre de 2008. 
  8. «Qubes OS: An Operating System Designed For Security». Tom's hardware. 30 de agosto de 2011. 
  9. «A digital fortress?». The Economist. 28 de marzo de 2014. 
  10. «How Splitting a Computer Into Multiple Realities Can Protect You From Hackers». Wired. 20 de noviembre de 2014. 
  11. «Partitioning my digital life into security domains». Joanna Rutkowska. 13 de marzo de 2011. 
  12. a b «Multibooting Qubes». Archivado desde el original el 29 de noviembre de 2020. Consultado el 3 de diciembre de 2021. 
  13. a b c d e Qubes faq
  14. Qubes system requirements
  15. a b Why Intel VT-d ?
  16. https://www.qubes-os.org/tour/
  17. «(Un)Trusting your GUI Subsystem». Joanna Rutkowska. 9 de septiembre de 2010. 
  18. «The Linux Security Circus: On GUI isolation». Joanna Rutkowska. 23 de abril de 2011. 
  19. «Playing with Qubes Networking for Fun and Profit». Joanna Rutkowska. 28 de septiembre de 2011. 
  20. «Qubes To Implement Disposable Virtual Machines». OSnews. 3 de junio de 2010. 

Enlaces externos

editar