home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / UTILITY / VIRUS / PCV4RPT.ZIP / VIRDEM.RPT < prev    next >
Encoding:
Text File  |  1991-05-28  |  7.4 KB  |  149 lines

  1.  
  2.              *********************************************
  3.              ***   Reports collected and collated by   ***
  4.              ***            PC-Virus Index             ***
  5.              ***      with full acknowledgements       ***
  6.              ***            to the authors             ***
  7.              *********************************************
  8.  
  9.  
  10.   Report from Jim Bates - The Virus Information Service - June 1990
  11.  
  12.   === Virdem Virus ===
  13.  
  14.  
  15.   The book by Ralf Burger has already been reviewed (VB Oct 89) and
  16.   the incredible irresponsibility and arrogance of the author in
  17.   publishing virus source code has been noted both here and elsewhere.
  18.   Burger's suggestion (in 1986) that viruses - "used properly may
  19.   bring about a new generation of self-modifying computer operating
  20.   systems" has still not been realised and subsequent events have
  21.   shown his book to be one of the current sources of reference for the
  22.   inadequate and immature people who write viruses.  Another area
  23.   where Burger has provided the virus writers with working material to
  24.   further their craft is with so-called "demonstration" viruses.
  25.   These not only mean that more recognition "signatures" need to be
  26.   published, but they will also produce "families" of similar strains
  27.   (like the Vienna group) which makes the whole process of fighting
  28.   the threat much more complex than it needs to be.  It is well past
  29.   time that international legislation was formulated to make such
  30.   activity a criminal offence.  The most well known of Burger's demos
  31.   is his VIRDEM virus, mentioned in the book.  Fortunately, this is
  32.   poorly written and contains bugs so that acolytes will need to
  33.   disassemble AND debug these programs before they can advance their
  34.   own modifications.  However, this will undoubtedly be done and new
  35.   viruses can be expected to use some of the techniques used in VIRDEM
  36.   and other "demo" virus code.  For this reason, a brief description
  37.   of VIRDEM may be useful to anti-virus researchers.
  38.  
  39.   VIRDEM uses a "generation" number for each successive infection up
  40.   to a maximum of 9.  This is very simply done by incrementing a
  41.   counter within the infection cycle and checking that it once it
  42.   reaches nine, the counter is disabled.  This is used to collect
  43.   indexed access to a table of entries which are, in turn, used as a
  44.   basis for a guessing game when infected programs are executed.  What
  45.   happens is that the generation number is used as the upper limit of
  46.   an integer to be guessed.  An pseudo-random integer is generated by
  47.   accessing and gating the system clock and if the operator's guess
  48.   matches it then program operatio is allowed.  Otherwise the program
  49.   does not run and an appropriate message is displayed (I disassembled
  50.   the original Version 1.06 with German text).
  51.  
  52.   Burger's own comments on this are worth repeating to indicate the
  53.   weak reasoning and woolly thinking that this man indulges in :-
  54.  
  55.   "Unfortunately the source code cannot be published because with the
  56.   help of the source code anyone would be able to change the
  57.   manipulation task and have a non-overwriting virus in 8088 machine
  58.   language.  In addition it would be almost unthinkable if there were
  59.   suddenly numerous dangerously modified versions of VIRDEM.COM
  60.   around."
  61.  
  62.   This is either blindness or stupidity!  He obviously assumes that
  63.   anyone buying (?) a demonstration virus will be incapable of
  64.   disassembling it.  VIRDEM is quite easy to take apart and equally
  65.   easy to understand (and modify) and is almost as dangerous in it's
  66.   code form as it would be in source code.  It should also be noted
  67.   that VIRDEM is NOT a "non- overwriting" virus, it reads the first
  68.   1280 (500H) bytes of the target program file, and appends them to
  69.   the end of the file.  It then overwrites these initial 1280 bytes
  70.   with the virus code.  Finally, a small stub recovery routine is also
  71.   appended. The virus only infects floppy disks placed into drive A:
  72.   and rather than reporting in detail on the virus operation, I shall
  73.   list Burger's own comments regarding it - together with my own
  74.   findings after disassembly:
  75.  
  76.   1) All COM files up to the second subdirectory are infected.  (The
  77.      virus is non resident and infects only one file during each
  78.      execution)
  79.  
  80.   2) The first COM file in the root  directory (often
  81.      COMMAND.COM) is not infected.  (This is true although no reason
  82.      is given.  The possibility that COMMAND.COM will be the first
  83.      file in the root directory is noted but no attempt is made in the
  84.      code to avoid infecting it if it isn't.)
  85.  
  86.   3) COM files of more than about 1.5K in length are expanded by
  87.      about 1.5K, shorter files are expanded by about 3K.  (Files
  88.      longer than 1380 bytes are expanded by 1366 bytes - shorter files
  89.      are first made 1280 bytes long and THEN expanded by 1366 bytes.
  90.      No check is made on whether there is actually room for virus code
  91.      and a work area within the 64K COM format limit so files greater
  92.      than 62122 bytes are irreparably damaged.)
  93.  
  94.   4) Infected programs remain completely functional.  (As noted above,
  95.      this is not true for large files and there are also some
  96.      unpredictable and possibly dangerous effects when the machine
  97.      configuration includes certain device drivers.)
  98.  
  99.   5) An infected program is recognised and cannot be infected twice.
  100.      (True - an infected program is recognised by an initial word of
  101.      9090H.)
  102.  
  103.   6) VIRDEM.COM inserts an additional function into the infected
  104.      program.  This additional function is a guessing game whose
  105.      difficulty level is dependent on the virus generation.  (True)
  106.  
  107.   7) VIRDEM mutates up to the ninth generation.  After that the
  108.      propagation continues but no mutation takes place.  (Maybe the
  109.      word "mutates" was an incorrect translation from the original
  110.      German.  Certainly the virus counter is altered but not as a
  111.      result of a "mutation", rather because of an infection counter.)
  112.  
  113.   This virus uses only DOS function calls and since it is not
  114.   resident, it has no defence mechanisms against anti-virus search
  115.   programs. Therefore a version with only simple modifications will
  116.   not be difficult to detect.  More sophisticated changes will require
  117.   separate disassembly and reporting.  The hexadecimal recognition
  118.   string for this version is :-
  119.  
  120.          03 C3 8B F0 26 8B 1C 8B F3 BF 00 01 B9 00 05 90
  121.  
  122.   at offset 411 (19B Hex) from the start of an infected file.
  123.  
  124.   The fact that Burger was allowed to publish a "cookbook" and
  125.   "demonstration" virus code for aspiring virus writers is an
  126.   international scandal.  His irresponsibility is matched only by his
  127.   publishers (DATA Becker and ABACUS).
  128.  
  129.   The information contained in this report is the direct result of
  130.   disassembling and analysing a specimen of the virus code.  I take
  131.   great pains to ensure the accuracy of these analyses but I cannot
  132.   accept responsibility for any loss or damage suffered as a result of
  133.   any errors or omissions.  If any errors of fact are noted, please
  134.   let me know at :-
  135.  
  136.     The Virus Information Service,
  137.     Treble Clef House,
  138.     64, Welford Road,
  139.     WIGSTON MAGNA,
  140.     Leicester  LE8 1SL
  141.  
  142.   or call +44 (0)533 883490
  143.  
  144.   Jim Bates
  145.  
  146.   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  147.   ++++++++++++++++++++++++++ end of reports ++++++++++++++++++++++++
  148.   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  149.