Definitions

Here are the definitions from F-Prot's Virus.TXT, one of the most official and accurate definitions around.

What is a computer virus ? Well, the best definition we have been able to come up with is the following:

  1. A virus is a program that is able to replicate, that is create (possibly modified) copies of itself.
  2. The replication is intentional, not just a side-effect.
  3. At least some of replicants in turn are also viruses by the same definition.
  4. A virus has to attach itself to a "host", in the sense that execution of the host implies execution of the virus.

#1 distinguishes viruses from non-replicating malware, such as ANSI bombs.
#2 distinguishes between viruses and programs such as DISKCOPY.COM that can replicate.
#3 is needed to exclude certain "intended viruses", that attempt to replicate, but fail - they simply do not qualify as "real" viruses.
#4 is necessary to distinguish between viruses and worms, which do not require a host.

Win32/Ska(I-Worm.Happy, HAPPY99.EXE)

  1. Replication: Yes
  2. Replication is intentional: Yes
  3. Replicants are also viruses: Yes
  4. Attaches to a host: Yes. This virus attaches itself to the host WSOCK32.DLL. In the HAPPY99.EXE form, it is a worm, since it does not attach to a host. So calling it a virus and calling it a worm are both correct.
1