Pour contrer les menaces toujours plus grandes que font peser les malwares Android sur les smartphones et les tablettes, des chercheurs de la North Carolina State University (NCSU) ont mis au point une méthode, potentiellement plus efficace, pour détecter ces logiciels malveillants sur les terminaux Android.

Du nom de Practical Root Exploit Containment (PREC), l'outil développé par les chercheurs est capable d'identifier les anomalies de code dans le langage de programmation C, qui sert de base à la plupart des malwares Android. PREC recherche les exploits root, ceux qui permettent d'accéder aux droits d'administration d'un terminal et peuvent servir à un pirate pour détourner certaines fonctions à des fins malveillantes. Les chercheurs ont détaillé leurs travaux dans un document intitulé : « PREC : Practical Root Exploit Containment pour les terminaux Android », qu'ils ont présenté lors de la quatrième conférence sur les données, la sécurité des applications et la protection des données privées (CODASPY - Conference on Data and Application Security and Privacy) organisée par l'Association for Computing Machinery qui a eu lieu du 3 au 5 mars à San Antonio, Texas.

Détection d'anomalies sur la programmation en C


PREC utilise la technique bien connue de la détection d'anomalies pour débusquer le code malveillant. La méthode consiste à comparer le comportement attendu d'une application avec son comportement au moment où elle exécute la même application sur un terminal, et surveille notamment les requêtes envoyées au système. PREC est unique dans le sens où il permet d'identifier les requêtes effectuées en code C natif depuis un programme Java, et de vérifier si ces actions correspondent au profil de l'application dans son utilisation standard. La majorité des logiciels Android sont écrits en Java, sur lequel se sont focalisés d'autres détecteurs d'anomalies expérimentaux. « Nous avons constaté que la majorité des exploits actuels sont écrits en langage C », a déclaré Helen Gu, professeure agrégée de sciences informatiques à la NCSU, qui a participé à cette recherche. « Il est difficile, voire impossible, de lancer exploits en code Java, car ils doivent passer par la machine virtuelle », a-t-elle ajouté.


Détails du fonctionnement de PREC. Crédit Photo: D.R

Comparé à d'autres détecteurs d'anomalies, PREC a permis grâce à cette approche de réduire considérablement le nombre de fausses identifications. Parce qu'il se concentre sur le code natif C, le PREC est plus précis dans sa manière de différencier un mode d'attaque d'une opération standard. Les chercheurs ont testé un prototype du PREC sur 150 applications Android installées sur un smartphone Nexus de Google et sur un émulateur, dont 140 étaient propres et 10 étaient infectées par des exploits root. PREC a été capable de trouver tous les exploits root avec un minimum de fausses alertes.

Devenir un standard sur les App Store Android

Les chercheurs espèrent convaincre les boutiques d'applications en ligne, comme le Play Store de Google, de créer une base de données contenant les caractéristiques de performance standard de toutes leurs applications. Ils pourraient utiliser PREC pour faire ces évaluations. Ensuite, quand un utilisateur téléchargera une nouvelle application, son terminal Android pourra également télécharger le profil d'exécution PREC pour l'application concernée. Il pourra ensuite se baser sur ce profil pour surveiller toute activité inhabituelle provenant de l'application. Si les opérateurs de boutiques d'applications en ligne comme Apple ou Google passent déjà au crible leurs applications avant de les proposer dans leurs « stores », « les programmeurs de logiciels malveillants ont aussi appris à cacher leur code dans une application et de faire en sorte qu'il reste muet tant que le programme n'est pas téléchargé », a expliqué Helen Gu.

Les chercheurs ont préféré s'attaquer à Android plutôt qu'à iOS d'Apple parce que le noyau Android, basé sur Linux, est Open Source, alors qu'Apple protège son noyau iOS. PREC a été conçu comme un module compilable dans le noyau. Ce n'est pas le seul détecteur de logiciels malveillants Android basé sur la détection d'anomalies. Crowdroid utilise un modèle de crowdsourcing pour déterminer le comportement d'une routine, et Paranoid Android fait exécuter une partie des fonctions de détection sur des serveurs. Selon les chercheurs de NCSU, ces deux détecteurs demandent au terminal moble beaucoup plus de puissance de traitement que PREC. Habituellement, il mobilise environ 3 % de la puissance de traitement du système, contre 15 à 30 % pour Crowdroid et Android. La recherche menée par le NCSU a été financée par IBM, Google, la US National Science Foundation et l'armée américaine.

Â