Rootkit, Ver, Virus et Cheval de Troie : quelques définitions
Date : 03 Octobre 2005
Les termes utilisés pour désigner les logiciels malveillants qui peuvent infecter un PC sont multiples, et il est parfois difficile de s'entendre sur le vocabulaire à utiliser et sur sa signification exacte.
Le Cert-IST apporte donc sa "vision" à ce sujet largement débattu, en définissant les termes qui sont à ses yeux les plus importants.
Malware (un "maliciel" en québécois) : ce terme générique désigne n'importe quelle forme de logiciel malveillant.
Ce terme est assez récent (dans l'usage courant) et est de plus en plus utilisé.
Virus : A l'origine, un virus était un code offensif qui infectait un fichier sain pour y vivre. Il se reproduisait ensuite en infectant le maximum de fichiers. Par extension, le virus est devenu n'importe quelle forme de programme qui infecte un ordinateur. Le plus souvent il arrive en pièce jointe à un e-mail (cette catégorie de virus est appelée "mass-mailer"), s'installe sur le système, et cherche ensuite à se propager sur d'autres systèmes. Par contre, il ne sait pas se déplacer tout seul (a contrario du "ver") et a besoin d'un "véhicule" pour se déplacer (par exemple un e-mail).
Le terme de virus est actuellement assez galvaudé et utilisé pour désigner un peu n'importe quel type de "malware" infectant un PC (peut-être parce que le nom de "logiciel anti-virus" est utilisé pour désigner un logiciel capable de détecter toutes sortes de "malwares"). Le terme "virus" est alors synonyme de "malware", et sera souvent utilisé avec des guillemets par un expert qui s’exprime face à un auditoire moins averti sur les "virus" informatiques.
Ver : ("worm" en anglais) Un ver est un programme qui tente de se propager d'ordinateur en ordinateur de manière entièrement automatique. Typiquement, un ver entre sur un ordinateur en utilisant une faille dans un service réseau de l'ordinateur victime. Il s'y installe et cherche ensuite à se propager sur les ordinateurs voisins.
Le terme de "ver" n'est pas très utilisé en français. Ainsi, lorsqu'un article américain contient "worm" dans son titre, il est courant que sa traduction française parle simplement de "virus".
Bot (contraction de "roBot") : Un "bot" est un "malware" qui a la caractéristique de pouvoir être commandé à distance. Par opposition, les vers et les virus ont eux un fonctionnement autonome pré-programmé : une fois lancé un "ver" ou un "virus" n'est plus contrôlable. Le plus souvent les "bots" vont chercher leurs ordres en se connectant sur des serveurs IRC spéciaux, conçus à cet effet. L'ensemble des "bots" se regroupant autour d'un même serveur forme un réseau d'attaque (appelé "Botnet") qui est aux ordres du pirate qui contrôle ce serveur. Il est courant de trouver des réseaux de "bots" regroupant plusieurs milliers de machines compromises. Le "bot" est un objet versatile et adaptable. Il peut rendre de multiples services, comme : propager du SPAM, attaquer une victime en DDOS ("Distributed Denial Of Service"), espionner les utilisateurs des postes infectés, etc... Le "bot" arrive sur un PC au moyen d'un ver, d'un virus (le "bot" est alors la charge utile - "payload" - que transporte le ver ou le virus), ou même directement en exploitant une faille du navigateur Internet.
Le "bot" est actuellement le "jouet" le plus prisé des pirates, en particulier parce qu'il peut rendre des services qui sont monnayables.
Cheval de Troie ("Trojan" en anglais) : Un cheval de Troie est un programme apparemment anodin (et inoffensif) qui contient une fonction cachée malicieuse. Le terme de "Cheval de Troie" est assez vague et donc plutôt à éviter. Il est souvent utilisé pour désigner, par opposition avec les virus et les vers (qui ont la particularité de se déplacer), toute forme de "malware" qui est installée sur un ordinateur et tente d'y rester de manière furtive le plus longtemps possible sans chercher à se reproduire ou à se propager.
Le terme de "Cheval de Troie" est plutôt ancien : il date du temps ou le monde des "malwares" pouvait être résumé en trois : "virus", "ver" et "Chevaux de Troie" (nous oublions ici volontairement l'âge "préhistorique" des "bombes logiques" et autres "virus-macro"). Il peut souvent être avantageusement remplacé par un terme qui précise mieux la fonction du "malware", comme par exemple : "backdoor", "keylogger", "bot", etc…
Rootkit : Un "rootkit" est un ensemble de programmes qui permet de modifier le comportement du système d'exploitation d'une machine infectée de façon à rendre indétectables certains processus, certains fichiers ou certaines clefs de registre. Le "rootkit" permet donc de camoufler des éléments déposés par un pirate sur une machine.
Spyware : Le "spyware" est un logiciel espion. Une fois installé sur une machine compromise, le "spyware" observe l'utilisateur du poste et enregistre (et analyse) son comportement. Le "adware" est un cousin proche qui n'est pas malveillant (il ne s'agit pas d'un "malware"). Il a pour fonction d'afficher des messages publicitaires sur le poste de l'utilisateur et est souvent installé en contre partie d'une utilisation gratuite d'un logiciel commercial.
Keylogger : Le "keylogger" est une forme particulière de "spyware". Il enregistre tous les évènements clavier de l'utilisateur dans l'espoir de capturer des données intéressantes (typiquement des mots de passe ou des "passphrases"). Les "keyloggers" intelligents se spécialisent dans la capture d'informations particulières : par exemple, le "keylogger" écoute toutes les frappes au clavier, mais n'enregistre que les séquences correspondant à des phases de saisie de mot de passe.
Enfin, pour conclure, il faut préciser que de nombreux codes malveillants combinent plusieurs des fonctionnalités décrites ci-dessus.
- Zotob (CERT-IST/AV-2005.301) est un "Ver" qui se propage d'ordinateur en ordinateur en utilisant la faille "PnP" de Windows 2000. Il installe sur la machine infectée un "Cheval de Troie" de type "Backdoor" (accès FTP) et un "Bot" qui se connecte à un serveur IRC.
- Bankash/SpyBank (CERT-IST/AV-2005.078) est par contre un "Cheval de Troie" de type "Spyware" : il espionne l'utilisateur et vole le nom et le mot de passe de son compte d'accès à sa banque en ligne.
- Bagle (CERT-IST/AV-2004.015) est un "virus" de type "mass-mailer" (il se propage comme attachement à un e-mail). Suivant les variantes, il installe soit une simple "backdoor", soit un véritable "bot" (bot "Mitglieder").
Pour plus d'information
- La taxonomie proposée par Robert Hensing (appartenant à la société Microsoft) :
http://blogs.technet.com/robert_hensing/archive/2005/02/22/378363.aspx - Une autre classification des "Malwares" par Wikipédia (la version anglaise est la plus complète) :
http://en.wikipedia.org/wiki/Malware
http://fr.wikipedia.org/wiki/Logiciel_malveillant