Google et les 40 000 applications malveillantes !

Google s’est solidement intégré dans le marché des smartphones au cours des dernières années avec sa plate-forme Android. Une des raisons de son succès est son catalogue d’applications, le Play Store, qui contient plus de 2 millions d’applications. C’est également la plate-forme favorite des développeurs, car il n’est pas nécessaire de payer pour publier ses applications et la distribution de celles-ci se fait très rapidement.

 

 

par Loïc Beheshti, Alexandre Dey, Sami Hammami, Quentin Jeannaud, Marie-Kerguelen Sido
Laboratoire (C+V)O / CNS – Laboratoire de Cryptologie et de Virologie Opérationnelles / Axe Confiance Numérique et Sécurité – ESIEA

 

 

Cependant, le nombre d’utilisateurs de cette plate-forme en fait une cible de choix pour diffuser des malwares, ou applications malveillantes. Malgré les protections mises en place par Googlei, il est certain que ces d’applications existent sur le Play Store.
Dans le cadre de notre projet de recherche au laboratoire CNS/CVO de l’ESIEA nous avons mis au point un détecteur de malwares Android, dont le but est d’étudier et prévenir les malwares qui se trouvent sur le Google Play
Pour arriver à ce résultat, nous avons développé un classificateur, que nous avons baptisé Cygea, permettant de détecter les malwares.
Les résultats de l’étude nous ont permis de confirmer l’existence de malwares sur le Google Play store. Cette proportion s’élève à environ 2 % soit plus de 40 000 applications malveillantes.

 

 

Une classification moderne et performante

 

Pour déterminer si une application est un malware ou non, nous utilisons ce que l’on appelle un classificateur. Il existe différents types de classificateurs mais une technologie récente se distingue en termes de performance dans ce domaine : les réseaux de neurones.
Cet outil est en passe de devenir incontournable dans le domaine de l’Intelligence Artificielle (IA). En effet, son utilisation se démocratise du fait de ses résultats exceptionnels (ex : le réseau neuronal utilisé pour le pilotage automatique des voitures Tesla ii). Bien qu’il ne soit pas le seul algorithme utilisé, le réseau de neurones est bien souvent associé au terme de machine learning ou apprentissage artificiel en français.

 

Schéma d’un réseau de neurones

Leur mode de fonctionnement est aussi relativement fascinant. Les réseaux de neurones sont utilisés le plus souvent dans un contexte d’apprentissage supervisé. C’est-à-dire qu’en amont, nous préparons une base de données déjà classifiée et la structure qu’est le réseau de neurones apprendra en fonction de cette classification.
L’exemple le plus clair dans le domaine de la classification par intelligence artificielle est celui de la reconnaissance d’images. Prenons le cas du réseau de neurones de Google, baptisé Deep Dreamiii, qui a été entraîné à reconnaître les chiens et les chats. Il s’agit d’un apprentissage supervisé, c’est-à-dire que le réseau apprend les caractéristiques des chiens et des chats grâce à des exemples qu’on lui fournit.

 

L’algorithme parcourt cette base de données et pour chaque photo va calculer une valeur de sortie. L’erreur entre cette sortie et la sortie attendue qui correspond à l’image (chat ou chien), sera reportée sur les coefficients internes du réseau. Cette opération est répétée des milliers de fois jusqu’à ce que le réseau calcule des sorties très proches de celles que l’on attend. À ce moment-là, le réseau de neurones est capable de généraliser sur des nouvelles photos, qui ne sont pas dans ses données d’entraînement.
Mais alors, quel est l’intérêt fondamental d’utiliser un réseau de neurones dans ce cas ? On utilise le machine learning lorsqu’on ne connaît pas d’algorithmes pour donner des solutions déterministes à un problème mais que l’on dispose par contre de beaucoup de données sur ce problème, ce qui est le cas pour la reconnaissance d’images par ordinateur. C’est aussi le cas pour le problème de la détection de malware.
Dans notre cas, afin d’entraîner notre réseau de neurones, nous utilisons la Drebin Datasetiv, une base de données d’applications Android dont nous connaissons la nature (soit malveillante soit saine). En s’entraînant sur ces données datant de 2014 pour les plus récentes, notre réseau de neurones est capable de déterminer avec justesse la nature d’une application dans 98 % des cas.

 

Se concentrer sur l’utile

La puissance de calcul des ordinateurs actuels, bien qu’augmentant très rapidement depuis plus de 30 ans, reste limitée. En plus de cela, le réseau de neurones ne peut pas comprendre une application Android en l’état. Ceci nous impose donc d’extraire les paramètres importants pour l’analyse et à les présenter sous une forme manipulable par le classificateur.
Notre outil réalise une analyse sur le code de l’application sans l’exécuter, technique autrement appelée analyse statique. À l’aide d’un outil libre appelé Androguard (développé au laboratoire (C+V)°), nous décompilons les applications (passer du langage machine au code source). Une fois l’application décompilée, nous pouvons extraire les parties utiles à la détection. Notre classificateur repose principalement sur trois catégories de paramètres :
* Les permissions sur l’accès aux fonctionnalités de l’appareil, demandées par l’application à l’utilisateur. Pour limiter les risques, Android impose de demander une liste d’autorisations. Souvent, ces demandes sont justifiées (ex : accès à internet pour un navigateur). Cependant, certaines permissions peuvent donner accès à des fonctionnalités sensibles (ex : données personnelles), parfois sans justification.
* Les instructions transmises à la machine. Appelées opcodes, ces commandes en langage assembleur sont une très bonne indication du comportement de l’application.
* Les appels aux fonctions de l’API Android. Pour faciliter le développement, Android met à disposition des développeurs un ensemble de fonctions. Certaines fonctions peuvent être associées à des comportements malicieux (ex : envoie de SMS, lecture des contacts, modification des paramètres du téléphone, etc.).
Une fois les informations de ces catégories extraites, on peut alimenter le réseau de neurones avec un tableau de valeurs numériques (correspondant aux fréquences d’apparition des paramètres) et il calculera si l’application en question est plutôt associée à une application saine ou malveillante.

 

Notre étude du Play Store

 

Une fois l’outil d’analyse mis au point, il était possible de l’utiliser sur les applications du Play Store. Nous partions du postulat que certaines applications pouvaient trouver un moyen de ne pas déclencher les radars de Google lors de la phase de validation (ex : celles détectant les outils d’analyse de Google).
Dans un premier temps, nous avons téléchargé 3650 applications du Play Store. Sur cet échantillon, nous avons détecté 92 malwares, soit 2.52 %. Statistiquement, nous pouvons affirmer avec un risque de 5 % que la proportion d’applications potentiellement malveillantes sur le Google Play Store se situe entre 2 % et 3 %. Il est à noter que le classifficateur va détecter la majorité des applications qui peuvent nuire à l’utilisateur. Ceci implique qu’il va parfois détecter des comportements comme étant nocifs même s’ils sont légitimes (ex : les applications des constructeurs de téléphones qui permettent de surveiller la totalité du système).
Afin de s’assurer de la pertinence de notre détecteur, pour certaines applications ressortant comme malwares, nous avons réalisé une analyse manuelle.

 

Adware, détecté par Cygea

 

Par exemple, on peut voir que l’application Make me a Princess Lite pollue l’appareil avec des publicités (Adware). On peut remarquer sur la description de l’application qu’il s’agit un jeu destiné à des enfants. En s’intéressant aux avis des utilisateurs concernant cette application, on remarque que la majorité donne soit la note maximale, soit la plus faible. Ceci indique souvent que le développeur achète des avis à des utilisateurs (qui se sentent obligés de mettre une bonne appréciation pour être payés) afin de gagner en notoriété.
Dans une autre catégorie, on peut citer l’application Battery King, retirée du Play Store récemment. En plus d’être un Adware, cette application accédait à beaucoup de services et d’informations sur le téléphone (informations sur les comptes utilisateurs, sur le téléphone…) ce qui lui permettait de faire fuiter des informations. En se cachant derrière des fonctionnalités soi-disant censées améliorer l’autonomie de l’appareil, l’application demandait à l’utilisateur les autorisations nécessaires pour espionner l’utilisateur.

 

 

Battery King, malware détecté par Cygea (retiré du Play Store)

À la vue de ces résultats, nous envisageons de mettre à disposition une plate-forme web et une application Android sur lesquelles entreprises et particuliers pourraient tester la fiabilité de leurs applications.

 

Conclusion

 

Avec Cygea, notre objectif était double : recenser les malwares du Play Store pour en dresser l’état de santé, et proposer un moyen simple aux utilisateurs de s’assurer qu’une application ne risque pas d’infecter leur appareil.
Encore à l’état de preuve de concept, nous avons tout de même pu estimer qu’il y a entre 2 et 3 % d’applications malveillantes sur le Store de Google, ce qui correspond à un nombre de malwares compris entre 36 000 et 54 000, et ce uniquement sur la source officielle d’applications Android.
En ce qui concerne l’éventuelle mise à disposition de notre outil pour le grand public, nous souhaitons avant tout effectuer de la prévention, et c’est pourquoi nous cherchons à toucher la partie la plus large possible des utilisateurs d’Android en leur fournissant un moyen simple et accessible de vérifier la fiabilité des applications qu’ils veulent utiliser.
Enfin, nous travaillons à améliorer encore plus notre outil de détection en y incorporant des techniques actuelles de recherche.

 

 

Partager :

Dans la même catégorie

Publié le : 07/11/2024

Qu’est-ce qu’une attaque par ransomware ?

Découvrir
Publié le : 04/11/2024

Ma petite entreprise n’intéresse pas les pirates !

Découvrir
Publié le : 24/09/2024

Pourquoi les pirates volent-ils nos mots de passe ?

Découvrir
error: Le contenu est protégé !!