home *** CD-ROM | disk | FTP | other *** search
/ Hacker Chronicles 1 / HACKER1.ISO / network / nia14 < prev    next >
Text File  |  1992-09-26  |  14KB  |  245 lines

  1.  
  2.  ZDDDDDDDDDDDDDDDDDD? IMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM; ZDDDDDDDDDDDDDDDDDD?
  3.  3   Founded By:    3 :  Network Information Access   : 3   Founded By:    3
  4.  3 Guardian Of Time CD:            07APR90            :D4 Guardian Of Time 3
  5.  3   Judge Dredd    3 :          Judge Dredd          : 3   Judge Dredd    3
  6.  @DDDDDDDDBDDDDDDDDDY :            File 14            : @DDDDDDDDDBDDDDDDDDY
  7.           3           HMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM<           3
  8.           3               IMMMMMMMMMMMMMMMMMMMMMMM;               3
  9.           @DDDDDDDDDDDDDDD:SPREADING THE DISEASE IGDDDDDDDDDDDDDDDY
  10.                           HMMMMMMMMMMMMMMMMMMMMMMM<
  11.  
  12. This was an article in USENET posted by the man who created the first virus
  13. documentable.  I will reprint it here for your general knowlegde and benefit.
  14. It deals with the virus, the author/creator, and his personal frame of mind.
  15. The article that follows is in first person told by the virus Author. You can
  16. contact me at Mother Earth (5p-7a 24hrs weekends) and all questions will be
  17. entertained. I am sorry about this inconvenience as I will have my NET Id soon.
  18.  
  19. $_Article
  20.  
  21.         Sorry this article is rather long, but if you still have any old DOS 3.3
  22. Apple ][ disks lying around please read it! (Feel free to read it for general
  23. entertainment value too, of course, even if you don't possess any such
  24. historical disks.)
  25.  
  26.         I have been asked by Gene Spafford to write an article detailing the
  27. life story of a Virus I wrote for Dos 3.3 on the Apple ][ in December, 1981
  28. for one of his journals. Spafford wants me to write the story up because it's
  29. the earliest _documentable_ personal computer virus he's heard of. I'm trying
  30. to get more information that I plan to use to make that article more complete.
  31.  
  32. 1) Why did I write a virus? Am I an evil scum?
  33.  
  34.         At the time (remember, this was 1981) I was an undergraduate at Texas
  35. A+M. There was an active community of Apple ][ users in my dorm (Shuhmacher),
  36. with an _incredible_ amount of copying of pirated game programs going on. I
  37. noted that most games were damaged in various sorts of ways, but they were
  38. almost always still playable despite the damage. (For example, there was one
  39. popular Star Trek game in BASIC that had occasional garbage control characters
  40. in non-critical REM and PRINT statements; space war games often had random junk
  41. replacing some pictures of ships, etc.) I decided that I could explain this by
  42. invoking a sort of "evolution".
  43.  
  44.         For evolution to occur, you need mutation and natural selection. Well,
  45. there was "mutation" caused by people hacking with the games; more importantly,
  46. many copies of games were also accidentally mangled by sick disks and computers.
  47.                                                                                .
  48. (People would keep using game disks until they literally disintegrated. My early
  49. model Apple ][ was notoriously unreliable, and would crash about every 30
  50. minutes in all sorts of interesting ways. A few well-placed bangs would usually
  51. get it working again.) "Natural Selection" entered the picture with the actions
  52. of users to either "reproduce" or "kill" copies of games. (For example, if your
  53. copy of a game was not playable, you would go get a fresh copy of it from your
  54. neighbor, reproducing his copy and killing yours. As there was only a finite
  55. amount of disk space for games, there was also competition between species of
  56. programs, too.)
  57.  
  58.         This idea of programs inhabiting a sort of computer biosphere led
  59. naturally to the idea of a "Computer Virus" as a likely accidental outcome of
  60. such evolution. My experiments started when I tried to find out what the minimum
  61. change to DOS was to make it viral. (I was thinking of something like a prion,
  62. a sort of proto-virus that can be created by repeated damage to plants. A prion
  63. can't jump from plant to plant by itself, but it will happily hitch a ride on
  64. your machete if you let it. Supposedly prions are actually becoming a serious
  65. agricultural problem with palm trees in some parts of the world.) As I
  66. remember the answer for DOS 3.3 was about 16 bytes, which was within the
  67. bounds of what could happen naturally if Apple computers with people randomly
  68. copying games between them were to exist for a few million years! The next
  69. logical step was trying to guess what an evolutionarily OPTIMAL program might
  70. look like. Certainly the program would be more successful if it didn't rely on
  71. the good will of humans to reproduce, but likewise it is a bad idea to damage
  72. your host (or give humans a reason to expend effort trying to kill you). So
  73. the ideal virus would spread by itself, but not cause harm or even any
  74. "symptoms" of any kind, if it could help it.
  75.  
  76.         I discussed these ideas with friends, many of whom also had Apple ]['s.
  77. None of them had ever heard of such a thing as a "computer virus" at the time.
  78. (Many Apple ][ users I knew scoffed at the idea that such a thing could possibly
  79. exist.) Well, by this time creating a virus sounded like a really interesting
  80. project, and it was a good excuse to learn 6502 machine language, so a group
  81. of us started working on my "evolutionarily optimal program" off and on in our
  82. (infrequent) spare time. Our first attempt, "Virus version 1" was finished
  83. in early 1982. Virus 1 was infectious, but still caused some symptoms on my
  84. computer despite our best efforts, so we kept it strictly quarantined and
  85. kept hacking.
  86.  
  87.         A couple months later Virus 2 was finished. It seemed to cause no ill
  88. effects at all, so I proceeded with the next step in my experiments and turned
  89. it loose in my own disks. The goal of this experiment was to see how quickly
  90. such a program would spread through my own disks if I continued using my
  91. computer normally. (So I had another good reason to want to make sure the virus
  92.  
  93. was completely innocuous. In fact, in the end almost all of Virus 2's code was
  94. to check for various sorts of dangerous situations: non standard DOS, non
  95. standard disks, programs altering DOS, etc. In these cases the virus would
  96. either not attempt infection or immediately disconnect itself from DOS,
  97. committing suicide.)
  98.  
  99.         Interest in my "research" was high among the Apple community at A+M,
  100. so I also gave copies of Virus 2 to several friends who wanted to play with
  101. it. The idea of computer viruses spread rapidly; several other people started
  102. working on their own "less boring" (read damaging) ones. Fortunately (as far
  103. as I ever knew) they spent all of their time trying to dream up interesting
  104. pranks for the virus to pull, instead of determinedly trying to produce a
  105. working "evil" virus.
  106.  
  107. 2) Did my virus ever escape?
  108.  
  109.         At first we carefully kept Virus 2 quarantined, but after a few
  110. months with no damaging symptoms we got a little lax, and the inevitable
  111. happened. I first found out Virus 2 had escaped when one of my A+M friends who
  112. had graduated and moved on to grad school at UIUC reported that everybody's
  113. copy of a (pirated) game called "Congo" had mysteriously stopped working there.
  114.  
  115. Whenever people tried to get a fresh working copy, they would find that
  116. previously working copies would then also stop working. My friend realized
  117. what had happened and wrote me about it. We quickly wrote an "immunizer"
  118. program and distributed it at UIUC; the standard Apple utility "master create"
  119. sufficed as a disinfectant. We were never quite sure whether _all_ escaped
  120. copies of Virus 2 at UIUC were killed off, though.
  121.  
  122.         I was disappointed that Virus 2 was a failure, and started work on
  123. Virus 3. It turned out that Virus 2 caused problems because it made DOS 1 sector
  124. (256 bytes! a significant chunk of memory!) larger, to accomodate the extra
  125. code. A very few programs would blow up in strange ways because of this. (The
  126. solution was simply to boot from a noninfected disk, and THEN run the programs.)
  127. So the goal for Virus 3 was that it should take up no room in memory, and no
  128. room on disk. After some thought, we came up with a solution: Most of Virus 3's
  129. guts resided in unprotected memory where they could be freely written over. A
  130. small routine buried safely inside holes in DOS's Read-Write Translate Table
  131. triple-checked the unprotected code before jumping to it. (This code was a real
  132. nightmare; some bytes in the table served double duty as critical data values
  133. for DOS and executable op codes for the virus.) Virus 3 was a success; we never
  134. encountered any program whose behaviour was affected by the virus's presence.
  135.  
  136.         The worst part about writing a DOS virus was that whenever I made a
  137. mistake DOS would stop working, and I'd have to re-poke the bytes in by hand,
  138. which I kept written down on pieces of junk mail! Using an assembler was out
  139. of the question, as the whole thing was only about 300 bytes and scattered in
  140. tiny bits and pieces in several places in DOS. It had lots of JMPs all over
  141. the place, self-modifying code and other such nightmares, all to make it as
  142. small as possible. (The larger it was and the more exposed in memory, the more
  143. work it was to replicate itself and the more chance there was of something
  144. unexpected going wrong.)
  145.  
  146. 3) What finally happened?
  147.  
  148.         Well, I don't really know. Since Virus 3 was effectively completely
  149. invisible, after a while we lost interest and pretty much forgot about the whole
  150. thing. We again intended to keep the virus quarantined, but a spot check in the
  151. fall of 1983 shortly after I graduated and moved to Stanford turned it up in
  152. several of my friends' collections on disks they thought were uninfected.
  153. By that point they didn't think it was worth the bother of removing it, though,
  154. so it spread unchecked. Interest in viruses at A+M had died down by this time,
  155. too. I only heard about my virus once more: around 1984 my friend at UIUC
  156. reported that an "evil" virus was attacking Apples there, and causing a lot of
  157. damage by randomly initializing disks. Some disks had a form of immunity to
  158. the evil virus, however: when infected by the evil virus, they would crash
  159. at boot time (which was better than appearing to boot normally and then causing
  160. damage later). It turned out the "immune" disks were ones that had previously
  161. been infected by Virus 3!
  162.  
  163. >>>>>>>> Here's where I need your help: <<<<<<<<<<
  164.  
  165. 4) Does it still exist?
  166.  
  167.         That's what I'd like to find out. The Virus wasn't particularly
  168. infectious; it only spread on "CATALOG" commands. It attached itself only
  169. to DOS, not programs, and was very careful only to attach itself to
  170. absolutely vanilla 48K slave DOS 3.3. Still, there are some old DOS 3.3 disks
  171. out there yet, aren't there?
  172.  
  173.         If you would like to look for it, here's where in memory to look:
  174.  
  175. beginning at B6E8 regular DOS 3.3 has a bunch of 00's. Boot the disk you want
  176. to check to load that disk's copy of DOS into memory. Infected disks or
  177. non-infectious descendants of infected disks will have text of the form
  178.  
  179. "(GEN 0000000 TAMU)"
  180.  
  181. (in Hex this is "A8 C7 C5 CE A0 B0 B0 B0 B0 B0 B0 B0 A0 D4 C1 CD D5 A9")
  182.  
  183. at B6E8. You can also see this text go by near the end of track 0, sector 0 if
  184. you use some utility to dump your disk as text. The number is a generation
  185. count, and so will be different in your copy. (13 generations saturated my own
  186. and my friends' collections, if you're interested.) If you should find the
  187. generation count, you might try also looking at 9CFE and 9CFF. If the virus is
  188. alive, this should contain the initials of the friend of mine who let your
  189. copy of the virus escape. (If it's JD, then I'm the guilty party.)
  190.  
  191.         Hopefully Virus 2 was wiped out, but perhaps it wasn't. If you want to
  192. check the version, the simplest way is to do a "CATALOG" of the disk you're
  193. checking, and then look at B3BF. Vanilla DOS 3.3 has a "00" at this location.
  194. Virus 2 instead has 02, and Virus 3 similarly has 03. (This "immunity" byte
  195. can spread when a new disk is initialized, thus providing a way for immunity
  196. to be created and passed on. For example, if a master disk is attacked it
  197. will be left marked immune but will be free of infection. Slave disks
  198. initialized off the master disk would then also be immune, even though they
  199. would otherwise be susceptible.)
  200.  
  201.         (If you don't find zeros at B6E8, 9CFE, and B3BF, but also don't find
  202. the bytes I've mentioned, then I don't know any more about it than you do,
  203. and there's not much point in getting excited and flaming me via e-mail.)
  204.  
  205.         If you DO find my virus on one of your old Apple ][ disks, please
  206. let me know! It will make the paper much more interesting! I'll acknowledge
  207. you at the end! (And please accept my apologies!)
  208.  
  209. 5) Did the idea of Viruses I started spread or die out?
  210.  
  211.         Certainly everybody knows about viruses today. Did you hear rumors
  212. of some strange person at A+M working on one around 1982-1983? (And no, I
  213. was NOT the person who was expelled from A+M about that time for breaking
  214. into the mainframe and stealing Chemistry exams. I never kept my activities
  215. secret, nor did anything I thought I had to keep secret. For example, my virus
  216. is mentioned in a "Computer Recreations" column in 1986, but the author of that
  217. article mangled the information I sent him rather badly.)
  218.  
  219.         Do you know anything about the people who were breaking and
  220. distributing the copy-protected software turning up at A+M? The rumors
  221. at the time at A+M were that the software was coming "from Chicago".
  222. Many programs were "signed" by the breakers with such psuedonyms as
  223. "The Jerk", "The Beaver", and "Apple Pirated Program Library Exchange".
  224.  
  225.         Do you know anything about what happened at A+M after spring, 1983,
  226. after I graduated? I was told by one A+M graduate I met in 1989 that Virus 3
  227. made it into the A+M Computer User's Group's disks after I left, but I don't
  228. really know that.
  229.  
  230. 6) Any other early virus-writers have any interesting stories to confess?
  231.  
  232.         I'd be curious to hear if anybody else tried to write a virus before
  233. they became commonplace and criminal. Surely the idea must have occurred to
  234. many other people about that time!
  235.  
  236. $_End Article
  237. $_EOF
  238.  
  239. [OTHER WORLD BBS]
  240.  
  241.  
  242.  
  243.  
  244. Downloaded From P-80 International Information Systems 304-744-2253 12yrs+
  245.