TL; DR: les ordinateurs ne sont pas des entités autonomes comme les organismes, avec un instinct de survie. Ils exécutent simplement des instructions, et parfois ils exécutent des instructions que nous n'aimons pas, nous exécutons donc d'autres instructions pour trouver les mauvaises.
J'ai commencé à le dire dans les commentaires, mais je pense qu'il y a encore beaucoup à dire.
La métaphore virale est obsolète et trop largement utilisée par des personnes qui ne comprennent pas comment fonctionnent réellement les ordinateurs. Ils essaient de les comparer aux êtres vivants, car ils comprennent les êtres vivants. Voici une meilleure métaphore.
Vous êtes un employé de bureau. Vous travaillez pour une méga-société géante, où vous ne voyez pas votre patron. On ne vous dit jamais pourquoi vous faites votre travail, vous ne savez même pas ce que fait votre entreprise. Tout ce que vous savez, c'est que vous vous présentez au travail tous les jours et que vous suivez vos instructions.
Il y a une petite fenêtre près de votre bureau, qui est la seule façon d'interagir avec quelqu'un d'autre. Vous ne voyez personne, mais parfois des morceaux de papier passent par la fenêtre.
Vos instructions sont toujours les mêmes au début, mais vous avez une énorme pile de papiers à votre bureau. Certains contiennent des instructions, d'autres contiennent des éléments que vous avez écrits. Parfois, vos instructions vous diront de trouver un autre morceau de papier et de commencer à l'utiliser comme instructions. Parfois, ils vous demandent de changer les morceaux de papier, de les déchirer ou d'en effacer des parties. (C'est ce qu'est un programme. Parfois, les programmes modifient les fichiers, parfois ils exécutent d'autres programmes, etc.)
Parfois, vos instructions vous disent d'attendre près de la fenêtre pour plus de papier à venir. Le papier peut contenir une image, du texte ou d'autres instructions. (C'est ce qui se produit lorsqu'un ordinateur attend l'entrée de la souris ou du clavier, ou quelque chose d'un réseau (c'est-à-dire des fichiers)).
Vous ne faites que suivre ces instructions. Vous ne savez jamais pourquoi, vous ne savez jamais pour qui, mais vous le faites simplement.
Parfois, vos instructions vous demandent d'effectuer plusieurs tâches. Vous avez une pile de papiers. Vous définissez une minuterie et vous travaillez sur les instructions du papier supérieur pendant 5 minutes. Lorsque le chronomètre passe, vous placez ce papier au bas de la pile et faites tout ce qui se trouve sur le nouveau papier supérieur. (C'est ainsi que les ordinateurs exécutent plusieurs programmes à la fois).
Maintenant, un jour, vous attendez un morceau de papier près de la fenêtre, et vous savez que lorsque vous l'obtiendrez, vous ferez tout ce qui est indiqué, car c'est ce que le dernier morceau d'instructions vous a dit de faire. Vous l'obtenez, et il indique de trouver certains de vos principaux morceaux de papier, avec vos instructions de base, et de les effacer. Il vous indique de nouvelles instructions à y mettre. Cela fait des choses étranges, comme envoyer vos fichiers par la fenêtre à des endroits étranges, ou collecter des copies de sauvegarde de tout ce qui passe par la fenêtre. Mais ce qui est important, c'est que vous n'y pensez pas. Ce ne sont que des instructions. Vous les faites juste.
Voilà ce qu'est un virus. Ce n'est qu'un ensemble d'instructions que vous incitez l'ordinateur à exécuter.
Maintenant, disons que vous êtes un travailleur multitâche. Vous obtenez l'une de ces instructions d'effacement dans la fenêtre. Mais, vous êtes occupé, vous le mettez donc au bas de la pile. Vous regardez en haut de votre tas de choses à faire, et il y a un ensemble d'instructions marquées "antivirus". Il dit de lire tous vos papiers et de voir si certains d'entre eux ressemblent à leur échantillon de papier. Vous le faites et vous voyez que les instructions d'effacement sont sur votre liste.
Notez que si vous commencez à exécuter les instructions de virus, vous n'y pensez pas. Sans antivirus, il n'y a pas d'attaque, pas de réponse immunitaire. Ce n'est pas vous attaquer, c'est juste un ensemble d'instructions. L'antivirus n'est qu'une liste TODO qui implique de consulter vos autres instructions et de trouver celles qui correspondent à un modèle. Ce n'est pas essayer de préserver le système dans son ensemble, c'est juste une feuille de papier que quelqu'un vous a donnée depuis la fenêtre, car cela empêche les autres de vous inciter à faire des choses en faisant passer des choses par la fenêtre.
Maintenant, qu'en est-il de vos virus "en évolution"? C'est certainement possible, mais regardons ce que cela implique. Un virus en évolution est essentiellement une feuille d'instructions qui vous indique comment faire plus d'instructions. C'est un morceau de papier qui vous dit d'effacer un tas de vos anciennes instructions, puis d'en mettre de nouvelles à sa place, mais ces nouvelles instructions vous demandent également d'effacer les anciennes instructions, d'en mettre de nouvelles, etc. Les instructions d'origine ne changent donc pas. Le virus ne mute pas. Au lieu de cela, il fait juste ce qu'il fait, tout en laissant des instructions pour créer sa prochaine génération.
Alors, est-ce possible de faire ça? Oui. Mais c'est extrêmement compliqué. Avoir un programme qui se change lui-même, mais dont la séquence de changements ne converge pas finalement vers un programme qui ne fait rien d'utile, est incroyablement complexe.