Analyse des logiciels malveillants de Revive Mobile : comment protéger votre application
Depuis la pandémie de COVID-19, l'adoption d'appareils mobiles pour les services bancaires à distance a considérablement augmenté. Si l'utilisation des smartphones pour les services bancaires mobiles offre une excellente expérience au client, elle attire également l'attention des cybercriminels, des fraudeurs et des pirates informatiques qui ont intensifié leurs attaques sur les canaux mobiles.
Récemment, nos collègues de l'équipe Cleafy TIR ont découvert un nouveau logiciel malveillant Android appelé Revive. Ce logiciel malveillant cible spécifiquement une banque de premier plan très présente en Europe et en Amérique latine. Revive n'a pas été détecté par les solutions antivirus traditionnelles pendant au moins une semaine avant d'être découvert par Cleafy le 15 juin 2022 et reste encore aujourd'hui non détecté par la majorité des outils antivirus.
Dans ce blog, nous allons décomposer le malware Revive, expliquer comment il cible les applications bancaires mobiles et explorer les moyens de protéger votre environnement contre ce malware et d'autres menaces similaires.
Revive : Analyse des logiciels malveillants Android
Le logiciel malveillant Revive ne cible pas iOS. Il est basé sur le logiciel espion "open-source" Teardroid (disponible publiquement sur GitHub) et fonctionne selon un grand nombre de principes et de stratégies qui définissent d'autres logiciels malveillants pour mobiles. Revive lui-même a été développé dans le but d'effectuer des attaques par prise de contrôle de compte (ATO) en utilisant les services d'accessibilité intégrés dans les appareils Android.
Dans ce but, Revive utilise plusieurs stratégies pour glaner les informations sensibles dont il a besoin pour s'infiltrer dans un compte. Cette application malveillante a été observée en train de faire ce qui suit :
- Intercepter tous les messages reçus des appareils infectés, dans le but d'obtenir le code d'authentification à deux facteurs (2FA) envoyé par la banque à l'utilisateur par SMS.
- L'application d'un écran superposé sur l'écran de l'application bancaire ciblée avec un faux login ou une fausse invite de transfert d'argent qui vole les informations d'identification de l'utilisateur et falsifie les informations de paiement.
- Documenter tout ce que l'utilisateur écrit sur l'appareil (par exemple, les identifiants de connexion et les OTP, les messages, les numéros de téléphone, etc.) Ces informations sont ensuite enregistrées dans une base de données locale avant d'être envoyées au serveur de commande et de contrôle (serveur C2).
Détection et protection contre les logiciels malveillants mobiles
La découverte de nouvelles applications malveillantes, en particulier sur la plateforme Android, soulève des questions très importantes sur la sécurité des services bancaires mobiles. Votre organisation prend-elle des mesures pour protéger votre application bancaire contre les attaques de logiciels malveillants une fois qu'elle est installée sur les téléphones mobiles de vos clients ?
Passons en revue quelques stratégies et technologies de sécurité des applications et de l'information pour contrer les méthodes utilisées par Revive pour extraire des données d'une application mobile.
Méthode de livraison de l'OTP par SMS et 2FA
La première vulnérabilité à traiter concerne la transmission d'un mot de passe à usage unique (OTP) par SMS. Le SMS est sujet à de nombreuses vulnérabilités de sécurité bien connues, y compris des attaques sur le protocole SS7 sous-jacent. Les attaques par échange de cartes SIM, et dans ce cas les messages SMS, peuvent être interceptés par des logiciels malveillants résidant sur l'appareil mobile de l'utilisateur.
En raison de ces vulnérabilités, il est impossible de garantir la confidentialité, l'intégrité et l'authenticité des informations de paiement. Il en résulte une non-conformité avec les exigences de la PSD2 Dynamic Linking en matière d'authentification des transactions financières. Les banques et toutes les autres organisations soumises à la réglementation PSD2 devraient envisager des méthodes de livraison de 2FA plus sûres pour les plateformes mobiles, telles que les notifications push ou les codes sécurisés de type QR.
Protection proactive contre les logiciels malveillants
La prochaine vulnérabilité à prendre en compte se situe en dehors de votre application et de votre réseau. Les développeurs d'applications supposent trop souvent que les systèmes d'exploitation mobiles et les magasins d'applications officiels fournissent tous les mécanismes de sécurité nécessaires pour s'assurer que des logiciels malveillants cachés ne se retrouvent pas sur l'appareil d'un utilisateur. En réalité, ces plateformes mobiles, en l'occurrence le système d'exploitation Android, n'offrent pas de protection adéquate contre les logiciels malveillants susceptibles d'être installés par l'utilisateur final. Même si vous intégrez la sécurité dans votre application, cette sécurité doit également protéger l'application dans des environnements inconnus et compromis.
Pour réduire ce risque, certaines organisations financières intègrent un composant antivirus dans leur application mobile (par le biais d'un SDK), qui effectue régulièrement des analyses de sécurité. Par ailleurs, ces organisations fournissent au moins des exigences et des recommandations aux utilisateurs finaux pour qu'ils installent une solution antivirus sur leur appareil mobile. Le principal écueil est que la fonctionnalité de l'antivirus mobile est assez limitée. En outre, ces outils antivirus se concentrent sur une protection réactive, telle que la détection de logiciels malveillants connus. Dans le cas de Revive, qui visait une organisation spécifique, une telle approche n'offre pas une protection efficace.
Pour éliminer le risque associé aux logiciels malveillants sur les appareils mobiles, le paradigme de la sécurité devrait être modifié pour adopter une approche proactive - fournissant une protection non pas contre des logiciels malveillants spécifiques, mais contre les vecteurs d'attaque pertinents. En pratique, cela signifie que l'application bancaire mobile devrait comporter des contrôles de sécurité intégrés pour bloquer les activités anormales ou potentiellement malveillantes, telles que la capture et l'incrustation d'écran, les tentatives d'enregistrement de clés, etc.
Vulnérabilités dans la fonctionnalité
Les systèmes d'exploitation mobiles, en particulier Android, sont dotés de fonctionnalités intégrées riches qui peuvent être exploitées pour mener des activités malveillantes sur les appareils des utilisateurs finaux. C'est le cas de Revive et des services d'accessibilité d'Android. En outre, la plateforme mobile elle-même peut présenter des caractéristiques ou des vulnérabilités non documentées qui entraînent des risques de sécurité supplémentaires pour les applications installées sur l'appareil. C'est pourquoi tout appareil mobile, quel que soit son système d'exploitation, doit être considéré comme une plateforme non fiable.
Toute application traitant des données sensibles devrait mettre en œuvre une couche de sécurité supplémentaire entre le système d'exploitation et l'application elle-même, qui fournit un environnement d'exécution fiable pour les composants internes de l'application.
Sécurité mobile pour les menaces ciblées et généralisées
Revive, bien qu'efficace dans son déploiement, n'est pas un logiciel malveillant exceptionnel. Utilisant des stratégies connues pour extraire des données à l'aide de superpositions et d'enregistreurs de touches, le logiciel malveillant cherche à voler suffisamment d'informations personnelles pour infiltrer les comptes bancaires de l'utilisateur. La clé pour arrêter une telle menace est double : comprendre comment elle opère et se protéger contre ses attaques, que ce soit par des notifications push, la signature des transactions et/ou le blindage des applications.