Des chercheurs ont découvert un nouveau logiciel malveillant Android nommé Hirudo, qui cible les utilisateurs de services bancaires en remplaçant les applications bancaires légitimes par des versions modifiées sur l’appareil. Selon un rapport de la société de sécurité mobile ThreatFabric, le logiciel utilise un moteur d’injection de code afin de contourner les contrôles de signature des applications, les services d’accessibilité et Play Integrity.
Des versions malveillantes de huit applications bancaires ont été détectées, dont des applications appartenant à au moins sept banques indonésiennes. La campagne a également ciblé des établissements financiers en Chine, en Inde, au Mexique, au Maroc et en Thaïlande, tandis que le nombre de victimes demeure inconnu.
Comment Hirudo atteint-elle les appareils ?
Le logiciel malveillant arrive généralement par l’intermédiaire d’applications qui semblent normales et proposent des fonctions d’achat ou du contenu de divertissement, comme Shopora, 1V1 X, ZoyaTV et KoiShort. Ces applications servent de téléchargeurs pour le logiciel malveillant, puis affichent une fausse notification de mise à jour qui incite l’utilisateur à leur accorder des autorisations supplémentaires, notamment l’autorisation d’accessibilité.
Après l’activation de cette autorisation, l’application malveillante commence par supprimer la véritable application bancaire, puis télécharge une version modifiée et tente de l’installer. ThreatFabric décrit ce processus comme risqué pour l’attaquant, car l’utilisateur peut l’interrompre à deux étapes.
Transformer les mécanismes de protection en outil de contournement
La version modifiée conserve la majeure partie du code original de l’application bancaire, mais y ajoute un moteur fondé sur les frameworks open source YAHFA et Dobby. Le moteur fonctionne au sein du processus de l’application bancaire elle-même, ce qui lui permet de manipuler les résultats des contrôles au lieu d’attaquer l’application depuis l’extérieur.
- Remplacement du certificat de signature original lorsqu’il est interrogé.
- Dissimulation des services d’accessibilité activés.
- Désactivation de la protection contre les captures d’écran, ce qui permet la visualisation et l’enregistrement à distance.
- Modification des certificats d’attestation associés aux clés et transmission des requêtes Play Integrity via un serveur contrôlé par les opérateurs.
Que peuvent voler les attaquants ?
Hirudo peut voler les mots de passe des comptes bancaires, les codes secrets de paiement, les secrets de déverrouillage de l’appareil et les SMS, en plus de diffuser l’écran du téléphone et de contrôler ses deux caméras. Le logiciel utilise également de fausses pages de paiement pour recueillir les codes de paiement, puis affiche un faux résultat de réussite afin de dissimuler le vol de données.
ThreatFabric a trouvé des milliers d’enregistrements contenant les identifiants des applications dans un panneau d’administration non sécurisé, ainsi que des données sur les appareils, des écrans de verrouillage et des fichiers financiers. Le rapport ne précise pas si ces données concernent toutes les victimes ou seulement une partie d’entre elles.
Quelles sont les limites et que faut-il faire ?
Les méthodes de contournement ne sont pas dépourvues de limites. La clé d’attestation intégrée a notamment pu être divulguée publiquement, et Google en a inclus deux certificats dans la liste des certificats compromis, ce qui permet aux serveurs de détecter les falsifications lors de contrôles de révocation effectués côté serveur.
ThreatFabric estime que Hirudo représente une escalade dans les méthodes des logiciels de vol de comptes bancaires sur Android, car il cible les mécanismes de protection à l’intérieur même des applications. La société recommande aux banques d’effectuer la vérification de l’intégrité et l’attestation côté serveur, d’associer les contrôles aux sessions et aux opérations sensibles, et de maintenir les contrôles comportementaux ainsi que l’évaluation des risques liés aux transactions.
Les utilisateurs sont, quant à eux, invités à mettre à jour leurs appareils, à éviter les fichiers APK provenant de boutiques non officielles et à effectuer régulièrement des analyses avec Play Protect.