- Sistema operativo de biblioteca centrado en seguridad que admite ejecución tanto en modo kernel como en modo usuario, y ofrece un entorno de sandboxing que reduce la superficie de ataque al minimizar la interfaz con el host
- Escrito en Rust, con soporte para interfaces de nivel superior al estilo de
nix y rustix, además de interoperabilidad entre diversas plataformas subyacentes
- Casos de uso principales: ejecutar programas de Linux en Windows, sandboxing de aplicaciones Linux, ejecución en entornos SEV SNP y OP-TEE, soporte para la plataforma LVBS, entre otros
- Basado en una arquitectura experimental de próxima generación enfocada en aislamiento de seguridad, virtualización y minimización de interfaces del sistema
- Combina código de sistema seguro basado en Rust con un modelo unificado de ejecución entre modo kernel y modo usuario, por lo que puede aprovecharse para investigación de seguridad y desarrollo de tecnologías de aislamiento en la nube
Resumen de LiteBox
- LiteBox es un sistema operativo de biblioteca centrado en seguridad y de código abierto publicado por Microsoft, compatible con ejecución tanto en modo kernel como en modo usuario
- Su objetivo principal es minimizar la interfaz con el host para reducir la superficie de ataque
- Con ello, implementa un entorno de ejecución aislado con forma de sandbox
- El sistema está escrito en Rust y, en la capa superior, ofrece interfaces al estilo de
nix/rustix
- En la capa inferior, permite una configuración flexible al conectar distintas plataformas mediante la interfaz
Platform
Funciones principales y casos de uso
- LiteBox fue diseñado con una estructura que admite interoperabilidad entre varios entornos operativos
- Ejecutar programas de Linux en Windows
- Sandboxing de aplicaciones dentro de Linux
- Soporte para entornos de ejecución segura basados en SEV SNP
- Ejecutar programas de OP-TEE en Linux
- Soporte de ejecución en la plataforma LVBS
Estado actual y licencia
- El proyecto se encuentra actualmente en desarrollo activo y aún no llega a la etapa de lanzamiento de una versión estable
- La API y las interfaces podrían cambiar en el futuro
- Es posible usarlo de forma experimental, pero se requiere precaución en entornos que exigen estabilidad a largo plazo
- Licencia MIT
2 comentarios
Opiniones de Hacker News
Según la página de GitHub, LiteBox es un library OS de sandboxing centrado en seguridad que minimiza la interfaz con el host para reducir la superficie de ataque
Está diseñado para conectar una interfaz “North” basada en nix/rustix al estilo Rust con diversas plataformas “South”
Algunos ejemplos son ejecutar programas de Linux en Windows, aislar apps de Linux, o correr sobre SEV SNP, OP-TEE y LVBS
Desde hace tiempo sentía que WSL2 era una solución provisional, y que WSL1 era el verdadero buen ejemplo del concepto de “personality modules” de Windows NT
Parece el típico caso de Microsoft empaquetando conceptos existentes con nombres nuevos para hacerlos pasar por innovación
Últimamente el sistema operativo principal de Microsoft está tan lleno de bugs que cuesta confiar en los proyectos nuevos que lanza
El equipo que desarrolla esto probablemente no tenga nada que ver con el UX moderno de Windows
El repositorio de LiteBox incluye archivos de configuración relacionados con Copilot
copilot-instructions.md
Esto solo lo hace visible de forma explícita
Tenía curiosidad por saber qué era un ‘Library OS’
Es decir, las funciones del OS se integran en el espacio de direcciones de la aplicación, y la interfaz externa se reemplaza por acceso a hardware o hypercalls
Los unikernels funcionan de esta manera, y Wine también podría verse como un Library OS en un sentido amplio
Por ejemplo, se puede enlazar una app de Linux con LiteBox para ejecutarla sobre SEV-SNP, o correr un OP-TEE TA sobre Linux
La idea clave es que, en vez de auditar cientos de syscalls POSIX, se simplifica todo para controlar solo unas cuantas operaciones primitivas de una representación intermedia
Si tuviera que explicarle a un extraterrestre la diferencia entre un Library OS y una app basada en kernel, siento que sería una diferencia tan sutil que cuesta explicarla en serio
Al principio pensé que ‘Library OS’ era un sistema operativo para bibliotecas
No conocía el concepto de Library OS, pero después de leer la explicación me pareció similar a un unikernel
El programa corre directamente sobre el hipervisor sin llamadas en modo kernel, y LiteBox también puede ejecutarse como proceso de Linux, Windows o BSD
Aun así, no está claro si usa su propio ABI o el ABI del OS anfitrión
Por la descripción, también da un poco la impresión de ser un proyecto “vibe-coded”
Si Microsoft permitiera con LiteBox escribir drivers WFP callout sin firma, podría ser interesante
Seguirían funcionando en modo kernel, pero podrían ser más flexibles que las NetworkExtensions de MacOS
Me parece una lástima que no se mencione un proceso de desarrollo basado en especificaciones de diseño y verificación formal
Es un intento interesante, pero sin ese enfoque existe el riesgo de que vuelvan a aparecer las mismas vulnerabilidades de seguridad repetidas en Windows
Es la primera vez que escucho el concepto de “Library OS”, y me pregunto si gVisor también entraría en esta categoría
Se ve como una estructura parecida, pero no tengo claro si entra exactamente en la misma clase
Hace tiempo que no encontraba un proyecto que se viera tan interesante.