Les virus ne sont pas nommés au gré des découvreurs. Les noms des virus répondent à une règle de nommage qui a été signée entre les auteurs d'antivirus, en 1991. Cette règle est connue sous le nom de : Virus Naming Convention - Convention de nommage des virus.
L'organisation sous la houlette de laquelle cette convention a été signée est la CARO (Computer Antivirus Research Organization). Cette organisation avait été créée l'année précédente, en 1990, pour faire de la recherche et des études en matière de malveillances informatiques (malwares).
Immédiatement, cette organisation s'est heurtée au problème du nommage fantaisiste des malveillances, chaque acteur du monde de la sécurité y allant de son propre nommage et le même virus se trouvant affublé de 36 noms ! On a vu alors des sites s'appliquer à faire des tableaux disant que tel virus, chez machin, est le même que tel autre virus chez truc, et est le même que tel troisième virus chez bidule !
La convention de 1991 a évolué depuis pour suivre la mouvance des malveillances.
Aujourd'hui, les choses sont plus simples : c'est le premier découvreur qui nomme le virus. Mais plusieurs chercheurs, dans les laboratoires de plusieurs antivirus, peuvent découvrir et nommer simultanément le même virus dont le nom va être légèrement variable d'un éditeur à un autre. On voit alors certains virus renommés, un peu plus tard, en un autre nom.
La convention n'est pas un « standard », n'est pas « standardisée », et laisse la porte ouverte à quelques variantes de noms pour un même virus.
Les noms de virus sont constitués de :
- Format CARO court habituellement utilisé
- Un préfixe donnant la type de la malveillance (virus, adware, binder, dropper, trojan (cheval de Troie), intended, pws (voleur de mots de passe - password stealer), dialer, backdoor, exploit, tool, garbage, etc. ... Si une malveillance est de plusieurs types, elle doit être classée dans le type le plus dangereux de ses divers types. On notera que, dans cette liste, ne figure pas le type " worm " (vers) pour la simple raison qu'il est impossible d'obtenir des chercheurs un consensus autour de la définition de ce qu'est un vers informatique. Les " vers " seront appelé " virus " (ce qu'ils sont, d'ailleurs, le fait de les appeler " vers " au lieu de " virus " ne portant que sur leur mode de propagation).
- Un séparateur (un point ".")
- Une désignation conventionnelle de la cible. Ce peut être le nom d'un système d'exploitation (comme PalmOS) , un nom générique d'un ensemble de systèmes d'exploitation (comme Win32), une application (comme ExcelMacro), un langage (comme VBS...)... La cible ne peut pas être (et ne doit pas être) un type de fichiers (désigné par son suffixe dans le monde Microsoft, comme .chm ou .pdf ou .html, etc. ...
- Un séparateur (un point ".")
- Le nom de la malveillance (généralement tiré d'une particularité du code de la malveillance)
- Un séparateur (un point ".")
- Un code progressif signalant une variante (une relation entre divers virus).
- Format CARO long (complet) - les champs entre crochets sont facultatifs
[<type>://][<platform>/]<family>[.<group>][.<length>].<variant>[<modifiers>][!<comment>]
Exemple de nommage :
La malveillance est de type « virus », elle s'attaque aux systèmes Windows et on trouve un acronyme dans son code génétique : PebCak. Son nom sera donc celui du bien connu virus : virus.win32/64.PebCak.
Assiste pris dans cet enfert des nommages
Pour assister les utilisateurs, Assiste établissait des fiches de malveillances donnant les différents noms connus d'une malveillance. C'était un travail harassant et jamais fini ! Extrait d'une page de l'ancien site d'Assiste :
ByteVerify Exploit est connu sous divers noms et variantes :
- BlackBox.class-222b5bf4-396aa046.class -
- Byte Verify Exploit -
- Byteverify Exploit -
- Bytverify Exploit -
- destructive program - Dénomination évasive de F-Prot
- Downloader.Trojan - Dénomination générique floue
- Exploit.Java.Byteverify - Dénomination de Kaspersky
- Exploit.Java.Bytverify - Dénomination de Ewido et Ikarus
- Exploit.Java.Bytverify.69B2 - Dénomination de UNA
- Exploit/ByteVerify - Dénomination de Panda et The Hacker
- Exploit-ByteVerify - Dénomination de McAfee
- Hijacker/Cws - Dénomination erronée de Fortinet et qui n'a rien à voir avec le gang CWS (CoolWebSerach)
- Java.ByteVerify.exploit -
- Java.Bytverify.896 - Dénomination de ClamAV
- Java.Shinwow.AT -
- Java.Trojan.Exploit.Bytverify -
- Java/ByteVerify - Dénomination de Grisoft AVG
- Java/ByteVerify!exploit - Dénomination de eTrust-Vet
- Java/ByteVerify!exploit!Trojan - Dénomination de eTrust-InoculateIT
- Java/Byteverify.B - Dénomination de Norman
- Java/Bytverify - Dénomination de RAV et de Microsoft
- Java/Exploit.Bytverify - Dénomination de Eset Nod32 et de Avira Antivir
- Java/Exploit.Bytverify.1 - Dénomination Avira Antivir
- Java/Exploit.Bytverify.2 - Dénomination Avira Antivir
- Java/Exploit.Bytverify.A - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.B - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.C - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.D - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.E - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.F - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.G - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.H - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.I - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.J - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.K - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.L - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.M - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.N - Dénomination de Eset Nod32
- Java/Exploit.Bytverify.O - Dénomination de Eset Nod32
- Java_Bytever.a - Dénomination de Trend
- JS:Exploit-Bytverify-1 - Dénomination de Alwil Avast
- JS:Exploit-Bytverify-2 - Dénomination de Alwil Avast
- JS:Exploit-Bytverify-3 - Dénomination de Alwil Avast
- JS:Exploit-Bytverify-4 - Dénomination de Alwil Avast
- JS:Exploit-Bytverify-5 - Dénomination de Alwil Avast
- JS:Exploit-Bytverify-6 - Dénomination de Alwil Avast
- Not-A-Virus.Exploit.Java.Bytverify - Dénomination de Ewido
- PE_Virus!Maximus - Dénomination évasive de F-Prot4
- Possibly a new unknown PE_Virus!Maximus - Dénomination évasive de F-Prot4
- TR/Java.ByteVerify - Dénomination de H+BEDV Antivir
- Troj/ByteVeri-F -
- Troj/BytVrfy-A - Dénomination de Sophos
- Trojan.ByteVerify - Dénomination de Symantec (Norton)
- Trojan.Exploit.Java.Bytverify - Dénomination de SoftWin BitDefender
- TrojanDownloader:Java/OpenConnection.K -
- VBS:Malware - Dénomination (complètement floue) de Alwil Avast
- verifierbug.class -
- VerifierBug.class-5aad7e12-22ccba3f.class -
- Win32/ByteVerify.26610!Exploit!Trojan -
- Troj/NoCheat-B - Dénomination de Sophos - utilise la faille Troj/ByteVeri-F pour télécharger et installer Troj/Banker-H.
- Troj/JDownL-A - Dénomination de Sophos - est un applet Java qui, lorsqu'il est exécuté, rend l'ordinateur vunérable à des attaques malveillantes.
- Troj/ByteVeri-E - Dénomination de Sophos - est un applet Java qui, lorsqu'il est exécuté, rend l'ordinateur vunérable à des attaques malveillantes.
- Troj/ByteVeri-M - Dénomination de Sophos - est un Java Applet qui exploite une faille du composant Byte Code Verify de Microsoft VM pour télécharger et exécuter un fichier exécutable.
- Troj/ByteVeri-Q - Dénomination de Sophos - est un Applet Java qui exploite une faille du composant de vérification du code octet (Byte Code Verify) de Microsoft VM. Arrive en parcourant des sites web dont les pages contiennent l'applet Troj/ByteVeri-Q. Le correctif de la faille du système d'exploitation utilisée par Troj/ByteVeri-Q est disponible sur le site web de Microsoft : MS03-011
- Trojan.Java.NoCheat -
- JAVA_NOCHEAT.A -
- Trojan.Java.ClassLoader.c -
- JAVA_BYTEVER.Q -
- Trojan.Java.ClassLoader.ai -
- Trojan.Java.ClassLoader.b -
- Blackbox Trojan -
- HTML.ByteVerify!exploit -
- HTML.ByteVerify.exploit -
- Java/ByteVerify.Exploit.240.Troj -
- Java/Shinwow.F.Blackbox.Trojan -