A fascination with the potential ability of computer programs to mimic biological processes such as
self-replication and the workings of the human brain dates from the earliest
days of computer science
.
Until recently, much of the
work in this field (with the notable exception of genetic algorithms
)
was relegated to sporadic reporting in the Mathematical Games department in Scientific
American. In the last few years, however, a remarkable resurgence of interest in the analogies
between biological and computational mechanisms has revitalized a number of long-neglected
fields, including neural networks
,
cellular automata
,
and artificial life
.
Recently, a new concept has added itself to this intellectual milieu: the
computer virus
--
a self-replicating program that spreads within computing
systems, either by attaching itself parasitically to existing programs or by spawning
self-sufficient copies of itself . The compelling analogies that exist between computer
viruses and their biological counterparts have been apparent ever since the term was coined
.
This has led some authors to suggest that the mathematical techniques which have
been developed for the study of the spread of infectious diseases might be adapted to the study
of the spread of computer viruses
.
We believe that this paper represents
the first serious attempt to adapt mathematical epidemiology to this problem.
In the remainder of this section, we give a very brief history of the problem of computer viruses
and describe our objectives in studying them. Then, we critique some previous work on the
spread of computer viruses, following it with a similar discussion of
the relevant literature on mathematical epidemiology . We conclude that the standard
epidemiological approach has much to offer, but that it must be augmented in order to account
properly for the localized nature of program sharing (one of the major vectors for viral
infection). Finally, we propose a model which explicitly incorporates such locality, discuss
our approach to studying the behavior of that model, and provide an outline for the remainder
of the paper.
Back To Index
|