Disséquer automatiquement les malware sous Android

Une myriade de fausses applications polluent le monde d’Android. Leur but : dérober l’argent, l’identité ou les données des utilisateurs de smartphones. Un groupe de chercheurs travaillant sur ces vecteurs d’infection vient de mettre au point une série d’outils innovants de test et de visualisation. Ils vont aider les analystes en sécurité à décortiquer les logiciels douteux, explorer leur structure interne, forcer l’exécution du code en sommeil et produire un graphe intuitif des méfaits en cours.

Plus de trois millions d’applications mobiles peuplent désormais GooglePlay et les autres plateformes de téléchargement Android dans le monde. Cela va du jeu de morpion aux résultats de la bourse, sans oublier les retoucheurs de selfies et les compteurs de calories dépensées. Mais il n’a pas fallu bien longtemps aux escrocs en tous genres pour se joindre à la fête et concevoir des logiciels malveillants déguisés en applications anodines d’apparence légitime. Mauvaise pioche. Une fois installées, certaines envoient des SMS surtaxés pour siphonner le compte de l’utilisateur. D’autres encryptent méthodiquement tous ses fichiers avant d’exiger une rançon contre la clé de déchiffrage. Adieu les photos de l’été dernier.

Cette cyber-nuisance s’avère d’autant plus pénible qu’il est difficile de faire le tri entre la vraie et la fausse application. Sans parler du temps nécessaire. “Il faut trois semaines pour disséquer manuellement un seul malware. D’où la nécessité d’automatiser ce processus,” résume Valérie Viet Triem Tong (1). Depuis trois ans, la scientifique coordonne un projet d’analyse de malware nommé Kharon (2).

Quiconque souhaite automatiser l’analyse de malware se heurte cependant à plusieurs défis de taille. Premier d’entre-eux : l’obfuscation. “Les développeurs vont très loin pour dissimuler leur logiciel malveillant ici ou là dans le code.” Abscons à souhait, le jeu d’instructions peut même prendre une forme chiffrée ou se télécharger ultérieurement par petits bouts. Difficile donc pour l’analyse statique classique de débusquer un camouflage aussi sophistiqué. “C’est pour cela que nous nous intéressons à l’analyse dynamique. Au lieu de simplement examiner le code, nous exécutons l’application de façon à observer son comportement. Nous pensons que c’est la meilleure manière d’attraper le malware et de comprendre son fonctionnement. Il existe un certain nombre d’actions qu’un logiciel ordinaire n’effectue pas en temps normal. Ces actions constituent un signe révélateur d’une intention malveillante.

Valérie Viet Triem Tong et Jean-François Lalande

Valérie Viet Triem Tong et Jean-François Lalande

Analyse dynamique duale

Mais pour pouvoir bien comprendre ce qui se passe, les analystes en sécurité ont besoin d’un outil de visualisation efficace. Et c’est là que Blare entre en jeu. “Jetez un œil, suggère Jean-François Lalande (3) tout en branchant l’un de ses nombreux smartphones à son ordinateur. À gauche sur l’écran, le graphe représente les flux d’informations résultant de l’exécution d’une application Android. Vous voyez la flèche rouge ? Elle indique que l’application lit un fichier en ce moment même. Et regardez ce qui se passe ensuite. L’application écrit un fichier tor.rc , ensuite elle le lit et se connecte à toute une série d’adresses IP. Maintenant, elle accède au fichier image_0001.jpg dans le smartphone et lui ajoute une extension : .jpg.enc” Enc ? “Oui, comme ‘encrypted’. Ce qui était une photo au format jpg vient de devenir inaccessible à moins de verser de l’argent. Ce rançongiciel s’appelle SimpleLocker. Et comme vous pouvez le voir ici, le malware retourne maintenant sur le réseau Tor pour informer anonymement son maître du succès de l’attaque.

Cerise sur le gâteau : cette visualisation est double. “Elle permet aux analystes de sécurité d’observer un graphe des flux de système et ainsi mieux évaluer la situation, mais simultanément nous pouvons aussi afficher, sur le côté droit de l’écran, la partie du code qui est en train de s’exécuter.

Déclenché par GoddDroid

Toutefois, avant que tout cela devienne utilisable, l’analyse dynamique doit encore surmonter un autre obstacle. “Pour éviter de se faire détecter par les plates-formes automatisées, le malware ne s’exécute pas immédiatement, explique Valérie Viet Triem Tong. Il reste en sommeil tant que la condition pour le déclencher n’est pas là. Il peut très bien s’activer par exemple quand la batterie commence à se recharger, ou quand on atteint un certain niveau dans un jeu, ou le vendredi 13, ou que sais-je encore. Donc l’analyse dynamique ne va pas repérer de comportements suspects pour la bonne et simple raison qu’il n’y en a pas avant cet instant-là. Par conséquent, il faut aussi trouver un moyen de déclencher l’exécution du malware. Et c’est le but de GroddDroïd. Cet outil simule l’interface graphique et teste un par un les différents boutons de l’application, les différents liens, etc. Le but n’est pas d’explorer de façon exhaustive tous les états possibles de l’application mais plutôt de viser les parcours qu’un utilisateur réel est le plus susceptible d’emprunter.” GroddDroïd force également les conditions de branchement en cas de besoin. Il est accompagné de GPFinder. En utilisant l’analyse statique, cet autre outil “génère un grand graphe qui représente en fait une cartographie de tous les chemins d’exécution possibles dans l’application.

Transfert de technologie

La plate-forme Kharon et ses résultats d’analyse sont hébergés au sein du LHS, un laboratoire de haute sécurité financé par Inria, CentraleSupélec, la Direction générale de l’armement et la Région Bretagne.Nous pensons que c’est un très bon outil pour les analystes en sécurité. Même si le logiciel tient encore du prototype de recherche, nous avons fait beaucoup d’efforts pour le pré-industrialiser, nous avons apporté beaucoup de soin à la qualité du code.

Bien qu’il ne s’agisse pas encore d’un produit sur étagère, cette nouvelle boîte à outils intéresse déjà l’industrie. “Nous étudions un premier transfert de technologie vers une entreprise de cyber-sécurité. Nous discutons par ailleurs avec plusieurs autres. Cela dit, cette recherche est toujours en cours. Nous avons encore d’autres idées pour améliorer notre solution.


  • (1) Valérie Viet Triem Tong est enseignante-chercheuse à CentraleSupelec et membre de Cidre.
  • (2) Basé à Rennes, au cœur du Pôle d’excellence cyber (PEC), le projet Kharon rassemble CentraleSupélec, Inria et Insa Centre Val de Loire à travers les équipes Cidre et Celtique.
    Cidre est une équipe-projet Inria, CentraleSupélec, Université Rennes 1, CNRS, commune à l’IRISA.
    Celtique est une équipe-projet Inria, CNRS, Université Rennes 1 and ENS Rennes, commune à l’IRISA.
    Le projet Kharon est financé par CominLabs, un des laboratoires d’excellence (Labex) créé par le gouvernement dans le cadre des Investissements d’Avenir.
  • (3) Jean-François Lalande est enseignant-chercheur à CentraleSupélec et membre de Cidre. Il était précédemment enseignant-chercheur à l’INSA Centre Val de Loire (laboratoire LIFO).

Les commentaires sont clos.