Kharon : Découvrir, comprendre et reconnaître des malware Android par suivi de flux d'information
Résumé
L'avènement des téléphones et tablettes ces dernières années a favorisé le dé-veloppement d'un nouveau modèle économique qui repose sur la livraison d'un téléphone nu sur lequel l'utilisateur peut installer des applications via des maga-sins d'applications ou marchés. Ces marchés sont aussi bien officiels car approu-vés par les entreprises développant les systèmes d'exploitations de ces téléphones comme Google Play ou AppStore ou non officiels. Dans ce qui suit, nous nous consacrons aux téléphones et tablettes utilisant le système d'exploitation Android sur lesquelles un utilisateur peut installer des applications via Google Play. Sur ce marché, nous trouvons beaucoup d'applications (plus de un million d'applica-tions) téléchargées par beaucoup d'utilisateurs. Une même application peut être téléchargée plus de 100 millions de fois. Les développeurs de ces applications sont d'origines très variées puisque pour la modique somme de 25 USD n'importe qui peut créer un compte développeur pour ce marché et distribuer sa propre application. Il est aussi possible d'installer des applications sans passer par Google Play. Android est ainsi devenu rapidement une cible de choix pour les développeurs mal-veillants et le nombre de malware n'a cessé d'augmenter pour atteindre 10 millions d'applications malveillantes en 2012-2013 selon Kaspersky [1]. Ces malware essaient principalement de soutirer de l'argent à un utilisateur. Par exemple, le malware Simplelocker [2] chiffre sur le téléphone les données de l'utilisateur comme ses photos, ses documents les rendant ainsi inutilisables et de-mande ensuite une rançon pour déchiffrer ces mêmes données. D'autres comme DroidKungFu1[3] installent des applications à l'insu de l'utilisateur. D'autres encore envoient des sms à des numéros sur-taxés à l'insu, là encore, de l'utilisateur. Ces malware sont souvent repackagés dans différentes applications pour atteindre 1 un plus grand nombres d'utilisateurs et se disséminer plus aisément dans l'offre disponible. Pour débarrasser le marché de ces applications malveillantes, il existe deux grandes approches : l'analyse statique du bytecode des applications et l'analyse dynamique des exécutions de ces applications. Le but du projet Kharon est de développer une plateforme d'analyse dyna-mique utilisant le suivi de flux d'information. Cette analyse dynamique surveillera le comportement d'un malware et étudiera comment ce malware se dissémine dans le système d'exploitation. Nous avons montré dans [4] que cette approche permet de créer des signatures comportementales de malware, c'est à dire des descriptions précises du comportement de ces malware. Cette approche se base sur l'hypothèse forte que le malware s'exécute effectivement durant l'analyse dynamique. Cette hypothèse n'est pas acceptable en pratique car les expériences que nous avons me-nées montrent que la plupart des malware ne s'exécutent pas automatiquement au lancement de l'application. Ces malware attendent des évènements particuliers comme l'envoi d'une commande par un serveur distant, une date précise, une série d'actions de l'utilisateurs. Dans le projet Kharon, nous proposons utiliser l'analyse statique pour découvrir quels sont ces évènements déclencheurs et développer une méthode de fuzzing utilisant ces données. Ce projet regroupe des membres de l'équipe Celtique et Cidre de l'IRISA. L'équipe Celtique est spécialisée en analyse statique de bytecode java [5] et l'équipe Cidre a proposé les signatures comportementales utilisées dans ce projet. Les mem-bres à temps plein de ce projet sont actuellement un ingénieur expert et un étudiant en master 2. Ce projet a débuté en janvier 2015. Dans le cadre de la conférence RESSI, nous proposons de faire une présenta-tion des objectifs de Kharon et de les illustrer au travers d'une démonstration.
Domaines
Cryptographie et sécurité [cs.CR]Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...