Existe-t-il des outils pour mettre en sandbox une application malveillante encore plus que les autorisations accordées sur Android?

59

Supposons que je veuille exécuter un programme qui demande trop d'autorisations. Par exemple, enregistrez depuis le microphone ou lisez le numéro IMEI de mon téléphone. Cependant, aucune explication pratique n’explique pourquoi l’enregistrement à partir du numéro de micro ou IMEI est nécessaire pour cette application particulière, à l’exception de l’exploration de données.

Je veux essayer cette application, mais restreindre ses autorisations. Par exemple, s'il lit IMEI, il devrait obtenir un IMEI aléatoire (mais identique à chaque fois). S'il essaie de lire le micro, il devrait se taire.

Quelques autres autorisations intéressantes:

  1. Accès en lecture / écriture au répertoire - ne renvoie aucun contact, prétend que l’écriture est OK, mais ne fait rien.
  2. Envoyer un SMS - supposez que le SMS est envoyé, mais ne faites rien.
  3. Obtenir la liste des réseaux Wi-Fi visibles - renvoyer zéro réseau.

De toute évidence, l'outil devrait nécessiter un téléphone enraciné. Existe-t-il de tels outils?

Denis Nikolaenko
la source
1
Je posais cette question sur stackexchange, mais je l’ai été ici car ce site a un public android plus large.
Denis Nikolaenko
9
Je n'ai jamais rien vu de tel, mais je ne vois pas pourquoi cela ne pourrait pas être fait. C'est une bonne idée.
Matt
1
Pourriez-vous utiliser l'émulateur dans le SDK de développement pour accomplir beaucoup de choses?
ale
5
En gros oui. L'utilisation de l'émulateur en tant que bac à sable est possible. Mais que se passe-t-il si je souhaite exécuter une application sur un téléphone physique tout en préservant ma confidentialité?
Denis Nikolaenko
Je sais que cette question est ancienne, mais pouvez-vous préciser dans quel contexte vous souhaitez tester une application malveillante sur votre appareil physique personnel et répondre à des données personnelles erronées? Pour moi, la solution actuelle de cyanogenmod (rejeter les appels, ne pas produire de fausses données) me semble suffisante.
Stéphane Gourichon

Réponses:

13

XPrivacyLua est un module pour framework Xposed qui fait exactement ce dont vous avez besoin. C'est gratuit et open source. Fonctionne sur les appareils enracinés. C'est le successeur de XPrivacy.

Installez Xposed à partir d'ici: https://forum.xda-developers.com/showthread.php?t=3034811

Vous pouvez ensuite télécharger le module XPrivacyLua à partir du référentiel Xposed via l'application Xposed Manager ou manuellement à partir d'ici:

https://repo.xposed.info/module/eu.faircode.xlua

La source:

https://github.com/M66B/XPrivacyLua


Si vous utilisez Android 5 ou une version antérieure, vous pouvez utiliser le module hérité de XPrivacy.

Xaqron
la source
Très bon outil. Exactement ce dont j'avais envie.
Denis Nikolaenko
19

Whisper Systems a mis au point une ROM personnalisée dotée de cette fonctionnalité: http://www.whispersys.com/permissions.html . Comme DarthNoodles le mentionne, cela doit être fait au niveau du système plutôt qu'au niveau de l'application, comme c'est le cas dans WhisperCore. La version actuelle ne peut pas bloquer toutes les autorisations disponibles sur Android, mais elle travaille à en supporter davantage.

Gary Peck
la source
1
Le code source est disponible seulement après l'achat ...
Denis Nikolaenko Le
Link est mort. Ont-ils changé de nom pour OpenWhisper Systems et lancé Signal? ou est-ce un groupe différent?
YetAnotherRandomUser
@YetAnotherRandomUser ouais, c'est plus ou moins le même groupe: signal.org/blog/welcome . Whisper Systems a été acquis par Twitter. Un peu plus tard, Moxie, l'un des fondateurs de Whisper Systems, a quitté Twitter pour transformer certaines des anciennes applications Whisper Systems en un projet open source qui est devenu Signal.
Gary Peck
16

CyanogenMod 7.1 possède exactement cette fonctionnalité , mais sans falsification des données, elle n’échoue que si l’application accède à l’API. La proposition visant à simuler l'IMEI a été rejetée. La falsification d'autres données, telles que les contacts, est actuellement en discussion.

Denis Nikolaenko
la source
1
Steve Kondik explique pourquoi il a été rejeté dans cet article: plus.google.com/+SteveKondik/posts/iLrvqH8tbce Extract: "J’ai rejeté ces correctifs car ils créaient un environnement hostile pour les applications, et ce n’est pas la direction dans laquelle je veux voir CM Les développeurs qui ne veulent pas que leurs applications fonctionnent dans des environnements imprévisibles. en tous cas?"
Stéphane Gourichon
9

Pas une solution absolue à votre problème, mais il existe une application sur le marché Android qui répond à vos besoins. Cela nécessite aussi nécessairement une meilleure connaissance des autorisations et aussi un périphérique enraciné.

Autorisations refusées est une application qui vous permet de contrôler efficacement les autorisations des applications installées sur votre téléphone, via le marché ou une autre source. Sachez également que refuser une application à une autorisation demandée peut entraîner la fermeture forcée de l'application. (ce qui vous oblige à avoir de meilleures connaissances sur la façon de l'utiliser)

Remarque: Cette application nécessite un accès racine. Cette application ne fonctionnera pas sur tous les appareils.

Abhirup Manna
la source
1
CyanogenMod est encore meilleur dans ce domaine, l'application est actuellement floconneuse.
Denis Nikolaenko
5

Ce n'est pas une application Sandbox, mais c'est peut-être aussi intéressant pour vous, si vous n'en avez pas déjà entendu parler.

Certains scientifiques ont démarré le projet Taintdroid . Moniteur en temps réel sur la confidentialité pour Android

NDA
la source
4

MockDroid est un autre micrologiciel universitaire doté de fonctionnalités de simulation de données.

Denis Nikolaenko
la source
3

C'est une solution logique à un problème potentiel et à une irritation de longue date de la mienne.

Cependant, vous devez vous rappeler que les solutions disponibles pour une application de sécurité le seraient également pour une application de programme malveillant. Si une application de sécurité pouvait bloquer l'accès au réseau, elle pourrait également être bloquée par un logiciel malveillant, empêchant une application de sécurité de mettre à jour des fichiers de données, par exemple.

Cela doit être fait au niveau du système, pas comme une autre application.

Voir mon post ici pour mes pensées.

DarthNoodles
la source
4
De tels outils nécessiteraient un accès root au téléphone, si vous le leur accordez, devrait avoir une confiance ultime en l'outil, comme "Autorisations refusées". Si vous accordez à la racine l'accès à une application aléatoire du marché, vous vous tirez une balle dans le pied :)
Denis Nikolaenko Le
3

LBE Privacy Guard semble être une solution très prometteuse avec des fonctionnalités interactives pour bloquer ou permettre l’activité des applications à la volée.

Denis Nikolaenko
la source
3

Une version traduite de la version chinoise de LBE est disponible sur les développeurs XDA et fonctionne très bien sur Jelly Bean. Apparemment, la version chinoise est toujours activement développée.

http://forum.xda-developers.com/showthread.php?t=1422479

Cerbère
la source
2

Des recherches sont en cours sur ce sujet. Une preuve de concept non encore publiée est implémentée pour certaines des API sensibles à la confidentialité exactement comme je l'avais proposée. Le gestionnaire de confidentialité s'appelle TISSA , abréviation de Taming Information-Stealing Smartphone Applications.

Denis Nikolaenko
la source
2

Il existe une application Privacy Blocker (payante) et Privacy Inspector (gratuite). Privacy Blocker effectue une analyse statique des applications pour les appels d'API sensibles et les réécrit en appels stub qui renvoient de fausses données. En conséquence, un nouveau fichier .apk avec une application réécrite est généré et installé. Privacy Inspector est une application qui ne signale que l'utilisation d'appels API sensibles.

Denis Nikolaenko
la source
1

Marshmallow (Android 6) a un nouveau modèle d'autorisations . Les applications ciblant Marshmallow peuvent désormais être limitées à moins d'autorisations au moment de l'exécution, et ces applications doivent échouer normalement, au lieu du modèle d'autorisations tout-ou-rien des versions précédentes d'Android. Dans Marshmallow, il s’agit d’une fonctionnalité du système d’exploitation standard, qui ne nécessite pas d’enracinement ni d’applications supplémentaires.

mat
la source
1
Salut Matt! Ce serait bien si vous allez en profondeur ici. Par exemple, le nouveau modèle d'autorisation ne donne aucun contrôle sur les autorisations Internet. Si possible, utilisez des captures d’écran pour mieux comprendre ce dont vous parlez.
Firelord
-1

Je suis à peu près certain que l'outil que vous recherchez n'existe pas encore. Mais ton idée est géniale. Peu de point cependant;

ofc; l'application peut librement lire et écrire son propre répertoire d'applications

donner de faux accès en lecture: pour chaque lecture possible (et beaucoup d'applications peuvent essayer de lire), une réponse par défaut devrait être générée; beaucoup de travail mais faisable

pourtant; donner un faux accès en écriture est beaucoup plus difficile; Que se passe-t-il si la carte SD est utilisée pour stocker de gros fichiers temporaires? comme des bitmaps. Sur un téléphone non raciné; seule place app peut écrire est la carte SD; et en utilisant le fournisseur de contenu (pour des choses comme les contacts et le calendrier). Et l'application desiger ne s'attend pas à un échec dans l'écriture des données; alors app pourrait tomber en panne.

La bonne chose à faire est que le pire qui puisse arriver, c'est que l'application puisse se bloquer.

bbaja42
la source
Pourquoi voter à la baisse? En décembre 2010, ces outils n'existaient pas vraiment.
Denis Nikolaenko