Quelle est la différence entre un bug et un virus ?


Article ultra débutant, mais hey, encore un truc très peu expliqué sur Internet pour l’excuse bidon que “c’est évident”.

Un virus, c’est un programme malveillant

Il a été conçu dans le but de nuire en utilisant la machine qu’il infecte. C’est donc un logiciel en plus sur votre machine, et qui pose des problèmes. Attention, un virus ne va pas forcément ralentir votre ordinateur ou le faire planter. Les virus modernes vont justement, en général, essayer de garder votre ordinateur en bon état (parfois en désinstallant d’autres virus !), afin d’avoir confortablement l’usage de votre machine.

Le virus entre dans la catégorie des programmes dits “malwares”, c’est à dire des logiciels nuisibles. Mais il n’est pas le seul, il y en a un paquet d’autres qui ne sont pas des virus : spywares (logiciels qui vous espionnent), adwares (logiciels qui vous affichent de la publicité tout le temps), ransomwares (logiciels qui prennent vos données en otage). Ce sont tous des malwares, c’est à dire des programmes nuisibles, mais pas des virus.

Généralement un virus a pour but de prendre le contrôle de votre machine, soit pour vous voler des données, soit pour se propager, soit pour l’utiliser comme machine zombie. Dans ce dernier cas, votre machine servira à un pirate qui pourra l’utiliser pour attaquer d’autres machines, envoyer du spam avec ou simplement vendre sa puissance sur Internet.

Ne pensez jamais que votre machine n’est “pas intéressante” pour les pirates sous prétexte que vous ne faites rien de particulier avec votre ordinateur. À partir du moment où votre ordinateur est connecté à Internet, il est intéressant, il peut rapporter de l’argent de bien des façons à un attaquant, même sans que l’argent vienne (directement) de vous.

Pour se protéger des virus, il faut avoir TOUS ses logiciels à jour, mais aussi éviter d’utiliser des systèmes trop sensibles aux virus. Si vous devez utiliser l’un d’entre eux (par exemple Windows), il faut rajouter un antivirus ET un firewall, même si vous ne faites qu’afficher des pages web sur des sites de confiance.

Conficker est un virus.

Un bug, c’est une erreur humaine

Un bug n’est pas un programme en plus, c’est une erreur de conception qui existe dans un des programmes qui est déjà sur votre machine.

Les machines sont stupides, elles ne font que ce qu’on leur dit. Quand vous voyez une application fonctionner, cela n’est que le résultat de millions d’instructions écrites à la main par les hommes qui ont créé vos logiciels, et ces hommes sont faillibles. Parfois, ils font une erreur dans le programme, et cette erreur peut avoir tout un cas de conséquences inattendues : le programme ne fait pas ce que vous voulez, il le fait mais mal, il est lent, il plante, etc.

Tout, absolument TOUT sur votre machine, est un programme. Et TOUT peut contenir un bug. En fait, aujourd’hui les systèmes informatiques sont tellement complexes qu’il y a forcément des bugs sur votre machine. Mais souvent ce sont des bugs discrets, qui ne sont pas très graves.

Dites-vous qu’un téléphone ou une tablette, si cela vous parait simple à utiliser, est bien plus complexe qu’un avion ou une fusée dans son fonctionnement en détail. Pas parce que c’est techniquement plus poussé, mais parce qu’il y a tellement de couches et de parties qui interagissent entre elles. Et dans ce gros fouillis il y a des erreurs, les fameux bugs.

On peut difficilement se protéger des bugs. Garder vos logiciels à jour peut aider à corriger les bugs précédents, mais parfois en ajouter des nouveaux. Les bugs font partie de la vie, aucun système n’est parfait. En revanche, plus un système est simple et maitrisé, moins il a de chance de contenir de bug. Si les bugs vous font peur, choisir un produit qui ne fait qu’une seule chose, mais bien, ou choisir un produit éprouvé, vous permet d’espérer une expérience avec moins de bugs.

Heartbleed est un bug.

Subtilités

Un virus utilise souvent un bug pour attaquer votre système. Le virus a en effet un objectif (au moins celui de se reproduire), et le logiciel qu’il attaque n’est généralement pas conçu pour lui permettre de l’atteindre. Le virus va donc souvent utiliser un bug du système pour obtenir ce qu’il veut.

A l’inverse, un bug n’a pas d’objectif, c’est une erreur, et donc il ne peut pas “causer un virus”. Ça ne veut rien dire.

Généralement, tout ce petit monde va donc ensemble, un virus peut exploiter un bug, dans le but d’installer un adware sur votre machine, afin de gagner de l’argent via la publicité, un keylogger pour récupérer votre numéro de carte bleue et un rootkit pour garder votre machine sous contrôle. Il y a donc 5 choses ici : le virus, le bug, l’adware, le spyware et le rootkit. Ce sont 5 choses différentes, mais la raison pour laquelle vous en entendez souvent parler en même temps, c’est qu’elles sont liées.

Mythes

Mon ordinateur n’a pas de bug

C’est impossible. C’est comme dire qu’il n’y a pas de fourmis dans vote jardin. Ce qui est possible, c’est qu’un bug ne vous gène pas et que vous n’en ayez vu aucun.

Je ne peux pas attraper de virus, parce que je ne fais rien de dangereux

Vous n’avez aucune idée de ce qui est dangereux. Croyez-moi, si auparavant vous ne saviez pas la différence entre un bug et un virus, vous n’avez pas la compétence (ce n’est pas une insulte) pour savoir ce qui met en danger votre machine. Et donc, vous le faites.

Mon ordinateur tourne bien, je n’ai pas de virus

Les virus modernes essayent le plus souvent d’être discrets et de ne pas vous causer de souci pour éviter que vous ayez envie de les supprimer.

Mon ordinateur affiche plein de pubs, j’ai un virus

Il y a des tas d’autres malwares qui causent cela. Il y a très peu de chance que ce soit un virus. Ça ne veut pas dire qu’il ne faut pas traiter votre ordinateur, mais un anti-virus ne suffira pas. Il vous faut des programmes anti-malwares plus généralistes.

12 thoughts on “Quelle est la différence entre un bug et un virus ?

  • viki53

    Pas sûr que le bug soit nécessairement une erreur humaine. Surtout le premier de l’histoire, pour ceux qui ont bonne mémoire ;)

    Un bug n’est pas intentionnel — ou n’a pas pour but de nuire — à contrario d’un virus.

  • Furankun

    Très bon article, je vais l’envoyer à ma mère :D

    Quelques typos en passant:
    “Dites vous qu’un téléphone” -> “Dites-vous qu’un téléphone” (oui, je sais)
    “Et dans ce gros fouilli” -> “Et dans ce gros fouillis”
    “parfois en ajoutent des nouveaux” -> “parfois en ajoute des nouveaux”
    “plus une système est simple” -> “plus un système est simple”
    “un virus peut exploiter une bug” -> “un virus peut exploiter un bug”
    “c’est qu’un bug ne vous gène et que n’en ayez vu aucun.” -> “c’est qu’un bug ne vous gène pas et que vous n’en ayez vu aucun.”
    ” Et donc, vous le faite” -> ” Et donc, vous le faites”

  • bob

    Salut,
    T’as raison il faut aussi parler des trucs de base.

    En passant je crois qu’il y a un bug ici :
    «Il y a donc 5 choses ici : le virus, le butg, l’adware, le spyware et le rootkit.»

    Un bon vecteur de malwares ce sont tous ces logiciels qui «optimisent» la machine, combien de fois on m’a amené un PC tout pourris avec plein d’optimisateurs installés dedans :) . Maintenant j’ai plus l’âge de passer mon temps à réparer ces conneries donc à la question tu peux réparer ? Je répond “oui en installant Linux sinon tu te débrouilles”.

  • yoshi_120

    Salut, juste pour dire qu’il faut faire attention avec la formule
    ” Il faut avoir tout ses logiciels à jour !” La dernière version d’un logiciel n’est pas toujours la plus stable.
    L’utilisateur lambda ne vas regarde le changelog, mais au niveau de l’OS par exemple, des branches anciennes de Linux sont plus stables que la dernière version sans compter toutes les spécificités de chaque distribution.

  • PocketTiger

    @viki53

    Un bug n’est pas intentionnel — ou n’a pas pour but de nuire — à contrario d’un virus.

    Tout dépend, un bug peut être placé intentionnellement dans le but de laisser une backdoor =)

    plus une système est simple et maitrisé, moins il a de chance de contenir de bug

    J’ai déjà lue ça quelque part, mais c’était écrit sous la forme :

    Il y existe deux manières de concevoir un logiciel. La première, c’est de le faire si simple qu’il est évident qu’il ne présente aucun problème. La seconde, c’est de le faire si compliqué qu’il ne présente aucun problème évident. La première méthode est de loin la plus complexe – C.A.R. Hoare

  • Quent'

    Et je rajouterais à Furankun :
    “vos données en hotage”=>”vos données en otage”
    Sinon bon article, simple et clair, tout ce que j’aime !

  • kontre

    @viki53: Dans ce cas c’est pas un bug mais une backdoor. Enfin, ça peut dépendre du point de vue…

  • Etienne

    Brazil parle bien des bugs je trouve (et pas que de ça): l’insecte qui (je me rappelle plus bien) se trouve écrasée dans un rouage de la machine administrative ce qui produit des résultats non attendus…

    Un bug c’est une merdouille qui se glisse. Ç’est par définition non-intentionnel.

  • pouete

    Je penses que le but de cet article est surtout d’aider les profannes a s’y retrouver.
    Il existe toute une chié de virus/backdoor/ et autre qui ont les memes propriétées qu’un virus et vice versa ( la backdoor de vsftpd par exemple, c’est un virus ou un bug ? ou vsftpd est devenu un virus quand il à été backdooré ? )
    la definition de tout ceci est complexe et demande plus qu’un article.
    Cependant, cet article a le mérite de poser une base minimum que tout le monde comprends.
    La partie “subtilité” à cependant une petite erreur , il est tres rare qu’un virus utilise une faille d’exploitation, seul les plus connus le font parce qu’ils se propagent vite, donc se font vite connaitre (un histoire de queue et de serpent toussa ) ;)
    De plus, il n’y a pas que ces 5 differents type de menaces que l’ont peut trouver : n’oublie pas non plus les ransomware ( dont tu as parlé dans ton premier paragraphe ).

    Enfin ( mais la , c’est du pinallage ) je dirai plutot “va detourner des ressources de votre ordinateur” plutot que “va prendre le controle de votre machine”

    Pouete
    Keep coding

  • k3c

    Je connais une entreprise qui écrit des programmes sans bugs. Il y a un indicateur sur le nombre de bugs des programmes, et la rallonge du chef est liée à cet indicateur. Du coup, plus personne n’ose déclarer des bugs, donc personne ne les corrige. Et le chef a sa rallonge. Le management par les indicateurs c’est merveilleux !

    :-)

  • Sam Post author

    Merci Kontre !

    (car vous ne le voyez pas, mais il vient de nous corriger tout plein de faute)

Comments are closed.

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.