L’indécidabilité de l’infection par un virus
Démonstration qu’il ne peut pas exister d’antivirus universel et fiable à 100%.
Je l’avais lue et notée sur un bout de papier durant mes études. J’ai pu la retrouver sur l’Internet.
« Définition : un programme infecté est un programme qui en modifie au moins un autre.
Supposons que nous ayons écrit un programme DÉTECTEUR qui indique si un programme donné est un programme infecté ou non, soit le programme PIÈGE défini par :
Si DÉTECTEUR appliqué à PIÈGE donne le résultat oui, alors ne rien faire.
Si DÉTECTEUR appliqué à PIÈGE donne le résultat non, alors choisir un programme dans la mémoire et l’infecter, c’est-à-dire y insérer PIÈGE.
PIÈGE est-il un programme infecté ?
Si la réponse est oui, alors PIÈGE ne fait rien aux programmes et PIÈGE n’est pas un programme infecté, c’est une contradiction.
Si la réponse est non, alors PIÈGE infecte un programme et donc est un programme infecté, ce qui est encore une contradiction. Il en résulte que DÉTECTEUR ne peut exister.
Conclusion : il n’existe pas de détecteur universel de programmes infectés. »
Source : J-P Delahaye “Logique, informatique et paradoxes”, Pour la science, Belin, ISBN : 2-9029-1894-1