lundi 27 août 2012

Conclusion de la partie expérimentale : difficulté et intérêt de la programmation effectuée



Quels enseignements peut on tirer de ce travail de programmation concernant les virus ?
D’abord, on a prouvé l’incontestable supériorité des virus écrits en langage machine.
Ensuite, on s’aperçoit qu’il est particulièrement difficile d’écrire un code parasite auto-propageable et ce pour plusieurs raisons. La première est qu’il faut une connaissance extrêmement pointue du système informatique dans lequel doit évoluer le virus, d’abord pour y trouver la faille qui permettra la réalisation d’un virus, puis pour éviter que ce virus ne commette d’erreurs qui le trahissent, et pour pouvoir tirer au mieux partie de ce système dans l’écriture de virus les plus synthétiques et efficaces possibles. La seconde difficulté provient de l’emploi nécessaire du langage machine. Cela impose un long travail de réflexion sur papier et l’écriture préalable du code complet avant de le rentrer sur la machine. La phase de débbugage qui suit alors est d’autant plus difficile qu’un code en langage machine est peu lisible et contrôlable, et que les erreurs commises viennent souvent d’une compréhension insuffisante du système.
En contre partie à ces difficultés, l’écriture de virus a une dimension ludique certaine. En effet, la conception d’un virus commence par la traque des failles d’un système, qui peut prendre la forme d’un duel entre le programmeur et la machine, où le jeu consiste pour le premier à avoir assez d’imagination et d’astuce pour trouver un moyen d’atteindre son but. A bien y réfléchir, il y a peu de différence par exemple entre la recherche d’une solution à une partie d’échec et celle d’un moyen de concevoir un virus pour tel système. Lorsque l’on se prend au jeu, on finit même par imaginer des solutions de plus en plus audacieuses et par percevoir une forme d’esthétique dans les meilleurs d’entre elles. Un autre attrait des virus est la richesse d’imagination qu’ils autorisent. On a vu en effet la grande variété des techniques possibles et que l’on peut perfectionner sans fin. On peut ajouter à cela les possibilités indénombrables qu’offre la charge facultative.
L’écriture de virus apparaît donc comme un exercice de programmation assez amusant, et on comprend que des informaticiens se passionnent pour eux. Il faut ajouter à ce point de vue un dernier élément qui n’apparaît qu’après une certaine pratique des virus : le programmeur prend plaisir à voir évoluer son virus et à se laisser surprendre par lui. Avec les virus polymorphes génétiques, on a pressentis qu’on pouvait rapprocher les virus d’une notion de vie artificielle. Certains programmeurs vont jusqu’à imaginer des virus évolutifs qui peupleraient l’ordinateur et s’y feraient une lutte virtuelle, à la manière de jeux comme Core War, pour distraire l’utilisateur. Une chose est certaine : le concept de virus est extrêmement fertile en termes d’idées nouvelles.
Pour terminer sur un bémol, soulignons que les arguments précédents sont issus d’un point de vue d’informaticien, et ne prennent donc pas en compte le danger des virus nocifs. Il s’agit effectivement d’un genre de programmation à la fois riche et amusant, mais qui se montre redoutablement efficace lorsque il est employé à mauvais escient.

Erwan Lemonnier

Aucun commentaire:

Enregistrer un commentaire