Discussão sobre Permissões de Aplicativos e a Tecnologia Flatpak

Gostaria de compartilhar alguns insights interessantes em alguns vídeos do dev BR (Georges Stavracas) sobre as permissões de aplicativos e a tecnologia Flatpak.

O primeiro vídeo aborda o debate sobre se os aplicativos devem ter todas as permissões no sistema ou se devem ser restritos apenas às permissões necessárias para seu funcionamento adequado.

Em um mundo ideal, o vídeo argumenta que os aplicativos deveriam ter apenas as permissões essenciais, evitando permissões inseguras, como o acesso direto ao X11. A ideia é que, quando se trata de sandboxing, menos permissões concedidas significam um ambiente mais seguro. Embora os aplicativos solicitem permissões, isso não implica que devemos concedê-las manualmente, como no caso de permitir a execução em segundo plano. Com a funcionalidade fornecida pelo GNOME usando o Flatpak, agora podemos verificar quais aplicativos Flatpak estão em execução em segundo plano.

O vídeo faz uma reflexão interessante sobre a comunidade Linux, atraindo pessoas que gostam de “brincar” e explorar o sistema. É compreensível que esses usuários queiram essa liberdade, e há várias opções disponíveis para isso. No entanto, o vídeo menciona como projetos como o GNOME tornam mais difícil “quebrar” ou “dar uma arma para atirar no próprio pé”. Isso destaca a importância de equilibrar a flexibilidade do sistema com a segurança.

Além disso, o vídeo aborda o processo de revisão de permissões pelo pessoal do Flathub, que trabalha para garantir que os aplicativos sigam práticas seguras. No entanto, também menciona que ainda não existem portais personalizados para dispositivos USB no Flatpak, e é algo em que estão trabalhando.

Por fim, o vídeo ressalta como o mecanismo de conceder e revogar permissões de um aplicativo não existia antes do Flatpak, e como essa funcionalidade traz benefícios em termos de segurança e controle para os usuários.

No segundo vídeo que assisti, foi explicado como, antes do surgimento do Flatpak, não havia uma clara distinção entre processos e aplicativos no ecossistema do Linux. Essa é uma adição relevante às reflexões anteriores sobre as permissões de aplicativos e o papel do Flatpak na segurança e no controle dos usuários.

O vídeo argumenta que essa falta de distinção entre processos e aplicativos pode ser problemática, uma vez que os processos, por sua natureza, tendem a ser mais livres e abertos, enquanto os aplicativos requerem um nível de segurança e restrições mais rígidas. O Flatpak, por sua vez, introduziu uma camada adicional de isolamento e sandboxing, permitindo uma separação mais clara entre processos e aplicativos.

Essa distinção entre processos e aplicativos oferecida pelo Flatpak traz benefícios significativos em termos de segurança, pois permite controlar melhor o que cada aplicativo tem permissão para fazer e quais recursos do sistema ele pode acessar. Isso é particularmente relevante em ambientes em que a confiança é um fator essencial, como em lojas de aplicativos, onde o usuário pode ter a garantia de que os aplicativos são isolados e não afetarão negativamente o sistema como um todo.

No terceiro vídeo que assisti, foi explicado como funciona o Flathub, a loja de aplicativos voltada para o Flatpak. É importante destacar que o Flatpak em si não é centralizado ou vinculado diretamente ao Flathub ou a qualquer outra loja específica por padrão. O Flathub é uma conveniência para os usuários do Flatpak, oferecendo uma variedade de aplicativos em um local centralizado.

O vídeo destaca que o Flathub é mantido através de doações de empresas e da comunidade, além de ser totalmente open source. Isso significa que qualquer pessoa pode baixar e executar o código do Flathub em seu próprio computador ou onde quiser. A transparência é um aspecto fundamental do Flathub, permitindo que os usuários tenham confiança nas origens e no processo de distribuição dos aplicativos.

De forma empolgada, o vídeo ressalta os benefícios de usar o Flatpak. Ele destaca que o uso do Flatpak pode proporcionando uma experiência mais unificada e facilitando a instalação de aplicativos em diferentes distribuições Linux. O Flatpak oferece uma maneira simplificada de obter e gerenciar aplicativos, tornando o uso do desktop Linux mais acessível e conveniente.

Ele destaca que o Flatpak é considerado o futuro do desktop Linux. É uma tecnologia que promove a portabilidade, a segurança e a flexibilidade para os usuários. Ele encoraja todos a experimentarem o Flatpak e compartilharem suas experiências. Ao incentivar o uso do Flatpak, estamos contribuindo para o desenvolvimento e aprimoramento contínuos dessa tecnologia, beneficiando toda a comunidade Linux e não apenas 1 empresa / distro.

No último vídeo que assisti, foi abordada a questão do uso do Flatseal para gerenciar as permissões do Flatpak, e é mencionado que isso é considerado uma solução temporária para um problema de adoção. O Flatseal é uma ferramenta que permite aos usuários controlar e ajustar as permissões dos aplicativos Flatpak de forma granular.

O vídeo destaca que, à medida que o tempo passa, espera-se que os aplicativos Flatpak se comuniquem diretamente com todas as APIs e portais necessários, eliminando a necessidade de ferramentas externas como o Flatseal. Esse desenvolvimento futuro tornaria o gerenciamento de permissões mais integrado e simplificado, proporcionando uma experiência ainda melhor para os usuários.

Georges, um dos mantenedores do projeto, menciona que o Flatseal é uma solução temporária para facilitar a transição e a adoção do Flatpak. Ele ressalta que o objetivo final é que os aplicativos Flatpak tenham uma comunicação eficiente com todas as APIs e portais necessários, garantindo um ambiente seguro e controlado diretamente através de suas próprias configurações.

A discussão desses vídeos oferece insights valiosos sobre as permissões de aplicativos e a tecnologia Flatpak. Convido a todos a participarem dessa discussão e compartilharem suas opiniões sobre os tópicos abordados. É essencial refletirmos sobre os aspectos de segurança, controle e conveniência proporcionados pelo Flatpak, bem como sobre o futuro do desktop Linux.

Fiquem à vontade para expressar suas opiniões, compartilhar experiências e levantar questionamentos relacionados a esse assunto. Vamos aproveitar essa oportunidade para enriquecer nosso conhecimento e contribuir para o desenvolvimento contínuo do ecossistema Linux.

2 curtidas

Primeiro que continua não existindo uma clara distinção entre “apps” e “processos” o que existe (ver aqui e aqui) é uma série de presunções que ser ou não Flatpak é irrelevante o ponto é que os portais do Flatpak fornecem um jeito padronizado e objetivo de um processo qualquer dizer “ei. eu sou um app”, antes isso já existia, só que cada um fazia de um jeito, por exemplo, se o processo tinha um .desktop associado e registrava uma WM_CLASS, era um app, hoje tem que implementar uma interface D-BUS e outras coisas a mais, mas isso apesar de melhorar ainda não trás uma distinção real de app e processo só tá mais rebuscado, tá muito melhor, mas ainda não há, nem é culpa do Georges ou do Flatpak, mas sim do padrão de indústria, apps advém de uma série de evoluções de UX:

  • Antes eram utilitários de linha de comando, como cp, mv, ls, rm
  • Depois esses utilitários foram fundidos em interfaces de textos, como exemplo o mc
  • Aí veio a ideia de trocar caracteres de texto para pixels e temos o nautilus

Em nenhum momento foi pensado em separar apps de processos, só na mudança de interação

Pelo exato mesmo motivo anterior dá pra deixar os apps seguros apenas a nível diretório, ou faz um reabasing completo de todos os apps ou mesmo com portais os apps vão continuar menos seguros que deveriam, um app deveria ter acesso APENAS ao arquivo manipulado no momento e a uma pasta de dados própria, beira utopia mas se o GNOME e companhia conseguirem mudar a mentalidade dos devs pra isso a ponto de ser possível fazer um app falhar se não for assim, seria o fim dos ransonwares