What is a Virus?

  • A causative factor of a communicable disease (dictionary definition)
  • A computer program that either modifies or attaches itself to another program to alter its functionality or performance in a manner not intended by the user.
  • “Malware”

The History of Viruses

The concept of computer viruses goes back over a half century!

The roots of the modern computer virus go back to 1949, when computer pioneer John von Neumann presented a paper on the "Theory and Organization of Complicated Automata," in which he postulated that a computer program could reproduce.

The practice, however, is over 30 years old, and can be traced back to a game called “core wars.”

Core Wars is a game played by two or more programs (and vicariously by their authors) written in an assembly language called Redcode and run in a virtual computer called MARS (for Memory Array Redcode Simulator). The object of the game is to cause all processes of the opposing program to terminate, leaving your program in sole possession of the machine.

Popularized in May, 1984 by A. K. Dewdney's column in "Scientific American" magazine, this was actually devised by Victor Vyssotsky, Robert Morris Sr., and Dennis Ritchie in the early 1960s (their original game was called "Darwin" and ran on a PDP-1 at Bell Labs).

The following is a sample of core war strategies.

The simplest strategy is to lob zeros and ones at random memory locations and hope that you will hit another program with a zero or one in the right place.

Another strategy is to juggernaut your way though the memory moving your program bit by bit (literally) until you plough into the opponent’s code.

However, if the opponent sets “guard bits” and checks these bits, it can detect the oncoming juggernaut and launch a counter attack.

In fact, the counterattack could consist of replacing the attacker with a copy of itself. This may have been the very first virus.

How Viruses Work

Viruses work by attaching themselves to the program so they will be executed as part of the program.

This is also the theory on which anti-virus programs work. Each virus has a characteristic pattern of zeros and ones. The antivirus software looks for these patterns. New viruses are being invented daily, so you need to keep current with your virus database.