Classiquement, pour repérer l’intrusion d’un malware, les antivirus passent le code des fichiers exécutables à la loupe. Dans ces milliers de lignes, ils cherchent des bribes d’instructions caractéristiques des logiciels malveillants. Pour cela, ils doivent maintenir à jour une bibliothèque de "signatures" de tous les malwares courant le vaste monde. Mais l’attaque s’est raffinée. Aujourd’hui, des bots savent produire automatiquement des variants de malwares à la signature encore inconnue. L’analyse statique ne suffit donc plus.
Pour offrir un échelon supplémentaire de sécurité, il faut aussi s’intéresser aux multiples événements qui se produisent sur les machines : les accès aux fichiers, les envois de données sur le réseau… Des plates-formes d’analyse dynamique existent pour collecter toutes ces traces d’exécution sur les systèmes. Mais la masse d’information récupérée demeure peu intelligible.
Difficile de trouver l’aiguille dans la botte de foin. Et c’est là que l’outil Baguette intervient.
Les expériences sont conduites au Laboratoire de haute sécurité (LHS) de Rennes. Les scientifiques lancent tout d’abord un malware sur un ordinateur cobaye, puis récupèrent l’intégralité des traces d’exécution. « Baguette va ensuite prendre ce rapport pour synthétiser à très haut niveau toutes les informations contenues », explique Vincent Raulin qui travaille sur le projet dans le cadre de sa thèse de doctorat au sein de Cidre, une équipe de recherche en cybersécurité (Inria/Université de Rennes/CNRS/CentraleSupélec).
Verbatim
Le but est de faire apparaître, sous forme de graphe, les liens qui peuvent exister entre différentes informations. Car pour débusquer un malware, il est parfois important de pouvoir corréler deux événements. Si un logiciel est en train de lire des données d’une part et qu’au même moment, il envoie des informations sur le réseau, alors le système subit peut-être une attaque. Mais ces liens restent souvent difficiles à repérer car ils concernent des données de nature différente, très hétérogènes, éparses et, de surcroît, présentes en très grande quantité.
Doctorant, équipe CIDRE
Une graphe pour révéler des liens
À l’aide de graphes, Baguette va faciliter la mise en évidence de ces liens révélateurs. Exemple ? « On peut définir un pattern, un motif, pour s’intéresser au chiffrement. Dans le graphe, il suffit d’écrire qu’un sommet de type fichier est lié à un sommet de type données avec deux conditions. La première : qu’il y ait une forte entropie dans les données. Autrement dit, que les suites de caractères soient très variées, donc que ce n’est pas du texte, mais du chiffrement ou de la compression. La seconde : que l’on ne parvienne pas à identifier le type de fichier et donc, qu’il ne s’agit pas d’une archive compressée. Si l’on arrive à repérer ce schéma qui contient simplement deux sommets et quelques conditions dans un graphe d’exécution, alors on arrive à dire que ce fichier a été chiffré. Un ransomware (ou rançongiciel) est donc très probablement à l’œuvre. » Les travaux initiaux explorant cette piste ont donné lieu à une première publication, en 2022 , durant la conférence RESSI consacrée à la cybersécurité.
Vers de l'analyse dynamique en temps réel
Le principe fondateur étant posé, les scientifiques ont entrepris la conception d’un modèle de signature dynamiques systématisant ainsi les éventuels liens qui pourraient exister entre de multiples phénomènes d’intérêt. « En termes de comportements, il y a énormément de choses que l’on peut surveiller, précise Alexandre Sanchez, ingénieur de recherche au LHS : les appels systèmes, les événements réseaux, l’utilisation du processeur, la mémoire, la consommation électrique… Les expériences menées dans le laboratoire permettent de confronter le modèle à la réalité terrain pour vérifier dans quelle mesure la présence du malware est ainsi effectivement détectée. »
Les chercheurs abordent maintenant l’étape suivante. « Avec le graphe, on organise les données dans une structure parfaitement définie, une sorte de grammaire stricte. Grâce à ces règles très précises, il devient ensuite possible de construire par-dessus le graphe des modèles d’intelligence artificielle, explique Vincent Raulin. Les patterns étant très simples à définir, un modèle de machine learning pourrait très bien définir ces patterns lui-même dans un certain but. Par exemple, on pourrait lui demander de nous trouver les 10 motifs les plus caractéristiques d’un jeu de données d’une famille de malwares. De cette façon, l’algorithme viendrait apprendre les signatures comportementales de cette famille. En pratique, cela ouvrirait la voie à un antivirus dynamique effectuant de l’analyse en temps réel sur des données massives. Ce qui faciliterait énormément le travail… »
En savoir plus sur le projet Baguette avec Vincent Raulin