Sections

Rançongiciels : la recherche passe à l’offensive

Rançongiciels : la recherche passe à l’offensive

07.12.2021, par
Il suffit d’un clic pour que votre ordinateur soit pris en otage par un programme malveillant qui ne vous rendra le contrôle que contre rançon. Comment fonctionnent ces attaques ? Comment les contrer ? Explications avec Jean-Yves Marion, directeur du Loria, à l'occasion de la création de Cybermallix, laboratoire commun avec l'éditeur de logiciels Wallix.

Vous êtes spécialisé dans la lutte contre ces rançongiciels (ransomwares) grâce aux méthodes formelles, à l’intelligence artificielle (IA) et à la collaboration avec des start-up et entreprises. Pouvez-vous nous expliquer ce que sont ces programmes, et comment ils fonctionnent ?
Jean-Yves Marion1. Le principe d’un rançongiciel est relativement simple. Un logiciel malveillant, ou malware, compromet un ordinateur ou tout autre système informatique, comme une tablette ou un smartphone. Il bloque ou crypte ensuite une partie de son système et n’en restitue l’accès qu’après versement d’une rançon, généralement sous forme de cryptomonnaie. L’attaquant peut également récupérer des données pour faire du chantage ou les revendre. Dans tous les cas, les forces de l’ordre recommandent de ne pas payer et de visiter le site officiel dédié.  

Ces attaques peuvent être de grande ampleur, avec par l'exemple la paralysie récente d'un réseau d'oléoducs aux États-Unis. Dans le détail, elles suivent à peu près toutes le même schéma, en trois phases. La première étape consiste à s’introduire dans le système. L’intrusion passe généralement par du phishing (hameçonnage en français)  : une technique d’ingénierie sociale qui incite la victime à ouvrir un mail comprenant un lien ou un document qui exécutera un script. Ce script, qu’on appelle un loader, récupère alors à son tour, à l’insu de l’utilisateur, un code malveillant qui va installer le fichier exécutable qui constitue le cœur du ransomware. Un programme malveillant, par exemple le rançongiciel Wannacry, peut également exploiter une vulnérabilité, comme un bug ou une erreur, pour infecter un système.

Observation discrète en temps réel des attaques sur Internet. Partenariat entre le Laboratoire Haute Sécurité (LHS, France) et le National Institute for Information and Communications (NICT, Japon).
Observation discrète en temps réel des attaques sur Internet. Partenariat entre le Laboratoire Haute Sécurité (LHS, France) et le National Institute for Information and Communications (NICT, Japon).

La seconde étape débute alors. Le malware installé peut chercher à se mettre à jour et aussi voir si la machine hôte n’est pas déjà infectée, ou tenter de communiquer avec son commanditaire via un protocole chiffré. Ces attaques ont typiquement lieu au sein d’un réseau. Une machine compromise, le bot, va se connecter à un réseau plus grand, le botnet. Cet ensemble est alors contrôlé par le commanditaire, aussi appelé command and control. Les ransomwares fonctionnent autour d’une économie noire qui semble structurée, et sont composés de plusieurs outils spécialisés qui n’ont généralement pas la même provenance. Certains outils vont se charger de compromettre le système et de dissimuler la présence du malware, d’autres vont développer le cœur de l’attaque...

La troisième étape est celle de l’exploitation. Des données peuvent être volées et exfiltrées, ou bien cryptées pour demander une rançon dans le cas d’un ransomware. En outre, le malware peut par la suite être remplacé par un autre qui à son tour va infecter l’hôte puis exploiter sa position. C’est la cas d’Emotet, dont certaines versions chargeaient Trickbot, puis le rançongiciel Ryuk.
 
On a parfois l’image d’un simple clic qui va immédiatement paralyser un ordinateur. Comment cela se passe-t-il en vrai ?
J.-Y. M. Il peut s’écouler un certain temps entre le téléchargement à l’insu du premier loader et l’attaque finale. La vitesse n’est pas nécessaire du moment que l’infiltration passe inaperçue. On parle alors de backdoor, une porte de derrière qui reste ouverte sans que l’utilisateur sache que sa machine est compromise.

Cela peut compromettre des systèmes de toute nature. Comme de plus en plus d’appareils sont connectés, ce qui va encore augmenter avec la 5G, l’infection peut concerner aussi bien un ordinateur qu’une box internet ou même une télévision. Cet ensemble d’objets numériques attaquables forme une chaîne où les informations disponibles sur un maillon peuvent aider à atteindre le suivant. Si par exemple un smartphone est contaminé, le ransomware peut en extraire des mots de passe partagés avec d’autres appareils. Le logiciel malveillant dispose alors de tout un périmètre d’attaque. C’est pour cela que les solutions de défense actuelles essaient de prendre en compte l’ensemble de cette chaîne numérique.

On peut ainsi imaginer que des caméras et des systèmes de sécurité soient infectés à l’avance, puis que le commanditaire attende un moment plus propice pour exploiter la situation. Ce type d’attaque concerne plutôt l’industrie, les transports ou encore le secteur de l’énergie. Le réseau d’appareils compromis, ou botnet, peut également procéder à des attaques par déni de service : ils lancent tous des requêtes en masse contre un serveur pour le bloquer.
 
Quelles sont les difficultés spécifiques de la lutte contre les ransomwares ?
J.-Y. M. Ces programmes incorporent des obfuscations, c’est à dire des protections, pour cacher leur but. Ces techniques sont à l’origine utilisées pour protéger la propriété intellectuelle de logiciels commerciaux. Toutes ces méthodes d’obfuscations ralentissent l’analyse d’un programme, aussi bien par un humain que par un ordinateur. Certains malwares vont ainsi utiliser de la cryptographie pour cacher des données, d’autres vont transformer leur graphe de contrôle de flot, ou encore introduire des parties de programme qui ne servent à rien. Enfin, un malware est capable de détecter s’il est en train d’être analysé, et va alors arrêter de fonctionner ou s’autodétruire. Il faut alors adopter des contre-mesures pour le leurrer.

Les obfuscations proposent d’autres façons de concevoir un logiciel, comme les programmes automodifiants. Ils s’exécutent par vagues, se générant au fur et à mesure de leur exécution. On ne peut alors pas accéder à leur sémantique, c’est-à-dire à leur intention finale. Les malwares les plus sophistiqués cumulent jusqu’à six cents vagues. Pour cela, la méthode la plus connue emploie une succession de packers, qui déchiffrent à la volée des données et les transforment en code exécutable. Ils sont le plus souvent étudiés par une analyse dynamique, qui exécute un malware dans un environnement sécurisé pour récupérer ses traces d’exécution.

Schéma montrant un programme d’auto-modification. Un programme cherche à cacher son intention en se déployant, par exemple, par vagues successives. Son intention réelle ne pouvant être divulguée qu’après leur déploiement, elle est donc, a priori, invisible tant que le programme n’est pas exécuté.
Schéma montrant un programme d’auto-modification. Un programme cherche à cacher son intention en se déployant, par exemple, par vagues successives. Son intention réelle ne pouvant être divulguée qu’après leur déploiement, elle est donc, a priori, invisible tant que le programme n’est pas exécuté.

Les cours de développement logiciel nous apprennent à séparer les programmes des données, à bien les considérer comme deux éléments distincts. Cette frontière est cependant floutée dans cette programmation par vagues. Ces programmes automodifiants utilisent à la fois un mécanisme de réflexion, transformant des données en programme, et un mécanisme de réification, transformant un programme en donnée. Un autre exemple d’automodification est la virtualisation d’un programme, qui consiste à empiler des interpréteurs de langages de programmation. Chaque interpréteur exécute son code dans des langages de programmation différents et inconnus des personnes extérieures. Les obfuscations forment une question passionnante, avec une face concrète et une face de théorie de la programmation, qui est encore peu explorée.

On évoque parfois des épidémies numériques, que pensez-vous de cette notion ?
J.-Y. M. Aujourd’hui, les programmes malveillants mutent et chacune de ces mutations peut être considérée comme un variant, par analogie avec la crise sanitaire actuelle. Il s’agit de nouvelles versions d’une attaque déjà connue, qui incorporent de nouvelles protections et parfois de nouvelles fonctionnalités. Les systèmes de défense qui repèrent facilement la menace originelle peuvent ainsi tout à fait passer à côté d’un variant qu’ils n’ont jamais vu. Or on sait créer un grand nombre de variants efficaces à partir de malwares précédemment identifiés, voire démantelés.
 
Quelles solutions proposent les chercheurs ?
J.-Y. M. Le monde académique public ne s’est malheureusement pas suffisamment emparé de ces questions, mais je retiens plusieurs approches. Tout d’abord, l’analyse statique combine méthodes formelles et algorithmique pour retrouver la sémantique d’un programme, ce qui détermine si son exécution peut être dangereuse. Des techniques de rétro-ingénierie aident aussi à comprendre ses intentions, et donc à reconnaître les ransomwares et les malwares en général. Les méthodes d’analyse statique forment un ensemble d’approches prometteuses, notamment en simulant l’exécution d’un programme sans réellement l’ouvrir, voire de recalculer en avance le déploiement des vagues de code d’un programme.

Dans cette illustration, un programme est reconstruit (ici, Wannacry) sous la forme d’un graphe. Des sites sont détectés à l’intérieur qui correspondent chacun à un comportement élémentaire. La nature des sites trouvés montre que nous sommes en présence d’un rançongiciel.
Dans cette illustration, un programme est reconstruit (ici, Wannacry) sous la forme d’un graphe. Des sites sont détectés à l’intérieur qui correspondent chacun à un comportement élémentaire. La nature des sites trouvés montre que nous sommes en présence d’un rançongiciel.

Depuis maintenant quelques années, l’IA apporte de nouvelles solutions de détection. Les méthodes d’apprentissage automatique permettent d’entraîner un réseau de neurones à partir de caractéristiques de programmes malveillants qui sont obtenues par analyse statique. L’IA n’est cependant pas la panacée absolue, les concepteurs de malware le savent et vont construire des attaques spécifiquement pensées pour échapper à ce type de logiciels. L’autre approche passe par l’analyse dynamique : le programme malveillant est exécuté dans un environnement fermé, une sandbox. On récupère alors des informations sur son comportement, que l’on traite là encore grâce à des méthodes d’analyse statique. Dans les faits, la plupart des chercheurs combinent les deux approches, statique et dynamique.

Les systèmes les plus avancés d’analyse et de détection de malware combinent aujourd’hui les trois approches susmentionnées. La suite logicielle Gorille, conçue par la start-up Cyber-Detect grâce au transfert industriel de travaux de recherche du Loria, ne fait pas exception. Il effectue une analyse morphologique d’un code et détecte les menaces par rapport à ce qu’il a déjà appris. Si Gorille n’est pas un antivirus traditionnel, il aide à produire rapidement des solutions face aux nouvelles infections.

Le Loria signe aujourd'hui un partenariat avec la compagnie Wallix pour la création d'un laboratoire commun, Cybermallix. Nous proposons une solution basée sur la récupération de l’ensemble des informations d’un réseau pour, grâce à notre expertise des programmes exécutables et des traces réseau, repérer une attaque dès ses prémices. Je trouve ce projet intéressant, car il offrira une approche issue d’équipes de recherche à des acteurs capables de les mettre en musique. ♦

À lire sur notre site
Virus et malwares : les chercheurs contre-attaquent

 

Notes
  • 1. Directeur du Laboratoire lorrain de recherche en informatique et ses applications (Loria - CNRS/Université de Lorraine/Inria), professeur à l’université de Lorraine et membre de l’Institut universitaire de France.
Aller plus loin

Auteur

Martin Koppe

Diplômé de l’École supérieure de journalisme de Lille, Martin Koppe a notamment travaillé pour les Dossiers d’archéologie, Science et Vie Junior et La Recherche, ainsi que pour le site Maxisciences.com. Il est également diplômé en histoire de l’art, en archéométrie et en épistémologie.

Commentaires

0 commentaire
Pour laisser votre avis sur cet article
Connectez-vous, rejoignez la communauté
du journal CNRS