Lançamento
TL;DR
: A Microsoft lançou o LiteBox, um sistema operacional de biblioteca Rust de código aberto que restringe o acesso do aplicativo aos recursos do host. Modelo de segurança: Ao reduzir as interfaces expostas, o LiteBox visa reduzir a superfície de ataque do kernel e o risco de escalonamento de privilégios. Plataforma cruzada: No Windows, o LiteBox pode executar programas Linux não modificados sem exigir uma máquina virtual Linux completa. Status: A Microsoft diz que o projeto permanece experimental, com APIs ainda mudando e sem lançamento estável ainda.
A Microsoft lançou na semana passada o LiteBox, um sistema operacional de biblioteca de código aberto que limita drasticamente o acesso de aplicativos aos recursos do sistema para reduzir vulnerabilidades de segurança. O projeto baseado em Rust segue um modelo de sistema operacional de biblioteca em que a funcionalidade principal do sistema operacional é empacotada como bibliotecas que acompanham os aplicativos.
Isso fornece uma interface de escopo restrito adaptada a cada carga de trabalho, em vez de expor os aplicativos a uma ampla variedade de chamadas de sistema e subsistemas de kernel.
LiteBox é independente de host e desenvolvido para executar código em uma superfície de sistema operacional mínima e focada na segurança. Ele foi projetado para ser integrado a aplicativos, tempos de execução ou componentes de plataforma do Windows, em vez de ser instalado diretamente pelos usuários finais.
James Morris, mantenedor do subsistema de segurança do kernel Linux e líder da equipe Linux Emerging Technologies da Microsoft, anunciou LiteBox em social.kernel.org como uma biblioteca focada em segurança SO da Microsoft Research e colaboradores.
Redução da superfície de ataque por meio de interfaces mínimas
LiteBox incorpora os principais serviços operacionais diretamente nos aplicativos, em vez de depender de interações externas do kernel por meio de chamadas do sistema. Essa arquitetura traduz solicitações de aplicativos para interfaces externas completas por meio de uma camada mínima de plataforma, em vez de expor essas interfaces diretamente.
Aplicativos tradicionais fazem chamadas de sistema que expõem a funcionalidade completa do kernel do sistema operacional. A abordagem do LiteBox limita o que atores mal-intencionados podem acessar caso violem um aplicativo. O sistema reduz drasticamente a interface com o host, reduzindo a superfície de ataque em comparação com contêineres que expõem partes significativas do kernel por meio de interfaces de chamada do sistema.
Esse design ajuda a reduzir o impacto das vulnerabilidades do kernel e dos ataques de escalonamento de privilégios. O sistema pode ser integrado como uma camada de isolamento adicional que restringe o acesso a funcionalidades desnecessárias do kernel ou da API.
“LiteBox é um sistema operacional de biblioteca de sandbox que reduz drasticamente a interface com o host, reduzindo assim a superfície de ataque.”
Cross-Platform Capacidades
Além de sua arquitetura de segurança, o LiteBox suporta múltiplas plataformas e interfaces. No Windows, ele fornece um ambiente de execução semelhante ao Linux sem exigir um kernel Linux completo, permitindo que programas Linux não modificados sejam executados em hosts Windows sem uma máquina virtual Linux completa.
A plataforma mínima gerada pelo LiteBox suporta a execução de aplicativos Linux, Windows e FreeBSD. As interfaces externas compatíveis incluem o kernel Linux, ambientes OP-TEE, tempos de execução WebAssembly e a biblioteca padrão Rust.
De acordo com o repositório oficial, o sistema expõe uma interface “Norte” inspirada em nix/rustix baseada em Rust quando fornecida uma interface de plataforma em seu “Sul”. Isso permite compatibilidade flexível entre diferentes sistemas host.
Casos de uso e status de desenvolvimento
Esses recursos de plataforma cruzada permitem vários cenários práticos. Os desenvolvedores podem usá-lo para executar programas Linux não modificados em ambientes Windows, isolar a execução de aplicativos Linux em sistemas Linux ou implantar software sobre AMD SEV-SNP para criptografia de memória.
Outro caso de uso envolve a execução de programas OP-TEE dentro do Linux para cargas de trabalho de execução confiáveis. As discussões técnicas no Hacker News descrevem cenários que envolvem cargas de trabalho não confiáveis dentro de VMs confidenciais, onde o próprio hipervisor não pode inspecionar a memória do convidado.
O projeto foi desenvolvido em colaboração com o projeto LVBS, que avança métodos para proteger componentes do kernel Linux por meio de recursos de hipervisor e virtualização de hardware. LiteBox suporta kernels Linux aninhados e componentes LVBS, funcionando como um kernel seguro que protege o kernel do sistema convidado usando mecanismos de virtualização de hardware.
Apesar desses recursos, os desenvolvedores devem observar que o LiteBox está em uma fase experimental inicial, sem versões estáveis ainda. O projeto ainda está em desenvolvimento ativo. A documentação oficial alerta que APIs e interfaces podem mudar à medida que o design amadurece.
O modelo de sistema operacional da biblioteca posiciona o LiteBox como um meio-termo entre máquinas virtuais pesadas e contêineres de kernel compartilhado.
A Microsoft Research já explorou conceitos semelhantes com o Drawbridge há mais de uma década, que então descreveu como “um protótipo de pesquisa”. de uma nova forma de virtualização para sandboxing de aplicativos.”