When we get a new virus/worm/trojan sample we need to name it. If we recognize that the new sample is just the next one in a “family”, that is a modification of a virus we already know, we just add a new letter to the existing name. Thus we have Bagle.a, Bagle.b, e.t.c. When we get to ‘z’ , we start again from the beginning with double letters – “Bagle.aa” for example.
If we don’t recognize the malicious program as being from an specific family, we usually just name it in a “generic” way: Backdoor.Win32.Agent, or TrojanDropper.Win32.Small, or Trojan.Win32.Dialer. And these generic names can have their own variants – we’ve already detected TrojanDownloader.Win32.Small.zm, so this “generic” name may soon have an ‘aaa’ variant.
In most cases (99.9%) new programs aren’t a serious threat – for instance, a new program is just a new trojan which is infecting a small number of computers. This means there’s no need to introduce a new name – it will fall into a family, or get a generic name.
If we see the case is important (for instance, a new email worm which looks likely to cause an epidemic), then we need to choose a name for it. Here we have two choices. Firstly, maybe another antivirus company already detects the malicious program and we just copy the name (if we agree with it). Most antivirus companies do this. If the program is named wrongly (a company or a virus expert can explain why it is wrong) the name is changed by voting in AV experts’ email lists.
The second case will be when no other antivirus company detects the sample, and we need to introduce a new name. What we usually do is find a text which is specific for the sample. Usually there are text strings inside the malware sample – and the name will follow one of these strings. We don’t like to use the exact text from a sample so we modify it a bit. For example, a recently discovered worm contained the text string “Bucheon” – so we named it “Buchon”. Another examples is the ‘Gavir’ worm, which contained the text “c:gamevir.txt”.
There are also other reasons why we choose the names we do. For example, “Skybag” has this name because we understood that it’s a mix of “NetSky” and “Bagle” worms. This gave us Sky+Bag.
The final note – we don’t just open a dictionary at random to choose a name. In every case there is a specific reason for choosing the name for a malicious program.