lançamento do projeto , no qual se desenvolve um sistema para a execução isolada de aplicações gráficas, de console e servidor. A utilização do Firejail minimiza o risco de comprometimento do sistema principal ao executar programas desconfiáveis ou potencialmente vulneráveis. O programa é escrito em C, sob a licença GPLv2 e pode funcionar em qualquer distribuição Linux com núcleo superior a 3.0. Pacotes prontos com o Firejail nos formatos deb (Debian, Ubuntu) e rpm (CentOS, Fedora).
Para isolamento no Firejail namespaces, AppArmor e filtragem de chamadas de sistema (seccomp-bpf) no Linux. Após o lançamento, o programa e todos os seus processos filhos utilizam visões separadas dos recursos do núcleo, como a pilha de rede, tabela de processos e pontos de montagem. Aplicações interdependentes podem ser agrupadas em um único sandbox. Se desejado, o Firejail também pode ser usado para executar contêineres Docker, LXC e OpenVZ.
Ao contrário das ferramentas de isolamento de contêineres, o firejail é extremamente na configuração e não requer a preparação de uma imagem do sistema — o conteúdo do contêiner é formado em tempo real com base no conteúdo do FS atual e é eliminado após a conclusão da aplicação. São fornecidos meios flexíveis para definir regras de acesso ao sistema de arquivos, permitindo especificar quais arquivos e diretórios têm acesso permitido ou negado, conectar sistemas de arquivos temporários (tmpfs) para dados, limitar o acesso a arquivos ou diretórios apenas para leitura, e combinar diretórios através de bind-mount e overlayfs.
Para um grande número de aplicações populares, incluindo Firefox, Chromium, VLC e Transmission, perfis prontos foram preparados Uma vulnerabilidade que permitia que um processo malicioso contornasse o mecanismo de restrição de chamadas de sistema foi corrigida. A essência da vulnerabilidade é que os filtros Seccomp são copiados para o diretório /run/firejail/mnt, que é gravável dentro do ambiente isolado. Processos maliciosos executados em modo isolado podem alterar esses arquivos, o que resultará em que novos processos iniciados nesse mesmo ambiente serão executados sem a aplicação do filtro de chamadas de sistema;
No novo lançamento:
- Uma vulnerabilidade foi corrigida, permitindo que processos maliciosos contornassem o mecanismo de restrição de chamadas de sistema. A essência da vulnerabilidade é que os filtros Seccomp são copiados para o diretório /run/firejail/mnt, que é gravável dentro do ambiente isolado. Processos maliciosos executados em modo de isolamento podem modificar esses arquivos, o que fará com que novos processos, executados nesse mesmo ambiente, sejam executados sem a aplicação do filtro de chamadas de sistema.
- O filtro memory-deny-write-execute bloqueia a chamada "memfd_create";
- Adicionada uma nova opção "private-cwd" para alterar o diretório de trabalho para o jail;
- Adicionada a opção "--nodbus" para bloquear soquetes D-Bus;
- Suporte ao CentOS 6 foi restaurado;
- suporte a pacotes nos formatos e .
, que para esses pacotes deve-se usar suas próprias ferramentas; - Novos perfis foram adicionados para isolar 87 programas adicionais, incluindo mypaint, nano, xfce4-mixer, gnome-keyring, redshift, font-manager, gconf-editor, gsettings, freeciv, lincity-ng, openttd, torcs, tremulous, warsow, freemind, kid3, freecol, opencity, utox, freeoffice-planmaker, freeoffice-presentations, freeoffice-textmaker, inkview, meteo-qt, ktouch, yelp e cantata.
Fonte: opennet.ru
