Section: Research Program

Computer Virology

From a historical point of view, the first official virus appeared in 1983 on Vax-PDP 11. At the same time, a series of papers was published which always remains a reference in computer virology: Thompson  [76] , Cohen  [46] and Adleman  [35] . The literature which explains and discusses practical issues is quite extensive  [51] , [53] . However, there are only a few theoretical/scientific studies, which attempt to give a model of computer viruses.

A virus is essentially a self-replicating program inside an adversary environment. Self-replication has a solid background based on works on fixed point in λ-calculus and on studies of von Neumann [80] . More precisely we establish in  [42] that Kleene's second recursion theorem  [65] is the cornerstone from which viruses and infection scenarios can be defined and classified. The bottom line of a virus behavior is

  1. a virus infects programs by modifying them,

  2. a virus copies itself and can mutate,

  3. it spreads throughout a system.

The above scientific foundation justifies our position to use the word virus as a generic word for self-replicating malwares. There is yet a difference. A malware has a payload, and virus may not have one. For example, a worm is an autonomous self-replicating malware and so falls into our definition. In fact, the current malware taxonomy (virus, worms, trojans, ...) is unclear and subject to debate.