Virus métamorphique

La caractéristique principale d'un virus métamorphique est sa capacité à modifier sa structure interne ainsi que les instructions qui le composent. Le métamorphisme est un mécanisme de défense utilisé par différents programmes malveillants afin d'éviter leur reconnaissance et leur détection par des programmes de contrôle et de protection tel que les logiciels antivirus.

Un virus dit métamorphique ne contient pas de décrypteur ni un corps viral constant, mais est capable de créer de nouvelles générations de lui-même différentes à chaque réplication tout en évitant qu'une génération soit trop ressemblante avec celle qui la précède.

Le spécialiste de sécurité informatique Igor Muttik (en) a défini les virus métamorphiques comme étant des corps polymorphiques[1].

Les virus métamorphiques sont codés de manière complexe et échappent souvent à la détection traditionnelle. Le programme métamorphique génère de multiples binaires qui ont le même comportement, mais pas la même signature. Le code métamorphique est réécrit à chaque itération sans employer de décrypteur. Après chaque itération, la nouvelle version devient plus sophistiquée, bien qu'elle fonctionne de la même manière que la précédente. Une nouvelle instance du logiciel malveillant est créée à chaque fois au lieu de générer un nouveau décrypteur. Le code métamorphique du virus se reprogramme lui-même en traduisant son propre code et le réécrivant ensuite de manière à ce que chaque copie apparaisse comme différente à chaque itération[2].

Aucune partie du programme ne demeure constante, et le virus ne revient jamais à sa forme initiale. C'est la raison pour laquelle ce virus est plus difficile à détecter et identifier par les programmes utilisant des antivirus de détection de la signature ou d'autres outils de cybersécurité. Les créateurs de logiciels malveillants combinent souvent plusieurs techniques de transformation comme le renommage de registres, la permutation, l'expansion ou la réduction de code ou l'insertion de code superflu[2].

Le virus métamorphique se différencie des virus oligomorphe (en) ou polymorphe de la manière suivante : Le code d'un virus oligomorphe change quelques instructions chaque fois qu'il infecte un nouveau système. Le code d'un virus polymorphe change une partie significative du code chaque fois qu'il infecte un nouveau système en créant du code impénétrable par offuscation. Le code d'un virus métamorphique change complètement son code en utilisant des algorithmes complexes pour générer un nouveau code fonctionnellement équivalent[3].

Comme virus métamorphiques on peut citer W95/Regswap apparu en décembre 1988 qui utilise la technique de renommage de registres, W32/Evol apparu en juillet 2000 qui insère du code superflu dans les instructions du programme ou Win95/Zmist, qui utilise des techniques comme l'intégration de code, le fait de sauter des instructions et l'EPO (Entry-Point Obscuring), la prise de contrôle du point d'entrée[4].

Notes et références

  1. (en) Péter Ször et Peter Ferrie, « Symantec - Hunting For Metamorphic » [PDF], sur crypto.stanford.edu (consulté le )
  2. a et b (en) « What are metamorphic and polymorphic malware? », sur Search Security (consulté le )
  3. (en-US) « Oligomorphic vs. Polymorphic vs. Metamorphic Viruses | Baeldung on Computer Science », sur www.baeldung.com, (consulté le )
  4. (en) « Understanding how Polymorphic and Metamorphic malware evades detection », sur www.tripwire.com (consulté le )

Liens externes