Há alguns dias, eu escrevi um artigo aqui discutindo algumas mudanças no tratamento de permissões da Google Play Store e como essas mudanças podem trazer riscos adversos à privacidade dos usuários. Os comentários sobre esse artigo indicaram uma enorme preocupação por parte dos leitores quanto à permissões sendo usadas por aplicativos, com muitos procurando usar App Ops ou XPrivacy para proteger eles mesmos.
Hoje, farei um pequeno desvio e examinarei as permissões necessárias para dois aplicativos populares: o teclado original do Google e o SwiftKey. Ambos são aplicativos de teclado e estão disponíveis para download gratuitamente na Play Store (esta última agora sendo "freemium" com temas pagos disponíveis).
Apesar desses aplicativos terem acesso direto a cada tecla que você pressiona, ao inserir cada URL que você visita, mensagem de texto ou e-mail você enviar e a senha que você digita, parece que poucas pessoas realmente consideram as permissões usadas pelo teclado e as implicações de esse.
Teclado do Google
Vamos dar uma olhada no teclado do Google. Observe que tive que editar a imagem abaixo, pois a interface da web da Play Store faz o possível para evitar que você veja a lista completa de permissões em uma visualização, mesmo com um monitor de 20" na orientação vertical, ainda optou por ocultar a maioria delas nesta rolagem visualizar. Para seu prazer, no entanto, reuni a lista em uma única visualização.
Vamos dar uma olhada no que está acontecendo aqui. Em primeiro lugar, o Teclado do Google tem acesso ao seu próprio cartão de contato e às contas do seu dispositivo. Isso significa que ele tem a capacidade de saber quem você é e todas as contas de e-mail (e outras) disponíveis no seu dispositivo. Isso significa que é possível que eles vejam quais contas do Google/Dropbox/Twitter/Microsoft Exchange/Facebook você tem disponíveis no seu telefone. Não tenho absolutamente nenhuma ideia de por que isso é necessário, nem por que as pessoas estão dispostas a fornecer essas informações.
Em seguida, o aplicativo pode ler seus contatos. Isso é justo - o Google obviamente deseja adicionar seus nomes de contato aos bancos de dados do corretor ortográfico e do preenchimento automático. Isso faz sentido e é algo justificável para um teclado. A capacidade de modificar ou excluir o conteúdo do armazenamento USB é um tanto estranha, mas embora permita o acesso a todos os seus dados armazenados no seu "cartão SD", infelizmente não há uma maneira real de fazer isso de forma mais granular caminho. Idealmente, o Google usaria apenas o seguro /data/data armazenamento e, portanto, não precisaria disso. Alternativamente, eles poderiam usar contêineres ASEC para obter mais espaço de armazenamento em seu cartão SD de forma transparente, sem exigir qualquer acesso aos seus arquivos pessoais no cartão SD.
A capacidade de baixar arquivos sem notificação é onde tudo começa a ficar preocupante - observe que essas permissões estão escondidas na parte inferior da lista, então você deve rolar para chegar eles. O motivo pelo qual um teclado precisa não apenas baixar arquivos, mas fazê-lo sem avisar o usuário, certamente é preocupante. Quantos dados ele realmente precisa baixar sem avisar?
A capacidade de execução na inicialização é boa. Isso é algo que você esperaria razoavelmente de um aplicativo de teclado. Por outro lado, escondido, imediatamente após a permissão talvez mais inócua, está o mais invasivo: acesso total à Internet.
Sim, é isso mesmo, o Teclado do Google tem acesso total e irrestrito à Internet, bem como às teclas digitadas, aos contatos, ao conteúdo do cartão SD e à identidade. E nossa lista de permissões imediatamente diz que o Teclado do Google pode usar seu teclado de forma inofensiva. Alguém acha que há um pouco de "esconder" as permissões desagradáveis que estão acontecendo aqui?
As próximas duas permissões são inócuas e permitem acesso novamente ao dicionário personalizado do usuário, totalmente esperado de um aplicativo de teclado. Por fim, é solicitada a permissão para visualizar as conexões de rede. Mais uma vez, não posso oferecer nenhuma ideia de por que isso é necessário, a não ser para facilitar as outras permissões existentes para acessar a Internet sem o seu conhecimento.
Como teclado, a oferta do Google é ironicamente bem dotada de permissões. Na verdade, neste ponto, pensei que seria difícil encontrar um teclado que tivesse ainda menos consideração pela privacidade do usuário na seleção de permissões. Infelizmente, eu estava errado.
Tecla rápida
O SwiftKey, que recentemente se tornou um aplicativo gratuito, é um teclado de terceiros muito popular, frequentemente elogiado por seu algoritmo de previsão ser capaz de prever a próxima palavra que você usará. No entanto, isso tem um custo no uso de permissões? Mais uma vez, expandi esta lista, que foi agrupada pela interface da web da Play Store em uma lista de rolagem, para que você possa ver todas as permissões de uma vez.
À primeira vista, o SwiftKey parece ser bastante semelhante em sua seleção de permissões ao Teclado do Google. A adição de compras no aplicativo se deve ao seu recente relançamento como um aplicativo gratuito (em vez de um aplicativo de pagamento adiantado) e não é uma grande preocupação para a privacidade.
Nosso primeiro diferencial é que o SwiftKey tem acesso para leitura de mensagens SMS e MMS. Isso faz sentido, visto que o SwiftKey possui um recurso para aprender padrões de linguagem a partir de mensagens. Infelizmente, dado que o SwiftKey é um aplicativo de código fechado (como o Teclado do Google), é difícil dizer exatamente o que é feito com esses dados - mais opções de teclado de código aberto e de alta qualidade são definitivamente necessárias no mercado!
Outra diferença é que o SwiftKey reivindica a infame permissão “READ_PHONE_STATE”. Isso dá acesso aos seus identificadores IMEI, IMSI e SIMID, bem como aos números de telefonee os detalhes da outra parte em qualquer chamada (incluindo o número de telefone). Neste ponto, não consigo pensar em nada a acrescentar aqui sobre por que o SwiftKey pode precisar desses dados. Claro, todos os aplicativos compatíveis com Android 1.5 são mostrados como usando essa permissão, já que não havia permissão dedicada para isso naquele momento. O Android 1.5 é uma relíquia de 2009, portanto não há desculpa para que ele esteja presente hoje. Só posso supor que o SwiftKey, em sua infinita sabedoria, decidiu que gostaria de poder rastrear seus usuários e precisava ter um identificador de hardware exclusivo como o IMEI para fazer isso. Infelizmente, embora o Google proíba o uso do IMEI para rastreamento de publicidade (eles querem que seu ID de publicidade redefinível pelo usuário seja usado), eles não têm um proibição geral do uso de identificadores de dispositivos em geral, que podem ser usados para rastrear seu uso entre aplicativos e fornecer um meio persistente de identificá-lo em futuro.
Mais uma vez, o SwiftKey apresentava acesso total à Internet, uma permissão escondida na seção “outros”. Sou o único que está um pouco preocupado com o fato de o SwiftKey ter acesso total à Internet, bem como a todos dos outros dados que ele está acessando (como mensagens SMS, detalhes de sua identidade e contas, e IMEI)?
Conclusão
Fica claro apenas com uma breve olhada nas permissões de dois teclados populares - um sendo o do Google e outro sendo SwiftKey – que existem algumas perguntas importantes a serem feitas sobre o uso de permissões no Android “sensível à segurança” formulários. O iOS 8 da Apple pretende introduzir teclados de terceiros no próximo lançamento, sem acesso à Internet disponível para esses aplicativos por padrão e uma oportunidade para o usuário negar o acesso do teclado à Internet se ele solicitar isto.
No Android, os usuários de ações não têm essa opção. Felizmente, se você for um usuário rooteado executando o Xposed Framework, o XPrivacy ajuda aqui. Bloqueei todas as permissões do SwiftKey, com exceção do acesso ao dicionário do usuário e ao cartão SD (onde ele armazena seus dados), e ele funciona perfeitamente bem. Posso não obter as "vantagens" de um teclado conectado à Internet (por que, pelo amor de tudo o que é Android, meu teclado quer que eu entre no G + para obter recursos de "nuvem"? É um teclado!!)
É claro que a Play Store certamente está tentando dificultar a visualização de quais permissões estão sendo usados por aplicativos, e as novas alterações nas permissões categorizadas representam riscos totalmente separados e significativos, como EU destacado recentemente. Talvez seja a hora de os usuários com experiência técnica pararem e avaliarem o que instalaram em seus telefones e em quais aplicativos eles confiam ao pressionar todas as teclas. Você está satisfeito com o seu teclado acessando a Internet sem o seu conhecimento? Você sabia que ele poderia fazer isso quando você o instalasse? Muitas perguntas, é hora dos usuários exigirem respostas dos desenvolvedores e assumirem o controle de sua própria privacidade, pois está claro que o Google e os desenvolvedores de aplicativos não estão interessados em fazer isso.