home *** CD-ROM | disk | FTP | other *** search
-
- ZDDDDDDDDDDDDDDDDDD? IMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM; ZDDDDDDDDDDDDDDDDDD?
- 3 Founded By: 3 : Network Information Access : 3 Founded By: 3
- 3 Guardian Of Time CD: 07APR90 :D4 Guardian Of Time 3
- 3 Judge Dredd 3 : Judge Dredd : 3 Judge Dredd 3
- @DDDDDDDDBDDDDDDDDDY : File 14 : @DDDDDDDDDBDDDDDDDDY
- 3 HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM< 3
- 3 IMMMMMMMMMMMMMMMMMMMMMMM; 3
- @DDDDDDDDDDDDDDD:SPREADING THE DISEASE IGDDDDDDDDDDDDDDDY
- HMMMMMMMMMMMMMMMMMMMMMMM<
-
- This was an article in USENET posted by the man who created the first virus
- documentable. I will reprint it here for your general knowlegde and benefit.
- It deals with the virus, the author/creator, and his personal frame of mind.
- The article that follows is in first person told by the virus Author. You can
- contact me at Mother Earth (5p-7a 24hrs weekends) and all questions will be
- entertained. I am sorry about this inconvenience as I will have my NET Id soon.
-
- $_Article
-
- Sorry this article is rather long, but if you still have any old DOS 3.3
- Apple ][ disks lying around please read it! (Feel free to read it for general
- entertainment value too, of course, even if you don't possess any such
- historical disks.)
-
- I have been asked by Gene Spafford to write an article detailing the
- life story of a Virus I wrote for Dos 3.3 on the Apple ][ in December, 1981
- for one of his journals. Spafford wants me to write the story up because it's
- the earliest _documentable_ personal computer virus he's heard of. I'm trying
- to get more information that I plan to use to make that article more complete.
-
- 1) Why did I write a virus? Am I an evil scum?
-
- At the time (remember, this was 1981) I was an undergraduate at Texas
- A+M. There was an active community of Apple ][ users in my dorm (Shuhmacher),
- with an _incredible_ amount of copying of pirated game programs going on. I
- noted that most games were damaged in various sorts of ways, but they were
- almost always still playable despite the damage. (For example, there was one
- popular Star Trek game in BASIC that had occasional garbage control characters
- in non-critical REM and PRINT statements; space war games often had random junk
- replacing some pictures of ships, etc.) I decided that I could explain this by
- invoking a sort of "evolution".
-
- For evolution to occur, you need mutation and natural selection. Well,
- there was "mutation" caused by people hacking with the games; more importantly,
- many copies of games were also accidentally mangled by sick disks and computers.
- .
- (People would keep using game disks until they literally disintegrated. My early
- model Apple ][ was notoriously unreliable, and would crash about every 30
- minutes in all sorts of interesting ways. A few well-placed bangs would usually
- get it working again.) "Natural Selection" entered the picture with the actions
- of users to either "reproduce" or "kill" copies of games. (For example, if your
- copy of a game was not playable, you would go get a fresh copy of it from your
- neighbor, reproducing his copy and killing yours. As there was only a finite
- amount of disk space for games, there was also competition between species of
- programs, too.)
-
- This idea of programs inhabiting a sort of computer biosphere led
- naturally to the idea of a "Computer Virus" as a likely accidental outcome of
- such evolution. My experiments started when I tried to find out what the minimum
- change to DOS was to make it viral. (I was thinking of something like a prion,
- a sort of proto-virus that can be created by repeated damage to plants. A prion
- can't jump from plant to plant by itself, but it will happily hitch a ride on
- your machete if you let it. Supposedly prions are actually becoming a serious
- agricultural problem with palm trees in some parts of the world.) As I
- remember the answer for DOS 3.3 was about 16 bytes, which was within the
- bounds of what could happen naturally if Apple computers with people randomly
- copying games between them were to exist for a few million years! The next
- logical step was trying to guess what an evolutionarily OPTIMAL program might
- look like. Certainly the program would be more successful if it didn't rely on
- the good will of humans to reproduce, but likewise it is a bad idea to damage
- your host (or give humans a reason to expend effort trying to kill you). So
- the ideal virus would spread by itself, but not cause harm or even any
- "symptoms" of any kind, if it could help it.
-
- I discussed these ideas with friends, many of whom also had Apple ]['s.
- None of them had ever heard of such a thing as a "computer virus" at the time.
- (Many Apple ][ users I knew scoffed at the idea that such a thing could possibly
- exist.) Well, by this time creating a virus sounded like a really interesting
- project, and it was a good excuse to learn 6502 machine language, so a group
- of us started working on my "evolutionarily optimal program" off and on in our
- (infrequent) spare time. Our first attempt, "Virus version 1" was finished
- in early 1982. Virus 1 was infectious, but still caused some symptoms on my
- computer despite our best efforts, so we kept it strictly quarantined and
- kept hacking.
-
- A couple months later Virus 2 was finished. It seemed to cause no ill
- effects at all, so I proceeded with the next step in my experiments and turned
- it loose in my own disks. The goal of this experiment was to see how quickly
- such a program would spread through my own disks if I continued using my
- computer normally. (So I had another good reason to want to make sure the virus
-
- was completely innocuous. In fact, in the end almost all of Virus 2's code was
- to check for various sorts of dangerous situations: non standard DOS, non
- standard disks, programs altering DOS, etc. In these cases the virus would
- either not attempt infection or immediately disconnect itself from DOS,
- committing suicide.)
-
- Interest in my "research" was high among the Apple community at A+M,
- so I also gave copies of Virus 2 to several friends who wanted to play with
- it. The idea of computer viruses spread rapidly; several other people started
- working on their own "less boring" (read damaging) ones. Fortunately (as far
- as I ever knew) they spent all of their time trying to dream up interesting
- pranks for the virus to pull, instead of determinedly trying to produce a
- working "evil" virus.
-
- 2) Did my virus ever escape?
-
- At first we carefully kept Virus 2 quarantined, but after a few
- months with no damaging symptoms we got a little lax, and the inevitable
- happened. I first found out Virus 2 had escaped when one of my A+M friends who
- had graduated and moved on to grad school at UIUC reported that everybody's
- copy of a (pirated) game called "Congo" had mysteriously stopped working there.
-
- Whenever people tried to get a fresh working copy, they would find that
- previously working copies would then also stop working. My friend realized
- what had happened and wrote me about it. We quickly wrote an "immunizer"
- program and distributed it at UIUC; the standard Apple utility "master create"
- sufficed as a disinfectant. We were never quite sure whether _all_ escaped
- copies of Virus 2 at UIUC were killed off, though.
-
- I was disappointed that Virus 2 was a failure, and started work on
- Virus 3. It turned out that Virus 2 caused problems because it made DOS 1 sector
- (256 bytes! a significant chunk of memory!) larger, to accomodate the extra
- code. A very few programs would blow up in strange ways because of this. (The
- solution was simply to boot from a noninfected disk, and THEN run the programs.)
- So the goal for Virus 3 was that it should take up no room in memory, and no
- room on disk. After some thought, we came up with a solution: Most of Virus 3's
- guts resided in unprotected memory where they could be freely written over. A
- small routine buried safely inside holes in DOS's Read-Write Translate Table
- triple-checked the unprotected code before jumping to it. (This code was a real
- nightmare; some bytes in the table served double duty as critical data values
- for DOS and executable op codes for the virus.) Virus 3 was a success; we never
- encountered any program whose behaviour was affected by the virus's presence.
-
- The worst part about writing a DOS virus was that whenever I made a
- mistake DOS would stop working, and I'd have to re-poke the bytes in by hand,
- which I kept written down on pieces of junk mail! Using an assembler was out
- of the question, as the whole thing was only about 300 bytes and scattered in
- tiny bits and pieces in several places in DOS. It had lots of JMPs all over
- the place, self-modifying code and other such nightmares, all to make it as
- small as possible. (The larger it was and the more exposed in memory, the more
- work it was to replicate itself and the more chance there was of something
- unexpected going wrong.)
-
- 3) What finally happened?
-
- Well, I don't really know. Since Virus 3 was effectively completely
- invisible, after a while we lost interest and pretty much forgot about the whole
- thing. We again intended to keep the virus quarantined, but a spot check in the
- fall of 1983 shortly after I graduated and moved to Stanford turned it up in
- several of my friends' collections on disks they thought were uninfected.
- By that point they didn't think it was worth the bother of removing it, though,
- so it spread unchecked. Interest in viruses at A+M had died down by this time,
- too. I only heard about my virus once more: around 1984 my friend at UIUC
- reported that an "evil" virus was attacking Apples there, and causing a lot of
- damage by randomly initializing disks. Some disks had a form of immunity to
- the evil virus, however: when infected by the evil virus, they would crash
- at boot time (which was better than appearing to boot normally and then causing
- damage later). It turned out the "immune" disks were ones that had previously
- been infected by Virus 3!
-
- >>>>>>>> Here's where I need your help: <<<<<<<<<<
-
- 4) Does it still exist?
-
- That's what I'd like to find out. The Virus wasn't particularly
- infectious; it only spread on "CATALOG" commands. It attached itself only
- to DOS, not programs, and was very careful only to attach itself to
- absolutely vanilla 48K slave DOS 3.3. Still, there are some old DOS 3.3 disks
- out there yet, aren't there?
-
- If you would like to look for it, here's where in memory to look:
-
- beginning at B6E8 regular DOS 3.3 has a bunch of 00's. Boot the disk you want
- to check to load that disk's copy of DOS into memory. Infected disks or
- non-infectious descendants of infected disks will have text of the form
-
- "(GEN 0000000 TAMU)"
-
- (in Hex this is "A8 C7 C5 CE A0 B0 B0 B0 B0 B0 B0 B0 A0 D4 C1 CD D5 A9")
-
- at B6E8. You can also see this text go by near the end of track 0, sector 0 if
- you use some utility to dump your disk as text. The number is a generation
- count, and so will be different in your copy. (13 generations saturated my own
- and my friends' collections, if you're interested.) If you should find the
- generation count, you might try also looking at 9CFE and 9CFF. If the virus is
- alive, this should contain the initials of the friend of mine who let your
- copy of the virus escape. (If it's JD, then I'm the guilty party.)
-
- Hopefully Virus 2 was wiped out, but perhaps it wasn't. If you want to
- check the version, the simplest way is to do a "CATALOG" of the disk you're
- checking, and then look at B3BF. Vanilla DOS 3.3 has a "00" at this location.
- Virus 2 instead has 02, and Virus 3 similarly has 03. (This "immunity" byte
- can spread when a new disk is initialized, thus providing a way for immunity
- to be created and passed on. For example, if a master disk is attacked it
- will be left marked immune but will be free of infection. Slave disks
- initialized off the master disk would then also be immune, even though they
- would otherwise be susceptible.)
-
- (If you don't find zeros at B6E8, 9CFE, and B3BF, but also don't find
- the bytes I've mentioned, then I don't know any more about it than you do,
- and there's not much point in getting excited and flaming me via e-mail.)
-
- If you DO find my virus on one of your old Apple ][ disks, please
- let me know! It will make the paper much more interesting! I'll acknowledge
- you at the end! (And please accept my apologies!)
-
- 5) Did the idea of Viruses I started spread or die out?
-
- Certainly everybody knows about viruses today. Did you hear rumors
- of some strange person at A+M working on one around 1982-1983? (And no, I
- was NOT the person who was expelled from A+M about that time for breaking
- into the mainframe and stealing Chemistry exams. I never kept my activities
- secret, nor did anything I thought I had to keep secret. For example, my virus
- is mentioned in a "Computer Recreations" column in 1986, but the author of that
- article mangled the information I sent him rather badly.)
-
- Do you know anything about the people who were breaking and
- distributing the copy-protected software turning up at A+M? The rumors
- at the time at A+M were that the software was coming "from Chicago".
- Many programs were "signed" by the breakers with such psuedonyms as
- "The Jerk", "The Beaver", and "Apple Pirated Program Library Exchange".
-
- Do you know anything about what happened at A+M after spring, 1983,
- after I graduated? I was told by one A+M graduate I met in 1989 that Virus 3
- made it into the A+M Computer User's Group's disks after I left, but I don't
- really know that.
-
- 6) Any other early virus-writers have any interesting stories to confess?
-
- I'd be curious to hear if anybody else tried to write a virus before
- they became commonplace and criminal. Surely the idea must have occurred to
- many other people about that time!
-
- $_End Article
- $_EOF
-
- [OTHER WORLD BBS]
-
-
-