Quais são as diferenças de segurança entre o pacote click e .deb?

31

Instalar um .deb aleatório (desagradável?) Pode ser perigoso porque concederá todos os privilégios aos aplicativos e daemon instalados porque o .deb possui algumas configurações solicitando a aplicação se o usuário validar sua senha no processo de instalação.

O pacote Click não precisa de uma senha (até onde eu testei).

O clique no pacote será mais seguro para o sistema / dados do usuário ou será o mesmo? porque?

Alguns aspectos que seriam ótimos para serem respondidos:

  • são click e deb baseados no mesmo sistema (dpkg)?
  • o apparmor pode fornecer acesso root a aplicativos sem senha ou algo assim?
  • o usuário será solicitado a aceitar os direitos de acesso dos aplicativos ao instalar (exemplo do tipo android: esses aplicativos poderão verificar sua rede / doméstica e de acesso) ou em execução com a necessidade de um direito (exemplo do navegador) pedindo o direito de usar a câmera) ?
  • perto desta pergunta: .apk e click terão a mesma palavra (sobre políticas e história do usuário) ?
  • principalmente: um aplicativo pode enviar todos os meus dados privados na rede com um clique sem que eu os saiba explicitamente ou terá pelo menos o direito validado pelos usuários para fazê-lo ou será bloqueado em uma sandbox?
  • É verdade dizer: o pacote de cliques é menos poderoso (restringe mais coisas), mas é mais seguro?
cm-t
fonte
Eu queria adicionar a tag "clique", mas não possuía reputação suficiente para fazê-lo. A última frase deveria estar em itálico .
cm-t
tag click-packagesjá está disponível.
Pandya
Nota: os pacotes de cliques estão em desenvolvimento, gostaria de ter uma resposta para o destino do próximo pacote de cliques estável.
cm-t

Respostas:

35

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.

jdstrand
fonte
1
"o aplicativo será removido de qualquer dispositivo em que esteja instalado" - isso parece preocupante. Isso significa que a Canonical poderá desinstalar remotamente aplicativos dos dispositivos dos usuários sem a permissão deles?
A Ubuntu App Store terá esse recurso. O exercício desse recurso provavelmente só será feito quando houver código ativamente malicioso envolvido. Não quero ditar políticas aqui, pois ainda há uma série de considerações a serem analisadas, mas o ponto principal é que isso não deve ser algo que acontece sem uma boa razão.
Jdstrand
2
Entendo que isso é para a segurança dos usuários (outras lojas de aplicativos também fazem isso), mas alguns usuários não gostam desse tipo de "interruptores de interrupção", porque isso significa que uma empresa pode desinstalar remotamente aplicativos (ou mais), mesmo que seja por razões de segurança. Eu acho que os desenvolvedores devem considerar cuidadosamente como implementar isso, para evitar uma controvérsia. Talvez desative o aplicativo em vez de removê-lo, permitindo que o usuário o desinstale ou o reative sozinho e mostre avisos muito importantes ... como sugestão.
Se Click empacota suas próprias dependências, e as atualizações de segurança de uma dependência? Se o bash deb for atualizado, todos os outros pacotes usando o bash naturalmente usarão a nova versão. No entanto, se um pacote de aplicativos Click bash, a menos que o desenvolvedor do aplicativo tenha o cuidado de incluir uma atualização atualizada, o bug ainda está lá e, supondo que o desenvolvedor do aplicativo atualize frequentemente o pacote. Observe isso neste cenário, imagine que o bash não é um pacote base.
Hendy Irawan
Isso parece tão legal! Ainda melhor que o sistema Android! As permissões do Android tornaram-se algo como o EULA, basta clicar em "sim" sem ler ...
Galgalesh
2

Vou tentar responder a algumas das perguntas mais importantes sobre segurança e clicar em pacotes.

  • Um aplicativo pode enviar todos os meus dados particulares na rede com um clique, sem que eu os saiba explicitamente?

    • Os aplicativos de clique serão executados sob confinamento. O que isso significa é que o aplicativo é impedido de fazer coisas ruins: ele só pode acessar seu próprio diretório privado.
  • Os aplicativos podem ser instalados e ter direitos de root? sem senha ou prompt específico?

    • ...
  • O usuário será solicitado a aceitar o direito dos aplicativos? quando?

    • Clique em aplicativos para acessar os recursos que o usuário permite que o aplicativo use (NB: prompt ainda não está disponível na versão atual / diária do Ubuntu Touch) .
  • É baseado no mesmo sistema para click e deb?

    • O pacote Debian (.deb) é completamente diferente. No entanto, se seu aplicativo for feito com o SDK do Ubuntu, você não precisará usar o pacote Debian e poderá usar o pacote Click, que é muito mais fácil de usar e muito mais seguro para o usuário final.
  • Semelhante ao anterior, para comparar: Faça .apk (Android) e clique em trabalhar da mesma maneira?

    • Pacotes Android e pacotes Ubuntu Click funcionarão de maneira semelhante, pois cada aplicativo terá seu próprio espaço para armazenar dados e que (idealmente) é proibido acessar diretamente os dados de outros aplicativos. Atualmente, os pacotes do Android também podem ler dados do cartão SD ou armazenamento interno, onde não há restrições de acesso. Os pacotes Ubuntu Click também precisarão solicitar permissões para recursos específicos.
  • É verdade dizer: pacotes de cliques são menos poderosos (restringem mais coisas), mas são mais seguros?

    • ...

Por esses motivos, os pacotes Click são muito seguros e o processo de revisão para publicá-los é muito mais simples.

Fontes:

cm-t
fonte
Por favor, complete esta resposta como você acha que é a melhor
cm-t