Introduction au monde de la virtualisation – Partie II

Par Egidijus Lileika, chercheur principal en sécurité

 

Bienvenue dans la deuxième partie de notre série sur la virtualisation. Cette étude vise à comprendre le potentiel de la virtualisation d'applications comme vecteur d'attaque. Douze applications de virtualisation ont été testées dans des cas d'utilisation classiques et comme outils de piratage. Le produit Application Protection for Android a été évalué comme solution d'atténuation des risques pour toutes les applications de virtualisation testées.

Évaluation des applications de virtualisation

Cette section passe en revue les applications de virtualisation open source et propriétaires les plus populaires. Chaque application est évaluée selon sa facilité d'utilisation, sa simplicité de compilation ou de modification, et son efficacité à protéger contre les attaques dans l'environnement virtualisé grâce à la protection des applications Android. Nous avons tenté de recenser des applications représentatives de toutes les méthodes de virtualisation. Certaines applications étant plus populaires que d'autres, elles sont présentées par ordre de popularité décroissante.

Open source

Application virtuelle

Application virtuelle Il s'agit d'un système Android partiellement virtualisé. La liste complète des fonctionnalités est disponible dans le fichier README.MD du projet. Ce projet était open source jusqu'en 2017 et n'a pas été mis à jour depuis. Cependant, les clients premium peuvent toujours obtenir les versions plus récentes, dont le code source est désormais fermé. Aucun binaire précompilé n'est disponible sur GitHub. La compilation du code source est complexe et de nombreuses erreurs nécessitent une correction manuelle.

Le projet comporte de nombreuses ramifications. fourche suivante Il prend en charge les versions d'Android sorties après 2017.

Nos premières tentatives de compilation de VirtualApp ont échoué, mais le projet est considéré comme une source d'inspiration pour d'autres projets de virtualisation.

Protection des applications pour Android déclenchée : Détection de virtualisation

VirtuelXposed

Le VirtuelXposed VirtualXposed est une autre virtualisation partielle d'Android basée sur le projet VirtualApp. Sa principale caractéristique est de permettre l'utilisation du framework Xposed sur un appareil non rooté, dans un environnement virtualisé. Ce projet souffre de problèmes de stabilité. VirtualXposed n'a pas réussi à installer l'extension Xposed sur les deux appareils utilisés pour les tests. Sur l'un d'eux, VirtualXposed n'a même pas réussi à lancer l'application virtualisée. De nombreux autres projets tentent de reproduire le concept de VirtualXposed.

La protection des applications pour Android déclenche les mécanismes suivants : détection de virtualisation, détection de hook, détection d’instrumentation dynamique, détection de root, vérification de signature et détection d’émulateur, ce qui provoque le plantage de l’application.

VirtualApp2022

VirtualApp2022 Inspiré de VirtualXposed et basé sur VirtualApp, ce plugin fonctionne parfaitement sous Android 11. Dans le fichier README.MD, le développeur indique qu'il prend en charge les plugins Xposed.

Protection des applications pour Android déclenchée : Détection de virtualisation

Twoyi

Twoyi Twoyi est une application système Android qui virtualise des images ROM complètes. Par défaut, elle virtualise Android 8.1.0 avec l'application Superuser préinstallée. Puisque Twoyi peut virtualiser des images ROM personnalisées, elle pourrait, en théorie, être utilisée pour virtualiser des ROM modifiées avec Magisk, exécuter LSPosed ou d'autres outils malveillants.

Protection des applications pour Android déclenchée : détection de root et détection d’émulateur

MultiApp

MultiApp Fonctionne bien. Il est difficile de déterminer la technique de virtualisation exacte utilisée par MultiApp, mais il s'agit probablement d'une virtualisation partielle du système Android ou d'une virtualisation des applications en tant qu'hôte. Ce projet n'est que partiellement ouvert : l'interface utilisateur et le lanceur de l'application sont open source, mais la logique de virtualisation principale est distribuée sous forme de fichiers JAR et APK précompilés.

Protection des applications pour Android déclenchée : Détection de virtualisation

Taï chi

Taï chi est une application de virtualisation inspirée de VirtualXposed, capable d'utiliser des modules Xposed sur des appareils non rootés. Malheureusement, ce projet est instable : l'installation et l'exécution d'applications virtualisées ont échoué sur les deux appareils de test.

Protection des applications pour Android déclenchée : Détection virtuelle

VirtualApk, Phantom et DroidPlugin

VirtualApk, Phantom et DroidPlugin Les projets sont des kits de développement logiciel (SDK) permettant aux utilisateurs de créer des applications hôtes capables de virtualiser des applications cibles. Faute de temps, ces frameworks n'ont pas été testés.

Protection des applications pour Android déclenchée : – Détection de virtualisation

Source fermée

espace parallèle, double espace, Et d'autres

Autres:

  • https://play.google.com/store/apps/details?id=com.excelliance.multiaccounts&hl=en&gl=US
  • https://play.google.com/store/apps/details?id=multi.parallel.dualspace.cloner&hl=en&gl=US
  • https://play.google.com/store/apps/details?id=com.cloneapp.parallelspace.dualspace&hl=en&gl=US
  • https://play.google.com/store/apps/details?id=com.excelliance.multiaccount&hl=en&gl=US
  • https://play.google.com/store/apps/details?id=com.excean.parallelspace&hl=en&gl=US
  • https://play.google.com/store/apps/details?id=do.multiple.cloner&hl=en&gl=US
  • https://www.apkmirror.com/apk/nox-ltd/noxapp-multiple-accounts-clone-app/

Parallel Space est l'une des applications de virtualisation les plus populaires du Google Play Store. Pour l'utiliser avec GameGuardian, il est nécessaire de télécharger une version « optimisée » non officielle de l'application depuis le forum GameGuardian.

Versions optimisées pour GameGuardian :

  • https://gameguardian.net/forum/files/file/120-parallel-space-32-bit-support-64-bit-support/
  • https://gameguardian.net/forum/files/file/213-dualspace-32-bit-support-64-bit-support/
  • https://gameguardian.net/forum/files/file/194-virtual-space/
  • https://gameguardian.net/forum/files/file/225-octopus-32-bit-support-64-bit-support/
  • https://gameguardian.net/forum/files/file/122-go-multiple/

Protection des applications pour Android déclenchée : détection de virtualisation et détection d’instrumentation dynamique (falsification de la mémoire en espace parallèle détectée)

SpaceCore

SpaceCore Il s'agit d'une nouvelle application de virtualisation partiellement open source. La logique de virtualisation est propriétaire. L'application ne peut pas être compilée à partir du code source car celui-ci est manquant. Les versions de démonstration sont stables et permettent d'exécuter la plupart des applications testées. Le menu contient un emplacement réservé pour Xposed Manager, qui n'est pas encore disponible.

Protection des applications pour Android déclenchée : Détection de virtualisation

AppCloner

AppCloner Il s'agit d'une virtualisation par reconditionnement qui consiste à reconditionner l'application cible sous un autre nom de package et à l'installer sur le système. Cette technique de virtualisation est simple, mais ne peut être utilisée conjointement avec d'autres outils malveillants pour altérer des applications cibles sans accès root.

Protection des applications pour Android déclenchée : Détection de virtualisation

Île

Île Island est une solution de virtualisation basée sur des profils professionnels qui isole les applications au sein de ces profils. Lors de la création de la protection des applications pour la virtualisation Android, les rapports ont indiqué qu'Island était utilisé pour isoler les applications cibles des autres applications et que GameGuardian était utilisé pour modifier la mémoire des applications sans être détecté.

Protection des applications pour Android déclenchée : Détection de virtualisation

Résumé

La virtualisation est utile aussi bien aux utilisateurs légitimes qu'aux acteurs malveillants. De nombreuses applications de virtualisation permettent à ces derniers de créer virtuellement un environnement malveillant sur un appareil non rooté. Malgré l'existence de nombreux projets open source, la plupart d'entre eux sont difficiles à compiler et à modifier.

La virtualisation peut être mise en œuvre de différentes manières, allant du simple reconditionnement d'applications à la virtualisation complète du système Android. Toutes les applications de virtualisation testées dans le cadre de cet article ont été détectées par le produit Application Protection for Android.

Ressources additionnelles

https://github.com/pianpian315/VirtualAndroid/blob/master/Mobile%20Virtualization%20Technologies.pdf

https://github.com/ysrc/AntiVirtualApp

 

Rattrapez votre retard sur la première partie de la série, que vous pouvez trouver ici.

Vous aimerez aussi