Como as permissões de aplicativos serão tratadas no Ubuntu Touch?

19

A maioria dos elementos do hardware ou conjuntos de dados compartilhados entre aplicativos na plataforma Android e iOS são fortemente controlados e fornecidos somente aos aplicativos explicitamente, conforme a necessidade de conhecimento. Isso pode permitir que o usuário verifique, por exemplo, que um aplicativo malicioso de lanterna não está carregando sua localização e lista de contatos.

Na área de trabalho no Ubuntu, existem efetivamente dois níveis de controle de permissão: usuário e raiz. No caso do usuário, não há muita restrição. Ele ainda pode se conectar à Internet, interagir com a maioria dos hardwares de que gosta e ler / gravar arquivos /home/user/. Esse modelo pressupõe que o usuário seja competente o suficiente para garantir que um aplicativo que ele está usando seja legítimo (o que é muito fácil com o software de código aberto).

Portanto, minha pergunta é: que tipo de restrições e controle sobre as habilidades de um aplicativo haverá na plataforma móvel? E, como é o mesmo sistema operacional, como esse sistema transbordará para a área de trabalho? Todos os programas precisam estar em área restrita?

Estou bastante interessado em conhecer o plano :)

PS. Uma coisa que eu gosto na maneira como o iOS faz isso no Android é que muitas permissões devem ser explicitamente aprovadas pelo usuário quando ele é executado pela primeira vez. O resultado é que, se você não quiser informar ao aplicativo do Facebook onde está, basta desabilitá-lo, em comparação com o Android, onde é necessário desinstalar o aplicativo e Get Over It ™.

O sistema que eu gostaria de ver é pedir permissão com a opção "Só desta vez" e "Sempre", quando o aplicativo precisar dessa permissão para executar um comando . Deseja encontrar-se no mapa? Peça permissão de localização. Assim como a manipulação de algumas APIs HTML5.

Jonah
fonte
3
Eu gosto da sua pergunta. É uma das coisas irritantes para mim que alguns aplicativos no Android solicitem muitos privilégios e eu nem entendo para que os aplicativos precisam. Considerando o estágio inicial do sistema, ainda não há muito foco nessa questão. Mas ganhará mais importância na fase posterior.
NilsB
2
Embora eu goste da sua pergunta em teoria, na aplicação, isso significa que a parte do "linux puro no braço" desaparece (o que, na minha opinião, era sua vantagem mais interessante). Talvez - leia como esperançosamente - eles implementem cada aplicativo como um usuário semelhante ao que os serviços fazem agora.
RobotHumans
1
Realmente não significa nada sobre acesso a hardware. Isso é gerenciado por grupos, como no Linux regular puro. As pessoas esquecem isso porque seu usuário faz parte magicamente do grupo de áudio ou de discagem para usb-ttys ou qualquer outra coisa. Acesso sem fio? Aplicativos assinam solicitações enviadas por dbus, problema resolvido. Permissões do Linux funcionam.
RobotHumans
1
Eu não estou na equipe de desenvolvimento, mas os dispositivos de áudio exigem que o usuário esteja no grupo relevante, assim como os dispositivos tty, etc. no vanilla ubuntu.
RobotHumans
1
Pelo menos dispositivos de áudio, modems, wlan, ethernet, gpu, cpu, ram, dvd, usb, leitor de cartão, bluetooth, impressoras, webcams, ata, sata, esata, teclado, mouse, touchpad e acesso ao leitor de impressão digital podem ser restritos com base em grupos OU / e usuários. Todo dispositivo acessado através do nó do dispositivo tem sua própria permissão / grp. Se o aplicativo usar soquetes, basta definir grupos / permissões. Também existem maneiras diferentes ( sim, você também tem opções ) de restringir a comunicação entre aplicativos, serviços e assim por diante ( já mencionado o D-Bus e outros serviços do tipo RPC ). Mesmo lspoderia ser restrito. Esta caixa tem restrição de comprimento ...
GoFundMonica - codidact.org

Respostas:

5

Isso está sendo trabalhado como parte das especificações do Ubuntu App Developer Upload , em particular, a seção sobre segurança .

Isso ainda está nos estágios iniciais, mas como um extrato das especificações e para fornecer algum contexto:

Depois que um aplicativo é instalado, o AppArmor fornecerá uma caixa de proteção para proteger o usuário contra códigos maliciosos ou simplesmente quebrados. Para fazer isso, cada aplicativo precisará de um perfil adequadamente construído e minimamente permissivo para restringir o que seu aplicativo pode acessar no sistema local.

Os aplicativos terão uma área restrita via AppArmor e as permissões serão concedidas de acordo com o perfil de segurança do AppArmor do aplicativo.

David Planella
fonte
Eu acho que isso significa que eles obtêm as permissões quando estão instalados?
Jonah