What are computer viruses (and why should I worry about them)?
According to Fred Cohen’s well-known definition, a COMPUTER VIRUS is a computer program that can infect other computer programs by modifying them in such a way as to include a (possibly evolved) copy of itself. Note that a program does not have to perform outright damage (such as deleting or corrupting files) in order to to be called a “virus”. However, Cohen uses the terms within his definition (e.g. “program” and “modify”) a bit differently from the way most anti-virus researchers use them, and classifies as viruses some things which most of us would not consider viruses. Many people use the term loosely to cover any sort of program that tries to hide its (malicious) function and tries to spread onto as many computers as possible. (See the definition of “Trojan”.) Be aware that what constitutes a “program” for a virus to infect may include a lot more than is at first obvious – don’t assume too much about what a virus can or can’t do! These software “pranks” are very serious; they are
Fred Cohen “wrote the book” on computer viruses, through his Ph.D. research, dissertation and various related scholarly publications. He developed a theoretical, mathematical model of computer virus behaviour, and used this to test various hypotheses about virus spread. Cohen’s formal definition (model) of a virus does not easily translate into “human language”, but his own, well-known, informal definition is “a computer virus is a computer program that can infect other computer programs by modifying them in such a way as to include a (possibly evolved) copy of itself”. Note that a program does not have to perform outright damage (such as deleting or corrupting files) in order to be classified as a “virus” by this definition. The problem with Cohen’s human language definition is that it doesn’t capture many of the subtleties of his mathematical model–as indeed, few informal definitions do–and questions arise that can only be answered by checking his formal model. Using his formal def