Nota: Eu trabalho na equipe de segurança do Ubuntu e ajudei a criar a história de confinamento de aplicativos para o Ubuntu. Eu reformulei as perguntas para maior clareza.
P: "Os pacotes de cliques serão mais seguros em relação aos dados do sistema e do usuário ou serão os mesmos?"
R: Em geral, os pacotes de cliques são mais seguros que os debs em relação aos dados do sistema e do usuário.
Os pacotes Click não incluem scripts de manutenção que são executados como root na instalação, como os pacotes deb. Os pacotes Click são simplesmente descompactados e, em seguida, os ganchos fornecidos pelo sistema são usados se declarados pelo clique. Por exemplo, o clique pode declarar usar um gancho da área de trabalho para gerar um arquivo da área de trabalho ou um gancho do AppArmor para gerar um perfil do AppArmor para o aplicativo. Como o empacotamento deb tem o conceito de scripts de mantenedor que são projetados para permitir ampla personalização do software ou do sistema, os pacotes deb devem ser instalados apenas de uma fonte confiável, por exemplo, um arquivo assinado de uma distribuição como o Ubuntu. Os pacotes Click podem ser instalados diretamente e você pode ter certeza razoável de que a instalação do pacote não arruinará seu sistema. No entanto, isso é apenas parte da história - se você instalar um pacote de cliques de uma fonte não confiável,
O verdadeiro poder do clique é quando ele é usado em combinação com um repositório de software com políticas fortes. Por exemplo, a segurança de um pacote de cliques instalado na Ubuntu App Store é normalmente maior do que a de um deb instalado a partir de um arquivo confiável. Isso ocorre porque, na Ubuntu App Store, o modelo de confiança é que os aplicativos são considerados não confiáveis * e existem políticas e verificações para garantir que os pacotes de cliques na loja tenham um manifesto de segurança adequado e, portanto, sejam executados sob confinamento muito estrito. Compare isso aos pacotes deb no arquivo Ubuntu - o modelo de confiança é que o software e o pacote deb são considerados confiáveis e, em geral, o software não é executado sob confinamento (embora existam muitas exceções em que um perfil do AppArmor é enviado com o software para se proteger contra bugs de segurança).
- Pacotes confiáveis também podem ser entregues via Ubuntu App Store. Embora incomuns, eles geralmente são desenvolvidos pela Canonical e podem ou não ser executados em confinamento.
Para responder suas perguntas específicas:
P: O clique é baseado no mesmo sistema que deb?
R: O formato de pacote de baixo nível para o clique é deb. No entanto, o empacotamento de cliques é muito mais simples, pois usa um manifesto declarativo e os ganchos, em vez dos arquivos de empacotamento tradicionais e scripts de mantenedor.
P: O AppArmor pode fornecer acesso privilegiado aos aplicativos sem a interação do usuário?
R: O AppArmor é forte como raiz e pode permitir ou negar acesso aos recursos do sistema (arquivos, DBus, rede, etc) com base na política de segurança definida. Um pacote de cliques sozinho não é necessário para enviar um manifesto de segurança do AppArmor ou para enviar um manifesto de segurança do AppArmor 'seguro'. O que torna o sistema seguro é a combinação de cliques e as políticas da loja que fornece pacotes de cliques. Os pacotes de cliques entregues pela Ubuntu App Store usarão a política do AppArmor que é muito restritiva e não permite ações privilegiadas nos bastidores (por exemplo, um aplicativo em execução sob essa política não pode executar programas no sistema nos bastidores, acesse sua conta do Facebook , roube suas chaves gpg ou ssh, manipule redes etc.)
P: O usuário será solicitado no momento da instalação a conceder direitos de acesso ao aplicativo, como no Android? (por exemplo, "este aplicativo pode digitalizar sua / casa e acessar a rede")
R: Não. Um pacote de cliques pode ser instalado sem aviso, usando ferramentas de nível inferior. No Ubuntu, os pacotes de clique devem ser instalados através da loja de aplicativos Ubuntu (veja acima) e, devido às políticas da loja de aplicativos Ubuntu combinadas aos recursos de clique e ao sistema Ubuntu, não há necessidade de instruções de instalação sem contexto e cliques. O Ubuntu pode fazer isso porque os aplicativos instalados na Ubuntu App Store são executados sob confinamento restritivo (ou seja, não podem fazer coisas ruins nos bastidores) e quando um aplicativo precisa de acesso adicional, ele o faz usando APIs controladas, que podem incluir avisos.
No caso de APIs privilegiadas, temos o conceito de auxiliares confiáveis, para que o usuário tenha um prompt contextual para permitir ou negar o acesso (com cache revogável (opcional) para que o usuário não seja solicitado todas as vezes). Por exemplo, se o aplicativo precisar acessar o serviço de localização (um auxiliar de confiança), o usuário será solicitado a permitir o acesso no momento em que o aplicativo tentar usar o serviço de localização, o que fornece contexto para que o usuário possa fazer uma decisão informada. O mesmo acontecerá com a gravação de vídeo e áudio. Frequentemente, não precisamos ter um prompt de segurança e podemos permitir o acesso com base em interações orientadas pelo usuário com o aplicativo. Por exemplo, se um aplicativo quiser fazer upload de uma imagem, haverá uma caixa de diálogo para selecionar a imagem. Nos bastidores, porque o aplicativo não tem permissão para acessar o diretório ~ / Pictures, ele usará a API do hub de conteúdo que iniciará o seletor de arquivo da galeria para que o usuário escolha uma imagem a ser carregada. O hub de conteúdo tira a foto da galeria e a entrega ao aplicativo. Dessa maneira, não há diálogo de segurança, existe apenas uma interação natural para o usuário, mas, nos bastidores, há uma decisão implícita de confiança.
P: Relacionado a esta pergunta: .apk e click terão linguagem semelhante em relação a políticas e experiências do usuário?
R: Não, não há solicitação de instalação pelos motivos mencionados acima. Permissões do Android e permissões de segurança para pacotes de cliques, conforme definido para o Ubuntu, têm algumas semelhanças, mas são diferentes e implementadas de maneira diferente.
P: Especificamente, com o clique, um aplicativo pode enviar todos os meus dados particulares pela rede sem que eu saiba ou estará confinado de alguma forma para evitar isso?
R: Se você instalar um clique de uma fonte não confiável, sim, ele poderá fazer qualquer coisa. Se você instalar um clique na Ubuntu App Store, não, um aplicativo não poderá enviar todos os seus dados pela rede porque não tem acesso a eles. Obviamente, um aplicativo pode parecer fazer uma coisa e fazer outra, por isso, se um usuário conceder acesso ao serviço de localização ou conceder ao aplicativo acesso a uma imagem, o aplicativo poderá ser mal com esses dados - mas é aí que as classificações / reviews e políticas de segurança da App Store entram em vigor. Se um aplicativo como esse for relatado, ele será investigado. Se apropriado, o aplicativo será removido da loja, de qualquer dispositivo em que esteja instalado e o acesso à App Store do desenvolvedor será revogado.
P: Pode-se dizer que os pacotes de cliques são mais seguros que os debs, mas menos poderosos porque são mais restritos?
UMA:Como pode ser visto acima, a resposta não é tão simples. Um clique por si só pode enviar um software que pode fazer qualquer coisa. O formato de empacotamento de cliques é intencionalmente de propósito geral e pode ser usado de várias maneiras e não é de forma alguma específico para o Ubuntu. Para o Ubuntu, a combinação de políticas de clique, APIs do Ubuntu, AppArmor e App Store fornece um ambiente muito poderoso para os desenvolvedores entregarem aplicativos aos usuários de uma maneira segura e fácil para as pessoas usarem. A utilidade dos aplicativos em si depende das APIs oferecidas aos aplicativos pelo sistema subjacente. O conjunto inicial de APIs que será oferecido nos primeiros telefones de remessa do Ubuntu permitirá que os desenvolvedores criem todos os tipos de aplicativos divertidos e úteis usando uma API e SDK avançados.