home *** CD-ROM | disk | FTP | other *** search
/ Hacker 2 / HACKER2.mdf / virus / virusl2 / virusl2.24 < prev    next >
Text File  |  1995-01-03  |  12KB  |  248 lines

  1. VIRUS-L Digest             Tuesday, 24 Jan 1989         Volume 2 : Issue 24
  2.  
  3. Today's Topics:
  4. Ken Hoover's Sick Mac
  5. Features of Blackjack Virus (PC)
  6. Checksum programs and Otto's principles
  7. Mac problems part III
  8.  
  9. ---------------------------------------------------------------------------
  10.  
  11. Date:         Tue, 24 Jan 89 10:22:22 EST
  12. From:         Joe McMahon <XRJDM@SCFVM.GSFC.NASA.GOV>
  13. Subject:      Ken Hoover's Sick Mac
  14.  
  15. First, you MUST get a more recent version of Interferon. I can't
  16. stress this enough. Version 1.0 is *full* of holes, and two out of the
  17. 5 known viruses didn't even exist when it was written.
  18.  
  19. I will send you the most recent copies I have of both Virus RX and
  20. Interferon. Please rerun the tests and let me know if the problem is
  21. trapped by these newer versions.
  22.  
  23. Note to all Mac disinfectors: It is IMPERATIVE that you stay up to
  24. date on anti-viral software. The virus writers ARE getting copies of
  25. the programs, and they ARE trying to write around them.
  26.  
  27.  --- Joe M.
  28.  
  29. ------------------------------
  30.  
  31. Date:    24 January 89, 17:25:02 +0100 (MEZ)
  32. From:    Otto Stolz <RZOTTO@DKNKURZ1.BITNET>
  33. Subject: Features of Blackjack Virus (PC)
  34.  
  35. Hello,
  36.  
  37. perhaps you remember the virus incident I reported on this list, on 2
  38. September 88, 14:44:40 +0200 (MESZ).  This note is intended to present
  39. some of the results and insights I gained since.  Most of the facts
  40. presented here have not been detected by myself; rather I have to
  41. thank several people in the local area, and several VIRUS-L
  42. subscribers, for their hints and contributions.
  43.  
  44. This virus has been termed "Blackjack", which is a pun on the German
  45. name "17+4" of the popular card game.  Blackjack reveals its existence
  46. by the length of infected COM-files, which is 1704 Bytes too large.
  47.  
  48. As with the Israeli virus strains, the virus has a two-stage
  49. life-cycle:
  50.  
  51. - - when you invoke an infected program, Blackjack will infect RAM;
  52.  
  53. - - when Blackjack is active in RAM, it will infect every COM file being
  54.   invoked.  This can be exploited for an easy test, e.g.:
  55.      copy con: test.com
  56.      {ALT-144} {ALT-205} {Blank} {CTRL-z} {return}
  57.      dir test.com
  58.      test
  59.      dir test.com
  60.   In the second line above, every brace-pair represents one byte entered;
  61.   if you key in these bytes correctly, you'll read a Capital Letter E
  62.   with Acute Accent, a Horizontal Double-Line Segment, a Blank, a Circum-
  63.   flex Accent, and a Capital Letter Z.  The 1st dir-command, above,
  64.   should report that
  65.   TEST.COM is 3 bytes long; if the 2nd dir reports 1707 bytes, instead,
  66.   your RAM, and hence the TEST.COM file, are infected by some virus--most
  67.   probably Blackjack.
  68.  
  69. Blackjack infects only COM-files which are at least 3 Bytes long, and
  70. it does so only once for any given file.  It overwrites the 1st three
  71. bytes with a JMP to the beginning of the viral code, which is appended
  72. to the file.  The 2 byte address of this JMP instruction is probably
  73. the reason why only COM files are susceptible to infection.  Blackjack
  74. retains the file's time stamp.  It even infects read-only files; on
  75. write-protected floppy disks, it attempts writing 5 times per file,
  76. thus revealing its activity.
  77.  
  78. In the infected file, the viral code is cryptographically encoded,
  79. using a simple Vigenere code depending on the length of the file; only
  80. the instructions for decoding the encrypted part of the code are in
  81. plain machine-language.  This is obviously intended as a impediment
  82. against disassembling.  Hence, every copy of the virus looks different
  83. (depending on the length of the file).
  84.  
  85. On invocation of an infected program, Blackjack installs itself in RAM
  86. (if no copy is already installed), then replaces the JMP instruction
  87. with its former contents and resumes normal program operation.
  88.  
  89. The storage map shows that Blackjack has tinkered with the free
  90. storage pointer-chain to hide the fact that it has hooked interrupt
  91. 21.  Hence, only a minor part of Blackjack is visible in the storage
  92. map.
  93.  
  94. In every year, from October to December, Blackjack will interfere with
  95. CGA or EGA operated screens, moving randomly chosen characters down,
  96. like falling leaves in autumn.  After a while, you'll have a big heap
  97. of characters at the bottom of your screen, and as you cannot see
  98. anymore what the computer is trying to display, you'll probably have
  99. to restart the system.  This behaviour has been predicted by two
  100. people, who have disassembled Blackjack, and has later been observed
  101. on many EGA-equipped ATs.
  102.  
  103. Together with two students, I have written a VIRCHECK program to check
  104. for Blackjack in RAM and in disk files.  VIRCHECK exploits the
  105. signaling device Blackjack uses to ensure at most one active copy to
  106. detect Blackjack in RAM; it searches the files for the few
  107. instructions which are alike in every copy, to detect infected files.
  108. At our consultant desk, everybody can obtain a copy of VIRCHECK
  109. (Pascal source, and EXE-file), plus a 16 kByte memo (in German) and
  110. the 3 Byte TEST.COM (cf. above).
  111.  
  112. An employee of a nearby software-house, who has detected Blackjack, in
  113. the 1st time, has circulated a DELVIRUS program to detect Blackjack
  114. and, optionally, repair infected files (taking the original contents
  115. of the 1st three bytes from the viral code meant to replace them, as
  116. explained above.  As the DELVIRUS's source is not available to the
  117. public (nor to myself), we do not distribute this program (nor
  118. recommend its use).
  119.  
  120. That's it, folks.  I hope I didn't bore you.
  121.              Otto
  122.  
  123. [Ed. Thanks for the detailed description, Otto!]
  124.  
  125. ------------------------------
  126.  
  127. Date:        Tue,  24 Jan 89 18:42:12 +0200
  128. From:        Y. Radai <RADAI1@HBUNOS.BITNET>
  129. Subject:     Checksum programs and Otto's principles
  130.  
  131.   David Chess writes:
  132. >                                              Consider, for instance,
  133. >a modification-detection program that works using a nice long CRC
  134. >(at least 30 bits), and that uses a "user-selectable" polynomial
  135. >(for instance, the program might prompt the user for a long string
  136. >when it's first run, and use that to find an irreducible polynomial).
  137. >...
  138. >I think I would claim that knowing all about the checking program,
  139. >including having the commented source code, would do the virus-writer
  140. >NO GOOD AT ALL in trying to defeat it (as long as the user's secret
  141. >key isn't known, of course).  ...
  142.  
  143. >Objections?
  144.  
  145.   Yes, I have objections.  Even assuming a program which is based on a
  146. user-selected or randomly selected polynomial (and many checksum
  147. programs are not based on this), the problem with the great majority
  148. of such programs is that the authors seem to think that it's suffi-
  149. cient to checksum every file and that the only danger is that someone
  150. might discover the generating polynomial or secret key or by other
  151. means succeed in forging a checksum.  That's *not* the only danger.
  152. The main danger is that there are "loopholes" in OSs, particularly in
  153. DOS, which can be exploited to circumvent the checksum scheme, and
  154. it's *much* simpler to exploit such a loophole (if you can think of
  155. one) than to forge a checksum.  (The most trivial example of a loop-
  156. hole is forgetting that the boot sector contains executable code and
  157. therefore thinking that checksumming can be restricted to files
  158. alone.)  Altogether, I know of 6 loopholes.
  159.  
  160.   Now of the 7 freeware checksum programs which which I am familiar,
  161. not a single one takes these loopholes into consideration, and that
  162. includes the one published by Fred Cohen in the April 88 issue of
  163. Computers & Security.  As for commercial programs, there is one,
  164. VirAlarm (an Israeli product, not to be confused with Lasertrieve's
  165. product having the same name), which presently takes into account 5 of
  166. the 6 loopholes.  (Since I have mentioned the 6th one to the authors,
  167. it will undoubtedly be incorporated into their next version.)  Unfor-
  168. tunately I am not familiar with any other commercial products, so I
  169. can't say whether any of them block these loopholes as well, but I'd
  170. be willing to bet that none of them blocks more than 4 of the loop-
  171. holes, and the great majority not more than two of them.
  172.  
  173.   In a VIRUS-L posting of mine in September I mentioned that I was
  174. preparing a paper on checksum programs as an anti-viral measure, in
  175. which these loopholes would be described.  I much too optimistically
  176. stated that the paper would be ready in a few weeks.  Unfortunately,
  177. the project has taken much more time than I thought (it's already
  178. about 700 lines long) and I have lots of other work to do, so it
  179. probably won't be ready for another month or two.  I take this oppor-
  180. tunity to apologize to those who wrote to me asking for information
  181. concerning these loopholes.  (BTW, the question arises whether by pub-
  182. lishing these loopholes I wouldn't be doing more service to the cre-
  183. ators of viruses, some of whom are possibly on this list, than to the
  184. writers of anti-virus software.  Anyone got any advice on this?)
  185.  
  186.   In any case, I do not agree with David's implication that the "First
  187. Main Proposition of Virus Hunting" which was stated by Otto Stolz is
  188. too strong, at least not because of the reasoning which David has
  189. given.  For just as I discovered an unblocked loophole in VirAlarm by
  190. knowing how it works, so some virus creator might discover a new one
  191. even in a checksum program which blocks all presently known loopholes.
  192.  
  193.   By the way, as has been implied by some contributors, the
  194. propositions mentioned by Otto were stated much earlier by Fred Cohen.
  195. In Computers & Security, V6, N6, p. 30 they appear in the following
  196. words: "any particular virus can be detected by a particular detection
  197. scheme" and "any particular detection scheme can be circumvented by a
  198. particular virus", or more compactly, "no infection can exist that
  199. cannot be detected, and no mechanism can exist that cannot be
  200. infected."
  201.  
  202.                                            Y. Radai
  203.                                            Hebrew Univ. of Jerusalem
  204.  
  205.   P.S.  The offer by Yuval Tal in V2 #21 to send VirAlarm to anyone
  206. who requests it was completely irresponsible since it is a commercial
  207. product.
  208.  
  209. [Ed. Thank you for bringing that to our attention.]
  210.  
  211. ------------------------------
  212.  
  213. Date:         Tue, 24 Jan 89 20:18:59 ECT
  214. From:         Ken Hoover <CONSP21@BINGVMA.BITNET>
  215. Subject:      Mac problems part III
  216.  
  217.   I was pleased to find a response to my message of less than 24 hours
  218. ago sitting in my mailbox.  Scott (@DUVM) was quick enough to notice
  219. that the locked disk was the instigator of my printer troubles.
  220. However, there's more to report.
  221.  
  222.   Rather than send a third essage on the same subject to this list, I
  223. worked with the user in question for a few minutes.  As I noted in the
  224. second (shorter) message, by setting the system date back 20 days or
  225. so, the disk mysteriously unlocked itself and we were able to print
  226. (only) one document (from MacWrite) before the bomb returned with
  227. error code 28.
  228.  
  229.   Stupid me forgot to look and see if the disk had re-locked itself.
  230.  
  231.   I'm less worried about the printing problem than I am about the
  232. possibility that we have some sort of mac disk-locking bug.  I'm going
  233. to get back to that user as soon as I can to see what (if anything)
  234. has happened in the last 24 hours.
  235.  
  236. Kenneth J. Hoover
  237. UG Consultant, Public Terminal and Microcomputer Complex
  238. SUNY-Binghamton  (Binghamton, NY, USA)
  239.  
  240. Disclaimer : These are my opinions.  I'm not paid enough to represent
  241.              my employers'.
  242.  
  243. ------------------------------
  244.  
  245. End of VIRUS-L Digest
  246. *********************
  247. Downloaded From P-80 International Information Systems 304-744-2253
  248.