Publicité

La guerre contre les virus informatiques est-elle perdue ?

Par
Illustration de l'apparition d'un virus informatique
Illustration de l'apparition d'un virus informatique
© AFP - Monika Skolimowska / DPA

Les virus informatiques, "malwares" en anglais, font des dégâts considérables et sont de plus en plus nombreux. Les solutions existantes pour s'en protéger atteignent leurs limites face à une menace sophistiquée. La solution pourrait venir d'un changement de philosophie.

Savez-vous comment fonctionne la plupart des antivirus ? Derrière le marketing de certains produits jouant sur l'image du bouclier, il y a des techniques finalement assez rudimentaires face à des attaques de plus en plus élaborées.

"Les antivirus existants sont basés sur deux techniques principales", expose Tayssir Touili, chercheuse au CNRS.

Publicité

La première, la plus répandue, repose sur une base de données regroupant les signatures de tous les virus informatiques connus. Lorsque qu'un internaute télécharge un fichier ou ouvre une pièce jointe, le logiciel antivirus va alors interroger la base de données pour vérifier que le fichier ne comporte pas la signature d'un virus connu.

La limite de ce système de "signature matching" (encore un mot anglais, et ils sont nombreux en matière informatique) est qu'il ne repère pas la signature inédite d'un nouveau virus et peut le considérer comme sain. Le virus réussit donc toujours à infecter plusieurs équipements informatiques dotés d'antivirus. 

Pour contourner facilement le système de "signature matching", les "écrivains de virus" mettent également à jour leurs programmes malveillants. "Ils prennent leurs virus, en modifient un peu le code, en gardant le même comportement. En faisant cela, ils obtiennent un nouveau virus avec un comportement identique à l'initial mais qui n'a pas la même signature", détaille Tayssir Touili.

Les premières victimes sont d'autant plus nombreuses que l'étude de nouveau virus est laborieuse, car manuelle. Il faut se pencher sur le code informatique du programme. Un code souvent très long, que les pirates ont pris soin de rendre le moins lisible possible aux yeux d'un humain en cachant la partie malicieuse du code au milieu d'une masse de lignes inutiles. Une technique appelée obfuscation.

Extrait de code du virus Flame
Extrait de code du virus Flame
© AFP - Kasperky Lab

L'autre mode de fonctionnement des antivirus consiste à lancer les programmes suspects dans un environnement virtuel isolé du système pour constater un éventuel malicieux. 

Là encore, cette solution est contournée par les attaquants qui élaborent des virus capables de savoir s'ils sont exécutés dans un environnement virtuel ou dans le "vrai" système d'exploitation et de se comporter en fonction. Le déclenchement peut aussi être conditionné à l'écoulement d'un laps de temps assez long, ou à une action de l'utilisateur.

Depuis une dizaine d'années, des chercheurs essaient de trouver des solutions plus robustes et précises. Il s'agit de "méthodes d'analyse syntaxique ou sémantique qui permettent de détecter quelque chose qui ressemble au fonctionnement d'un virus sans avoir besoin de sa signature, comme l'explique Gilles Garnier, directeur de la Practice Protection des Données du cabinet de conseil spécialiste de la cybersécurité Harmonie Technologie.

C'est ce qu'on a appelé il y a quelques années l'approche heuristique qui essaie de reconnaitre le mode de fonctionnement d'un virus pour essayer de détecter au moment où l'attaque virale arrive, le fait qu'il y ait quelque chose d'anormal mais c'est extrêmement difficile. Gilles Garnier

L'analyse heuristique, syntaxique en particulier, cherche à reconnaitre un certain nombre d'instruction dans le cadre de la programmation qui sont généralement des modes de fonctionnement assez communs de virus : se masquer, effectuer des opérations de bas niveaux. On retrouve un certain nombre de similitudes sur le fonctionnement global des virus.

Cette approche est également celle sur laquelle travaille la chercheuse Tayssir Touili. Ses travaux consistent à analyser le comportement du programme, sans l'exécuter. 

On utilise une technique connu dans l'analyse de programme qui s'appelle le 'model checking' et l'analyse statique. Tayssir Touili

Dit autrement, mais pas forcément plus facilement, l'idée est d'établir des modèles mathématiques qui représentent les comportements malicieux des virus et en conservent les aspects complexes. Retenons donc que c'est une logique mathématique qui est à l'œuvre ici.

"Toute la complexité maintenant c'est de trouver des modèles mathématiques adéquats qui permettent de représenter le maximum d'aspects complexes qu'on peut trouver dans les virus" conclut Tayssir Touili. Dans les travaux initiaux, les modèles mathématiques étaient trop simples, trop peu sophistiqués. "Avec notre travail, on a essayé de trouver des modèles mathématiques plus expressifs, plus riches" se réjouit la chercheuse.

Les premiers résultats seraient déjà très encourageants. Un test a notamment consisté à comparer l'efficacité des modèles mathématiques par rapport à des antivirus populaires. "Pour ce faire, on a généré de nouveaux virus (et donc de nouvelles signatures). La surprise c'est que notre outil a pu détecter tous les virus qui ont été générés alors qu'aucun des antivirus existants n'a pu détecter la totalité des virus", raconte Tayssir Touili. Mais d'ajouter : "On n'a pas fini. Il reste beaucoup de choses à faire."

Un ordinateur infecté par le rançongiciel Wannacry
Un ordinateur infecté par le rançongiciel Wannacry
© AFP - Rob Engelaar

La prochaine étape sera d'établir des modèles mathématiques assez précis et complexes pour permettre l'utilisation de l'intelligence artificielle.

Les éditeurs de logiciels antivirus ont également investi ces nouveaux domaines de recherches, conscients de la mutation du secteur. "Aucune solution de sécurité n'est parfaite, reconnait Tanguy de Coatpont, directeur général de Kaspersky Lab France. 

Ce n'est pas une solution ou une technologie qui va être miracle mais un ensemble de technologies qui va permettre d'avoir un bon niveau de sécurité. Tanguy de Coatpont

La firme russe tente de protéger au quotidien 400 millions d'utilisateurs d'une menace grandissante. "On reçoit à peu près 360 000 nouveaux virus chaque jour. 99% sont traités de manière automatique par des robots qui catégorisent les virus, que leur signature soit connue ou proche de signatures existantes". Mais il subsiste toujours des programmes malveillants qui nécessitent une intervention humaine.

La modélisation mathématique qui permet de catégoriser automatiquement ces risques-là a des limites, et certaines fois seul le cerveau humain peut comprendre certaines choses qui échappent aux machines ne peuvent pas comprendre.

L'intelligence artificielle permet de faire évoluer la lutte contre les virus informatiques. "Mais au jeu du gendarme et du voleur, le gendarme a toujours un coup de retard" prévient Gilles Garnier.