home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / UTILITY / VIRUS / PCV4RPT.ZIP / FISH9.RPT < prev    next >
Encoding:
Text File  |  1991-05-28  |  15.0 KB  |  269 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 - October 1990
  11.  
  12.   === Whale Virus aka Mother Fish & Fish #9 ===
  13.  
  14.  
  15.   Preliminary report on the WHALE virus...
  16.  
  17.   By far the largest virus that researchers have yet seen was recently
  18.   uploaded to a bulletin board in the U.S. and comprises just under
  19.   10K of code.  The virus has been called The WHALE since that is the
  20.   "title" which appears within the code after the first level of code
  21.   decryption has been executed.  Disassembling this code has proven
  22.   extremely time consuming and is still incomplete due to the
  23.   pressures of other programming work on the various researchers
  24.   currently working on it.  I am indebted to Dr. Peter Lammer of
  25.   SOPHOS and Morgan and Igor of MacAfee Associates for access to their
  26.   work on this and the report which follows collates results from all
  27.   these sources although any errors in analysis or interpretation are
  28.   entirely mine.  Before describing the code in such detail as we
  29.   have, mention should be made of the "motherfish" message which was
  30.   posted anonymously to VIRUS ECHO on FidoNet and reported in full in
  31.   last months Virus Bulletin.  There are several discrepancies in this
  32.   message which might suggest that the sender was either not
  33.   completely familiar with the code or he was spreading deliberate
  34.   dis-information.  Since more than half the virus code is concerned
  35.   with confusing and misinforming anyone trying to disassemble it, I
  36.   incline to the latter argument.  The use of "motherfish" (which does
  37.   not appear in the code) in preference to "whale" is strange, and the
  38.   reference to the virus "learning" detection methods and being a
  39.   "living, breathing entity" is fanciful in the extreme, and
  40.   inaccurate.  That "the virus cannot be detected by present methods"
  41.   is hardly surprising since many newly discovered viruses make use of
  42.   their authors proud new method of encryption/protection ideas.  The
  43.   use of the word "disavow" is interesting since text within the code
  44.   suggests that the author comes from Hamburg where such a word seems
  45.   unlikely to be common parlance.  However, the suggestion that the
  46.   code is modularly constructed seems accurate so unless this was a
  47.   guess we must assume that the sender has SOME knowledge of the virus
  48.   as a whole.
  49.  
  50.  
  51.   Heavyweight Confusion Coding
  52.  
  53.   After self-encrypting and "stealth" viruses, a new term has been
  54.   coined by a member of the Computer Crime Unit at New Scotland Yard.
  55.   "Armoured" virus code describes the deliberate disinformation and
  56.   confusion techniques noted in FISH6 and WHALE.  It is certainly
  57.   appropriate in the case of WHALE since the "armour" outweighs the
  58.   "stealth"!  The WHALE virus is characterised by large sections of
  59.   code (estimated as at least 50% of the total) which involve
  60.   extremely convoluted processing around and across the debug and
  61.   single step interrupt handlers and accessing such hardware as the
  62.   Programmable Interrupt Controller.  There is no other reason for
  63.   this than the confusion of researchers trying to disassemble the
  64.   code and the presence of this code has paradoxically caused
  65.   researchers to heave a sigh of relief.  The reason for this is quite
  66.   simply that such code costs an immense amount of processing time and
  67.   when a machine becomes infected, processing speed slows by up to 50%
  68.   - the WHALE is simply carrying so much programming weight (armour?)
  69.   that its very bulk is its giveaway.  The amount of work involved in
  70.   writing this virus was enormous and could well have been undertaken
  71.   by more than one author.  Program construction seems to be modular
  72.   and no effort has been spared to make the code extremely difficult
  73.   for scanning programs to spot.  Aside from the now accepted
  74.   technique of self encryption, this virus scrambles the order of its
  75.   subroutines and varies the encryption algorithm use during file
  76.   infection.  Also accepted as a "standard" technique now is the
  77.   decryption/recryption process which is used to prevent detection of
  78.   the virus code in memory.  This technique consists of maintaining
  79.   most of the resident virus code in memory in encrypted form and only
  80.   decrypting it just prior to processing.  Once a particular section
  81.   has been executed a re-encryption routine is called which collects a
  82.   new pseudo-random key value and re-encrypts the code just executed
  83.   before stored the new key and continuing to the next part of the
  84.   code.  The result is that only a small "window" around the code
  85.   currently being executed is actually "in plain view", the remainder
  86.   is variously and randomly encrypted.  This is obviously to forestall
  87.   the possibility of a recognition string being used to identify virus
  88.   code in memory.  The author obviously likes this technique since it
  89.   is used at least 96 times throughout the code!  This is another part
  90.   of the bulk that this unwieldy virus carries.  As with other recent
  91.   viruses, there are several "undocumented" system calls (most of
  92.   which are now well documented within the technical community) but
  93.   two have been noted which may relate to specific packages, possibly
  94.   of an anti-virus nature.
  95.  
  96.   There is still much work to be done in dissecting this code and the
  97.   details that we have so far uncovered are necessarily fairly
  98.   sketchy.  We can say that this is a parasitic virus which infects
  99.   executables with an infection length of around 9416 bytes.  The
  100.   actual appended length varies quite a lot from infection to
  101.   infection and this is probably due to the insertion of some random
  102.   junk and alignment of code on paragraph boundaries.  No simple
  103.   search string is possible because of the multiple encryption
  104.   techniques and modular scrambling.  There are considerable sections
  105.   of self-modifying, self-checking and self-switching code within
  106.   WHALE. This last technique consists of laboriously switching
  107.   individual bytes within a specific subroutine using precalculated
  108.   XOR values.  The result is a sort of global XOR effect which can be
  109.   used to switch between two different routines or as a
  110.   decrypt/recrypt process.
  111.  
  112.   The code appears to install itself as resident within the first
  113.   available Memory Control Block and monitors system activity during
  114.   normal DOS processing.  Stealth techniques are used to fool DOS into
  115.   reporting original file sizes rather than the increased ones when
  116.   files become infected.  This is done by intercepting the DOS Get
  117.   File Size function (23H) and checking whether the target file is
  118.   infected before returning either a true or modified file size to the
  119.   calling routine.  The virus' method of detecting infection is still
  120.   being analysed but there is some evidence that several checks are
  121.   made, failure of any one of which will indicate that a file is NOT
  122.   infected.  The complexity of these checks necessarily means that a
  123.   "sparse infection" method (ie: not all files will be infected) may
  124.   be employed.  This makes external detection more difficult but it
  125.   does reduce the virility of the code and should mean that if this
  126.   does appear "in the wild", it is unlikely to exist for long before
  127.   detection and would therefore not spread too far.  One of the checks
  128.   for infection seems to be that the hour field in the file time must
  129.   be equal to or greater than 16 (ie:  4pm or later) since the top bit
  130.   of that field is modified within the Function 57H (Get/Set file
  131.   Date/Time) handler.  This too may limit the number of files suitable
  132.   for infection.
  133.  
  134.   There are several similarities with the FISH6 and 4K viruses and
  135.   this might indicate either a distinct development cycle by the
  136.   author(s) or simply that someone has copied useful code and ideas
  137.   from the earlier specimens.  I incline to the former view but
  138.   whatever the truth of the matter the similarity in file infection
  139.   technique provides a useful method of identifying the presence of
  140.   any of these three viruses.  In the case of WHALE however, it is
  141.   reported from the U.S. that some generations may not display this
  142.   similarity and might therefore slip through this particular
  143.   detection net.  The technique itself is discussed in the 4K data
  144.   infection report elsewhere in this issue and with the exception of
  145.   the differences in infected length (and the as yet unconfirmed U.S.
  146.   reports), all three viruses show identical repetition of the
  147.   original host header information.
  148.  
  149.   The external results of running the WHALE have so far produced at
  150.   least 27 different "generations" (I dislike the term "mutations" as
  151.   implying uncontrolled change) and each generation appears to be the
  152.   result of scrambling the order in which subroutines are written to
  153.   the target file as well as changing both the encryption 'lock' and
  154.   'key'.  There is a counting mechanism fairly close to the beginning
  155.   of the virus code which counts back from 0F0H (240 decimal) on the
  156.   dissection copy but the significance of this has not yet become
  157.   clear.  Possibly sections of the virus yet to be dissected may be
  158.   invoked when the counter reaches zero.  Infection apparently takes
  159.   place during a Function 4BH call to DOS (Load and Execute) and will
  160.   therefore affect COM, EXE, OVR and other executable code which is
  161.   run in this way.  At various times, the Interrupt vector addresses
  162.   for Interrupts 1, 2, 3, 9, 13H, 24H and 2FH are accessed and may be
  163.   modified for use by the virus code.  The main area of code
  164.   subversion centres around the DOS Interrupt 21H and this is
  165.   intercepted and passed through a function dispatcher routine.  This
  166.   dispatcher monitors 15 separate DOS functions including both types
  167.   of Find First/Next (11H, 12H, 4EH and 4FH), Open and Close file
  168.   operations (0FH, 3DH and 3EH) and various types of File Read and
  169.   Seek calls (14H, 21H, 27H and 42H).  Other functions handled are Get
  170.   File Size (23H), Load and Execute (4BH) and Get/Set Date/Time (57H).
  171.   As is now expected of this type of code, the DOS Critical Error
  172.   vector is hooked during virus operation and appears to be correctly
  173.   restored after use.
  174.  
  175.   As various layers of encryption are peeled back, two areas of plain
  176.   text are revealed.  The first of these is written to a hidden file
  177.   in the root directory of the C:  drive on a 4 to 1 random chance.
  178.   This file is named FISH-#9.TBL and contains a copy of the boot
  179.   sector of the drive, together with the following plain text ...
  180.  
  181.   FISH VIRUS #9   A Whale is no Fish! Mind her Mutant Fish and the
  182.   hidden Fish Eggs for they are damaging.  The sixth Fish mutates only
  183.   if the Whale is in here Cave.
  184.  
  185.   No other reference is made to this file from within the virus code
  186.   and the content seems to indicate an adolescent concern with
  187.   mysterious misinformation.  The "sixth Fish" may refer to the FISH6
  188.   virus (and establish another definite link) but this has yet to be
  189.   researched.  Since I haven't yet disassembled FISH6, I would be
  190.   interested to know just how it got its name (why the '6' ?).  It is
  191.   also interesting to note that TBL is one of the data file extensions
  192.   attacked by the 4K virus (see article elsewhere in this issue).
  193.  
  194.   The second plain text section of code is displayed as a message if
  195.   the system date is between 19th February and 20th March in any year
  196.   except 1991 and then the system hangs with a Divide Overflow
  197.   message, necessitating a power down reboot.  This is the only
  198.   trigger point noted so far but there is a possibility that even
  199.   these dates may be modified within differing generations.  The
  200.   message reads ...
  201.  
  202.   THE WHALE IN SEARCH OF THE 8 FISH I AM '~knzyvo}' IN HAMBURG
  203.  
  204.   This is exactly as the message appears on screen and the characters
  205.   between the single quotes appear to be a name of some sort.
  206.   Preliminary cryptanalysis suggests that this name is probably
  207.   'TADPOLES' since this results from simply subtracting a value of 42
  208.   (decimal) from each character value and the ichthyological
  209.   connection is obvious.  Whether the author(s) actually do come from
  210.   Hamburg is not certain, since they are capable of producing this
  211.   ludicrously silly code it is quite probable that they are
  212.   pathological liars as well.
  213.  
  214.   Many researchers have conjectured that WHALE might be designed to
  215.   interact with other viruses (notably FISH6) but to date, no evidence
  216.   of this has yet been found within the code.
  217.  
  218.   As knowledge currently stands on this virus, it may well be an
  219.   extremely childish and malicious attempt to waste the time of virus
  220.   researchers across the world.  In rather the same way that the Fire
  221.   Brigade can never ignore false alarms, the virus research community
  222.   cannot ignore even the simplest virus code.  However, ANY virus code
  223.   is potentially destructive and the perpetrators should be aware that
  224.   the Computer Crime Unit at New Scotland Yard are now building a
  225.   dossier of computer virus incidents in the U.K.  and WILL prosecute
  226.   the authors even if they have never set foot in this country.  Under
  227.   current legislation, conviction could carry a five year prison
  228.   sentence.  If 'TADPOLES' reads this, he/they might like to speculate
  229.   on such a sentence, which would undoubtedly be accompanied then and
  230.   subsequently by the universal revulsion of the computing community
  231.   world-wide.
  232.  
  233.   The arrival of this virus caused much consternation amongst
  234.   knowledgeable researchers but preliminary examination has dispelled
  235.   most of this concern.  It is interesting to speculate that in the
  236.   WHALE, virus authors have at last reached a predicted point where
  237.   their code has to carry so much protection that the original
  238.   parameters of invisibility and mobility can no longer be maintained
  239.   with any real reliability.  Such bulky and processor intensive code
  240.   will generally reveal itself long before any payload can be
  241.   delivered.
  242.  
  243.   Work will continue on disassembling and analysing this virus until
  244.   all the fine details are known and further reports will appear as
  245.   more information becomes available.
  246.  
  247.   VIS Classification - CEARKSd9416
  248.  
  249.   The information contained in this report is the direct result of
  250.   disassembling and analysing a specimen of the virus code.  I take
  251.   great pains to ensure the accuracy of these analyses but I cannot
  252.   accept responsibility for any loss or damage suffered as a result of
  253.   any errors or omissions.  If any errors of fact are noted, please
  254.   let me know at :-
  255.  
  256.     The Virus Information Service,
  257.     Treble Clef House,
  258.     64, Welford Road,
  259.     WIGSTON MAGNA,
  260.     Leicester  LE8 1SL
  261.  
  262.   or call +44 (0)533 883490
  263.  
  264.   Jim Bates
  265.  
  266.   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  267.   ++++++++++++++++++++++++++ end of reports ++++++++++++++++++++++++
  268.   ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  269.