Sophos News

Les créateurs de malwares Android partent en guerre contre les “good guys” !

Les experts en sécurité ont considéré les bancs d’essai d’émulation comme un outil utile pour mener des exercices de cybersécurité opérationnelle, ainsi que d’autres études et recherches. Pendant presque aussi longtemps, les développeurs de malwares ont cherché à contrer ces outils.

Le SophosLabs a trouvé de nouveaux exemples de ce type, et en particulier un malware Android anti-émulation. Les résultats sont résumés dans une publication sur le Blog Sophos, par les spécialistes Android Chen Yu, William Lee, Jagadeesh Chandraiah et Ferenc László Nagy.

Dans cet article, ils expliquent comment les malwares Android copient les techniques anti-émulation qui ont si bien servi aux développeurs de malwares sous Windows.

Tout d’abord, regardons ce qu’est un émulateur. La plupart des définitions en ligne le décrivent comme du hardware ou un logiciel qui permet à un ordinateur (l’hôte) d’imiter un autre ordinateur (l’invité). Il permet généralement au système hôte de lancer un logiciel ou d’utiliser des périphériques conçus pour le système invité. En matière de cybersécurité, c’est un moyen pratique de tester le comportement des malwares ou encore la fiabilité des systèmes de sécurité majeurs.

Les techniques anti-émulation se retrouvent dans plusieurs familles de malwares Android différentes, l’une étant le récent adware Android Adload, trouvé dans Google Play.

Les six techniques

Les experts cybersécurité des SophosLabs ont identifié de nombreuses techniques anti-émulateurs lorsqu’ils ont examiné de tels malwares. La publication faite sur le blog Sophos décrit six d’entre elles en détail. Voici un résumé :

  1. Vérification des informations sur les services de téléphonie : la détection de l’émulateur consiste à repérer la différence entre l’environnement que l’émulateur et le véritable périphérique fournissent. Tout d’abord, l’ID de l’équipement, le numéro de téléphone, l’IMEI et l’IMSI seront différents sur un émulateur par rapport à un vrai périphérique. La classe Android.os.TelephonyManager fournit des méthodes pour obtenir les informations.
  2. Vérification des informations de construction : les experts ont trouvé de nombreuses familles de malwares qui vérifient les informations de construction d’un système afin de déterminer s’il fonctionne sur un émulateur.
  3. Vérification des propriétés du système : certaines propriétés du système sur un émulateur sont différentes de celles rencontrées sur de vrais appareils. Par exemple, la marque, le hardware et le modèle de l’appareil.
  4. Vérification de la présence de fichiers liés à l’émulateur : dans ce cas, le malware vérifie si le QEMU (Quick Emulator) ou d’autres fichiers liés à l’émulateur existent.
  5. Vérification du débogueur et de l’installateur : celui-ci n’est pas un anti-émulateur, mais son but est aussi d’entraver l’analyse dynamique. Comme l’adware Skinner, il utilise Debug.isDebuggerConnected() et Debug.waitingForDebugger() pour vérifier si un débogueur existe.
  6. La bombe à retardement : c’est une autre technique que de nombreuses familles de malwares/adwares utilisent et qui consiste à se cacher pendant l’analyse dynamique. Après leur installation, ils attendent un certain temps avant de commencer leurs activités.

Les mesures défensives

Le code malveillant avec des fonctionnalités anti-émulation représente le dernier exemple faisant partie de l’activité des malwares Android en constante augmentation. L’utilisateur Android moyen ne connaîtra pas les techniques utilisées par les malwares pour pénétrer au sein de leur appareil, mais ils peuvent tout de même les éviter d’entrer, surtout concernant les applications qu’ils choisissent :


Billet inspiré de Android malware creators throw up a roadblock to thwart the good guys, par Bill Brenner, Sophos NakedSecurity.