Suponha que eu queira executar algum programa que solicite muitas permissões. Por exemplo, grave no microfone ou leia IMEI do meu telefone. No entanto, não há explicação prática por que a gravação do número do microfone ou IMEI é necessária para este aplicativo em particular, exceto para mineração de dados.
Quero experimentar este aplicativo, mas restringir suas permissões. Por exemplo, se lê IMEI, deve obter IMEI aleatório (mas sempre o mesmo). Se tentar ler o microfone, deve ficar em silêncio.
Algumas outras permissões interessantes:
- Acesso de leitura / gravação da agenda telefônica - retorna zero contatos, finge que a gravação está correta, mas na verdade não faz nada.
- Enviar SMS - finja que o SMS foi enviado, mas não faça nada.
- Obtenha uma lista de redes Wi-Fi visíveis - retorne zero redes.
Obviamente, a ferramenta deve exigir um telefone enraizado. Existem tais ferramentas?
security
permissions
malware
privacy
sandboxing
Denis Nikolaenko
fonte
fonte
Respostas:
XPrivacyLua é um módulo para o framework Xposed que faz exatamente o que você precisa. É gratuito e de código aberto. Funciona em dispositivos enraizados. É o sucessor do XPrivacy.
Instale o Xposed a partir daqui: https://forum.xda-developers.com/showthread.php?t=3034811
Você pode fazer o download do módulo XPrivacyLua do repositório Xposed através do aplicativo Xposed Manager ou manualmente a partir daqui:
https://repo.xposed.info/module/eu.faircode.xlua
Fonte:
https://github.com/M66B/XPrivacyLua
Se você estiver executando o Android 5 ou inferior, poderá usar o módulo XPrivacy herdado.
fonte
A Whisper Systems lançou uma ROM personalizada com esse recurso exato: http://www.whispersys.com/permissions.html . Como o DarthNoodles menciona, isso deve ser feito no nível do sistema e não no aplicativo, e é assim que é implementado no WhisperCore. A versão atual não pode bloquear todas as permissões disponíveis no Android, mas elas estão trabalhando para oferecer suporte a mais delas.
fonte
O CyanogenMod 7.1 possui exatamente esse recurso , mas sem falsificar os dados, apenas falhando, se o aplicativo acessar a API. A proposta de falsificação do IMEI foi rejeitada. Fingir outros dados, como contatos, está atualmente em discussão.
fonte
Não é uma solução absoluta para o seu problema, mas existe um aplicativo no Android Market que atende às suas necessidades. Também requer necessariamente um melhor conhecimento sobre permissões e também um dispositivo enraizado.
Permissões negadas é um aplicativo que permite controlar efetivamente as permissões dos aplicativos instalados no telefone, via mercado ou outra fonte. Lembre-se de que negar a um aplicativo uma permissão solicitada pode resultar no fechamento forçado do aplicativo. (portanto, é necessário ter um melhor conhecimento sobre como usá-lo)
Nota: Este aplicativo requer acesso root. Este aplicativo não funcionará em todos os dispositivos.
fonte
Este não é um aplicativo Sandbox, mas talvez também seja interessante para você, se você ainda não ouviu falar.
Alguns cientistas iniciaram o projeto Taintdroid . Monitoramento de privacidade em tempo real para Android
fonte
O MockDroid é outro firmware acadêmico com recursos de falsificação de dados.
fonte
Existe uma excelente ferramenta PDroid . É um aplicativo e um conjunto de patches de ROM, que permitem solicitações de permissão de interceptação e falsificação. Aqui estão os patches PDroid Jellybean ROM Fork
fonte
É uma solução lógica para um problema em potencial e uma longa irritação minha.
No entanto, lembre-se de que quaisquer soluções disponíveis para um aplicativo de segurança também estariam disponíveis para um aplicativo de malware. Se um aplicativo de segurança puder bloquear o acesso à rede, um aplicativo de malware também poderá bloqueá-lo, impedindo que um aplicativo de segurança atualize os arquivos de dados, por exemplo.
Ele precisa ser feito no nível do sistema, não como outro aplicativo.
Veja meu post aqui para meus pensamentos.
fonte
O LBE Privacy Guard parece ser uma solução muito promissora com recursos interativos para bloquear ou permitir a atividade do aplicativo em tempo real.
fonte
Uma versão traduzida da versão chinesa do LBE está disponível nos desenvolvedores do XDA e funciona muito bem no Jelly Bean. Aparentemente, a versão chinesa ainda está ativamente desenvolvida.
http://forum.xda-developers.com/showthread.php?t=1422479
fonte
Há uma pesquisa em andamento sobre esse assunto. Uma prova de conceito ainda não lançada é implementada para algumas das APIs sensíveis à privacidade exatamente como eu propus. O gerenciador de privacidade é chamado TISSA , abreviação de Domar aplicativos para smartphones que roubam informações.
fonte
Existem aplicativos bloqueador de privacidade (pago) e inspetor de privacidade (gratuito). O Privacy Blocker faz uma análise estática dos aplicativos para chamadas sensíveis à API e reescreve essas chamadas em stub que retornam dados falsos. Como resultado, um novo .apk com aplicativo reescrito é gerado e instalado. O Inspetor de privacidade é um aplicativo que informa apenas o uso de chamadas sensíveis à API.
fonte
Marshmallow (Android 6) tem um novo modelo de permissões . Os aplicativos direcionados ao Marshmallow agora podem ser restritos a menos permissões em tempo de execução, e esses aplicativos devem falhar normalmente, em vez do modelo de permissões de tudo ou nada das versões anteriores do Android. No Marshmallow, esse é um recurso do sistema operacional padrão e não requer root ou aplicativos adicionais.
fonte
Estou bastante certo de que a ferramenta que você procura ainda não existe. Mas sua ideia é ótima. Poucos pontos, porém;
ofc; o aplicativo pode ler e escrever livremente seu próprio diretório de aplicativos
fornecendo acesso de leitura falso: para cada leitura possível (e há muito o que o aplicativo pode tentar ler) deve ser gerada uma resposta padrão; muito trabalho, mas factível
Contudo; conceder acesso de gravação falso é muito mais difícil; e se ele usar cartão SD para armazenar grandes arquivos temporários; como bitmaps. No telefone não rooteado; o único local em que o aplicativo pode escrever é o cartão SD; e usando o provedor de conteúdo (para itens como contatos e calendário). E o aplicativo desiger não espera falhar na gravação de dados; para que o aplicativo possa falhar.
O bom é que o pior que pode acontecer é que o aplicativo possa falhar.
fonte