Une équipe de chercheurs de l’université de Caroline du Nord a développé un nouvel outil pour détecter et contrer les logiciels malveillants qui ouvrent un accès administrateur sur les terminaux Android. Leur approche consiste à améliorer les outils d’analyse utilisés par les magasins d’applications en prenant en compte le code natif écrit en langage C souvent employé par ce type de malwares. Plus efficace, ce système de détection pourrait fonctionner en tant que service cloud.

au sommaire


    De tous les systèmes d’exploitation mobiles, Android est le plus ciblé par les attaques malveillantes en raison de sa popularité. La solution technique proposée par les chercheurs de l’université de Caroline du Nord fiabilise grandement la détection des malwares les plus dangereux. © Google

    De tous les systèmes d’exploitation mobiles, Android est le plus ciblé par les attaques malveillantes en raison de sa popularité. La solution technique proposée par les chercheurs de l’université de Caroline du Nord fiabilise grandement la détection des malwares les plus dangereux. © Google

    En matièrematière de sécurité, AndroidAndroid est aux terminaux mobiles ce que Windows est aux ordinateurs : leur domination sur leurs marchés respectifs des systèmes d'exploitation leur vaut d'être les cibles privilégiées des cybercriminels. Selon un rapport de Juniper Networks dont nous faisions état en juin dernier, 92 % des malwares détectés entre mars 2012 et mars 2013 ciblaient Android. Bien que GoogleGoogle prenne le problème à bras le corps en contrôlant les applicationsapplications qui passent par son canal de distribution officiel, le magasin en ligne Google Play, les mailles du filet sont encore bien trop larges.

    Des chercheurs de l'université de Caroline du Nord viennent de présenter une solution qui pourrait apporter une aide décisive dans la lutte contre les malwares. Il s'agit d'une nouvelle technique de détection et de blocage des logiciels malveillantslogiciels malveillants les plus dangereux, ceux qui obtiennent un accès administrateur au smartphone, autrement dit un contrôle total du terminal. Ce nouvel outil baptisé Practical Root Exploit Containment (PREC) améliore la technique existante de détection d'anomaliesanomalies qu'utilisent les magasins d'applications tels que Google Play.

    Ces chiffres issus du tableau de bord officiel Android illustrent la fragmentation de l’OS, dont les cybercriminels tirent parti. Seulement 2,5 % des terminaux possèdent la version la plus récente d’Android, alias KitKat, qui est disponible depuis le 31 octobre 2013. © Google

    Ces chiffres issus du tableau de bord officiel Android illustrent la fragmentation de l’OS, dont les cybercriminels tirent parti. Seulement 2,5 % des terminaux possèdent la version la plus récente d’Android, alias KitKat, qui est disponible depuis le 31 octobre 2013. © Google

    Pour repérer une application malveillante, les magasins d'applications ont recours à un système de détection dynamique qui compare le fonctionnement de l'application qui leur est soumise avec une base de données qui répertorie la manière dont ladite application est censée se comporter. Problème : pour passer sous les fourches caudines, les applications malveillantes savent leurrer le système en simulant un comportement « normal ». Le Practical Root Exploit Containment renforce cette technique qui, par ailleurs, génère beaucoup de faux positifs selon les chercheurs.

    Lutter contre les malwares pour Android depuis le cloud

    La particularité de cette nouvelle méthode est qu'elle se focalise sur le code natif écrit en langage C, alors que la plupart des applications Android sont conçues à partir du langage JavaJava. « Tous les malwares qui exploitent des vulnérabilités pour obtenir des privilèges administrateur utilisent du code natif », explique les chercheurs. Car les API de bas niveau auxquelles le malware doit faire appel pour « rooter » le terminal ne sont généralement pas disponibles en Java. Or, les outils de détection dynamique ne prennent pas en charge le code natif, car il est plus complexe à analyser que Java ou les bibliothèques logicielles. PREC comble cette lacune.

    Le fonctionnement se décompose en deux étapes. La première consiste en un apprentissage lorsqu'un développeur soumet une application à un magasin. Si le système de détection dynamique décrit plus haut ne relève aucun problème, l'application obtient le feufeu vert et son profil de fonctionnement « normal » est transmis au PREC. La seconde étape, dite « en ligne », s'exécute lorsqu'un utilisateur télécharge et installe une application sur son smartphone. PREC consulte alors le profil de l'application. Lorsqu'une anomalie est détectée, il l'analyse pour déterminer s'il s'agit d'un malware ou d'un faux positif. Si l'application tente d'obtenir un accès administrateur, PREC bloque son code.

    Les chercheurs de l'université de Caroline du Nord ont testé leur solution sur 140 applications dont 80 comportaient un code natif représentant 10 sortes de malwares pratiquant l'accès administrateur. Résultat : PREC a détecté et bloqué tous les malwares testés. Autre avantage, le système n'a généré aucun faux positif sur les applications ne comportant pas de code natif. Les chercheurs mettent en avant la faible empreinte de PREC, dont l'exécution pourrait se faire sous la forme d'un service cloud. Ils espèrent pouvoir collaborer avec des magasins d’applications, à commencer par Google Play, afin de bâtir une base de données comportementale des applications « normales ».