Un nouveau vecteur d'attaque Android provenant d'un logiciel malveillant suivi sous le nom de Snowblind abuse d'une fonctionnalité de sécurité pour contourner les protections anti-falsification existantes dans les applications qui gèrent des données utilisateur sensibles.
L'objectif de Snowblind est de reconditionner une application cible pour la rendre incapable de détecter les abus des services d'accessibilité qui lui permettent d'obtenir des entrées utilisateur telles que des informations d'identification, ou d'obtenir un accès à distance pour exécuter des actions malveillantes.
Contrairement à d'autres logiciels malveillants Android, Snowblind abuse de « seccomp », abréviation de Secure Computing, une fonctionnalité du noyau Linux qu'Android utilise pour vérifier l'intégrité des applications, afin de protéger les utilisateurs contre des actions malveillantes telles que le reconditionnement d'applications.
Abuser de la fonctionnalité de sécurité seccomp
La société de sécurité des applications mobiles Promon a pu analyser comment Snowblind atteint son objectif sans être détecté après avoir reçu un échantillon d'i-Sprint, un partenaire fournissant des protections de systèmes d'accès et d'identité aux entreprises.
« Ce malware a attaqué l'application de l'un des clients d'i-Sprint en Asie du Sud-Est. Notre analyse de Snowblind a révélé qu'il utilise une nouvelle technique pour attaquer les applications Android basées sur la fonctionnalité du noyau Linux. seccomp » – Promotion
Seccomp est une fonctionnalité de sécurité du noyau Linux conçue pour réduire la surface d'attaque des applications en limitant les appels système (appels système) qu'elles peuvent effectuer. Il agit comme un filtre pour les appels système qu'une application est autorisée à exécuter, bloquant ceux qui ont été abusés lors d'attaques.
Google a d'abord intégré seccomp dans Android 8 (Oreo), en l'implémentant dans le processus Zygote, qui est le processus parent de toutes les applications Android.
Snowblind cible les applications qui gèrent des données sensibles en injectant une bibliothèque native qui se charge avant le code anti-falsification et installe un seccomp filtre pour intercepter les appels système tels que l'appel système « open() », couramment utilisé dans l'accès aux fichiers.
Lorsque l'APK de l'application cible est vérifié pour falsification, Snowblind's seccomp Le filtre ne permet pas à l'appel de se poursuivre et déclenche à la place un signal SIGSYS indiquant que le processus a envoyé un mauvais argument à l'appel système.
Snowblind installe également un gestionnaire de signal pour SIGSYS afin de l'inspecter et de manipuler les registres du thread, expliquent les chercheurs dans un rapport partagé avec BleepingComputer.
De cette façon, le malware peut modifier les arguments de l'appel système « open() » pour pointer le code anti-falsification vers une version non modifiée de l'APK.
En raison de la nature ciblée du filtre seccomp, l’impact sur les performances et l’empreinte opérationnelle sont minimes, de sorte que l’utilisateur est peu susceptible de remarquer quoi que ce soit pendant les opérations normales de l’application.
Scénarios d'attaque
Promon affirme que la technique observée dans les attaques Snowblind « ne semble pas être bien connue » et les chercheurs pensent que la plupart des applications ne protègent pas contre elle.
Dans une vidéo démontrant le fonctionnement de l'attaque, les chercheurs montrent qu'une attaque Snowblind est complètement invisible pour l'utilisateur et peut entraîner une fuite des informations de connexion.
Les chercheurs ont déclaré à BleepingComputer que Snowblind peut être utilisé pour désactiver diverses fonctionnalités de sécurité dans les applications, telles que l'authentification à deux facteurs ou la vérification biométrique.
Un attaquant pourrait utiliser cette technique « pour lire les informations sensibles affichées à l'écran, naviguer sur l'appareil ou contrôler les applications, contourner les mesures de sécurité en automatisant les interactions qui nécessiteraient généralement l'intervention de l'utilisateur, ainsi qu'exfiltrer les informations personnelles sensibles et les données de transaction ».
Promon indique que Snowblind a été observé ciblant une application d'un client i-Sprint en Asie du Sud-Est. Cependant, on ne sait pas exactement combien d’applications ont été ciblées jusqu’à présent. De plus, cette méthode pourrait être adoptée par d’autres adversaires pour contourner les protections d’Android.
BleepingComputer a contacté Google pour lui demander un commentaire sur l'abus actif de seccomp pour contourner les protections Android, et un porte-parole a répondu avec la déclaration suivante :
D'après notre détection actuelle, aucune application contenant ce malware n'est trouvée sur Google Play. Les utilisateurs d'Android sont automatiquement protégés contre les versions connues de ce malware par Google Play Protect, qui est activé par défaut sur les appareils Android dotés des services Google Play.
Le porte-parole de la société a ajouté que « Google Play Protect peut avertir les utilisateurs ou bloquer les applications connues pour présenter un comportement malveillant, même lorsque ces applications proviennent de sources extérieures à Play ».