Bubblewrap 0.6 lançado com suporte para Meson e mais

E foi lançado o Bubblewrap 0.6 com suporte para Meson e mais. Confira as novidades desse utilitário usado para restringir aplicativos.

Bubblewrap é um utilitário que geralmente é usado para restringir aplicativos individuais a usuários não privilegiados. Na prática, o projeto Flatpak usa Bubblewrap como uma camada para isolar aplicativos iniciados de pacotes.

Bubblewrap 0.6 lançado com suporte para Meson e mais
Bubblewrap 0.6 lançado com suporte para Meson e mais

Para isolamento, o Linux usa tecnologias tradicionais de virtualização de contêiner com base no uso de cgroups, namespaces, Seccomp e SELinux.

Para executar operações privilegiadas para configurar um contêiner, o Bubblewrap é iniciado com privilégios de root (um arquivo executável com um sinalizador suid), seguido pela redefinição de privilégios após a inicialização do contêiner.

O Bubblewrap está posicionado como uma implementação suid limitada do subconjunto das funções de namespace do usuário para excluir todos os identificadores de usuário e processo do ambiente, exceto o atual, usando os modos CLONE_NEWUSER e CLONE_NEWPID.

Para proteção adicional, os programas executados no Bubblewrap iniciam no modo PR_SET_NO_NEW_PRIVS, que proíbe novos privilégios, por exemplo, com o sinalizador setuid.

O isolamento no nível do sistema de arquivos é feito criando, por padrão, um novo namespace de montagem, no qual uma partição raiz vazia é criada usando tmpfs.

Se necessário, as seções do FS externo são anexadas a esta seção no modo “mount –bind” (por exemplo, iniciando com a opção “bwrap –ro-bind /usr/usr”, a seção /usr é encaminhada do host no modo somente leitura).

Os recursos de rede são limitados ao acesso à interface de loopback isolada da pilha de rede por meio dos sinalizadores CLONE_NEWNET e CLONE_NEWUTS.

A principal diferença do projeto Firejail semelhante, que também usa o lançador setuid, é que no Bubblewrap, a camada wrapper inclui apenas os recursos mínimos necessários e todos os recursos avançados necessários para iniciar aplicativos gráficos, interagir com a área de trabalho e filtrar chamadas. para o Pulseaudio, eles são trazidos para o lado do Flatpak e executados após redefinir os privilégios.

Novidades do Bubblewrap 0.6

No Bubblewrap 0.6 destaca-se que foi adicionado suporte para o sistema de compilação Meson, com o qual o suporte para compilação com Autotools foi preservado por enquanto, mas pretende-se que isso seja eliminado em favor do uso do Meson em uma versão futura.

Outra novidade nesta do Bubblewrap 0.6 é a implementação da opção “--add-seccomp” para adicionar mais de um programa seccomp, além da adição de um aviso de que se a opção “--seccomp” for especificada novamente », apenas a última opção será aplicada.

Note-se também que foi adicionado suporte parcial para a especificação REUSE, que unifica o processo de especificação de informações de licença e direitos autorais.

Além disso, os cabeçalhos SPDX-License-Identifier também foram adicionados a muitos arquivos de código. Seguir as diretrizes de REUSE facilita a determinação automática de qual licença se aplica a quais partes do código do aplicativo.

Para completar, uma verificação no valor do contador de argumentos de linha de comando (argc) foi adicionada e uma saída de emergência se o contador for zero foi implementada.

A alteração permite bloquear problemas de segurança causados ​​por manipulação incorreta de argumentos de linha de comando passados, como CVE-2021-4034 no Polkit

Das outras mudanças que se destacam nesta nova versão:

  • O branch master no repositório git foi renomeado para main
  • Remova a integração de CI antiga
  • Usando bash via PATH para melhor compatibilidade com sistemas operacionais não FHS

Para saber mais sobre essa versão do Bubblewrap 0.6, acesse a nota de lançamento.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.