L'antivirus vit a coups de signatures
Sur un mandat ce mois-ci, je me retrouve à expliquer au client comment marche vraiment son antivirus — pis à lui montrer pourquoi il dort moins bien que ce qu’il pense. Parce que l’antivirus classique, en 2007, fonctionne sur un principe simple : la signature. Chaque virus connu a une empreinte, l’antivirus a une liste de ces empreintes-là, pis il compare chaque fichier à sa liste. Si ça match, il bloque. C’est efficace, c’est éprouvé. Mais y’a un trou gros comme une porte de garage dans cette logique-là.
Le trou, c’est ceci : l’antivirus connaît juste ce qu’on lui a déjà appris. Une menace dans sa liste, il la pogne. Une menace neuve, jamais vue, qui sort ce matin ? Invisible. Le temps que les chercheurs l’analysent, en fassent une signature, pis la distribuent à toutes les machines, y’a une fenêtre où t’es à découvert. Pis cette fenêtre-là, les gens malveillants la connaissent pis l’exploitent.
J’ai dessiné le cycle pour le client, parce que voir la course, ça change la conversation.
flowchart LR
A[Nouveau virus créé] --> B[Il circule, personne ne le connaît]
B --> C[Un labo l'analyse]
C --> D[Création d'une signature]
D --> E[Distribution de la mise à jour]
E --> F[Machines protégées]
B -.fenêtre d'exposition.-> F
Ce qui me frappe, comme architecte, c’est que l’antivirus à signatures est toujours en retard d’un coup. Il réagit, il devance pas. C’est un gardien qui a une photo des voleurs connus, mais qui laisse passer n’importe quel nouveau visage. Pour un client, ça veut dire une chose : l’antivirus, c’est nécessaire, mais c’est pas suffisant. Compter juste là-dessus, c’est se penser à l’abri parce qu’on a verrouillé la porte d’en avant pendant que celle d’en arrière est grande ouverte.
C’est pour ça que je commence à parler au client de défense en couches. L’antivirus, c’est une couche. Mais y’en faut d’autres : un coupe-feu correct, des mises à jour de système appliquées vite, des droits limités pour que l’utilisateur ordinaire puisse pas tout installer, pis des sauvegardes testées au cas où ça passe quand même. Aucune couche est parfaite, mais empilées, elles couvrent les trous l’une de l’autre.
L’autre affaire qui commence à apparaître, comme observateur, c’est l’analyse comportementale. Au lieu de juste comparer à une liste, certains outils regardent ce qu’un programme fait : tiens, ce truc-là essaie de modifier des centaines de fichiers d’un coup, ou de s’écrire dans le démarrage du système — c’est suspect, peu importe si je le connais ou pas. C’est prometteur. Mais c’est aussi plus délicat, parce que ça génère des faux positifs.
Pis le faux positif, c’est le vrai cauchemar opérationnel. Un antivirus trop nerveux qui bloque un fichier légitime, ou qui met en quarantaine un fichier critique d’une application d’affaires, ça peut planter une compagnie au complet. J’ai vu le scénario : l’antivirus décide qu’un fichier du système maison est dangereux, le supprime, pis l’application tombe. Oh non, t’as fait planter la prod avec ton outil de sécurité. C’est l’ironie : l’outil censé te protéger devient la panne. Faut donc régler la sensibilité avec soin, pis tester avant de déployer une nouvelle règle partout.
Le piège que je nomme au client, c’est la fausse sécurité. « On a un antivirus, on est corrects. » Non. L’antivirus, c’est le minimum, pas la fin. La sécurité, c’est un processus continu, pas une case à cocher. Le jour où on pense être à l’abri, c’est souvent le jour où on arrête de faire les gestes qui protègent vraiment : les mises à jour, les sauvegardes, la prudence des utilisateurs.
Sur le terrain, je commence par le concret pis le mesurable. On vérifie que les signatures se mettent à jour automatiquement, vite, sur toutes les machines — pas juste sur le serveur. On teste une restauration de sauvegarde pour vrai, parce que c’est ça le filet quand tout le reste lâche. Pis on limite les droits, parce qu’un virus qui roule avec les droits d’un utilisateur restreint fait pas mal moins de dégâts qu’un qui roule en administrateur.
Ce que je retiens, c’est que l’antivirus à signatures, c’est une bonne idée avec une limite structurelle : il connaît le passé, pas l’avenir. Le passage vers l’analyse des comportements est la suite logique, mais il amène ses propres défis. Mon rôle d’architecte, c’est de pas mettre tous mes espoirs dans une seule couche, pis de bâtir une défense qui survit quand une couche échoue — parce qu’une couche va échouer, c’est juste une question de quand.
La suite, sobre : vérifier que les mises à jour suivent, empiler les couches, tester les restaurations, limiter les droits, pis surveiller les comportements suspects sans devenir parano au point de bloquer le monde de travailler. La sécurité parfaite existe pas. La sécurité résiliente, par exemple, ça se construit.