-
Title:
1988 Internet Worm - Software Testing
-
Description:
-
So now let's talk about the 1988 Internet worm.
-
There are several interesting things about this Internet worm.
-
Probably the main one is that it was one of the first worms
-
that actually got widespread attention.
-
It got this attention for good reason.
-
If you remember 1988, the Internet was not particularly well known to the general public,
-
and it had a relatively small number of users.
-
And even so, this worm infected an estimated 6,000 machines.
-
And while this is a really tiny number compared to a modern worm
-
or a modern botnet or something like this,
-
this was a substantial fraction of the number of machines connected to the Internet at the time.
-
The way this worm spread is it used computers' Internet connections
-
to exploit known vulnerabilities in the UNIX hosts of the time.
-
Of course, at the time, the existence of a remotely exploitable bug
-
wasn't considered nearly as serious as it would be considered today
-
because, of course, the 1988 worm and all of the subsequent ones hadn't happened yet.
-
One of these bugs was a buffer overflow exploit in the finger daemon,
-
and this was a service that would run on UNIX machines of the time,
-
and the finger daemon would let you query a remote machine
-
to learn about whether a user was logged in to that machine and some other stuff.
-
And so now let's ask the question, would random testing have changed the outcome?
-
Well, it seems extremely likely not because these bugs were known at the time.
-
On the other hand, let's ask a little bit different question.
-
Could this bug in finger daemon and lots of other bugs like it
-
have been found by random testing?
-
And the answer to the question is probably yes.
-
In fact, if we go back to the original fuzzing paper,
-
one of the bugs that was found was caused by the same programming practice
-
that provided one of the security holes to the Internet worm.
-
So basically, even in its original fairly weak form
-
where fuzzing was done with completely random data,
-
it was finding the kind of bugs that were causing security holes.
-
This remains true to this day, but fuzzers are used to find a lot of exploitable vulnerabilities
-
in hosts that have Internet-facing services.
-
So in summary, it could have found the kind of bugs that the worm exploited
-
and others like it had people been running fuzzers a couple of years earlier.