Computer viruses: the origins
>Hello world, in this post I will tell you the story of computer viruses: the origins.
This story began in August 1961: three young programmers from the famous Bell Laboratories (ATT), Robert Thomas Morris, Douglas McIlory and Victor Vysottsky, developed a game called Darwin that was played on the IBM 7090 mainframe.
The game consists of an “umpire” program as well as a section of the computer’s memory, called “the arena” in which 2 or more programs, written by the players, are loaded.
The programs are written in machine language for 7090 on perforated cards, and can call a number of functions provided by “umpire” in order to occupy other locations in the arena, kill enemy programs and fill all free memory with copies of themselves.
The game can end after a predefined period of time or when there is only one program left alive: the player who wrote the program that remains the last survivor is declared the winner.
These programs (the fighters) that confront each other in an arena inspired the film Tron in which a programmer is projected using a dematerialization system, at the heart of a computer system.
However, the game did not last because Robert Thomas Morris succeeded in developing a fighter composed of 44 instructions, capable of adapting his strategy and protecting himself, which no one could defeat: as a result, no one developed an opponent and the game was abandoned.
It was following Darwin’s abandonment, between 1961 and 1970, that the true ancestor of viruses was born: the Core War, also called the programmers’ game. Like Darwin from whom it is inspired, Core War consists in having at least 2 programs compete against each other, each of which has the objective of destroying the opposing program(s) and occupying all the available memory while ensuring its proliferation.
The arena now lies within the memory space of a virtual machine called Mars, in which the attacker, who does not know where his opponent’s different segments are located, like a naval battle, must locate and destroy it.
The language used to create its fighters in Core War, RedCode is close to assembler with a simplified instruction set. It runs in a virtual machine called MARS for Memory Array Redcode Simulator.
There are several versions of the RedCode language in which the number of instructions can vary, but remains (very) close to an assembler.
Despite the use of this language with its reduced instruction set, Core War integrates most of the viral and antiviral mechanisms known today: replication, protection, polymorphism, destruction, repair, stealth, code injection, stopping a process and even signature recognition so dear to most of our antivirus products today still.
The winner is the one who has the most active copies of the program at the end of the game. In the event that the game is not limited in time, the one who has succeeded in destroying the opposing program is declared the winner.
We have just seen how, for nearly 10 years, the pre-figurative mechanisms of viruses have appeared, but it will take another 10 years to see the first virus appear.
Speaking of this first virus, what can we say about it? Many sources on the Internet and elsewhere cite “Brain” as the first virus in history. This one, developed in 1986 by two Pakistani brothers, the Alvi brothers contaminated floppy disks (5″ ¼ only) and did not attack hard disks. During infection, Brain placed himself on the boot sector of the floppy disk and renamed the volume name of the floppy disk to”(C) Brain”.
However, Brain is not the first virus to be identified: the father of the first virus is Rich Skrenta, an American student then 15 years old, who in 1982 created Elk Cloner… on Apple II.
Elk Cloner sent a poem explaining his way of self-replicating. Rich would have been able to infect his friends’ computers by offering them infected pirated games.
This is the end of the “prehistory” of computer viruses, which have long since gone down in history.