Benefits of the Computer Virus
In the wake of the Melissa virus, an
increasing number of warnings are being made about the dark
side of our technological revolution. Because of the widespread
use of the Internet we are becoming uniquely vulnerable to
these mysterious threats.
Nevertheless, computer viruses are pretty
much as old as the computing networks that make them communicable
and can teach us valuable lessons as well as threaten us with
Returning to the birthplace of the field --
Xerox's Palo Alto Research Center, the legendary Xerox PARC gave
us not only the first personal computer, the first graphical user
interface and the first laser printer, but the first virus.
John Shoch, inventor of this new form of
programming, created the dynamic, roaming program known as the
"worm" that was designed not to destroy or damage computer systems
but enhance them. Nevertheless, in 1978, Shoch's worm got loose
in PARC's internal network, setting him and his colleagues on
the first desperate virus chase.
Shoch was a PARC engineer working on his
Stanford doctorate when he created the first worm. The program
took its name from the "tapeworm," a program that appeared in
John Brunner's "The Shockwave Rider," a popular science-fiction
novel of the time, in which it is used by the hero to destroy a
sinister computer network.
The PARC worm's purpose was at first to
save Shoch hours of tedious scut work. Shoch's doctoral research
was an analysis of the traffic patterns of PARC's Ethernet
that linked 200 of its "Altos," personal computers invented in
1973. His idea was to arrange for about 100 of the machines
to spew bits into the Ethernet simultaneously, then measure
the ensuing electronic gridlock. Rather than loading the same
program individually into every machine, he devised the worm to
do the loading automatically by seeking out idle Altos computers
and transmitting the test program by wire to those that signaled
they were available.
The test proved successful and soon he
turned his thoughts from communicating directly with each machine
to instructing them to talk among themselves. What if, rather
than loading the same program onto 100 machines from one central
point, he gave each machine the ability to seek out others, and
pass the program on from one to another? Shoch's brainstorm
hinted at a method of compounding processor power that would
one day find wide application in the field of supercomputers.
"In the middle of the night, such a program
could mobilize hundreds of machines in one building," he wrote
later. Before morning, as users arrived to reclaim their
machines, the worm would retreat. After hibernating in a machine
or two during the day, it would reemerge the next evening --
an image that led one of Shoch's colleagues to liken it less
to a worm than to a vampire.
Shoch eventually was able to invest his
worm with the ability to seek out idle Altos, boot up a host
machine through the network and replicate by sending copies of
itself from machine to machine, remaining in communication
with its dispersed offspring.
Still, he was also well aware that a
program capable of commandeering idle computers in their
owners' absence would have to be stringently controlled. It
was, for example, forbidden to access any Alto's disk drive --
a necessary precaution lest it inadvertently overwrite
someone's work, which he knew would be viewed as "a
profoundly antisocial act."
One night, however, something
unexpectedly went wrong. Shoch and two colleagues had set a
small worm loose in the PARC Ethernet to test a control
function. Confident that their program was suitably innocuous,
they left it running and went home.
At some point -- they never figured out
exactly when and why -- the program became corrupted so
badly it crashed its host computer. Sensing it had lost a
segment, the control worm sent out a tendril to another idle
Alto. That host crashed, and the next, and the next. For hours,
the silent carnage spread through the building until scores
of machines were disabled.
When morning came, dozens of PARC researchers
arrived for work to discover their machines had crashed. At first
this did not cause any alarm -- in those early years Altos
frequently crashed for no reason. Soon, however, it became
obvious that this was no random occurrence. For one thing,
whenever anyone stepped away from an Alto for even a few minutes,
it crashed again, seized by the still-insatiable worm.
Summoned to the lab, Shoch and his
colleagues began pursuing the program through the network
like exterminators chasing rats through a sewer. Eventually
they had no choice but to eradicate it with a sort of software
bomb -- a self-destruct command Shoch had preloaded as
insurance against some unpredictable disaster.
To his relief, all worm activity ceased.
That was the good news. The bad news was that the entire
PARC Ethernet had been figuratively reduced to a smoking ruin.
Scattered around the building were 100 dead Altos.
The lesson to computer and network designers
today is that rather than treating the worm as a menace, PARC
learned from its experience and continued to develop the
concept of a roving, self-executing program.
The principle survives today -- "spiders,"
"bots" and all sorts of other programs designed to rove the
Internet, collecting information on behalf of their users.