Christmas Tree EXEC was the first widely disruptive
computer worm
A computer worm is a standalone malware computer program that replicates itself in order to spread to other computers. It often uses a computer network to spread itself, relying on security failures on the target computer to access it. It will ...
, which paralyzed several international computer networks in December 1987. The virus ran on the
IBM VM/CMS operating system.
Written by a student at the
Clausthal University of Technology in the
REXX
Rexx (restructured extended executor) is a high-level programming language developed at IBM by Mike Cowlishaw. Both proprietary and open-source software, open source Rexx interpreter (computing), interpreters exist for a wide range of comput ...
scripting language, it drew a crude Christmas tree as
text graphics, then sent itself to each entry in the target's email contacts file. In this way it spread onto the
European Academic Research Network (EARN),
BITNET
BITNET was a co-operative United States, U.S. university computer network founded in 1981 by Ira Fuchs at the City University of New York (CUNY) and Greydon Freeman at Yale University. The first network link was between CUNY and Yale.
Backgrou ...
, and IBM's worldwide
VNET. On all of these systems it caused massive disruption.
The core mechanism of the
ILOVEYOU worm of 2000 was essentially the same as Christmas Tree, although it ran on PCs rather than mainframes, was spread over a different network, and was scripted using
VBScript
VBScript (Microsoft Visual Basic Scripting Edition) is a deprecated programming language for scripting on Microsoft Windows using Component Object Model (COM), based on classic Visual Basic and Active Scripting. It was popular with system admi ...
rather than
REXX
Rexx (restructured extended executor) is a high-level programming language developed at IBM by Mike Cowlishaw. Both proprietary and open-source software, open source Rexx interpreter (computing), interpreters exist for a wide range of comput ...
.
Operation
The program displays this message, and then forwards itself to
mailbox addresses contained in the user's
address file.
*
*
***
*****
*******
*********
************* A
*******
*********** VERY
***************
******************* HAPPY
***********
*************** CHRISTMAS
*******************
*********************** AND MY
***************
******************* BEST WISHES
***********************
*************************** FOR THE NEXT
******
****** YEAR
******
Details
The name was actually "CHRISTMA EXEC" because on IBM VM systems of the time, a file was identified by an eight character file name and an eight character file type. The customary file type for a REXX program is "EXEC" and command shells assume that file type by default. In text, the file name and file type were often written together as two words. The name of this worm is sometimes written as the more natural "CHRISTMAS EXEC" by mistake.
The worm would read the user's contact list (the CMS NAMES file), and transmit the worm to every address in it using the SENDFILE program (On these networks, one could send files per se, in addition to email; there was in fact no way to attach a file to an email). Users who received the program could see from the EXEC file type that it was an executable program, and with no history of malicious worms then existing, users would often receive the program and run it just out of curiosity. Some users would read the REXX code first and see comments at the top telling them it is a fun Christmas card for them to run. The text there went so far as to discourage the reader from trying to read the code, saying it would be more fun just to run it and see what it does.
Some versions of the worm had concealed code. The actual executable part of the worm was contained in several overly long lines (more than 80 characters) that were not visible unless the user scrolled the screen to the right. The IBM 3279 color terminal would display the Christmas tree with some blinking colored characters (asterisks) to represent tree lights.
See also
*
Trojan horse (computing)
In computing, a trojan horse (or simply trojan; often capitalized, but see below) is a kind of malware that misleads users as to its true intent by disguising itself as a normal program.
Trojans are generally spread by some form of social engin ...
*
Timeline of computer viruses and worms
*
ASCII art
ASCII art is a graphic design technique that uses computers for presentation and consists of pictures pieced together from the 95 printable (from a total of 128) character (computing), characters defined by the ASCII Standard from 1963 and ASCI ...
References
Further reading
*
*
*
*
*
External links
Source code(archived)
{{Hacking in the 1980s
Trojan horses
Email worms
Rexx
Hacking in the 1980s
1987 in computing