Comment détecter les programmes malveillants par l’analyse hybride ?

Comment détecter les programmes malveillants par l’analyse hybride ?

Comment détecter les programmes malveillants par l’analyse hybride ?

À la lecture des actualités, on retrouve de nombreux faits divers où des actes criminels perpétrés à l’aide de programmes malveillants. Avec une présence accrue au sein des terminaux informatiques, ceux-ci exercent une influence considérable sur notre quotidien. Récemment, les chercheurs et les analystes ont recensé une utilisation croissante de ces programmes sur les terminaux mobiles (tablette, smartphone…). De fait, près de 156.000 nouveaux malwares ciblant l’industrie bancaire on fait leur apparition en 2019.

Pour contrer cette tendance et fournir une sécurité relative sur ces mêmes terminaux, les analystes et les chercheurs mettent au point des modèles permettant de détecter la présence d’un programme malveillant au sein d’un logiciel ou d’une application. Depuis maintenant 20 ans, de nombreux modèles ont fait leur apparition. Ces modèles utilisent deux grandes familles de techniques d’analyse : l’analyse dynamique et l’analyse statique.

L’analyse statique

Cette analyse consiste à faire une extraction sur le fichier du logiciel ou de l’application. Généralement, ce sont des fichiers compressés respectant des normes particulières comme le format « .apk » présent pour les applications mobiles à destination des plateformes « Android ».

À partir de ces fichiers, on extrait une quantité d’informations qui, une fois compulsées et exploitées, fournissent des indicateurs sur la présence d’éléments suspects pouvant aboutir à des comportements malveillants.

Voici une liste non exhaustive de ces mêmes éléments qui constituent les métriques des modèles de détection :

  • Liste des permissions ;
  • Information de diffusion de l’application (provenance, auteur, date de création) ;
  • Liste des composants utilisés….

Toutefois, cette analyse comporte des limites. Si le fichier de l’application est crypté, alors un nombre significatif des informations ne seront pas exploitables par l’analyse statique. Afin de pallier cela, une deuxième technique a été mise au point.

analyse statique

L’analyse dynamique

Cette analyse consiste à exécuter le logiciel ou l’application au sein d’une plateforme qui sera surveillée par un ensemble d’agents de monitoring. Ces mêmes agents sont réalisés afin d’écouter divers comportements d’une partie du logiciel ou de l’application.

Voici une liste non-exhaustive des éléments traçables générés par le comportement d’un logiciel ou d’une application :

  • Les transferts de données sur le réseau (requête http) ;
  • Les écritures et les lectures de fichiers ;
  • Les appels de fonctions ;
  • Les arguments et les retours de fonctions.

Ces informations croisées et analysées peuvent fournir des indicateurs pertinents sur la présence de comportements malsains réalisés par un logiciel ou une application au sein de son environnement. Les analystes peuvent effectuer ces analyses sur des supports réels (un smartphone ou un ordinateur) ou sur des supports virtuels (machine virtuelle émulant un environnement d’exploitation précis). Bien que cette méthode puisse permettre de contourner les problèmes de cryptage, elle présente tout de même un inconvénient majeur : elle génère une grande quantité d’informations lors des écoutes.

analyse dynamique

L’introduction de l’apprentissage automatique

Afin de résoudre ce problème, on remarque un emploi croissant des technologies d’apprentissage automatique au sein des modèles de détection. Ceux-ci exploitent aussi bien des techniques destinéest à regrouper des éléments (classification) que des techniques visant à définir des signatures comportementales précises (exploration).

L’apport de l’apprentissage automatique est considérable et permet aux modèles de détection de s’adapter à la venue de nouvelles formes de programmes malveillants. La précision des modèles s’est aussi grandement améliorée notamment grâce à l’utilisation d’un plus grand nombre de données pour les analyses. Toutefois, des progrès restent à faire afin de rendre les modèles plus résistants au passage dans le temps et plus efficace vis-à-vis des nouvelles menaces toujours plus complexes.

Pour ce faire, une dernière tendance observée dans la recherche sur la dernière décennie consiste à combiner les méthodes d’analyse statique et dynamique grâce à l’utilisation de l’intelligence artificielle. Bien que ce courant de recherche soit jeune, il fournit des résultats encourageants.


Par Damien Strullu, doctorant en informatique : Sécurité / sûreté de l’information des systèmes informatiques à l’Université de Paris


Vous souhaitez rester au courant de l’actualité scientifique et technologique ? Inscrivez-vous à notre newsletter hebdomadaire Back To Science.


À propos de Okay Doc

Startup innovante, Okay Doc fait correspondre l’expertise des ingénieurs et des chercheurs (doctorants ou Phd) aux besoins opérationnels des organisations quelles que soient leur taille : Notre expérience nous permet d’offrir un service clé en main : sourcer, sélectionner et coordonner les chercheurs dans différentes disciplines pour réaliser un état des lieux de vos problématiques et les résoudre en s’appuyant sur l’expérience et des méthodologies universitaires innovantes.


Inscrivez-vous à notre newsletter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *