
Les auteurs de menaces distribuent de plus en plus d’APK Android malveillants (programmes d’installation d’applications packagées) qui résistent à la décompilation à l’aide d’algorithmes de compression non pris en charge, inconnus ou fortement modifiés.
Le principal avantage de cette approche est d’échapper à la détection par les outils de sécurité utilisant l’analyse statique et d’entraver l’examen par les chercheurs, retardant ainsi le développement d’une compréhension approfondie du fonctionnement d’une souche de malware Android.
Zimperium, membre de l’App Defence Alliance dédiée à l’identification et à l’élimination des logiciels malveillants de Google Play, a analysé le paysage de la résistance à la décompilation après un tweet de Joe Security qui présentait un APK qui échappe à l’analyse mais fonctionne de manière transparente sur les appareils Android.

Un rapport de zLab publié hier affirme que 3 300 APK utilisent ces méthodes anti-analyse inhabituelles, ce qui pourrait entraîner le blocage de bon nombre d’entre eux. Cependant, les chercheurs ont trouvé un sous-ensemble de 71 APK malveillants qui fonctionnent correctement sur Android OS version 9 (API 28) et versions ultérieures.
Zimperium précise qu’aucune de ces applications ne se trouve sur le Google Play Store, mais répertorie leurs hachages au bas du rapport pour aider les personnes qui se procurent des applications dans des magasins tiers à les trouver et à les désinstaller.
Astuces de compression
Les APK Android utilisent le format ZIP en deux modes, l’un sans compression et l’autre utilisant l’algorithme DEFLATE.
Les APK compressés à l’aide de méthodes de compression non prises en charge ou inconnues ne peuvent pas être installés sur Android 8 et versions antérieures, mais ils fonctionneront correctement sur les versions Android 9 et ultérieures.
Zimperium a testé les applications qu’il a échantillonnées sur des outils de décompression tels que JADX, APKtool et l’utilitaire d’archivage macOS, et aucun d’entre eux n’a pu décompresser l’APK pour analyse.
En plus d’utiliser des méthodes de compression non prises en charge, Zimperium a également découvert que les auteurs d’APK malveillants utilisaient des noms de fichiers dépassant 256 octets pour provoquer des plantages sur les outils d’analyse, corrompre le fichier AndroidManifest.xml pour l’obfuscation et utiliser des pools de chaînes malformés pour planter les outils qui séparent les fichiers XML d’Android.

Ce sont toutes des techniques anti-analyse, et bien que Zimperium ne se penche pas sur ce que font exactement ces APK malveillants, il est peu probable que l’intention de dissimuler leurs fonctions soit bénigne.
Étant donné que les APK téléchargés depuis l’extérieur de Google Play ne peuvent pas être vérifiés, la meilleure façon de se protéger contre ces menaces est d’éviter d’installer des applications Android à partir de sites tiers en premier lieu.
Si vous devez installer une application en dehors de Google Play, analysez-la avec un outil AV mobile réputé avant l’installation.
Lors de l’installation de l’application, faites attention aux autorisations demandées et recherchez tout signal d’alarme sans rapport avec la fonctionnalité principale de l’application.
Enfin, « enraciner » votre appareil Android fait de l’utilisateur un administrateur, permettant aux APK malveillants de s’exécuter avec les privilèges les plus élevés sur le système d’exploitation, ce qui est généralement déconseillé.