Télécharger l'app

Scanne. C'est dans ta poche.

QR Code — Dygest

Ouvre l'app Appareil photo, pointe sur le code. C'est gratuit à l'essai.

Les virus informatiques: théorie, pratique et applications

Les virus in­for­ma­tiques: théorie, pratique et ap­pli­ca­tions

Eric Filiol

Anatomie des virus informatiques

Écouter l'extrait du podcast :
0:00 --:--

Description

On a tous une image du virus informatique : un truc qui arrive par mail, un fichier piégé, un écran qui vire au noir avec une demande de rançon. On range ça au rayon des accidents numériques, quelque part entre la panne de box et le mot de passe oublié. Eric Filiol, lui, part d'ailleurs. Mathématicien et ancien officier, passé par la défense des systèmes d'information, il ouvre son ouvrage non pas sur une menace, mais sur une équation. Pour lui, un virus n'est pas d'abord une saleté qui traîne sur le réseau. C'est un objet mathématique, aussi propre et aussi démontrable qu'un théorème.

Ce déplacement change tout. Tant qu'on voit le virus comme un bricolage de pirate, on croit qu'il suffira d'un bon antivirus et d'un peu de prudence pour s'en débarrasser. Filiol démolit cette tranquillité avec une rigueur presque froide : la question de savoir si un programme donné est un virus a été prouvée indécidable. Aucune machine, aussi puissante soit-elle, ne peut répondre à coup sûr dans tous les cas. La défense parfaite n'existe pas — pas par manque de moyens, mais par construction logique.

L'ouvrage assume une position qui dérange : pour défendre, il faut savoir attaquer. Comprendre un virus, c'est accepter d'entrer dans sa mécanique interne, de le voir comme un objet de science plutôt que comme un diable. Filiol écrit en praticien qui a manipulé le code autant qu'en théoricien qui a lu Turing, et c'est de ce double regard que naît sa démonstration.

La question que l’on se pose : Et si le virus informatique n'était pas un accident technique mais un objet mathématique dont l'existence était prévisible dès les débuts de l'informatique ?Ce que l’on va voir : On remonte de l'équation à la défense, en passant par ce qu'un virus fait vraiment quand il tourne.

Sommaire

01

Chapitre 1 — Un objet qu'on croit connaître et qu'on n'a jamais défini

Avant Filiol, la plupart des gens — et pas mal de professionnels — fonctionnent avec une définition de cuisine : un virus, c'est un programme méchant qui se répand. Ça suffit pour discuter au comptoir, pas pour faire de la science. Filiol pose d'emblée que tout l'édifice de la défense repose sur une définition rigoureuse. Sans elle, on parle d'ombres. On traque des symptômes sans jamais nommer la chose qui les produit.

La définition qu'il retient vient d'un étudiant américain du début des années 1980, Fred Cohen, qui travaillait sous la direction de Leonard Adleman — le A du célèbre algorithme RSA. C'est Adleman qui, en 1984, propose le terme de « virus » par analogie avec la biologie. L'idée centrale est simple et vertigineuse : un virus est un programme capable de s'auto-reproduire en infectant d'autres programmes, c'est-à-dire en y insérant une copie, éventuellement modifiée, de lui-même. Le mot-clé, c'est l'auto-reproduction. Pas la malveillance.

Téléchargez Dygest

pour avoir une expérience complète !

02

Chapitre 2 — Les ma­thé­ma­tiques du mal : Cohen et la machine de Turing

Fred Cohen n'a pas seulement nommé le virus. Il l'a formalisé. Dans sa thèse du milieu des années 1980, il reprend le modèle le plus abstrait de l'informatique, la machine de Turing imaginée dans les années 1930, et y définit précisément ce qu'est une séquence virale. Ce choix n'est pas décoratif. La machine de Turing est le modèle universel : tout ce qu'un ordinateur peut calculer, elle peut le calculer. Démontrer quelque chose sur elle, c'est le démontrer pour toute l'informatique possible.

Le résultat que Cohen établit est celui que Filiol place au cœur de tout : déterminer si un programme quelconque est un virus est un problème indécidable. Indécidable au sens strict, mathématique, du terme. Il n'existe pas et il ne peut pas exister d'algorithme qui, pour n'importe quel programme qu'on lui soumet, réponde correctement par oui ou par non. La démonstration s'appuie sur un raisonnement par l'absurde dans l'esprit du fameux problème de l'arrêt de Turing : si une telle machine de détection existait, on pourrait construire un programme qui la prend en défaut à coup sûr.

Téléchargez Dygest

pour avoir une expérience complète !

03

Chapitre 3 — Dans le moteur : ce qu'un virus fait vraiment

La théorie posée, Filiol ouvre le capot. Un virus n'est pas une entité magique : c'est du code qui doit résoudre des problèmes très concrets. D'abord trouver des cibles. Un virus de fichier cherche des programmes exécutables sur le disque ; un virus de secteur d'amorçage vise la zone que l'ordinateur lit au démarrage ; les macro-virus, apparus massivement dans les années 1990, se logent dans les documents bureautiques, parce qu'un traitement de texte moderne embarque, lui aussi, un langage de programmation.

Ensuite, se reproduire sans se faire repérer. C'est là que l'ouvrage devient fascinant, parce qu'il montre une véritable escalade d'ingéniosité. Les premiers virus se contentaient de recopier une séquence identique — facile à détecter, il suffit de reconnaître la signature. Alors sont venus les virus chiffrés, qui brouillent leur propre corps et ne laissent apparent qu'un petit module de déchiffrement. Puis les virus polymorphes, qui changent ce module à chaque infection, de sorte qu'aucune copie ne ressemble à la précédente. Et au sommet, les virus métamorphes, qui réécrivent entièrement leur code à chaque génération tout en gardant la même fonction — comme un texte qu'on reformulerait intégralement sans changer son sens.

Téléchargez Dygest

pour avoir une expérience complète !

04

Chapitre 4 — La défense comme course sans ligne d'arrivée

Si la détection parfaite est mathématiquement impossible, à quoi bon se défendre ? La réponse de Filiol est celle d'un stratège, pas d'un marchand de solutions miracle. On ne cherche pas l'invulnérabilité, qui n'existe pas. On cherche à élever le coût de l'attaque, à gagner du temps, à réduire la surface exposée. La sécurité devient une affaire de rapport de forces et de gestion du risque, pas de forteresse étanche.

De là découle une vision qui tranche avec le confort commercial du secteur. Les antivirus à base de signatures — reconnaître un virus déjà connu à sa carte d'identité — sont utiles mais structurellement en retard : ils ne voient que ce qu'ils ont déjà rencontré. Face aux virus polymorphes et métamorphes, la signature s'effondre, puisque chaque copie est différente. Il faut passer à l'analyse de comportement, à l'étude de ce qu'un programme tente de faire plutôt que de ce à quoi il ressemble. Mais l'indécidabilité rôde toujours : analyser un comportement, c'est encore approximer, avec sa part d'erreurs et d'angles morts.

Téléchargez Dygest

pour avoir une expérience complète !

05

Conclusion

L'ouvrage de Filiol fait le trajet complet, de l'abstrait au concret : il part d'une définition mathématique du virus, passe par le théorème d'indécidabilité de Cohen, descend dans la mécanique réelle du code, et remonte vers les stratégies de défense. À chaque étage, la même idée directrice tient le fil : le virus n'est pas un mal mystérieux, c'est un objet qu'on peut définir, formaliser, construire et, dans certaines limites, combattre. La peur recule à mesure que la compréhension avance.

Téléchargez Dygest

pour avoir une expérience complète !