home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / UTILITY / VIRUS / PCV4RPT.ZIP / GP1.RPT < prev    next >
Encoding:
Text File  |  1991-05-28  |  10.6 KB  |  195 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 - 8th May 1991
  11.  
  12.   === GP1 Novell Specific Virus (Jerusalem derivative) ===
  13.  
  14.   Although this virus is based on the Jerusalem series, the specimen
  15.   examined is unusual in several respects.  Firstly, this is the first
  16.   time I have had an original virus generating program to examine,
  17.   meaning that the sample was NOT an infected file but the original
  18.   code by which a virus could be introduced into a system.  Secondly,
  19.   this is the first virus I have seen which contains code specifically
  20.   designed to confirm the existence of NOVELL Network code before
  21.   becoming infective, and finally - accompanying the sample was an
  22.   uncommented assembler listing which shows definite signs of being a
  23.   dissembly of a Jerusalem virus with NOVELL specific and other code
  24.   added to it.
  25.  
  26.   The actual virus code is unremarkable - infection takes place only
  27.   during LOAD and EXECUTE function calls (4B00h) to DOS INT 21h.  Both
  28.   COM and EXE files are infected but COMMAND.COM is specifically
  29.   excluded.  The "standard" Jerusalem infection pattern is apparent
  30.   whereby COM files have the virus code prefixed to the host file,
  31.   while EXE files have it suffixed (with the attendant changes to the
  32.   file HEADER).  The infective length varies (because of various
  33.   paragraph alignment calculations) between 1563 and 1580 bytes and
  34.   setting the HIDDEN attribute on files is no defence.  The virus
  35.   marks infected files with a "signature" of "MsDOS" as the last five
  36.   bytes of the file, and after infection, the original Date and Time
  37.   settings of the file are restored.  The code contains no stealth
  38.   routines and is not encrypted so detection is a fairly simple matter
  39.   (a recognition signature was published in last month's VB).  The
  40.   code remains resident in memory and monitors only INT 21h although a
  41.   temporary dummy Critical Error handler (INT 24h) is installed during
  42.   infection.   This virus is of the resident type which uses an "Are
  43.   you there?" call, in this case placing a value of 0F7H into the AH
  44.   register and issuing an INT 12h instruction will return a value of
  45.   0300h in AX if the virus is resident.  There is no trigger routine
  46.   although the interference with NOVELL specific operations may cause
  47.   unpredictable effects.
  48.  
  49.   The sample analysed displays all the appearance of an experimental
  50.   program, and this is one of the aspects which provokes most
  51.   interest.  The actual structure of the program (a genuine EXE file)
  52.   can be divided into several distinct sections - there is the
  53.   resident section of code, consisting of COM file entry routine, EXE
  54.   file entry routine and the usual INT 21h handler (which contains the
  55.   infection routines).  Then there is a section (towards the end of
  56.   the code) which is outside the resident area and this contains the
  57.   program's direct entry point.  Within this non-resident area, the
  58.   code has two distinct purposes depending upon whether the virus code
  59.   is resident and if a parameter has been added to the command line
  60.   used to invoke the program in the first place.  If the virus is NOT
  61.   resident, this initialisation code simply installs it in memory and
  62.   exits through a normal TSR (Terminate and Stay Resident) function
  63.   call.  If the virus IS resident but no parameter was given, the code
  64.   simply exits without doing anything.  However, if the virus is
  65.   resident AND a parameter of 'i' is given when the program loads, the
  66.   virus is removed from memory and a message is displayed which says :
  67.   "GP1 Removed from memory.".  In my experience of disassembling virus
  68.   code, it is unique to come across a program which functions in this
  69.   way and this, in conjunction with one or two other observations
  70.   leads me to conclude that this is the original "virus generating"
  71.   code.
  72.  
  73.   It should also be noted that this original sample appears to be
  74.   uninfective under any circumstances because the collection of the
  75.   normal NOVELL network handler address is accessed via a FAR JMP
  76.   instruction rather than a FAR CALL (thus giving an incorrect return
  77.   address on the stack to the handler).  Having said that, the
  78.   uncommented assembler file has a conditional structure within it
  79.   which includes this FAR JMP instruction, thus making it possible to
  80.   change the whole complexion of the program code from a relatively
  81.   harmless exercise into a highly infective virus by simply changing
  82.   one instruction.  For the purposes of further analysis therefore, I
  83.   assumed this instruction to have been changed accordingly.
  84.  
  85.   The NOVELL specific aspects of the program quite naturally formed
  86.   the focus of most attention during disassembly, but for the first
  87.   time during analysis I was unable to verify my analysis by direct
  88.   observation of the virus under actual live conditions.  It is
  89.   understandably difficult to persuade anyone with a Novell Network to
  90.   allow virus code loose on their system, especially when its
  91.   operation is still fairly speculative.  However, most of the code is
  92.   quite obvious in its operation if the low level operation of Novell
  93.   Netware is understood and in only one area was I unable to verify
  94.   the exact operation of the code.
  95.  
  96.  
  97.   Operation
  98.  
  99.   As mentioned above, this virus is NOT infective unless Novell
  100.   networking software is present on the system.  The virus issues a
  101.   special function call to verify the existence of the network
  102.   software and if this fails, processing aborts back to the host
  103.   program.  Once the presence of network software has been verified,
  104.   the entry point of the network IPX service routine is collected and
  105.   stored within the virus code for future use.  The virus INT 21h
  106.   handler monitors all DOS function requests but only intercepts three
  107.   of them.  Two of these will service the virus' own "Are you there?"
  108.   call and the peculiar way in which the Jerusalem virus handles the
  109.   preliminary execution of infected COM files.  The third function
  110.   intercepted is the 0E3h request for service to Novell Netware.  When
  111.   such a request is received, it is checked to see if the subfunction
  112.   is requesting a user logon procedure.  Anything other than this is
  113.   allowed to pass directly on to the normal DOS/Netwar INT 21h handler
  114.   but the logon request is executed under control of the virus so that
  115.   the return code can be examined.  If the return code indicates that
  116.   the logon was unsuccessful then processing is allowed to continue
  117.   unmolested.  Otherwise a series of highly specific network calls are
  118.   issued in a sequence which culminate in the sending of a 'packet' (a
  119.   network message) onto the network which has the effect of allowing
  120.   the virus to gain privileged access to network drives.  The actual
  121.   mechanisms by which this is achieved displays an intimate knowledge
  122.   of the way that the network operates - however, it is neither
  123.   necessary nor prudent to describe these mechanisms in detail within
  124.   this analysis.  Suffice it to say that the effect is to allow the
  125.   virus to spread across the network.  The extent of this spreading is
  126.   the one area that I was unable to verify without access to a
  127.   suitable networked system.
  128.  
  129.  
  130.   Conclusions
  131.  
  132.   The arrival of a PC virus containing network specific code is an
  133.   event which has been predicted for some time by genuine researchers.
  134.   The prudent maxim adopted by most of us is "if it can be done - it
  135.   will be done.".  A recent incident in the U.S.  where an individual
  136.   suggested that a copy of Jerusalem had propagated across a network
  137.   was unsubstantiated.  It appeared that the network may not have been
  138.   securely configured and the virus in question was never produced for
  139.   accurate disassembly.  In this case however, there is no doubt about
  140.   the nature of the code and it is obviously designed to sidestep
  141.   normal network security arrangements. The only minor surprise is
  142.   that it has taken so long to arrive.
  143.  
  144.   There are many recorded instances of viruses propagating across
  145.   various types of PC networks, but this is invariably when the
  146.   configuration of network security has been lax or non-existent.
  147.   Such propagation occurs purely because the network software is
  148.   designed to be as transparent as possible, even at DOS level.
  149.   However, the security considerations are generally very efficient at
  150.   preventing unauthorised access to areas specified during
  151.   configuration and to date I knew of no virus which could avoid the
  152.   protection measures built into NOVELL Netware.  It now appears that
  153.   the warning that NO protection system can be 100% effective against
  154.   virus code without introducing fundamental changes in machine
  155.   functionality, has been proven once again.
  156.  
  157.   Examination of the original assembler routine seems to indicate that
  158.   extensive testing was conducted with the idea of violating network
  159.   security in a number of different ways.  This virus was only one
  160.   result of such tests, intelligent guesswork indicates some other
  161.   possibilities which might have equally serious repercussions.  When
  162.   I see a new computer virus - the thought that someone somewhere,
  163.   with enough intelligence to write a computer program, is so warped
  164.   as to want to do this, makes me extremely sad and extremely angry.
  165.   A full report, together with the sample, the assembler and my own
  166.   disassembly and analysis have been passed both to NOVELL in the U.S.
  167.   and the Computer Crime Unit in the U.K.  It is to be hoped that the
  168.   perpetrators (in this case so close) might be apprehended and
  169.   brought to book for indulging in such imbecility.
  170.  
  171.   VIS Classification - CEARN1563A
  172.  
  173.  
  174.   The information contained in this report is the direct result of
  175.   disassembling and analysing a specimen of the virus code.  I take
  176.   great pains to ensure the accuracy of these analyses but I cannot
  177.   accept responsibility for any loss or damage suffered as a result of
  178.   any errors or omissions.  If any errors of fact are noted, please
  179.   let me know at :-
  180.  
  181.     The Virus Information Service,
  182.     Treble Clef House,
  183.     64, Welford Road,
  184.     WIGSTON MAGNA,
  185.     Leicester  LE8 1SL
  186.  
  187.   or call +44 (0)533 883490
  188.  
  189.   Jim Bates
  190.  
  191.   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  192.   ++++++++++++++++++++++++++ end of reports ++++++++++++++++++++++++
  193.   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  194.  
  195.