Dans les coulisses de l’attaque

Contenu

Au début du mois d’août, nous avons repéré des cas de téléchargement automatique d’un trojan bancaire chez des utilisateurs qui consultaient certains sites d’informations sur des appareils Android. Comme nous l’avons appris par la suite, ce comportement était provoqué par l’affichage d’une publicité via le réseau Google AdSense et les sites d’informations n’étaient pas les seuls concernés. En fait, n’importe quel site qui affichait des publicités via AdSense pouvait afficher des messages qui téléchargeaient et enregistraient automatiquement sur la carte SD de l’appareil le dangereux malware bancaire Trojan-Banker.AndroidOS.Svpeng. Ce comportement était étonnant : en général, lors du téléchargement d’applications, le navigateur signale à l’utilisateur le téléchargement d’un fichier potentiellement dangereux et lui propose d’accepter ou de refuser l’enregistrement. Nous avons intercepté le trafic en provenance de l’appareil attaqué pendant l’affichage de cette « publicité » et nous avons pu voir comment se déroulait le téléchargement et l’enregistrement automatique du malware.

Bref survol statistique

Avant toute chose, voici quelques données relatives aux dernières versions de Trojan-Banker.AndroidOS.Svpeng. Il est présent uniquement en Fédération de Russie et dans les Etats membres de la CEI (nous en expliqueront la raison plus tard). Voici le diagramme de la popularité de la version la plus récente du trojan : Svpeng.q.

buchka_graph_01_2

Et voici les mêmes informations pour la version antérieure qui avait été propagée également via AdSense, mais uniquement en juillet 2016 :

Dans les coulisses de l'attaque

Comme le montrent ces diagrammes, Svpeng a été détecté chez 318 000 utilisateurs environ en deux mois. Au sommet de sa « popularité », il infectait 37 000 utilisateurs par jour. Ces chiffres importants et le graphique en dents de scie s’expliquent aisément : les messages publicitaires qui interviennent dans la diffusion du malware sont bloqués avec succès par Google. Mais il s’agit là du résultat de mesures réactives : le blocage s’opère après les faits, après que des milliers d’utilisateurs Android ont téléchargé le trojan sur leur appareil. Il faut également noter la régularité de l’apparition de tels messages publicitaires dans le réseau AdSense au cours des deux derniers mois. Des campagnes similaires se déroulent actuellement, la dernière en date remonte au 19/10/2016.

Détails de l’opération

Dans les coulisses de l'attaque

Nous allons maintenant voir comment l’affichage de la publicité est lié au téléchargement et à l’enregistrement automatique sur la carte SD d’un fichier APK contenant le trojan. Voici la requête HTTP qui entraîne l’affichage de la « publicité » des individus malintentionnés :

Dans les coulisses de l'attaque

En réponse à cette requête, le serveur déclenche un script JavaScript utilisé pour afficher des publicités. Mais ce script contient une surprise : le code du début est fortement obfusqué. Voyons dans l’ordre ce que fait ce code :

  1. Déclaration des variables indispensables au fonctionnement et déchiffrement de la charge utile.
  2. Dans les coulisses de l'attaque

    Comme nous le voyons, le téléchargement du fichier APK s’est déroulé sous la forme d’un tableau d’octets chiffrés dans le script. Il ne reste plus qu’à enregistrer ce fichier sur la carte SD.

  3. Définition de la fonction qui peut permettre l’enregistrement.
  4. Dans les coulisses de l'attaque

    Le code vérifie la disponibilité de fonctions dans les moteurs de différents navigateurs et en cas d’absence de celles-ci, il définit sa propre fonction. Cette fonction permet de créer un objet URL et l’élément <a> (symbole pour les liens en HTML). Le lien obtenu suite à ces opérations reçoit ensuite un attribut href (la cible du lien) et un clic logiciel est réalisé sur ce lien. Cette méthode n’a rien de neuf : les individus malintentionnés l’ont certainement empruntée ici et se sont contentés d’ajouter l’obfuscation et une restriction : le clic logiciel sera réalisé uniquement sur des appareils dotés d’un écran tactile, soit la majorité des smartphones.

  5. Division du fichier APK chiffré en blocs de 1 024 octets.
  6. Dans les coulisses de l'attaque

  7. Installation du gestionnaire lors du chargement de la page. Le déclenchement du gestionnaire lance l’enregistrement automatique du fichier APK sur la carte SD.
  8. Dans les coulisses de l'attaque

En plus des vérifications complémentaires pour savoir si le script sera exécuté ou non sur le smartphone, le code contient une autre vérification importante : celle de la langue utilisée sur l’appareil. Les individus malintentionnés attaquent uniquement les smartphones dont l’interface est en russe. Il s’agit par conséquent principalement d’appareils d’utilisateurs établis en Russie et, dans une moindre mesure, dans les pays de la CEI.

Où est le piège ?

La méthode décrite ci-dessus fonctionne uniquement dans Google Chrome pour Android Quand le téléchargement du fichier .apk se déroule via un lien sur une ressource externe, le navigateur affiche un avertissement relatif au téléchargement d’un objet potentiellement dangereux et permet à l’utilisateur d’enregistrer ou non le fichier à télécharger.

Dans les coulisses de l'attaque

Grâce à la division du fichier .apk en morceaux et au transfert de ceux-ci dans la fonction d’enregistrement via la classe Blob(), la vérification du type de fichier à enregistrer n’a pas lieu et le navigateur enregistre le fichier .apk sans alerter l’utilisateur.

Nous avons signalé le comportement du navigateur à Google et nous avons précisé qu’il permettait de diffuser un malware. Au moment où nous publions cet article, Google diffusait un correctif pour éliminer ce problème dans Google Chrome et il serait disponible lors de la prochaine mise à jour.

Dans tous les autres navigateurs, la méthode décrite soit ne fonctionne pas du tout, soit n’empêche pas l’affichage de la demande de confirmation de l’enregistrement du fichier. Kaspersky Lab conseille de mettre à jour Google Chrome pour éviter le risque d’infection par des malwares lors de la visite de sites qui utilisent AdSense.

Conclusion

Bien entendu, le téléchargement Svpeng ne suffit pas. Encore faut-il que l’utilisateur l’installe. Les individus malintentionnés tentent de résoudre ce problème via l’ingénierie sociale. Le malware peut être enregistré sous un des noms suivants :

  • last-browser-update.apk
  • WhatsApp.apk
  • Google_Play.apk
  • 2GIS.apk
  • Viber.apk
  • DrugVokrug.apk
  • Instagram.apk
  • VKontakte.apk
  • minecraftPE.apk
  • Skype.apk
  • Android_3D_Accelerate.apk.
  • SpeedBoosterAndr6.0.apk
  • new-android-browser.apk
  • AndroidHDSpeedUp.apk
  • Android_update_6.apk
  • WEB-HD-VIDEO-Player.apk
  • Asphalt_7_Heat.apk
  • CHEAT.apk
  • Root_Uninstaller.apk
  • Mobogenie.apk
  • Chrome_update.apk
  • Trial_Xtreme.apk
  • Cut_the_Rope_2.apk
  • Установка.apk
  • Temple_Run.apk

Ces noms soient copient les noms d’applications légitimes très utilisées, soient tentent de convaincre les utilisateurs qu’il s’agit de fichiers importants qu’il faut absolument installer. Dans les versions modernes d’Android, l’installation d’applications depuis des sources inconnues est interdite par défaut mais les cybercriminels comptent sur le fait que l’utilisateur désactivera cette fonction pour installer une « mise à jour critique du navigateur » ou une nouvelle version d’une application populaire.

A l’heure actuelle, les individus qui propagent Svpeng attaquent uniquement les utilisateurs de smartphones en Russie, mais rien ne permet de dire que la prochaine « publicité » qu’ils diffuseront via AdSense n’attaquera pas d’autres pays. Quelques cas ont déjà été enregistrés. Il est tellement plus simple d’utiliser la plateforme de publicité la plus populaire pour diffuser ses malwares sur les appareils de centaines de milliers d’utilisateurs.

Posts similaires

Il y a 1 commentaire
  1. kal

    merci

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *