home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / pc / virus / abtvirus.txt < prev    next >
Encoding:
Text File  |  2003-06-11  |  21.0 KB  |  375 lines

  1.  
  2.  
  3.  
  4.  
  5.         ╔══════════════════════════════════════════════════════════════╗
  6.         ║                                                              ║
  7.         ║                     The Amazing Realities                    ║
  8.         ║                     of SOFTWARE VIRUSES!                     ║
  9.         ║                                                              ║
  10.         ║                              by                              ║
  11.         ║                         Steve Gibson                         ║
  12.         ║                  GIBSON RESEARCH CORPORATION                 ║
  13.         ║                                                              ║
  14.         ║     Portions of this text originally appeared in Steve's     ║
  15.         ║               InfoWorld Magazine TechTalk Column.            ║
  16.         ║                                                              ║
  17.         ╚══════════════════════════════════════════════════════════════╝
  18.  
  19.  
  20.  
  21.         My mother always hoped I'd become a doctor... actually a brain
  22.         surgeon. Since I work with electronic "brains" every day I
  23.         always thought that was a close as I would come to "doctoring"
  24.         anything, but the recent flare-up of interest in software
  25.         viruses, infections, cures, antidotes and inoculations might
  26.         change all that.
  27.  
  28.         The notion of software "hacking" isn't new, having been born
  29.         just five minutes later than software. But as we've grown
  30.         increasingly dependent upon the expensive programs and precious
  31.         data, stored in our machines, the cost of a computer failure,
  32.         whether accidental or deliberate, has skyrocketed. Factor in the
  33.         notion of someone DELIBERATELY destroying your irreplaceable
  34.         data and you have a hot situation indeed! Multiply this by the
  35.         unwitting and infectious spread of this destruction throughout
  36.         the far-reaching tendrils of an entire organization or
  37.         community's computer usage and the cost of such deliberate
  38.         sabotage can be incalculable.
  39.  
  40.         Software viruses can be loosely divided into four classes. The
  41.         General Purpose Infector Virus (GPIV), Special Purpose Infector
  42.         Virus (SPIV), Very Clever General Purpose Infector Virus
  43.         (VCGPIV), and Central System Infecting Virus (CSIV). The habitat
  44.         for the first three viral strains is any unwitting application
  45.         host, while the Central System Infecting Virus takes up
  46.         residence at the core of the operating system.
  47.  
  48.         One of the most fascinating aspects of the entire
  49.         software/medicine analogy is the amazing degree to which it
  50.         holds. Modern computer systems and software are now complex
  51.         enough to support a crude simulation of life-cycle processes.
  52.  
  53.         The General Purpose Infector Virus operates by tacking itself
  54.         onto the front or back of any existing application program. To
  55.         keep its size and complexity down it's generally specific to COM
  56.         or EXE file types and is thus unable to infect a file of the
  57.         other type. COM-file infectors have a far simpler genetic
  58.         design, but they don't have as much future as the EXE infectors.
  59.  
  60.         Poorly designed GPIV viruses are simple to spot once you're
  61.         looking for them since they alter the program's overall length
  62.         and may update the file's own date. However both of these clues
  63.         are also easily handled with a little added viral design. The
  64.         date can be easily restored after the infecting alteration has
  65.         taken place, and the clever GPIV can mask its size by creating a
  66.         hidden file containing the real program while it occupies the
  67.         abandoned file husk of the actual program. Only a scan of the
  68.         entire computer system for hidden or system files would turn up
  69.         the real programs, renamed as something innocent. Then again it
  70.         might not even hide the actual program, but leave it there in
  71.         plain sight, mixed in with the files in your largest sub-
  72.         directory, and named something reasonable, appearing to be an
  73.         overlay, help file, or who knows what.
  74.  
  75.         The Special Purpose Infector Virus is designed to INHABIT only
  76.         one version of one particular application program and
  77.         consequently can be far harder to spot. It lives parasitically
  78.         WITHIN the body of the application in a buffer region, array
  79.         area, or other non-code-bearing space. Only a byte-by-byte
  80.         comparison of a file against a known good copy can spot the
  81.         SPIV, and you'd better hope that it didn't alter the system's
  82.         compare command beforehand to report equality whenever its
  83.         inhabited file is being tested!
  84.  
  85.         The Very Clever General Purpose Infector Virus (VCGPIV) combines
  86.         the features and capabilities of the GPIV with those of the
  87.         SPIV. It is able to find non-code bearing regions WITHIN the
  88.         bodies of other application programs for which it was not
  89.         specifically designed and infect those programs with its own
  90.         presence. These features make the VCGPIV virus one of the
  91.         nastiest and hardest to spot or control since every program in
  92.         an entire computer system network could be overrun with VCGPIV
  93.         before anything unusual begins happening. In fact, the worst
  94.         variations of VCGPIV don't begin "acting up" until sometime
  95.         after EVERY LAST CANDIDATE host application program in the
  96.         system has been infected!
  97.  
  98.         Central System Infecting Virus (CSIV) doesn't infect individual
  99.         application programs, but rather attacks and alters the core of
  100.         the operating system itself. The carrier for this virus is
  101.         usually a Trojan Horse program which appears to be doing
  102.         something useful, simple, and disk intensive, like displaying a
  103.         sorted directory, sorting directories, or reorganizing the hard
  104.         disk. Its disk activities tend to cover up its real intention
  105.         which is to plant an infection into the operating system which
  106.         alters the system's subsequent behavior.
  107.  
  108.  
  109.  
  110.                The Intimate Details of Software Virus Reproduction
  111.  
  112.  
  113.         Software "viruses" have three fundamental aspects: Existence,
  114.         Reproduction, and Non-Reproductive Purpose. We've examined the
  115.         nature of such viral existence, and we've seen that software
  116.         viruses can be specific to certain programs, general to COM or
  117.         EXE application program files, vary in their degree of
  118.         cleverness and concealment, and can also be carried by Trojan
  119.         Horse programs for the purpose of infecting the central core of
  120.         the operating system itself. Now we'll look at viral software's
  121.         reproductive cycle and non-reproductive purpose.
  122.  
  123.         Nasty as a virus' mere existence is, the real power of such
  124.         software lies in its capacity and proclivity for "self
  125.         reproductive survival." The notion that a downloaded program
  126.         could spread its seed throughout an unwitting user's hard disks,
  127.         backed-up files, and entire software library is quite chilling
  128.         indeed. Add to this the fact that the virus might well have some
  129.         far more sinister purpose that mere reproduction, and we have an
  130.         unpleasant scenario.
  131.  
  132.         A software virus rides along on a host program gaining brief
  133.         control of the system each time the host application is used.
  134.         Patterning itself after organic life, which after all has a
  135.         proven survival track record, a virus' first priority must be
  136.         its own survival. This means that the well-designed virus won't
  137.         make its own presence known or felt until it feels that there's
  138.         nothing further to be gained from secrecy. As we'll demonstrate
  139.         later, this point is never really reached, although to some
  140.         degree this occurs some time after the user's system is infected
  141.         at the 100% level. Once every last available file is carrying
  142.         viral clones, the virus' reproductive urgency is reduced.
  143.  
  144.         However, since the serious virus designer's real goal is true
  145.         global infection, the well designed virus waits still longer to
  146.         maximize the probability that it will have an opportunity to
  147.         spread to other systems and communities before being removed
  148.         completely from the system after some powerful and deliberate
  149.         demonstration of its presence.
  150.  
  151.         When an infected application program is started, its hosted
  152.         virus gains immediate control. It is this brief start up
  153.         interval of disk activity as the application loads that masks
  154.         the virus' reproductive activities. The virus briefly searches
  155.         for an uninfected host application. When found it quickly
  156.         infects this unknowing application with a parasitic copy of
  157.         itself and passes control to the hosting application as if
  158.         nothing out of the ordinary had happened.
  159.  
  160.         The only unmaskable clue of anything out of the ordinary having
  161.         happened would be a longer than usual start up time for the host
  162.         application. If you've been noticing your applications behaving
  163.         somewhat erratically during start up you might want to take a
  164.         close look at it. Of course, you still wouldn't know WHAT other
  165.         program the virus had just then jumped into.
  166.  
  167.         Suppose now that a computer system has become completely overrun
  168.         with its virus (or viruses, since it might have picked up more
  169.         than one!) and consequently the virus has failed in its attempt
  170.         at infecting a new host application. At this point the virus
  171.         switches from its reproductive mode into its non-reproductive
  172.         mode.
  173.  
  174.         The question we now face is: What is the intention of the virus
  175.         when it is no longer able to reproduce within the system? Is it
  176.         functionally benign, so that it's simply going to announce
  177.         proudly "GOTCHA!...Every EXE file on this system is infected!,"
  178.         or is it going to behave more maliciously?
  179.  
  180.         In this regard we're completely in the hands of the virus'
  181.         designer. However we should note that simply causing the user's
  182.         hard disk to begin low-level formatting is antithetical to the
  183.         virus' primary survival drive. In destroying the user's hard
  184.         disk it also destroys itself, and more importantly, it alerts
  185.         the system's owner to the presence of something quite evil.  And
  186.         in wiping the user's disk it might very well destroy other
  187.         entirely different viral strains which have not yet succeeded in
  188.         achieving their 100% infection levels.
  189.  
  190.         No, the optimal strategy during the viruses non-reproductive
  191.         malignant-mode, for the infliction of maximum long term damage,
  192.         is to FRUSTRATE while continuing to remain hidden. By PRESERVING
  193.         the user's hard disk data rather than destroying it wholesale
  194.         the virus continues to remain hidden and unsuspected. This also
  195.         preserves the opportunity for further inter-system infection,
  196.         which supports the virus' global survival goal. By RANDOMLY
  197.         messing things up and lowering the overall RELIABILITY of the
  198.         system, the virus achieves its goal of producing maximum long
  199.         term hurt.
  200.  
  201.  
  202.                      What can we do about Software Viruses?
  203.  
  204.         Whatever their means or intent, these viruses spread within an
  205.         organization or community of computers by riding along whenever
  206.         a program is uploaded, downloaded, borrowed, exchanged, shared,
  207.         or demoed... even if it's only run once for ten seconds. I know
  208.         how eagerly I try new shareware or public-domain goodies which
  209.         promise to provide a needed benefit, and I've sold many copies
  210.         of my own commercial programs to people who admit to having
  211.         first "borrowed" a copy from a friend to try out. That's today's
  212.         reality, and I don't fight it. In fact it's software's ability
  213.         to be easily uploaded, downloaded, copied, and transported which
  214.         so enriches the personal computing experience.
  215.  
  216.         Now I know this is a controversial area, and many people feel
  217.         that the attention given to the whole topic by the popular press
  218.         is completely overblown. I want to tell you right now that
  219.         they're utterly and completely wrong.
  220.  
  221.         I have been placed in contact with several groups of people who
  222.         REALLY know what's going on...  and it's terrifying.  Based upon
  223.         some additional theory which we'll examine now, and MANY
  224.         specifics which I'm still uncovering to share later, I'm going
  225.         to make a solid prediction which you can sadly depend upon:
  226.  
  227.         In the not too distant future there's going to be a MAJOR SCALE
  228.         CORPORATE-WIDE INFORMATION SYSTEM DISASTER which will be caused
  229.         by a system-wide viral attack. The question is where is it going
  230.         to hit, what can be done to prevent it, and how will our
  231.         industry be changed as a consequence. Mark my words, I am
  232.         utterly certain that we REALLY have a problem developing.
  233.  
  234.         I'm committed to doing whatever is possible, through the vehicle
  235.         of this column and InfoWorld, to try to avert this disaster. But
  236.         human nature says that it's NOT going to be enough. By combining
  237.         theory with specifics I hope to make you individually aware of
  238.         the reality of the danger to you... perhaps enough to avert your
  239.         own small scale personal disaster... and perhaps for your
  240.         companies. So what about preventive measures? What about
  241.         inoculations, antidotes, and sugar cubes?
  242.  
  243.         The bottom line on virus prevention is good news for the virus
  244.         and NOT good news for US. To illustrate, let's examine a pair of
  245.         useful parallels: The discovery of the many secrets which led to
  246.         the development of resident pop-up TSRs, and the copy protection
  247.         wars of the last five years.
  248.  
  249.         As you know, Microsoft has always actively refused to tell
  250.         anyone how to create resident TSR pop-ups under DOS. It is
  251.         completely impossible to do so using just their documentation.
  252.         They could have made things A LOT EASIER on everyone by
  253.         documenting many of their "secrets"... but they kept saying
  254.         "NO!" Did that stop the industry's sharp software developers? No
  255.         way. We simply sat down with our debuggers and tore their
  256.         "secret" code apart to figure out exactly what it did and how it
  257.         worked. And before you knew it, voila, Pop-Ups!
  258.  
  259.         Then we have the tireless merry-go-round tournament formed on
  260.         one side by companies who desire to protect their software from
  261.         being illegally copied versus those whose very purpose in life
  262.         seems to be the defeat of the latest copy protection schemes. By
  263.         applying the same "reverse engineering" which allowed us to
  264.         develop TSRs, the protection busters mirrored every move made by
  265.         the protectors... and held them in check.
  266.  
  267.         The overall result was escalation. Both teams ended up
  268.         developing Olympian-level skills, but the war never ended. It
  269.         couldn't end until one side or the other gave up. The final
  270.         result, as anyone who has dipped into the typical bulletin board
  271.         system knows, is that copy protection busting utilities are one
  272.         of the hottest downloading categories today.
  273.  
  274.         So today we have a new battleground with the same players
  275.         wearing different hats. Anything any anti-virus solution can do
  276.         to prevent infection and viral spread the next viral strain will
  277.         defeat. Not good news.
  278.  
  279.  
  280.                 Today's Real-World Solutions to the Viral Threat
  281.  
  282.         There's a terrific group of people in Santa Clara, California
  283.         who have dedicated themselves to catching, analyzing, and
  284.         disseminating helpful and specific information about software
  285.         viruses. This non-profit organization, the National BBS Society
  286.         (NBBSS), can be contacted at (408) 727-4559.
  287.  
  288.         The NBBSS has identified 39 different strains of software
  289.         viruses, and more are being found continually.  For example, the
  290.         latest virus, which the NBBSS has preliminarily named the RETRO-
  291.         VIRUS was submitted by one of their members on April 19th.  This
  292.         virus infects and lives inside ANY ONE OF THREE popular
  293.         shareware programs. It reproduces by attaching passive carrier
  294.         clones of itself to other executable files in the hope that the
  295.         infected executable file will make its way to another system
  296.         which contains one of its three target "infectable" host
  297.         programs.
  298.  
  299.         It was named the RETRO-VIRUS because it continually communicates
  300.         with its infected clone carrier executables via a clever "flag"
  301.         hidden within the system. When any of its viral clones executes,
  302.         this flag is turned ON. Then when one of the three internally
  303.         infected hosts executes this flag is checked, then turned OFF.
  304.         If the flag was already OFF, the host determines that the system
  305.         must have been swept clean of its viral carriers. Then, after
  306.         quietly waiting for several months, the host REINFECTS several
  307.         of the system's executable files. The system user THINKS that
  308.         the system was virus-free... but then the same virus reemerges
  309.         "from out of nowhere."
  310.  
  311.         As you can see from this example, we're dealing with some
  312.         extremely sophisticated programming... which is specifically
  313.         intended to DEFEAT attempts at removing the viral code from the
  314.         system.
  315.  
  316.         So exactly what measures can be taken to deal with the spread of
  317.         software viruses? The good news is, there are several. Viruses
  318.         can either be caught "in the act" of spreading their seed, or
  319.         located while they're lying dormant on a disk.
  320.  
  321.         The "catch'em in the act" approach provides the best anti-viral
  322.         protection currently available since the reproducing behavior of
  323.         many viruses is quite similar and can be somewhat generalized
  324.         then readily spotted. Such solutions have the negative side
  325.         effect of requiring continual RAM residency, with all the
  326.         problems which that implies. Also, they can sometimes
  327.         erroneously alert their owner to questionable but benign
  328.         behavior of non-viral software. Even so, these programs are
  329.         innocuous and are highly recommended when using new software
  330.         "submissions" on any system which falls into a high viral
  331.         infection risk group.
  332.  
  333.         The two most effective virus detection monitors available today
  334.         happen to be the least expensive of any available. FluShot+ is
  335.         available as shareware, with a $10 fee requested, and C-4 is a
  336.         commercial product retailing for just $29.95.
  337.  
  338.         FluShot+ catches 22 of the known 39 viruses, providing FAR
  339.         GREATER protection than other currently available virus fighting
  340.         agents which retail for hundreds of dollars. FluShot+ may be
  341.         downloaded from CompuServe (in the IBMSW Forum in DL0) or from
  342.         the IBM SIG on The Source, or from its author's bulletin board
  343.         system in New York (1200/2400 Baud: (212) 889-6438) under the
  344.         name FSP12.ARC. It may also be requested directly from its
  345.         author, Ross Greenberg, at (212) 889-6431.
  346.  
  347.         C-4, which derives its name from Cybernetic Xylene since Xylene
  348.         inhibits the growth and spread of carbon-based viruses, is the
  349.         best commercial viral inhibitor available. Though you might have
  350.         trouble believing the $29 could buy much, C-4's publisher is
  351.         dedicated to stopping software viral spread and even intends to
  352.         offer continual upgrades at near their cost. As a result of
  353.         Interpath's association with the NBBS, C-4 IS THE ONLY PRODUCT
  354.         TODAY WHICH STOPS THE SPREAD OF EVERY ONE OF THE NBBS's 39 KNOWN
  355.         VIRAL STRAINS! It may be purchased from: Interpath, 4423 Cheeney
  356.         Street, Santa Clara, CA 95054. (408) 988-3832.
  357.  
  358.         It has been my goal to address this issue directly and frankly.
  359.         I now know that these viruses exist.  I believe that the problem
  360.         is less wide-spread than the popular press has indicated, but I
  361.         also believe, based upon an analysis of the reproductive
  362.         mechanisms involved, that it has far more POTENTIAL FOR DAMAGE
  363.         than is commonly believed.
  364.  
  365.         Please exercise some form of self-protection, even if it's just
  366.         altering some software trading habits. In the meantime I'll keep
  367.         you posted.
  368.  
  369.                                    - The End -
  370.  
  371.  
  372.                      Copyright (c) 1989 by Steven M. Gibson
  373.                              Laguna Hills, CA 92653
  374.                             **ALL RIGHTS RESERVED **
  375.