5 votes

Comment auditer les applications Android (pour l'activité de capture d'écran)

Comment puis-je auditer les applications de mon Android pour déterminer quelles sont les applications qui prennent des captures d'écran de mon activité ?

J'ai récemment installé et exécuté diskdigger pour annuler une image que j'avais accidentellement supprimée, mais les restes d'image que diskdigger a trouvés étaient choquants. Il y avait des dizaines (peut-être >100 ?) de captures d'écran de mon activité - allant de clichés inoffensifs de mon écran d'accueil à des images prises lorsque j'étais dans mes applications de chat (cryptées) et mon portefeuille de bitcoins.

Inutile de dire que je n'ai pas pris ou supprimé ces captures d'écran.

Mon téléphone est un Nexus 5X rooté fonctionnant sous Lineage OS 15-1 (Android 8.1.0). J'utilise principalement des logiciels de fdroid, bien que j'ai quelques sideloaded de yalp (je n'ai pas gapps installé), comme whatsapp et diskdigger.

Comment puis-je vérifier les applications que j'ai installées pour déterminer qui est responsable de la prise (puis de la suppression) de ces captures d'écran de mon activité ? Pour commencer, comment puis-je :

  1. Liste de toutes mes applications, triées par le nombre de fois où l'application a pris une photo.
    capture d'écran depuis l'installation
  2. Liste de toutes mes applications, triées par le nombre de fois où l'application a écrit un message d'erreur. fichier sur le disque depuis son installation
  3. Générer un journal et/ou un toast à chaque fois qu'une capture d'écran est capture d'écran, en enregistrant l'horodatage, l'application responsable et le nom du fichier.
  4. Générer un journal et/ou un toast chaque fois qu'une application écrit un fichier sur le disque, en enregistrant l'horodatage, l'application responsable et le nom du fichier.
  5. Générer un journal et/ou un toast chaque fois qu'une application supprime un fichier de disque, en enregistrant l'horodatage, l'application responsable et le nom du fichier.

TIA !

4voto

pr0nin Points 353

Faire une capture d'écran nécessite des permissions Root ou système (ou un exploit Root). Je suppose que votre ROM est une version officielle de Lineage. En supposant que leur clé de signature n'a pas été divulguée, l'application que vous recherchez devrait utiliser les autorisations Root qui font partie du système d'exploitation. Par conséquent, une première étape serait de révoquer toutes les autorisations pour les applications d'utiliser les autorisations Root.

  1. Liste de toutes mes applications, triées par le nombre de fois où l'application a pris une photo. capture d'écran depuis son installation

Android est un système d'exploitation optimisé pour les smartphones à mémoire flash. La mémoire flash se dégrade en écrivant dessus, c'est pourquoi Android est optimisé pour réduire les opérations d'écriture. Par conséquent, Android ne crée pas de grands fichiers journaux. Seuls quelques petits journaux en RAM existent (par exemple, logcat). Par conséquent, il n'existe pas de journal qui enregistre quelle application a créé une capture d'écran.

  1. Liste de toutes mes applications, classées par nombre de fois où l'application a écrit un fichier sur le disque depuis son installation.

Encore une fois, il n'y a pas de tel journal. Cependant, si l'application est toujours active, vous pouvez surveiller l'activité du "disque" en utilisant inotifywait-for-Android - une application en ligne de commande qui peut enregistrer les accès en lecture et/ou en écriture à certains dossiers sur votre téléphone. Il semble que vous devez le compiler vous-même en utilisant NDK avant de l'utiliser - je n'ai pas trouvé de version pré-compilée.

Une API similaire à celle utilisée par inotifytools est disponible pour les applications Android, il peut donc y avoir des applications fournissant une fonctionnalité similaire.

  1. Génération d'un journal et/ou d'un toast à chaque fois qu'une capture d'écran est réalisée, avec enregistrement de l'horodatage, de l'application responsable et du nom du fichier.

Si les captures d'écran que vous avez trouvées ont été créées à l'aide de la fonction screencap (l'outil Android pour créer des captures d'écran qui est inclus dans Android), vous pouvez essayer de remplacer ce binaire par un autre binaire.

Cependant, si les captures d'écran ont été créées de manière différente, je ne vois pas comment détecter ou empêcher cela.

  1. Générer un journal et/ou un toast chaque fois qu'une application écrit un fichier sur le disque - en enregistrant l'horodatage, l'application responsable et le nom du fichier.
  2. Générer un journal et/ou un toast chaque fois qu'une application supprime un fichier du disque - en enregistrant l'horodatage, l'application responsable et le nom du fichier.

-> Voir ce que j'ai écrit en (2.) à propos de inotifytools

0voto

Michael Altfield Points 243

Vous pouvez également utiliser les règles de stratégie de selinux en mode permissif pour auditer une application Android, mais Google rend intentionnellement cela extrêmement difficile.

Au cas où cela intéresserait quelqu'un, j'ai fini par trouver l'origine des captures d'écran : il s'agit du sélecteur d'"applications récentes" intégré à Android. Pour plus d'informations, j'ai documenté mon processus d'investigation et mes découvertes sur mon blog.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X