Approaching Zero

by Paul Mungo

Available in 109 free installments

Owner:

View book

Email address:

Enter your email address above to start receiving your free daily installments.

Dripread will never disclose your email address to third parties.

The first attempts to use self-replicating programs for something useful were made at Xerox's Palo Alto Research Center in the late seventies. Two researchers, John Shoch and Jon Hupp, devised what they called a worm program to help with the management of the center's computer network, which linked over one hundred medium-sized machines. They envisaged the program working automatically, archiving old files, making backup copies of current files, and running routine diagnostic checks; they hoped that it would be able to perform the endless housekeeping tasks that the researchers at Palo Alto were too busy to keep up with. They named the new program a worm, the two later said, in honor of their inspiration--another work of science fiction by the English writer John Brunner called The Shockwave Rider, published in 1975. Brunner's book heralded the existence of a computer program, which he called a "tapeworm," that reproduced itself endlessly and couldn't be killed.

Something very similar happened to Shoch and Hupp. Their worm program was expected to sit quietly on one computer during the day, then emerge at night to roam the computers in the research center, carrying out housekeeping chores.

Because it worked only at night, skeptical colleagues nicknamed it the vampire program.

In their first test, Shoch and Hupp left the worm program "exercising" on half a dozen designated machines in the lab. It wasn't programmed to do anything; it was just expected to travel to the designated machines and leave copies of itself. The next morning, though, when the two arrived back at their office, they found that the worm had escaped and had rampaged through all the hundred-plus networked computers in the center. More disturbing it had reproduced so quickly that it had brought every machine to a halt, seemingly strangling them by taking up all available space in the computers' memory.

Worse, when they attempted to restart one of the computers, the worm was reactivated and proceeded to strangle the machine again. To destroy the worm, they had to write another pro- gram--a killer program. Fortunately, unlike Brunner's tapeworm, their program was not indestructible, but Shoch and Hupp later called its behavior "rather puzzling," and simply abandoned the experiment, leaving unsolved the problem of "controlling [its] growth while maintaining stable behavior."

In the early 1980s a number of computer science students suc- - ceeded in writing self-replicating programs for the new Apple II computers. Joe Dellinger, a student at Texas A&M University at the time, became intrigued by the idea that computer programs could become modified when copied. He had no trouble writing a self-replicating program for the Apple II, even though he didn't consider himself a particularly clever programmer. His biggest problem was in writing a program that wouldn't cause damage; he was surprised at how quickly the program could propagate, moving rapidly from computer to computer by diskette, eventually traveling to machines outside the A&M campus.

Though Dellinger was intrigued by the notion that programs change as they replicate and travel from computer to computer, there is nothing metaphysical about it. It is simply a computer error. The longer and more complex a program is, the more likely that a line of instruction, a command within the program, will be skipped or altered in the copying process. These tiny modifications rarely cause problems, but the potential for error is there.

What is more important is that Dellinger discovered that any self-replicating program, no matter how benign, carried with it the potential for damage, just as a fly buzzing about a room carries the possibility of disease. Unlike the software sold by commercial houses, self-replicating programs are untested, un- tried and generally unstable. The changes created when these programs transfer themselves from machine to machine can cause them to be damaging, and their very presence on a computer is inherently risky.

Equally intriguing is the speed at which they propagate. In an environment like a university campus, where anyone has access to any computer and programs are routinely carried from machine to machine on diskette, they can multiply exponentially. They are, after all, designed to replicate, so that one copy quickly becomes two, two become four, four become eight, and so on. Dellinger found that once let loose, the program's spread was almost unstoppable.