Métamorphe

Définition, exemples et bonnes pratiques

À retenir

  • Le code se réécrit lui-même entièrement.
  • Le comportement et l'objectif du programme ne changent pas.
  • C'est une technique de camouflage avancée pour tromper les logiciels de sécurité.

Qualifie un programme, souvent malveillant, capable de réécrire intégralement son propre code source à chaque nouvelle version tout en conservant la même mission. C'est un peu comme un livre qui raconterait toujours la même histoire, mais dont les mots, la grammaire et l'ordre des chapitres changeraient totalement à chaque exemplaire imprimé.

Étymologie

Vient du grec meta (qui marque le changement) et morphê (la forme). En informatique, le terme s'est imposé pour désigner des logiciels dont la structure physique évolue pour échapper à la détection.

Exemples d'usage

  • Un virus informatique qui remplace ses instructions par des équivalents (par exemple, remplacer une addition par deux soustractions inversées) pour ne plus ressembler à sa version précédente.
  • Un logiciel malveillant qui utilise un moteur de mutation intégré pour réorganiser l'ordre de ses fonctions internes à chaque infection.

Cas d'usage

Ce concept intervient quasi exclusivement dans le domaine de la cybersécurité. Il est utilisé par les créateurs de malwares pour rendre leurs programmes invisibles face aux antivirus qui recherchent des signatures (des empreintes numériques) connues.

Bonnes pratiques

Face à un code métamorphe, la détection classique par signature est inefficace. La bonne pratique consiste à utiliser l'analyse heuristique (observer le comportement suspect plutôt que l'apparence) ou le sandboxing (exécuter le fichier dans un environnement isolé pour voir ce qu'il fait réellement).

Synonymes

auto-modifiable évolutif mutant

Antonymes

statique immuable figé

Conseil

Pour bien comprendre le métamorphisme, étudiez comment un compilateur traduit du code : un virus métamorphe agit un peu comme un traducteur qui choisirait des synonymes différents à chaque phrase pour dire la même chose.

Questions fréquentes

Quelle est la différence avec un virus polymorphe ?

Le polymorphe possède une partie fixe et se contente de chiffrer son contenu avec une nouvelle clé, alors que le métamorphe modifie la structure même de ses instructions sans laisser de partie constante.

Est-ce difficile à créer ?

Oui, cela demande des compétences très avancées en programmation car le virus doit inclure son propre moteur de réécriture sans créer d'erreurs logiques.