Ya disponible la nueva versión de MirageOS 3.6 con diversas mejoras para Solo5
Fue anunciado hace pocos días el lanzamiento de la nueva version del proyecto MirageOS 3.6, la cual es una biblioteca de sistema operativo que permite formar los sistemas operativos de una sola aplicación como un “unikernel” el cual es autónomo, capaz de ejecutarse sin el uso de sistemas operativos, un núcleo de sistema operativo independiente.
Para el desarrollo de aplicaciones, se utiliza OCaml. El código del proyecto se distribuye bajo una licencia ISC gratuita. La idea básica detrás de un unikernel es que es un sistema operativo altamente optimizado y especialmente diseñado que puede ayudar a permitir la operación eficiente y la entrega de aplicaciones.
Toda la funcionalidad de bajo nivel inherente al sistema operativo se implementa en forma de una biblioteca adjunta a la aplicación.
La aplicación se puede desarrollar en cualquier sistema operativo, después de lo cual se compila en un núcleo especializado (concepto unikernel), que se puede ejecutar directamente sobre los hipervisores Xen, KVM, BHyve y VMM (OpenBSD), sobre plataformas móviles, en forma de un proceso en un entorno compatible con POSIX o en Entornos de nube Amazon Elastic Compute Cloud y Google Compute Engine.
El entorno generado no contiene nada superfluo e interactúa directamente con el hipervisor sin controladores y capas del sistema, lo que permite lograr una reducción significativa en los costos generales y aumentar la seguridad.
Trabajar con MirageOS se reduce a tres etapas: preparar la configuración con la definición de los paquetes OPAM utilizados en el entorno, construir el entorno e iniciar el entorno.
El runtime para trabajar sobre Xen se basa en el kernel reducido de Mini-OS , y para otros hipervisores y sistemas basados en el kernel Solo5 .
¿Qué hay de nuevo en MirageOS 3.6?
Los principales cambios en la nueva versión están relacionados con la prestación de soporte para las nuevas características propuestas en Solo5 0.6.0. El cual comenzó originalmente como un proyecto para portar MirageOS para que se ejecute en el hipervisor Linux/KVM. Desde entonces, se ha convertido en un entorno de ejecución de espacio aislado más general, adecuado para ejecutar aplicaciones creadas utilizando varios unikernels, dirigidos a diferentes tecnologías de sandboxing en diversos sistemas operativos host e hipervisores.
Dentro de las mejoras implementadas se destaca el soporte para el manifiesto, que permite definir varios adaptadores de red y dispositivos de almacenamiento conectados a unikernel durante el aislamiento basado en backends hvt, spt y muen (el uso de backends genode y virtio está limitado a un dispositivo hasta ahora)-
Así como también el soporte para habilitar la protección stack smashing en toda la cadena de herramientas de forma predeterminada y la protección mejorada de la página en algunos objetivos.
Otra de las novedades que se destacan en el anuncio es que se agregó la capacidad de ejecutar el unikernel MirageOS en el entorno spt aislado proporcionado por Solo5. Cuando se utiliza el backend spt, los núcleos MirageOS se ejecutan en procesos de usuario de Linux a los que se aplica un aislamiento mínimo basado en seccomp-BPF.
La protección de backends basada en Solo5 (hvt, spt) se fortalece, por ejemplo, se proporciona la compilación en el modo SSP (Protección de aplastamiento de pila).
¿Cómo obtener MirageOS?
Para quienes estén interesados en poder obtener esta nueva versión de MirageOS podrán hacerlo siguiendo las instrucciones que compartimos a continuación.
Los requisitos para poder instalar MirageOS es contar con un sistema UNIX (Linux, Mac o BSD) y contar con OPAM 2.0.0 o posterior y OCaml 4.05.0 o posterior.
En el caso de que no sea así, se pueden instalar ejecutando en la terminal alguno de los siguientes comandos dependiendo tu distribución.
Para el caso de los que son usuarios de Debian, Ubuntu o derivados de estos:
sudo apt-get update
sudo apt-get install opam
Mientras que para los que utilizan Arch Linux, Manjaro o cualquier otro derivado de Arch:
sudo pacman -S opam
Fedora, RHEL, CentOS o cualquier otro derivado de estos:
sudo dnf -i opam
Finalmente, para realizar la instalación de MirageOS:
opam init
opam install mirage