home *** CD-ROM | disk | FTP | other *** search
/ CD-ROM Aktief 1995 #3 / CDA3.iso / virus / vds30r.zip / VDS.DOC < prev    next >
Text File  |  1994-12-19  |  111KB  |  2,128 lines

  1.                              
  2.                               V
  3.  
  4.                                    D
  5.  
  6.                                         S
  7.             
  8.  
  9.                           VIRUS DETECTION SYSTEM
  10.  
  11.                          Professional Version 3.0
  12.  
  13.  
  14.            Copyright (c) 1992-1994 by VDS Advanced Research Group
  15.                             All Rights Reserved
  16.  
  17.  
  18.                                 December 1994
  19.    
  20.                                    WARNING
  21.  
  22.      THIS SOFTWARE AND MANUAL ARE BOTH PROTECTED BY U.S. COPYRIGHT LAW 
  23.      (TITLE 17 UNITED STATES CODE). UNAUTHORIZED REPRODUCTION AND/OR SALES 
  24.      MAY RESULT IN IMPRISONMENT OF UP TO ONE YEAR AND FINES OF UP TO
  25.      $10,000 (17 USC 506). COPYRIGHT INFRINGERS MAY ALSO BE SUBJECT TO 
  26.      CIVIL LIABILITY.
  27.                                      
  28.                                      DISCLAIMER
  29.  
  30.           The developers of VDS make no warranty of any kind, either express
  31.      or implied, with respect to this software and accompanying documentation.
  32.      In no event shall the developers be liable for any damages arising out 
  33.      of the use of or inability to use the included programs. The entire risk 
  34.      as to the results and performance of this software package is assumed by
  35.      the customer. We specifically disclaim any implied warranties of 
  36.      merchantability or fitness for any purpose. Use at your own risk.
  37.           The developers of VDS reserve the right to revise the software and     
  38.      accompanying documentation and to make changes in the contents without
  39.      obligation to notify any person of such revision or changes.
  40.                                   
  41.                                   ACKNOWLEDGEMENTS
  42.  
  43.      We would like to thank a few people who helped us test and improve all 
  44.      or parts of VDS. Specifically, Mike, Henri Delger, Paul Ferguson, 
  45.      Vesselin Bontchev, Ahmed Yahya, Bill Whittington, Daniel Perez,
  46.      and Bill Lambdin.
  47.                                   
  48.                                   TABLE OF CONTENTS
  49.  
  50. I. INTRODUCTION. . . . . . . . . . . . . . . . . . . . . . . . . . . . .  1
  51.      A. Background . . . . . . . . . . . . . . . . . . . . . . . . . . .  1
  52.           1. Do you need anti-viral programs?. . . . . . . . . . . . . .  1
  53.           2. Will scanners protect me? . . . . . . . . . . . . . . . . .  1
  54.           3. How is VDS different? . . . . . . . . . . . . . . . . . . .  1
  55.      B. What is VDS? . . . . . . . . . . . . . . . . . . . . . . . . . .  1
  56.      C. Why VDS. . . . . . . . . . . . . . . . . . . . . . . . . . . . .  2
  57.      D. Components of VDS. . . . . . . . . . . . . . . . . . . . . . . .  3
  58.      E. Technical Help . . . . . . . . . . . . . . . . . . . . . . . . .  4
  59.  
  60. II. SYSTEM REQUIREMENTS. . . . . . . . . . . . . . . . . . . . . . . . .  5
  61.      A. Hardware & Software. . . . . . . . . . . . . . . . . . . . . . .  5
  62.  
  63. III. INSTALLATION. . . . . . . . . . . . . . . . . . . . . . . . . . . .  6
  64.      A. INSTALL command line options . . . . . . . . . . . . . . . . . .  6
  65.      B. Installing VDS . . . . . . . . . . . . . . . . . . . . . . . . .  6
  66.           1. Express Setup:. . . . . . . . . . . . . . . . . . . . . . .  7
  67.           2. Custom Setup: . . . . . . . . . . . . . . . . . . . . . . .  7
  68.      C. Uninstalling VDS . . . . . . . . . . . . . . . . . . . . . . . .  8
  69.  
  70. IV. OPERATION of VDS . . . . . . . . . . . . . . . . . . . . . . . . . .  9
  71.      A. Operational Cycle. . . . . . . . . . . . . . . . . . . . . . . .  9
  72.      B. How does VDS work. . . . . . . . . . . . . . . . . . . . . . . .  9
  73.           1. VDS command line options. . . . . . . . . . . . . . . . . . 11
  74.           2. Configuration (VDSPRO30.INI) file . . . . . . . . . . . . . 12
  75.      C. VDS as a scanner . . . . . . . . . . . . . . . . . . . . . . . . 14
  76.           1. DUMPSIG and external virus signatures . . . . . . . . . . . 14
  77.      D. VDS Device Driver. . . . . . . . . . . . . . . . . . . . . . . . 16
  78.      E. VDSTSR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
  79.      F. VDSFSCAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
  80.           1. Command line options. . . . . . . . . . . . . . . . . . . . 18
  81.      G. VFSLITE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
  82.           1. Options and default settings. . . . . . . . . . . . . . . . 19
  83.           2. Configuration (VDSFSCAN.INI) file . . . . . . . . . . . . . 19
  84.           3. Command line options. . . . . . . . . . . . . . . . . . . . 21
  85.           4. DOS errorlevels returned. . . . . . . . . . . . . . . . . . 23
  86.           5. Differences between VDSFSCAN and VFSLITE options. . . . . . 23
  87.      H. How to use VITALFIX. . . . . . . . . . . . . . . . . . . . . . . 24
  88.           1. Command line options. . . . . . . . . . . . . . . . . . . . 24
  89.      I. Scenarios and Messages . . . . . . . . . . . . . . . . . . . . . 25
  90.      J. Common Questions and Answers . . . . . . . . . . . . . . . . . . 26
  91.      K. Known Problems and Conflicts . . . . . . . . . . . . . . . . . . 30
  92.  
  93. V. VIRUS ATTACK METHODS. . . . . . . . . . . . . . . . . . . . . . . . . 31
  94.      A. Virus defined. . . . . . . . . . . . . . . . . . . . . . . . . . 31
  95.      B. Features of PC Viruses . . . . . . . . . . . . . . . . . . . . . 31
  96.           1. Stealth Virus . . . . . . . . . . . . . . . . . . . . . . . 31
  97.           2. Dumb Virus. . . . . . . . . . . . . . . . . . . . . . . . . 31
  98.           3. Encryptive Virus. . . . . . . . . . . . . . . . . . . . . . 31
  99.           4. Polymorphic Virus . . . . . . . . . . . . . . . . . . . . . 31
  100.      C. Types of PC Viruses. . . . . . . . . . . . . . . . . . . . . . . 32
  101.           1. MBR/BR Virus. . . . . . . . . . . . . . . . . . . . . . . . 32
  102.           2. Program Infector. . . . . . . . . . . . . . . . . . . . . . 32
  103.                a. Simple Infector. . . . . . . . . . . . . . . . . . . . 32
  104.                b. Companion Virus. . . . . . . . . . . . . . . . . . . . 32
  105.                c. System Infector. . . . . . . . . . . . . . . . . . . . 32
  106.           3. Multi-partite Virus . . . . . . . . . . . . . . . . . . . . 33
  107.      D. Some facts about viruses . . . . . . . . . . . . . . . . . . . . 33
  108.  
  109. VI. PARTITION/BOOT SECTOR INFECTIONS . . . . . . . . . . . . . . . . . . 34
  110.      A. Preliminary information. . . . . . . . . . . . . . . . . . . . . 34
  111.      B. How to recover with RESTORE option . . . . . . . . . . . . . . . 37
  112.      C. Manual Recovery Procedure. . . . . . . . . . . . . . . . . . . . 37
  113.  
  114. VII. HOW TO DEAL WITH VIRUSES. . . . . . . . . . . . . . . . . . . . . . 41
  115.      A. Recommended Guidelines . . . . . . . . . . . . . . . . . . . . . 41
  116.  
  117.                          I. INTRODUCTION
  118.  
  119. A. Background
  120.  
  121. 1. Do you need anti-viral programs?
  122.  
  123.     If someone had asked us this question five years ago, we would have 
  124. probably said, "Yes, but if you're careful, only use diskettes from the 
  125. factory, and don't use diskettes from other people, then you can probably 
  126. get away without one." Unfortunately, the same is not true today. During the 
  127. past few years we have seen an increase in the number of viruses from a few 
  128. dozen to over 3000, and many of the new viruses are becoming more 
  129. sophisticated. In addition, almost every major business that uses 
  130. microcomputers has experienced a virus infection on some scale. Even some 
  131. shrink-wrapped software from major software developers has been infected. 
  132. It is just too much of a gamble not to have anti-virus protection these days. 
  133.  
  134. 2. Will scanners protect me?
  135.  
  136.     While there are many anti-viral products on the market, the PC world has 
  137. yet to see a comprehensive solution based on both scientific analysis and the
  138. use of sophisticated techniques. A common feature shared by most anti-viral 
  139. programs known as scanners is their pattern searching approach. They simply 
  140. look for a sequence of identifying bytes (not necessarily consecutive) inside
  141. existing executable code such as that contained in program files and boot 
  142. sectors. This approach works quite well for many viruses. The trouble is that
  143. a pattern searching approach requires fore-knowledge of specific viruses and
  144. their identifiers. This means that they are useless against new, unknown 
  145. viruses. In addition, new viruses which mutate upon each infection have been 
  146. developed. They make extraction of an easily discernible search pattern 
  147. impossible.
  148.  
  149. 3. How is VDS different?
  150.  
  151.     VDS Advanced Research Group would like to shift the focus from simple 
  152. pattern matching to one of analyzing viral behavior. In this way, rather 
  153. than keeping the market alive through forcing users to upgrade frequently 
  154. as others have done, we can instead offer a more comprehensive solution. 
  155. If others had taken this approach, computer viruses may have been less of 
  156. a threat than they certainly are today. You must remember that scanners
  157. were first developed by well-meaning hackers who lacked a clear, long-term 
  158. perspective in this matter. It was the most obvious and easiest thing to do 
  159. at the time and  scanners became popular over time. 
  160.     VDS (Virus Detection System) was developed in reaction to the limitations
  161. of existing anti-viral programs. Due to the large number of ways that viruses
  162. can exploit the DOS environment, the anti-viral methods employed in practice 
  163. are often ad hoc and cannot easily be formalized. VDS makes a judicious 
  164. choice of systematic approaches towards the detection of viruses. It uses 
  165. sophisticated techniques to detect most possible viruses in the DOS 
  166. environment. 
  167.     If you are faced with the problem of recurring virus infections, or have 
  168. data that just cannot be replaced without significant loss, you are invited 
  169. to try VDS on your system. VDS ensures easy detection and eradication with 
  170. little user intervention. With VDS in place, viruses cease to be an 
  171. impediment to productivity.
  172.  
  173. B. What is VDS?
  174.  
  175.     VDS is a set of programs designed to contain the spread of computer 
  176. viruses that target PCs running MS/PC DOS 3.0 or above.  VDS works by 
  177. providing early detection and quick recovery. The operation of VDS is not 
  178. virus-specific. In addition, the current implementation does not rely on a 
  179. memory-resident program which degrades the performance of your computer by 
  180. verifying programs every time they are run; however, an independent 
  181. memory-resident scanner is also provided. VDS installs itself on your
  182. system using a special process which checks first for known viruses, and 
  183. then creates a fingerprint of all system areas and executable files. From 
  184. then on, VDS will thoroughly check the system at scheduled intervals and 
  185. will notify you of any suspicious modifications detected regardless of 
  186. whether the virus is a known variant or a new virus altogether.  
  187.  
  188. C. Why VDS?
  189.  
  190. -   It is NOT virus-specific.
  191. -   It does NOT need frequent upgrades.
  192. -   It does NOT require much user expertise.
  193. -   It is NOT a TSR (i.e. memory resident) with possible conflicts. This 
  194.     also means that it does not use up precious RAM. The 
  195.     An optional TSR module is provided.
  196. -   It maintains an audit log to pinpoint how a virus entered the system.
  197. -   It can use an external virus signature database for easy updates.
  198. -   It works even when a stealth virus is ACTIVE in memory.
  199. -   It can handle any size DOS disk.
  200. -   It is compatible with DOS 3.0 and above.
  201. -   It supports MS Windows 3.x.
  202. -   It can CAPTURE some memory-resident viruses to speed up diagnosis.
  203. -   It can recover a damaged  partition table easily.
  204. -   It can fix an infected boot sector on the fly.
  205. -   It is blazingly FAST.
  206. -   It includes an automated boot sector recovery tool.
  207. -   It works on Novell Netware, Banyan, and Lantastic network drives.
  208. -   It can usually HEAL itself even when infected.
  209. -   It automatically updates the baseline database after additions/deletions.
  210. -   It can identify most common viruses by name.
  211. -   It can be set to run based on a user-defined schedule.
  212. -   It can remove most known and unknown viruses generically.
  213. -   It can create an emergency diskette for extra safety.
  214. -   It sports a very intuitive object-oriented user interface.
  215. -   It includes a robust integrity checker for ultimate defense against 
  216.     viruses.
  217.  
  218. D. Components of VDS
  219.  
  220.     VDS package includes the following components:
  221.           
  222. VDS.EXE 
  223.     An integrity checker that creates a fingerprint database for possible 
  224.     virus targets (programs, boot sectors) and verifies them later for 
  225.     suspicious modifications. In the case of such modifications, the 
  226.     integrity checker offers to restore the affected areas to their original 
  227.     state by using generic disinfection techniques, and backups (for system 
  228.     areas). If the restoration attempt fails, the integrity checker informs 
  229.     the user and requests permission to remove the damaged object by 
  230.     deletion. For example, some overwriting viruses do not preserve the 
  231.     functionality of their victims. To be able to restore such programs, one 
  232.     needs to use the original copies or good backups. In 95% of the cases 
  233.     that involve a virus that can successfully spread, restoration by generic
  234.     disinfection is possible, and guarantees 100% recovery. Viruses that 
  235.     corrupt the operation of their victims get noticed easily and do not 
  236.     tend to get too far.
  237.  
  238. VDSFSCAN.EXE
  239.     A known and heuristic virus scanner that searches for patterns or code 
  240.     sequences and uses advanced algorithms to identify polymorphic and simple
  241.     viruses inside executable code  such as program files and boot sectors. 
  242.     It can also use a user-defined signature file to permit the addition of 
  243.     newly  discovered viruses.
  244.      
  245. VDSTSR.EXE
  246.     A memory-resident (TSR) program that searches programs before they are 
  247.     run or optionally before they are copied. It also examines the boot 
  248.     sector of a floppy diskette that may have been left in drive A: before 
  249.     warmboot attempts. What's more, it can scan programs being unzipped or 
  250.     de-archived by a compression utility regardless of the version or the 
  251.     maker of such software. In other words, you do not need to update the 
  252.     TSR just because you decided to use a newer release of your favorite 
  253.     file compression utility. It also provides mechanisms to render some 
  254.     stealth viruses inoperable.
  255.    
  256. ISVDSTSR.COM
  257.     A small (17 bytes) program that sets the DOS errorlevel to indicate the 
  258.     presence of the TSR component in memory. The purpose of this program is 
  259.     to allow system administrators in networked environments to enforce 
  260.     loading TSR anti-virus protection on workstations before they are 
  261.     permitted to access programs on a file server.
  262.  
  263. DUMPSIG.EXE
  264.     A virus signature extraction utility. It is useful when you need to add 
  265.     an external signature.
  266.   
  267. VITALFIX.EXE
  268.     A disk repair utility designed specifically to deal with boot sector 
  269.     infections. It provides the user with various options to eradicate a 
  270.     possible virus, to save and to restore important system information such 
  271.     as the partition table, and to search disks for a possibly relocated copy
  272.     of the boot sector. It is much safer to use this utility than other disk 
  273.     sector editors since it performs sanity checks before overwriting 
  274.     important  sectors on a hard drive.
  275.  
  276. INSTALL.EXE
  277.     An installation program that automates loading VDS on local and on 
  278.     network drives. It prepares an emergency diskette for your computer so 
  279.     that you can check and restore system areas and program files after 
  280.     booting from a clean floppy diskette. This emergency diskette is
  281.     formatted as a bootable DOS diskette and the required VDS components 
  282.     and fingerprint and recovery information are copied over.
  283.  
  284. VDSCATCH.BIN     
  285.     A device driver that implements several anti-stealth features and aids 
  286.     VDS integrity checker in maintaining reliable operation even when a 
  287.     stealth virus is active in memory. It also prohibits direct writes to 
  288.     the master and DOS boot sectors as well as low-level format attempts.
  289.  
  290. E. Technical Help
  291.     If you need technical assistance or have any questions, you can call
  292.     VDS-BBS at (717) 846-3873. Please set your communications parameters
  293.     to 8,N,1. Modem speeds up to 28.8K V.FC are supported. If you are a
  294.     registered user, you can also download the latest virus scan strings
  295.     from the VDS-BBS. There is also an area on the BBS to upload suspected 
  296.     files for analysis.
  297.                          
  298.                          II. SYSTEM REQUIREMENTS
  299.  
  300. A. Hardware & Software
  301.  
  302.     VDS has the following minimum requirements and limitations  to operate
  303. correctly:
  304.    
  305. An IBM PC or compatible computer
  306. MS/PC-DOS 3.0 or higher
  307. 384K of available memory
  308. A hard drive (necessary only for integrity checks)
  309. Up to 4000 program files per integrity database (16000 if 192K of extended 
  310.                                                  memory is available)
  311. Up to 32 integrity databases per catalog
  312.  
  313.     In addition, VDSTSR takes up about 30K of memory when loaded. It can be
  314. loaded into upper memory area under DOS 5.0 or later. VDSCATCH.BIN device 
  315. driver takes up about 300 bytes, and it can also be loaded high.
  316.     Some systems utilize disk compression software to increases the storage 
  317. capacity of drives by compressing and decompressing data on the fly. On such 
  318. systems, you must have the necessary device drivers loaded before VDS. MS-DOS
  319. 6.x now includes this optional feature by providing the DoubleSpace interface.
  320. The operation of DoubleSpace is well-integrated into DOS, and works in a 
  321. transparent manner. VDS is tested and found to work as expected on drives 
  322. compressed using DoubleSpace. 
  323.                         
  324.                         III. INSTALLATION
  325.  
  326. A. INSTALL command line options
  327.  
  328.     Here is the INSTALL command line options that you can use to set up VDS.
  329.          
  330. INSTALL.EXE     [{-|/}BDEH?MNRUXH]   [src_path]  [dest_path]
  331.  
  332. -Debug                  Instruct VDS to create a debug trace.
  333. -Banyan                 Install on a Banyan server.
  334. -M                      Use monochrome screen attributes.
  335. -Help or ?              To see the command  line options with examples.
  336. -Emergency <path>       Prepare an emergency diskette.
  337. -Xpress                 Install with default values.
  338. -Uninstall <path>       Remove VDS from the given directory.
  339. -Refresh <path>         Update the VDS emergency diskette for new files
  340. -Network <src> <dest>   Install VDS from the server directory src to the
  341.                         workstation. The .INI files in the src directory
  342.                         will be copied over to the dest directory.
  343.  
  344. B. Installing VDS on a hard drive
  345.  
  346.     You will need your bootable DOS diskette (preferably the original), VDS
  347. Distribution diskette, and at least one blank floppy diskette that can go in 
  348. your drive A: for installation. The blank diskette will be formatted and 
  349. prepared as a bootable DOS diskette by VDS. The emergency diskette will be 
  350. used in the case of infections that affect the master boot/partition sector
  351. (if VDS cannot repair it on the fly). 
  352.     The floppy restoration process requires you to use this VDS emergency 
  353. diskette. Some computers have a boot sequence setting in CMOS that allows 
  354. booting from the hard disk even if there is a floppy diskette in drive A:. 
  355. Before starting the installation, please change this setting to boot from 
  356. drive A:. Here are the steps you should follow for proper installation:
  357.  
  358. 1)  Turn the computer off (NOTE: It is very important that you do not perform 
  359.     a warmboot by holding down Ctrl-Alt-Del keys since  a virus can fake a 
  360.     warmboot and stay in memory).
  361.  
  362. 2)  Put the DOS diskette in drive A: (NOTE: The version of DOS on the floppy
  363.     diskette must be the same as the one installed on your hard drive). Turn 
  364.     the computer on. It should boot from the floppy diskette.
  365.  
  366. 3)  If the boot was successful, you should now see the A:> prompt. If the 
  367.     system asks you for time and date, just press Enter  until you are at 
  368.     the A:> prompt.
  369.  
  370. 4)  Remove the DOS diskette and replace it with the VDS distribution diskette.
  371.  
  372. 5)  Type A:INSTALL and press Enter.
  373.  
  374. *   INSTALL will now complete the installation process by asking you a few 
  375.     questions.
  376.  
  377. 6)  You will see two options: Express setup and custom setup. If you press 
  378.     the Enter key, INSTALL will use the default settings to configure the 
  379.     operation of VDS. Custom setup allows you to modify many parameters to 
  380.     suit your needs.
  381.  
  382. *   If you have chosen Custom setup, please skip to the next section.
  383.  
  384.     1. Express Setup:
  385.  
  386. 7)  A configuration file will be created and the necessary files will be 
  387.     transferred to the hard disk in C:\VDSPRO30 directory.
  388.  
  389. 8)  If this is the first time you are installing VDS on your computer, 
  390.     INSTALL will modify  your AUTOEXEC.BAT and CONFIG.SYS to add the lines 
  391.     needed to load, VDSCATCH.BIN, VDSTSR.EXE and run VDS.EXE every time you
  392.     reboot the computer. VDSCATCH.BIN takes up a few hundred bytes.
  393.  
  394. 9)  You will next see the list of files on the hard drive scroll by as VDS 
  395.     scans for infections and creates the baseline profile of all executable 
  396.     files on the disk. There should be lots of disk activity. If VDS finds 
  397.     that there are infected files, you will be asked if VDS should remove 
  398.     them. 
  399.  
  400. 10) INSTALL will ask you if you would like to prepare an emergency diskette. 
  401.     Put a blank diskette in drive A:. MAKE SURE YOU DO NOT HAVE ANYTHING
  402.     YOU NEED ON THIS DISKETTE. It will be formatted as a bootable diskette.
  403.     INSTALL will copy fingerprint databases and the VDS programs to the
  404.     emergency diskette.
  405.  
  406. 11) INSTALL will ask you if you wish to view a tutorial to become familiar 
  407.     with the operation of VDS. If you answer Yes, you will see a few pages 
  408.     of explanation.
  409.  
  410. 12) You can write-protect the emergency diskette at this time and store it 
  411.     in a convenient location. INSTALL will inform you that the computer will 
  412.     restart, please remove any floppy diskettes and then press a key. If VDS 
  413.     is installed correctly, you will see it verify the complete system after 
  414.     the computer boots up. This completes the install process (if you enabled
  415.     floppy booting in CMOS, you can change it back to the hard disk).
  416.  
  417.     2. Custom Setup:
  418.  
  419. 7)  INSTALL will ask you for the location of VDS distribution files and the 
  420.     home directory for VDS. If the home directory does not exist, INSTALL 
  421.     will ask you if you wish to create it. Type in the desired location where
  422.     VDS should be installed. A configuration file will be created and the 
  423.     necessary files will be transferred to the hard disk in the directory you
  424.     have specified.
  425.  
  426. 8)  If this is the first time you are installing VDS on your computer, 
  427.     INSTALL will ask you if it should modify  your AUTOEXEC.BAT and 
  428.     CONFIG.SYS to add the necessary lines to load VDSCATCH.BIN, VDSTSR.EXE 
  429.     and run VDS.EXE every time you reboot the computer. VDSCATCH.BIN takes 
  430.     up a few hundred bytes. Your original AUTOEXEC.BAT will be saved in 
  431.     AUTOEXEC.VDS, and the original CONFIG.SYS will be saved in CONFIG.VDS.
  432.  
  433. 9)  INSTALL will ask you which drives you wish to protect. You should pick 
  434.     drive C: and any other drives you wish to protect. For each drive you 
  435.     picked, you will see the list of files on the hard drive scroll by as 
  436.     VDS scans for infections and creates the baseline profile of all 
  437.     executable files on the disk. There should be lots of disk activity. 
  438.     If VDS finds that there are infected files, you will be asked if VDS
  439.     should remove them. 
  440.  
  441. 10) INSTALL will ask you if you would like to prepare an emergency diskette. 
  442.     Put a blank diskette in drive A:. MAKE SURE YOU DO NOT HAVE ANYTHING
  443.     YOU NEED ON THIS DISKETTE. It will be formatted as a bootable diskette.
  444.     INSTALL will copy fingerprint databases and the VDS programs to the
  445.     emergency diskette.
  446.  
  447. 11) INSTALL will ask you if you wish to view a tutorial to become familiar 
  448.     with the operation of VDS. If you answer Yes, you will see a few pages 
  449.     of explanation.
  450.  
  451. 12) You can write-protect the emergency diskette at this time and store it 
  452.     in a convenient location. INSTALL will inform you that the computer will 
  453.     restart, please remove any floppy diskettes and then press a key. If VDS 
  454.     is installed correctly, you will see it verify the complete system. This 
  455.     completes the install process (if you enabled floppy booting in CMOS, 
  456.     you can change it back to the hard disk).
  457.   
  458. C. Uninstalling VDS
  459.  
  460.     You can remove VDS from your hard drive by running the INSTALL program
  461. with the -Uninstall command line option:
  462.  
  463.     C:\> C:\VDSPRO30\INSTALL   -U   C:\VDSPRO30     <enter>
  464.  
  465.     If you have performed a custom setup and specified a different directory 
  466. name, then you should substitute that name in the line above. INSTALL checks 
  467. to see if there were other files in the directory before VDS was installed. 
  468. If there were not any, it removes all the files in VDSPRO30 directory, and 
  469. then the directory itself. If there were other files, it displays a warning 
  470. message and aborts without removing any files. It is up to you to delete or 
  471. keep any of those files. You need to perform a "manual" uninstall. Since VDS 
  472. keeps almost all of its files in its own directory, removal is a simple 
  473. procedure. You should also edit your CONFIG.SYS and AUTOEXEC.BAT to remove 
  474. the lines loading VDS components. Your original CONFIG.SYS is renamed to 
  475. CONFIG.VDS, and the original AUTOEXEC.BAT is renamed to AUTOEXEC.VDS during 
  476. installation. You could use them as well; however, if you have installed any 
  477. other programs after VDS, then they might have modified your AUTOEXEC.BAT. 
  478. Be careful before you copy over the CONFIG.VDS and AUTOEXEC.VDS if that is 
  479. the case.  
  480.                       
  481.                       IV. OPERATION of VDS
  482. A. Operational Cycle
  483.  
  484.     After VDS has been installed on a known-to-be-clean system, a complete
  485. verification of the system areas is done each time the machine is started. 
  486. A daily check of the entire hard disk will also be done, unless you have 
  487. selected a specific frequency in which case a complete check will only be 
  488. performed when the time period has elapsed. For best results, VDS should be 
  489. run from the AUTOEXEC.BAT. It can also be run, just like any other program, 
  490. at the user's discretion.
  491.     The periodic checking requires a computer with a real-time clock that 
  492. can keep track of date even after the computer is turned off. Most systems 
  493. have this capability. On older machines without a real-time clock, the
  494. frequency of checks cannot be specified.  
  495.     The VDSTSR module provides users with the ability to scan programs before
  496. they are run or copied. Once loaded, the user does not need to specify which 
  497. files to scan every time. VDSTSR will intercept requests to execute a program
  498. and will search for known viruses. If it finds an infection, it will post a 
  499. simple warning message and prevent execution or copying of the infected file.
  500. VDSTSR also traps warmboot attempts (CTRL-ALT-DEL) and scans the boot sector 
  501. of the floppy disk in drive A: if one is present. This prevents spread of 
  502. common boot sector infectors such as Stoned and Michelangelo.
  503.  
  504. B. How does VDS work?
  505.  
  506.     The first time VDS is installed, a baseline for all executable files and 
  507. the system areas such as the master boot record (MBR), partition table, and 
  508. the boot record (BR) is established. A unique signature is computed for all 
  509. executable objects on the disk. File name, size, date, time and signature are
  510. combined to initialize the records in the database. A similar authentication 
  511. scheme is also used for the VDS program itself. The MBR, partition table, 
  512. boot sector, command interpreter, VDSCATCH.BIN, VDSTSR.EXE and VDS.EXE are 
  513. backed up. The backups will be used if these areas need to be recovered. 
  514.     When VDS is run, it verifies the integrity of its own code. If it finds 
  515. that no tampering has taken place, VDS introduces decoys (small executable 
  516. programs created at run-time) to the system to see if an active virus will 
  517. take the bait. Under normal circumstances, there is no legitimate reason why 
  518. these decoys should be altered by any program. If the decoys are attacked, 
  519. this indicates the presence of a virus with great accuracy. If an active 
  520. virus is detected with this technique, VDS will tell you whether the attacker
  521. was of STEALTH or DUMB variety. If the modifications are masked by the virus,
  522. it is considered to be STEALTH, and DUMB otherwise. VDS uses a proprietary 
  523. verification mechanism to detect if the virus attempted to mask the 
  524. modifications it has made.
  525.     Some viruses do not fall for decoys that easily. In fact, only 
  526. memory-resident program infecting viruses will attack decoys. VDS uses 
  527. different techniques to catch other types of viruses not caught by decoys. 
  528. However, those viruses which do attack the decoys will be captured and placed
  529. in either POV.CCC or POV.XXX (an acronym for Prisoner Of VDS) depending on 
  530. which decoy(s) they attack. POV files can later be used to analyze the 
  531. captured intruder, or for legal purposes. The reason for the strange 
  532. extensions (XXX instead of EXE and CCC instead of COM) is to prevent someone 
  533. from accidentally activating the virus by executing the POV files. If you 
  534. capture an intruder, please mail it to us on a diskette for interrogation, 
  535. i.e. examination! This will allow us to keep track of what viruses are in the
  536. wild, and which areas are affected by certain viruses. You will have
  537. an opportunity to place the captured intruder in a file of your choosing, 
  538. preferably on a floppy diskette so that you can maintain it for further 
  539. evaluation on a test system without any further risk to the computer on which
  540. the virus was found. The captured intruder also makes it simple to extract a 
  541. scan string if it turns out to be a new virus not identified by VDS. You can 
  542. then put the extracted scan string into an external signature database and
  543. search for it on your other disks as well.
  544.     VDS will verify the system areas and all executable files. It will 
  545. generate a report of modified files and newly added files since the last time
  546. VDS was run. The user is given an opportunity to override any alarms that may
  547. be set off. If you have added new files to the machine, then VDS will scan 
  548. each file for known viruses, and if clean, will ask you if you want to add 
  549. the file's signature to the database. If any changes in the form of 
  550. infection, software configuration or addition of files are encountered, VDS 
  551. records them in VDS-STAT.LOG file in the C:\VDSPRO30 directory. This is an 
  552. ASCII text file and can be printed or viewed easily. It contains a date and 
  553. time line showing when VDS was run. It is very useful to check this log when
  554. an infection is discovered to find out how the virus was most likely 
  555. introduced to the system.
  556.     If suspicious modifications appear, VDS attempts to identify any virus(es)
  557. that may be responsible for the changes. A report of all identified viruses 
  558. and the victims affected as well as the date and time of operation will be 
  559. appended to VDS-STAT.LOG file. VDS looks for known viruses in all newly added
  560. files to provide early identification of viruses introduced to the system. 
  561. If no known viruses are identified, then the names of scanned files will be 
  562. written to VDS-STAT.LOG. If a file is determined to be modified, the user 
  563. will be given a chance to restore it. If the restoration attempt fails, then 
  564. you will be able to positively erase it. Positive erase means that the file 
  565. will be overwritten to the end of the last cluster it occupies and then 
  566. deleted. This operation is necessary since DOS leaves the contents of erased 
  567. files intact allowing them to be recovered by a disk utility program. VDS 
  568. prevents infected files from being recovered if you allow VDS to erase them.
  569.     The user can examine reported files at his/her discretion, and take 
  570. whatever action s/he deems necessary. When a possible viral attack is 
  571. detected, our recommendation is to turn off the computer, boot from a clean 
  572. write-protected floppy containing the same version of DOS as your computer 
  573. (preferably the VDS emergency diskette prepared during installation), and 
  574. replace the suspicious files with the originals. In many cases of actual 
  575. virus infection, VDS restoration can easily fix program files completely. 
  576. Note that this generic cleaning approach is very different from 
  577. virus-specific cleaning. It has the capability to recover even from unknown 
  578. virus infections. What's more, VDS double-checks to see if the restoration 
  579. attempt resulted in a full recovery. If not, VDS will warn you about the 
  580. problem. 
  581.     For most boot sector viruses, VDS will restore the partition or boot 
  582. sector automatically using the backup it made during installation. This 
  583. approach effectively takes the guesswork out of MBR/BR recovery. Many other 
  584. programs look for a relocated MBR in a specific sector on the disk and then 
  585. assume that they found the original without being certain. In some cases, 
  586. they cause more damage than the virus could. Not so with VDS. 
  587.     If automatic restoration is not successful, VDS provides a RESTORE option 
  588. that will repair the partition sector using the backup copy saved on VDS 
  589. emergency diskette. If you did not prepare an emergency diskette, and the 
  590. hard disk becomes inaccessible, then you should either use VITALFIX or try a 
  591. manual recovery. In most cases, an experienced computer user can restore the 
  592. disk by following the simple instructions which accompany VDS. As we have 
  593. previously stated, we strongly suggest that you backup your master boot 
  594. record on a floppy diskette so that your recovery will be simple. You can 
  595. use VITALFIX to do this for you if you did not choose to backup your MBR and 
  596. BR during the installation of VDS.
  597.  
  598. 1. VDS command line options
  599.  
  600.     Here are the command line options that VDS integrity checker accepts:
  601.  
  602. VDS.EXE   [{-|/}BIRDESVY]   [Drive: | Path]   [{-|/}CX<path>]
  603.    
  604. -Batch Drive:           Check the system areas and the files depending on
  605.                         frequency. This option is the default used during 
  606.                         Express installation. It must be followed by a drive 
  607.                         letter. 
  608.                  
  609. -Install Drive:         Create fingerprint database for the system areas and 
  610.                         the files for a given drive. This option is used by 
  611.                         INSTALL program to start VDS during installation. It 
  612.                         must be followed by a drive letter.
  613.  
  614. -Rescue                 Use the emergency diskette in drive A: to check the
  615.                         specified drive.
  616.       
  617. -Scan Drive: | Path     Scan for  viruses on the specified drive or path.
  618.       
  619. -Verify Drive: | Path   Perform integrity checks on the specified drive or 
  620.                         path.
  621.  
  622. -X<path>                Use the specified external signature file, not the 
  623.                         default XTERNAL.SIG.
  624.  
  625. -C<path>                Use the specified configuration file.
  626.  
  627. -D  C:  D:              Process multiple drives specified by drive letters.
  628.       
  629. -E                      Use SCSI-compatible code.
  630.  
  631. -Y                      Create \VDSDEBUG.LOG and report trace of operation.
  632.  
  633. Examples:
  634.       
  635. To check drive C: for modifications using a non-default configuration file,  
  636. type the following:
  637.       
  638.     VDS  -V  C: -Cc:\integ\vds30.ini
  639.       
  640. To check drive C: using the emergency diskette, type the following:
  641.       
  642.     VDS  -R  C:
  643.          
  644. To scan DOS directory for viruses and use an external signature file, type 
  645. the following:
  646.       
  647.     VDS  -S   -Xc:\virus\mysigs.txt  C:\DOS
  648.  
  649. To scan C: and D: drives for viruses, type the following:
  650.       
  651.     VDS  -S   -D  C:  D:
  652.          
  653. To perform automatic integrity checks,  include the following line in your
  654. AUTOEXEC.BAT
  655.       
  656.     VDS  -B  C:
  657.  
  658. 2. Configuration (VDSPRO30.INI) file
  659.  
  660.     Many of the operational parameters for VDS are specified in a file named
  661. VDSPRO30.INI, which can be found in the VDS home directory. This is a simple 
  662. text file and it can be viewed or edited easily using an ASCII text editor. 
  663. Following is an explanation of each line that can be placed in this file.   
  664.     VDS configuration file contains sections marked by certain keywords 
  665. inside square brackets. Currently, the following sections are supported:
  666.  
  667.     [HOMEDIR]
  668.     [VERIFY]
  669.     [EXT]
  670.     [IGNORE_DIR]
  671.     [IGNORE_FILE]
  672.     [TREE]
  673.     [REPORT]
  674.     [MSG]
  675.     [FLAGS]
  676.  
  677.     Each section has different requirements for the type of information you 
  678. can enter. The INSTALL program automatically creates an appropriate 
  679. configuration file for you. If you wish to change certain operational 
  680. parameters such as the files that should be excluded from integrity checks, 
  681. you can do so by editing the configuration file with a text editor. Refer to 
  682. the explanation below for details.
  683.  
  684. ; This configuration file specifies operational parameters for VDS Pro.
  685.  
  686. ; VDS.EXE and the system backup files are located in the following directory. 
  687. [HOMEDIR]
  688. C:\VDSPRO30
  689.  
  690. ; Integrity database files are located in the following directory.
  691. [VERIFY]
  692. C:\VDSPRO30
  693.  
  694. ; Files with the following extensions are processed. Adding ??? forces VDS to
  695. scan/check all files.
  696. [EXT]
  697. SCAN = COM,EXE,SYS,OVL,BOO,
  698. VERIFY = COM,EXE,SYS,OVL,BAT,
  699.  
  700. ; Following directories are NOT processed. 
  701. ; This is useful in development environments where programs are modified.
  702. [IGNORE_DIR]
  703.  
  704. ; Following files are NOT processed.
  705. ; INSTALL defaults to excluding CONFIG.SYS and AUTOEXEC.BAT.
  706. [IGNORE_FILE]
  707. C:\CONFIG.SYS
  708. C:\AUTOEXEC.BAT
  709.  
  710. ; Directory tree(s) are stored in the following directory.
  711. ; If you set it to A: or B:, VDS does not store trees.
  712. [TREE]
  713. C:\VDSPRO30
  714.  
  715. ; Messages are written to the following file.
  716. ; If you change it to PRN, all messages are sent to the printer.
  717. [REPORT]
  718. C:\VDSPRO30\VDS-STAT.LOG
  719.  
  720. ; Optional message to be displayed if a virus is found
  721. [MSG]
  722. Call System Administrator x5112 ASAP!
  723.  
  724. ; Operational flags
  725. [FLAGS]
  726. ; If you wish to maintain integrity information for data files
  727. ; set the QUICK_VERIFY to No.
  728. QUICK_VERIFY = Yes
  729. ; Look for virus-like code sequences. False positives are likely.
  730. HEURISTIC_CHECK = Yes
  731. ; Stop if an infected file is found during scan.
  732. PAUSE = No
  733. ; You can eliminate most of the beeps by setting it to No.
  734. BEEP = Yes
  735. ; Make sure VDSCATCH.BIN is loaded from your CONFIG.SYS.
  736. ANTI_STEALTH = Yes
  737. ; If a modified program file is found, you will need to confirm before recovery.
  738. AUTO_RESTORE = No
  739. ; Default is one complete check per day, and system area checks only any
  740. ; other time VDS is run with -Batch option.
  741. FREQUENCY = 1
  742. ; ENTER key can be assigned to SCAN or VERIFY a file
  743. ENTER_KEY = Scan
  744.  
  745. C. VDS as a scanner
  746.  
  747.     VDS integrity checker can serve as an easy-to-use virus scanner that 
  748. works on DOS-compatible drives, including LAN server drives. It offers two 
  749. modes of operation: Interactive and command-line. Interactive mode is based 
  750. on a simple menu system that makes it very easy to access the advanced 
  751. features of VDS, and it offers context-sensitive help (F1 key). Command-line 
  752. mode can also be activated from batch files. VDS accepts various options to 
  753. customize its operation. Once VDS is executed, you can scan multiple 
  754. diskettes easily. 
  755.     VDS presents a very intuitive object-oriented interface based on simple 
  756. menus. By  picking the object you wish to work on, you can exploit the 
  757. powerful features of VDS without any need to consult this manual at all. 
  758. Function keys are assigned to activate certain operations such as scanning 
  759. and verification. Each operation applies to the object currently selected.
  760.     You can move between object selections using the up and down arrow keys.
  761. Pressing ENTER explores a finer level of detail for the members of the parent
  762. object. For example, by highlighting a drive and pressing the ENTER key loads
  763. the subdirectories found on that drive. The ESC key will get you out of a 
  764. menu, or it will ask if you want to stop the search or integrity check 
  765. operation. The CTRL-BREAK key combination will also result in a prompt asking 
  766. if you want to stop the operation.
  767.     We encourage users to start their computer with a clean, write-protected, 
  768. and bootable DOS system diskette prior to using VDS to ensure that no viruses 
  769. are active in memory while scanning. Some viruses manipulate file access and 
  770. try to hide their existence or spread the infection to other programs. 
  771. Although, VDS will attempt to check for such viruses, the only guaranteed way
  772. to do an untampered search is after booting the computer from a clean system
  773. diskette.  
  774.     VDS will also check its own program file to make sure it is not modified.
  775. If it is modified, it will warn you with a message, and it may abort its 
  776. operation. VDS tries to ensure that it is unmodified to ensure correct 
  777. operation.
  778.     In the case of boot sector infections, VDS will ask you if you would like 
  779. to remove an identified virus. This option applies to the master boot sector 
  780. on hard disks and the boot sector on floppy diskettes. You should use the SYS
  781. program included with DOS to remove boot sector infectors from the DOS boot 
  782. record of a hard drive or to keep a system floppy diskette bootable. When VDS
  783. removes a virus from the boot sector of a floppy diskette, it constructs a 
  784. BPB (BIOS Parameter Block) for the diskette and adds instructions to display 
  785. a message you would get from a non-bootable diskette. In any case, the viral 
  786. code will be overwritten. In the case of the hard drive master boot sector, 
  787. VDS keeps the partition table intact and replaces the loader code, again 
  788. overwriting any viral instructions. It will also attempt to verify that the 
  789. partition table actually corresponds to the disk layout.
  790.  
  791. 1. DUMPSIG and external virus signatures
  792.  
  793.     To facilitate keeping up with new viruses, we have added an external 
  794. signature capability to VDS. This external file is a simple ASCII text file 
  795. and can be viewed or edited easily. You can also use the /Vfilename.ext 
  796. command line option to specify a different path for the external signature 
  797. file. This file can also be used by VDSFSCAN and VFSLITE.  Here is the format
  798. you should use to add a  virus signature entry in this file:
  799.  
  800.     ; This virus is not stealth
  801.     Disk Muncher
  802.     ; Seems to infect only COM files
  803.     COM
  804.      ; Here is the signature Joe extracted yesterday
  805.     FA 00 23 75 ?? 33 40 B8 ?? 90 90 90 CD 21 
  806.  
  807.     Lines that start with a ; (semi-colon) are treated as comments and 
  808. ignored. The order of each field is important. In other words, you should 
  809. place the virus name before its type, and the type before the signature. The 
  810. signature is assumed to be in hexadecimal. You can use spaces to separate 
  811. each byte value, or have them in sequence next to each other. The number of 
  812. bytes in the string must be no more than 16, and no less than 8. Wildcard 
  813. characters are accepted. To indicate a wildcard byte, simply put ?? in the 
  814. string. The first byte of the string cannot be a wildcard. 
  815.     The type field can have one of the following values:
  816.  
  817.     COM
  818.     EXE
  819.     BOTH
  820.     BOOT
  821.     FALSE
  822.  
  823.     BOTH implies that the virus signature can be found in either COM or EXE 
  824. files. BOOT indicates that the virus attacks Master or DOS boot sectors. 
  825. FALSE is used to temporarily deal with false alarms; it refers to the 
  826. signature extracted from a program file that is known to trigger a false
  827. alarm. You should still report any false alarms to us so that we can update
  828. the internal signatures.
  829.     VDS tries to read virus information for each entry. To memory 
  830. requirements low, only 32 external signatures can be processed. 
  831.     We will usually provide an updated signature file to our customers. In 
  832. some cases, you may need to add a signature yourself. For example, if a new 
  833. virus infects your computer and VDS captures a sample for you, then you can 
  834. extract a signature and put it in the XTERNAL.SIG. In this way you can 
  835. identify the virus on your disks without upgrading the scanner program. If 
  836. you cannot extract a signature, please send us a sample and we will analyze 
  837. the virus and provide you with a signature and instructions on how to handle 
  838. it. When you extract a signature for a virus, you should take it from the
  839. program entry point on; otherwise, you will need to specify QUICK_SCAN=NO 
  840. option in the configuration file to force VDS to examine each byte of the 
  841. files it scans. If a COM file starts with a JMP instruction, for example, 
  842. you should go to the destination of that jump first. To simplify this 
  843. process, you should use DUMPSIG utility provided in the VDS package.
  844.     Note that some viruses (polymorphic) try to defy signature scanning by 
  845. encrypting and changing themselves. In such cases, it may be necessary to 
  846. update the scanner program. 
  847.  
  848. DUMPSIG  <filename>
  849.  
  850. You can redirect the output from DUMPSIG to a text file by using standard DOS
  851. redirection facility as follows:
  852.  
  853. DUMPSIG  sample.exe   >  sigfile.txt
  854.  
  855. DUMPSIG outputs 256 bytes from the program entry point of a given file in hex
  856. format. You can then look at the output and pick a 16-byte search pattern; 
  857. you should avoid using a pattern with many repeated values. By testing the 
  858. selected pattern on a few infected samples, you can verify the reliability 
  859. of your string. It is also important that the selected pattern does not 
  860. trigger a false alarm on common files such as those included with DOS; so it 
  861. is a very good idea to test it on DOS program files as well.
  862.  
  863. D. VDS Device Driver
  864.  
  865.     VDS creates a device driver for your computer during installation. This 
  866. device driver, named VDSCATCH.BIN, has a very simple purpose: Providing VDS 
  867. with access to the operating system in a manner that is resistant to stealth 
  868. viruses. This is necessary since some viruses have the capability to subvert 
  869. the operating system calls to hide the modifications they have made to the 
  870. programs. When such a beast is active in memory, it will look as though none 
  871. of the programs are infected. By recording operating system access points 
  872. very early in the startup process, VDSCATCH.BIN enhances the reliability
  873. of VDS scanner and integrity checker.  The memory requirement for this 
  874. device driver is quite frugal, about 300 bytes!
  875.     Another function of this device driver is to disallow tracing certain key
  876. interrupts. Many stealth viruses use the trace mode available on the Intel 
  877. 80x86 CPUs. This way, they can bypass monitoring software and spread 
  878. undetected. VDSCATCH.BIN attempts to stop such tricks. Note that some 
  879. anti-virus packages use tracing as well, and they may complain.
  880.  
  881. E. VDSTSR
  882.  
  883.     VDSTSR provides memory-resident virus scanning before execution or 
  884. copying of files as well as floppy diskette boot sectors before a warmboot 
  885. attempt. If it determines that the file that is about to be run or copied 
  886. contains a known virus, it will warn the user showing the name of the virus 
  887. and then deny the request.
  888.     The purpose of VDSTSR is to prevent introduction of viruses to PCs in a
  889. transparent manner. In other words, the user need not run a virus scanner 
  890. manually every time he/she runs a program or copies new files to his/her 
  891. hard/floppy disk. If there is a floppy diskette containing a boot sector 
  892. virus in drive A: and the user attempts to warmboot the computer without 
  893. opening the drive door first, VDSTSR scans the floppy diskette for boot 
  894. sector viruses and issues a warning. This effectively prevents infections
  895. from common boot sector viruses such as Stoned and Michelangelo.
  896.     As a side effect of this type of mechanism, copy operations will be 
  897. slowed down by about 50% depending on the system configuration. The apparent 
  898. time delay in program loading, however, should be negligible. Optionally, 
  899. the user can specify not to scan upon copy operations but only before 
  900. execution of programs. This approach is recommended since it provides most of
  901. the protection without overall performance degradation of the computer system.
  902. The default behavior is not to scan during copy operations.
  903.     Another side effect is the memory required to keep all virus signatures 
  904. and names in RAM. Although the code is barely 4K, the signature database 
  905. takes up about 30K. The good news is that, VDSTSR can be loaded high under 
  906. DOS 5.0 and above, therefore not using up any of the precious 640K 
  907. conventional memory. 
  908.     To keep the program size to a minimum, VDSTSR only provides a simple
  909. message displaying the virus name and the program as well as producing a beep
  910. on the system speaker to get the user's attention. It does not provide any 
  911. options to unload it from memory or support other fancy but rarely used 
  912. features. VDSTSR does not scan for complicated polymorphic viruses, either. 
  913. Following example illustrates a typical case:
  914.  
  915. C:\TEST\FRODO.EXE
  916. <beep> 4096 virus found in FRODO.EXE
  917. Access denied <pause>
  918.  
  919.     The last message comes from COMMAND.COM since VDSTSR issued an error
  920. code as response to the request to execute the program file FRODO.EXE.
  921.     During copy operations, the following message would be displayed:
  922.  
  923. COPY C:\TEST\FRODO.EXE  FRODO2.EXE
  924. <beep> 4096 virus found in FRODO.EXE
  925. Invalid function <pause>
  926.  
  927.     If the user hits the Ctrl-Alt-Del key combination in order to reboot, and 
  928. there is a floppy diskette in drive A: with an infected boot sector, a message
  929. such as the following is displayed:
  930.  
  931. <beep> Stoned-2 virus found in floppy diskette boot sector.
  932. Remove the floppy diskette from drive A: now! <pause>
  933.  
  934.     VDSTSR has only one command line option and does not require any special
  935. procedure to install. It requires DOS 3.0 or higher to operate. 
  936.  
  937.     VDSTSR   [/COPY]
  938.  
  939.     The default is not to scan during copy operations, but only before 
  940. program execution and warmboot attempts. VDSTSR should be placed in the 
  941. AUTOEXEC.BAT file before any other TSRs except network drivers and disk 
  942. compression drivers.
  943.     A small utility program called ISVDSTSR.COM is supplied to allow system
  944. administrators in LAN environments to check if VDSTSR is loaded on a 
  945. workstation before granting permission to login. All this tiny program does 
  946. is issue a request to VDSTSR and see if it is answered properly, indicating 
  947. that VDSTSR is operational in memory. If everything is working fine, ISVDSTSR
  948. will set DOS error level to 1. This can be used in a batch file as follows:
  949.  
  950. ISVDSTSR.COM
  951. if errorlevel == 1 goto LOADED
  952. echo You have not loaded VDSTSR on your system. You cannot login.
  953. logout
  954. :LOADED
  955.  
  956. F. VDSFSCAN
  957.  
  958.     VDSFSCAN is an easy-to-use virus scanner that works on DOS-compatible 
  959. drives, including LAN server drives. It comes in two flavors: Interactive 
  960. and command-line. Interactive version is implemented by the VDSFSCAN.EXE, 
  961. and the command-line version is provided by VFSLITE.EXE.
  962.     Both programs share a common configuration file named VDSFSCAN.INI. This
  963. is an ASCII text file that modifies the operation of  the scanner. You can 
  964. edit the settings in the INI file to tailor it to your needs. VFSLITE is very
  965. useful in networked environments where a post-login scan is desired. It sets 
  966. DOS error level so that the result of scanning can be checked in a batch file.
  967.  
  968. 1. Command line options
  969.  
  970.     VDSFSCAN accepts the following command line options:
  971.  
  972. VDSFSCAN.EXE  [{-|/}Lcd]  [{-|/}LRV<filename>] 
  973.               [{-|/}ABCDEGH?NPQUZ]  [{-|/}Fnn] [drive: | Path]  
  974.  
  975. -A       All files regardless of type
  976. -B       Break/ESC is NOT allowed
  977. -C       Complete file scan
  978. -D       Scan all local drives starting with C:  
  979. -E       Erase infected files   
  980. -Fnn     Frequency of scanning in days (0-30). Default is 0, scan every time.
  981. -G       Perform heuristic scan. Off by default.
  982. -H or ?  Help for command line options
  983. -L       Path of error log file. Default is C:\VDS-ELOG.TXT
  984. -N       No memory scan. On by default.
  985. -P       Do NOT pause. Default is pause.   
  986. -Q       Quiet scan. Do not beep.
  987. -R       Output report. If no file is given, C:\VFS-STAT.LOG is used.
  988. -S       Recursively scan subdirectories. Off by default.
  989. -U       Upper memory scan (as well as base memory)
  990. -V       Virus signature file. VFSLITE always looks for XTERNAL.SIG first.
  991. -Z       OEM DOS compatibility mode
  992.  
  993.     If run without any command line parameters, VDSFSCAN offers a menu-driven
  994. interface.
  995.  
  996. G. VFSLITE
  997.  
  998.     VFSLITE is the command-line-only edition of VDSFSCAN. It does not have 
  999. the elaborate menus with different colors, context-sensitive help, and other 
  1000. features that the regular VDSFSCAN has.  VFSLITE is light only in its user 
  1001. interface, not its capabilities. In fact, it detects the same number of 
  1002. viruses as VDSFSCAN. It is slightly faster in operation, and it makes an 
  1003. ideal anti-virus tool for networked environments where a post-login scan is 
  1004. desired. It sets the DOS errorlevel to 1 if it finds a virus, just like
  1005. VDSFSCAN. You can test this in a batch file and take appropriate actions 
  1006. such as denying access to the file server.
  1007.  
  1008. 1. Options and default settings
  1009.  
  1010.     The command line options are almost the same for VDSFSCAN. An INI file 
  1011. can be used to establish a consistent set of flag settings for everyone. 
  1012. When VDSFSCAN or VFSLITE starts, they look for an INI file named VDSFSCAN.INI
  1013. in the same directory as the program. If it is not present, they look for the
  1014. same file in the current directory. If it is not found in the current 
  1015. directory either, they use internal default settings. Since the INI file is 
  1016. processed first, the command line options can still override the settings in 
  1017. the INI file.
  1018.  
  1019.     The default internal flag settings for VFSLITE are as follows:
  1020.  
  1021. LCD screen = No
  1022. Pause = Yes
  1023. Allow Break = Yes
  1024. Memory scan = Yes
  1025. Upper memory scan = No
  1026. Beep = Yes
  1027. Frequency of scan = 0 (every time)
  1028. Quarantine infected files = No
  1029. Generate report file = No
  1030. Whole file scan = No
  1031. Multiple floppy scan = No
  1032. All files scan = No
  1033. Erase infected files automatically = No
  1034. Heuristic scan = No
  1035.  
  1036.     Note that the frequency of scan is also new. Before, only the integrity 
  1037. checker component of VDS allowed this. The frequency option works by creating
  1038. and updating a file called C:\VDSFREQ.TXT. This text file has one line showing
  1039. the last date and time of virus scan. It is updated as necessary. For this 
  1040. option to work correctly, the computer must have a hard drive and a 
  1041. battery-backed real-time clock. Most systems are equipped with such devices. 
  1042. If the frequency is set to 0, VFSLITE ignores the frequency file; otherwise, 
  1043. it will create or update it accordingly.
  1044.  
  1045. 2. Configuration (VDSFSCAN.INI) file
  1046.  
  1047.     The VDSFSCAN.INI file is a simple text file with the following format and
  1048. entries:
  1049.  
  1050. 1.  Lines that start with a ; (semi-colon) are comments, and they are ignored.
  1051. 2.  Each keyword should be flushed to left and followed by an = (equal) sign.
  1052. 3.  After the equal sign, an appropriate value should follow. The value 
  1053.     depends on the type of the entry, such as log file name, or a YES/NO.
  1054. 4.  Upper or lower case can be used interchangeably. Spaces are ignored.
  1055. 5.  Value only entries for directories and files to be ignored.   
  1056.  
  1057.     Another convenient feature is that you can include your own message in 
  1058. the .INI file. This message will be displayed if a virus is discovered. For 
  1059. example, the number to the help desk could be displayed.
  1060.  
  1061.     Here is a sample .INI file:
  1062.    
  1063. ; This is an INI file for VDSFSCAN-Lite 3.0
  1064. ; It contains entries for flag settings that guide the program operation
  1065.  
  1066. ; On laptops, set the following to Yes for easier-to-read screen output.
  1067. LCDSCREEN = No
  1068.  
  1069. ; Message to display when a virus is found. Leave blank after = if none.
  1070. ALERTMSG=Call system administrator x5112 ASAP! You have a virus.
  1071.  
  1072. ; Report should be sent to the following file. Leave blank after = if none.
  1073. REPORT=C:\VFS-STAT.LOG
  1074.  
  1075. ; File for the user-defined signatures. Leave blank after = if none.
  1076. EXTSIGS=C:\XTERNAL.SIG
  1077.  
  1078. ; Quarantine directory where the infected/suspicious files are copied
  1079. QUARANTINE=C:\VDS-CELL
  1080.  
  1081. ; Ignore the following directories
  1082. IGNOREDIR=1
  1083. C:\CODE
  1084.  
  1085. ; Ignore the following files
  1086. IGNOREFILE=2
  1087. C:\CONFIG.SYS
  1088. C:\AUTOEXEC.BAT
  1089.  
  1090. ; Frequency of scanning in days. Must be between 1-30. 0 means scan every time.
  1091. FREQUENCY=0
  1092.  
  1093. ; Files are scanned entirely or partially. Leave it at partial (No) normally.
  1094. FULLSCAN=No
  1095.  
  1096. ; Which files to scan. Normally, set it to No.
  1097. ALLSCAN=No
  1098.  
  1099. ; Scan all local drives starting with C: if no command line parameters are given.
  1100. LOCALSCAN=No
  1101.  
  1102. ; Scan base memory.
  1103. MEMSCAN=Yes
  1104.  
  1105. ; Scan upper memory.
  1106. UMBSCAN=No
  1107.  
  1108. ; Pause if a virus is discovered or an error has occurred.
  1109. PAUSE=Yes
  1110.  
  1111. ; Allow user to stop scanning.
  1112. ALLOWBREAK=Yes
  1113.  
  1114. ; Beep if a virus is discovered or an error has occurred.
  1115. BEEP=Yes
  1116.  
  1117. ; Remove infected files. If PAUSE is set to No above, it is automatic.
  1118. ERASEFILE=No
  1119.  
  1120. ; Heuristic scan is on by default. Set it to No if causes false positives.
  1121. HEURISTICSCAN=Yes
  1122.  
  1123. 3. Command line options
  1124.  
  1125.     VFSLITE accepts the following command line options:
  1126.  
  1127. VFSLITE.EXE  [{-|/}R|V<filename>] [{-|/}ABCDEGH?LMNPQUZ] [{-|/}Fnn] 
  1128.              [drive: | Path]  
  1129.  
  1130. -A       All files regardless of type
  1131. -B       Break/ESC is NOT allowed
  1132. -C       Complete file scan
  1133. -D       Drives to scan follows. If no drives given, scan all local drives 
  1134.          starting with C:  
  1135. -E       Erase infected files   
  1136. -Fnn     Frequency of scanning in days (0-30). Default is 0, scan every time.
  1137. -G       Perform heuristic scan. Off by default.
  1138. -H or ?  Help for command line options
  1139. -L       LCD screen attributes should be used not color
  1140. -M       Multiple floppy diskettes will be scanned. Ask for the next disk.
  1141. -N       No memory scan
  1142. -P       Do NOT pause. Default is pause.   
  1143. -Q       Quiet scan. Do not beep.
  1144. -R       Output report. If no file is given, C:\VFS-STAT.LOG is used.
  1145. -U       Upper memory scan (as well as base memory)
  1146. -V       Virus signature file. VFSLITE always looks for XTERNAL.SIG first.
  1147. -Z       Zoo-test. Log both infected and clean files during scan.
  1148.  
  1149. Examples:
  1150.  
  1151. To scan drive D:
  1152.     VFSLITE  D:
  1153.  
  1154. To scan drive C once every three days:
  1155.     VFSLITE  -F3  C:
  1156.  
  1157. To scan drives C: and D:
  1158.     VFSLITE  -D  C: D:
  1159.  
  1160. To scan all local drives starting with C:
  1161.     VFSLITE  -D
  1162.  
  1163. To scan all files on drive C:
  1164.     VFSLITE  -A  C:
  1165.  
  1166. To scan C:\DOS directory:
  1167.     VFSLITE  C:\DOS
  1168.  
  1169. To scan multiple diskettes in drive A::
  1170.     VFSLITE  -M  A:
  1171.  
  1172. To scan entire contents of files on C:
  1173.     VFSLITE  -C  C:
  1174.  
  1175. To erase infected files on C:
  1176.     VFSLITE  -E  C:
  1177.  
  1178. To disable beep sound and scan drive C:
  1179.     VFSLITE  -Q  C:
  1180.  
  1181. To scan drive C: without pause (useful during "zoo" testing):
  1182.     VFSLITE  -P  C: 
  1183.  
  1184. To specify a non-default external signature file:
  1185.     VFSLITE  -Vf:\vds30\mysigs.sig  C:
  1186.  
  1187. To specify a non-default report file:
  1188.     VFSLITE  -Rc:\results.vds  C:
  1189.  
  1190. To scan drive C: and put the results in VFS-STAT.LOG file:
  1191.     VFSLITE  -R  C:
  1192.  
  1193. To skip memory scan and scan drive C:
  1194.     VFSLITE  -N  C:
  1195.  
  1196. To scan base and upper memory and drive C:
  1197.     VFSLITE  -U  C:
  1198.  
  1199. To see this help message:
  1200.     VFSLITE  -H
  1201.  
  1202. 4. DOS errorlevels returned
  1203.  
  1204.     To facilitate use of VFSLITE in batch files, DOS errorlevel is set as 
  1205. follows:
  1206.  
  1207. errorlevel = 0     No viruses found
  1208. errorlevel = 1     Infected/suspicious files found
  1209. errorlevel = 2     Self-check failed
  1210.  
  1211. Here is an example batch file:
  1212.    
  1213. VFSLITE  C:
  1214. if errorlevel = 2 goto PROBLEM
  1215. if errorlevel = 1 goto VIRUS  
  1216.  
  1217. goto END
  1218.  
  1219. :VIRUS
  1220. echo You might have a computer virus. Call help desk at 5112 ASAP!
  1221. pause
  1222. goto END
  1223.  
  1224. :PROBLEM
  1225. echo Virus scanner is damaged. Call help desk at 5112 to get a new copy!
  1226. pause
  1227.  
  1228. :END
  1229.  
  1230. 5. Differences between VDSFSCAN and VFSLITE options
  1231.  
  1232.     There are a few command line options that work differently in VDSFSCAN.
  1233. Some of these options are available only in one or the other; while others 
  1234. have a completely different purpose. 
  1235.  
  1236. -M  Instructs VFSLITE to scan multiple floppy disks, asking for the next disk 
  1237.     after each one. VDSFSCAN does not have this option.
  1238. -S  Instructs VDSFSCAN to recursively scan subdirectories within directories.
  1239.     VFSLITE does not recognize this option, although it functions as if -S is
  1240.     specified.
  1241. -L  Instructs VFSLITE to use monochrome attributes. VDSFSCAN accepts this
  1242.     option as "Log errors".  VDSFSCAN uses -LCD instead.
  1243. -D  VFSLITE allows drives to be specified following this option. VDSFSCAN
  1244.     interprets it as "Scan all local drives". Note that VFSLITE will also 
  1245.     scan all local drives if no drives are specified.
  1246. -Z  Instructs VDSFSCAN to use compatibility mode for decoy launching. VFSLITE
  1247.     interprets it as "Zoo-test" option, which forces every scanned file  to 
  1248.     be reported in the log. This option is for testing purposes only.
  1249.     
  1250. H. How to use VITALFIX
  1251.  
  1252.     VITALFIX is a utility program designed to automate recovery from an MBR
  1253. (master boot record) infection, and to allow the user to perform low level 
  1254. operations on a hard disk such as sector editing. It can place a fresh copy 
  1255. of MBR code without disturbing the existing partition table. It can backup an
  1256. MBR to a file on a floppy diskette. It even allows you to take a clean MBR 
  1257. from one computer, and a partition table from an infected one, combine them
  1258. together and put it back on the infected system, effectively replacing the 
  1259. viral code while leaving the partition table intact. This is possible since 
  1260. most computers partitioned using the same FDISK program will contain similar 
  1261. code, and differ only in the contents of their partition tables. 
  1262.     If you simply let VITALFIX construct an MBR for you, you will have our 
  1263. MBR code placed on your disk. Since this piece of code has to do "standard" 
  1264. stuff, there should not be any problems. Please let us know if it does not 
  1265. work on your system. We have tested it on several IBM computers and 
  1266. compatibles with a variety of hard disks.
  1267.     VITALFIX is a menu-driven program. You simply highlight the option you 
  1268. are interested in and press enter. You could also press the first letter of 
  1269. an option to activate it. Context-sensitive help is available by pressing the
  1270. F1 key.
  1271.     VITALFIX has some interesting features such as the capability to search 
  1272. for a relocated MBR all over a hard disk and to view the contents of any 
  1273. given sector. You can also write contents of a file to a sector and vice 
  1274. versa. It also allows you to edit sectors. Please be very careful when doing 
  1275. any write operations since a simple mistake could damage your data.
  1276.     You should always boot the computer from a write-protected, clean system
  1277. diskette before using VITALFIX. This will eliminate any memory resident 
  1278. viruses or programs that may interfere with disk operations. 
  1279.  
  1280. 1. Command line options
  1281.  
  1282. VITALFIX has the following command line options:
  1283.  
  1284. VITALFIX [{-|/}X | LCD | H | ?]
  1285.  
  1286. -X       Compatibility mode. Use INT 13h.
  1287. -LCD     Use monochrome attributes.
  1288. -H or ?  Display command line options.
  1289.  
  1290. I. Scenarios and Messages
  1291.  
  1292.     During its operation, VDS may issue several warning messages. Following 
  1293. is a list of scenarios that will highlight common warnings, their reasons, 
  1294. and recommended actions to take.
  1295.  
  1296. Message: Partition sector modified. Will attempt to restore.
  1297. Reason:  There is a good chance that either a partition sector infector has 
  1298.          entered the system, or some other damage to the partition sector 
  1299.          has occurred. 
  1300. Action:  VDS will attempt to restore the partition sector and reboot the 
  1301.          system. If the verification fails again, VDS will abort the 
  1302.          restoration attempt and recommend a floppy recovery using the VDS 
  1303.          emergency diskette.
  1304.  
  1305. Message: No message, VDS simply hangs the machine.
  1306. Reason:  If VDS has been running just fine, but stopped functioning now, then
  1307.          VDS.EXE may be corrupted either by accident or by an overwriting 
  1308.          virus which failed to preserve its victim's operation. It is also 
  1309.          possible that some TSR program caused a conflict. Assuming VDS runs 
  1310.          as the first program in your AUTOEXEC.BAT file, and CONFIG.SYS is 
  1311.          not modified, you should assume the worst case: a virus attack.
  1312. Action:  Reboot the computer from VDS emergency diskette or a write-protected 
  1313.          known-to-be-clean system diskette. If you have prepared the VDS 
  1314.          emergency diskette, then run VDS from A drive with the CURE option:
  1315.  
  1316.                A:\VDS  -C  <enter>
  1317.  
  1318.               * You can simply run REPAIR.BAT
  1319.  
  1320. Message: VDS requires DOS 3.0 or higher to run.
  1321. Reason:  The version of DOS installed on your computer was below 3.0.
  1322. Action:  You need to upgrade to DOS 3.0 or above. VDS will not run on systems 
  1323.          with a lower DOS version.
  1324.  
  1325. Message: Error occurred during installation.
  1326. Reason:  This is a generic message that indicates a malfunction during 
  1327.          installation.
  1328. Action:  You should see some other error messages come up before this one. 
  1329.          The cause can be determined based on those. Go back and check if 
  1330.          you followed all the steps in the installation procedure.
  1331.  
  1332. Message: Different DOS version. If you upgraded DOS, reinstall VDS.
  1333. Reason:  DOS version during installation was different from the current one.
  1334. Action:  The system floppy used during installation should have the same DOS 
  1335.          version you have on the hard disk.
  1336.  
  1337. Message: Need 1 megabyte free space on hard disk to install VDS.
  1338. Reason:  VDS found that there is not enough space on the hard disk.
  1339. Action:  You should delete some files to free up space and then run INSTALL 
  1340.          again.
  1341.  
  1342. J. Common Questions and Answers
  1343.  
  1344.     This section addresses some common questions about VDS.
  1345.  
  1346. Q - Do I have to know a lot about viruses to be able to use VDS on my
  1347.     system?
  1348.  
  1349. A - Not at all. One of the design goals was to create a program that can be 
  1350.     easily used by novice computer users. Viruses present some unique 
  1351.     complexities even to the experienced computer security experts. VDS can 
  1352.     alleviate most virus-related problems automatically. You are, however, 
  1353.     encouraged to become familiar with general guidelines to deal with 
  1354.     computer viruses.
  1355.  
  1356. Q - Can I run VDS under MS Windows 3.x?
  1357.  
  1358. A - Yes, you can. We recommend that you either create a PIF file with full 
  1359.     window option on, or shell to DOS first. Do not try to switch tasks while
  1360.     VDS.EXE is running. VDSFSCAN can run in the background in 386 enhanced 
  1361.     mode. VITALFIX should never be run from inside Windows since it accesses 
  1362.     the hard disk directly.
  1363.  
  1364. Q - Is VDS compatible with DOS 6.x?
  1365.  
  1366. A - Yes, indeed!  We have tested VDS on various systems running MS/PC DOS 3.0.
  1367.     3.1, 3.2, 3.3, 4.01, 5.0, and 6.0. We did not encounter any problems. 
  1368.     Please let us know if you do.
  1369.  
  1370. Q - Can I run VDS under OS/2?
  1371.  
  1372. A - Maybe on systems with FAT file systems, not HPFS. You can run it in OS/2
  1373.     DOS box in a limited fashion. Extensive testing under OS/2 is not done.
  1374.  
  1375. Q - I have a program that requires to be run before other programs in
  1376.     AUTOEXEC.BAT. Since VDS should be the first program to run, how
  1377.     can I resolve this conflict?
  1378.  
  1379. A - There is no conflict from a technical point of view. The other programs 
  1380.     that force you to run them first usually re-vector several interrupts to 
  1381.     their memory resident code. If another program grabs these interrupts, 
  1382.     then they would not be able to guarantee proper operation. Running VDS 
  1383.     as the first program does not affect these programs since VDS is not 
  1384.     memory-resident and it does not hook any interrupts. If you run other 
  1385.     resident programs, however, they may conflict with the operation of VDS. 
  1386.     The solution is to run VDS as the very first program in AUTOEXEC.BAT. 
  1387.     Remember that the other programs need protection against viruses as well.
  1388.     If VDS runs first, it can check them before a possibly infected program 
  1389.     is run. If VDS itself is infected, it will notice that fact and warn you.
  1390.  
  1391. Q - Does VITALFIX work on IDE drives?
  1392.  
  1393. A - Yes, it does. VITALFIX is compatible with all types of hard drives 
  1394.     currently in use. This includes drives with MFM, RLL, IDE, SCSI, and 
  1395.     ESDI controllers. The only problem we have come across was on disks that 
  1396.     used a compression or security program that rendered the disk unreadable 
  1397.     unless all access was done through the interface these programs provided.
  1398.     VITALFIX cannot tolerate such restrictions since it must have direct 
  1399.     access to the bare drive. Anything less would open up a security loophole
  1400.     if a virus is active when VITALFIX is operating. It is always a good idea
  1401.     to boot the computer from the original DOS diskette before using VITALFIX.
  1402.     As a precaution, VITALFIX checks the partition table to find out if the 
  1403.     drive has any non-DOS partitions, and will warn you if this is the case.
  1404.     In some cases, the partition table may not be available to make that
  1405.     determination. If you know you have non-DOS partitions or compressed
  1406.     partitions, we strongly suggest that you do not use VITALFIX to perform 
  1407.     any of the functions that involve writes to the disk.
  1408.  
  1409. Q - My computer is infected with a virus already. How can I use VDS to
  1410.     deal with this problem?
  1411.  
  1412. A - The approach to this problem depends on what kind of a virus you are 
  1413.     dealing with. VDS can help you locate which parts of the system are 
  1414.     affected if it is a virus that can be identified using our search strings. 
  1415.     If it is a boot sector infector, you can simply turn off the computer, 
  1416.     boot from a write-protected floppy diskette and run SYS program to put a 
  1417.     clean boot sector onto your hard drive. If it is a program file infector,
  1418.     you need to replace the infected files from the original distribution 
  1419.     diskettes. In the case of partition sector viruses, we recommend that you
  1420.     use VITALFIX.EXE. This utility automates locating MBR, and even 
  1421.     constructs one if necessary. 
  1422.     You may be able to get the original partition sector back, if the virus 
  1423.     relocated it to another sector on track 0, head 0 (as some do). You need 
  1424.     to fire up a low-level disk editor, and look through head 0, track 0. 
  1425.     The first sector contains the Master Boot Record (partition sector), and 
  1426.     may have been replaced by the virus code. Look at each sector (17 of them
  1427.     on an MFM drive), and see if any one has AA55 as the last two bytes in 
  1428.     the sector. These identification bytes are present on all legitimate 
  1429.     partition sectors as well as boot sectors. Remember that this is a 
  1430.     trial-and-error process, so it may not work. You may want to seek 
  1431.     assistance from a local computer "guru" if necessary. Make sure you save 
  1432.     the current copy of the partition sector on a floppy diskette first. 
  1433.     If the hard disk is accessible after booting from a floppy diskette, 
  1434.     then the partition table (64 bytes near the end of the master boot 
  1435.     record) may still be valid.
  1436.     The code that loads the active boot sector may belong to the virus. If 
  1437.     you can extract the partition table information from the current copy of 
  1438.     the partition sector, you may even be able to place it into a good 
  1439.     partition sector you get from a similar computer with a similar disk. 
  1440.     You can then place this combination of partition table from the infected 
  1441.     system and partition sector code from the clean system on top of the 
  1442.     current partition sector on the infected system and reboot. This might 
  1443.     just do the trick. Be very careful, however, and backup all your data
  1444.     files before starting this surgical operation. You might end up clearing 
  1445.     the MBR and repartitioning the disk as a last resort. 
  1446.  
  1447.  
  1448. Q - Does VDS have a TURBO mode versus a SECURE mode?
  1449.  
  1450. A - Yes. If you set QUICK_VERIFY=YES in the configuration file, VDS will
  1451.     operate in TURBO verification mode, which is faster but less accurate 
  1452.     than VERIFY mode. Turbo mode is not recommended for data integrity.
  1453.  
  1454. Q - How secure is VDS encryption scheme?
  1455.  
  1456. A - Our purpose was not to come up with an unbreakable (if there is any such
  1457.     scheme) encryption method, but to use something more secure than good old
  1458.     XOR. Contrary to popular belief, the robustness of an anti-viral 
  1459.     integrity system cannot be measured by the sophistication of the 
  1460.     encryption algorithm it uses. Some people even believe that they can deal
  1461.     with stealth viruses easily if they use an encryption scheme that cannot
  1462.     be forged. That is not so. The stealth viruses intercept the verification
  1463.     routine's attempts to access the modified executables on the disk, and 
  1464.     present them with a clean copy. No matter how sophisticated the algorithm
  1465.     used to generate a signature is, it will be fooled every time since the 
  1466.     verifier is getting clean (the same as the original) input. While these
  1467.     people are perfecting the technique to compute a one-way cipher of 
  1468.     extreme complexity, stealth viruses are having a ball on the disk they 
  1469.     choose to invade. Of course, if a direct attack is a concern, then more 
  1470.     secure encryption methods are very useful. In the DOS environment, 
  1471.     manipulating the disk access is much easier and works in most cases. So, 
  1472.     if someone tells you they got a superior multi-stage encryption routine 
  1473.     that can come up with secure keys for their anti-viral product, just ask 
  1474.     them why they chose to waste their time on such an endeavor!  Viruses
  1475.     are not an attack to the secrecy but to the integrity and availability of
  1476.     computer systems. Unfortunately, many self-proclaimed experts seem to 
  1477.     confuse these separate issues.
  1478.  
  1479. Q - I heard some programs create hidden files on the disk. Does VDS
  1480.     create any hidden files?
  1481.  
  1482. A - Absolutely not. We have nothing to hide from the end-users!  Almost 
  1483.     everything VDS creates is restricted to the VDS home directory. Decoys 
  1484.     and report files may be created in the root directory as well.
  1485.  
  1486. Q - Does the VDS authentication scheme eliminate the possibility of a
  1487.     trojan version of the program?
  1488.  
  1489. A - To some extent. "Trojanization" has been a problem with many software
  1490.     packages in the market. VDS authentication scheme provides a reasonable
  1491.     amount of assurance that the copy you have is actually created by the 
  1492.     original developers. It is possible to circumvent this mechanism and 
  1493.     display a fake message. This can be considered a direct attack. Remember,
  1494.     a direct attack against any program is possible (you can safely ignore 
  1495.     those who claim otherwise). The purpose is to provide another layer of 
  1496.     security. If every software product in the market put in as much effort 
  1497.     as VDS does, there would be less incidents of trojans. You should get 
  1498.     your programs from reliable sources. If you see a program claiming to do 
  1499.     major database work, and it is only 4K long, you should double-check on it!
  1500.  
  1501. Q - I backup my hard disk regularly. Do I still need an anti-viral program
  1502.     to be safe?
  1503.  
  1504. A - Yes, you still need a program such as VDS. Backups can help when 
  1505.     recovering from damage. The problem is by the time you notice that the 
  1506.     system is infected, the virus may have been transferred to the backup 
  1507.     media. When you restore the system, you may very well restore the virus 
  1508.     too!  In some cases, the virus may corrupt the backup diskettes and 
  1509.     render them useless. One person reported that Stoned virus corrupted all 
  1510.     his backup diskettes while he tried to backup his hard disk to be able to
  1511.     perform a low-level format. Unfortunately, the Stoned virus was active in
  1512.     memory at the time. By the way, when was the last time you verified that 
  1513.     you can actually restore from your backups?
  1514.  
  1515. Q - What are "POV" files?
  1516.  
  1517. A - POV stands for "Prisoner Of VDS". These files are created by VDS when it
  1518.     detects an active virus in memory that attacks upon file access. When VDS
  1519.     introduces decoys into the system, some viruses immediately attack them. 
  1520.     VDS notices this fact and captures the intruder in a file. VDS will also 
  1521.     capture a modified boot or partition sector in POVBOOT.BBB or POVPART.PPP
  1522.     file in the VDS home directory. This feature speeds up the diagnosis 
  1523.     process. In other words, you will have the captured virus stored in a 
  1524.     file that you can analyze (or have someone analyze it since this would 
  1525.     require familiarity with the 80x86 assembly language). Remember that not 
  1526.     every virus can be caught this way. If you catch a virus, you are 
  1527.     encouraged to mail it on a diskette to us for analysis.
  1528.  
  1529. Q - My company wants to purchase VDS for all our PCs, but we are not
  1530.     sure if there is an expiration date on use of VDS?  Is it necessary to
  1531.     renew the VDS site license on a regular basis?
  1532.  
  1533. A - We believe that the end-user has a right to run the version of a program 
  1534.     he paid for as long as he is satisfied with its operation. For updated 
  1535.     copies of VDS, we offer different licensing agreements.
  1536.  
  1537. Q - Is it possible for a data file to become infected by a virus?
  1538.  
  1539. A - The criteria for a virus to do anything at all is that it must gain 
  1540.     control of the CPU. An ordinary data file will never have such control. 
  1541.     The possibility exists for macro or script files that some application 
  1542.     software packages provide to automate certain operations. There are no 
  1543.     common viruses that exploit this feature. Another possibility is to cause
  1544.     damage as a side effect, for example, by redefining a key sequence as a 
  1545.     substitute for a destructive command, assuming a driver such as ANSI.SYS 
  1546.     is loaded. Again, these are very limited ways that a virus can propagate,
  1547.     if at all. Batch files can also be used to activate a program that
  1548.     contains a virus. The problem is that it is too obvious and will be 
  1549.     detected easily.
  1550.     
  1551. K. Known Problems and Conflicts
  1552.  
  1553.     This section addresses various conflicts or problems with the operation 
  1554. of VDS that we are aware of. You are encouraged to report any problems you 
  1555. discover.
  1556.  
  1557. 1. SETVER.EXE that comes with MS/PC DOS 5.0 causes false alarms.
  1558.  
  1559.     SETVER.EXE program modifies itself to keep track of programs and the 
  1560. version of DOS they should get as a result of INT 21h, function 30h call. 
  1561. Many consider such self-modifying programs "ill-behaved". Until developers 
  1562. of DOS come up with a better way to accomplish the same task, you are likely 
  1563. to get false alarms. We do not intend to accommodate use of such a 
  1564. questionable practice.
  1565.  
  1566. 2. When scanning a Netware volume, VDS reports an ERROR condition on some files.
  1567.  
  1568.     Certain files such as NET$OBJ.SYS are open and locked by the Netware
  1569. operating system. They contain bindery information. Any attempt to open them 
  1570. will result in an error condition. You should not be concerned since this is 
  1571. a feature not a bug!
  1572.  
  1573. 3. Some programs are reported to be suspicious when I enable the HEURISTIC_SCAN.
  1574.  
  1575.     Heuristic scan is a method that allows early recognition of viral code. 
  1576. Certain coding techniques are common to many viruses. By looking for such 
  1577. indications, VDS is able to recognize some new viruses. The problem is that 
  1578. there may be legitimate programs that also use such code. The only guaranteed
  1579. way to establish whether a virus is present is by performing an analysis of 
  1580. the suspected program.  We try to minimize such false alarms, and we would be
  1581. interested in hearing from you if you come across a suspicious file.
  1582.                      
  1583.                      V. VIRUS ATTACK METHODS
  1584.  
  1585. A. Virus defined
  1586.  
  1587.     A virus is a piece of  programming code that has the ability to replicate 
  1588. itself by attaching to other executable objects, either by logical or physical
  1589. means. In addition to its replication task, a virus may have a manipulation 
  1590. task in the form of a damage routine. Most PC viruses are written in the 
  1591. 80x86 assembly language to keep their size small and to gain greater 
  1592. flexibility in manipulating the operating system and other program files.
  1593.     Researchers classify PC viruses in several ways. We prefer to separate 
  1594. the structure of the implementation of viruses from the objects they attack. 
  1595. We classify them simply by their features and types.
  1596.  
  1597. B. Features of PC Viruses
  1598.  
  1599.     There are several features of  PC viruses:
  1600.             
  1601. 1. Stealth Virus:
  1602.  
  1603.     A virus that has the capability to hide the modifications it has made to 
  1604. its victims to evade detection. For example, the virus may hide the file size
  1605. increase when the user attempts to get a  directory listing. Another example 
  1606. would be a boot sector virus that returns the original boot sector when a 
  1607. program attempts to read it. To accomplish such tricks, a stealth virus 
  1608. usually stays resident in memory and monitors disk access either at the DOS 
  1609. or BIOS level. This way, it can see each disk access request and alter the 
  1610. results to hide the modifications it has made. There are varying degrees of 
  1611. stealth capability. In other words, it may be possible to discover the 
  1612. presence of a virus using an alternate mechanism to examine the object that 
  1613. may have been affected.
  1614.    
  1615. 2. Dumb Virus:
  1616.  
  1617.     A virus with no stealth capability. Such a virus makes no attempts to 
  1618. conceal its presence. The most apparent change is the increase in file size 
  1619. since the virus added its code to the program file. An alert user can notice 
  1620. such a change easily. This is the most common feature of  PC viruses.
  1621.    
  1622. 3. Encryptive Virus:
  1623.  
  1624.     A virus that keeps its code encrypted and includes a decryptor to restore 
  1625. itself. The purpose of encryption is to make it difficult to extract a scan 
  1626. string. The decryption routine is designed to contain variable sections so 
  1627. that it is not easily  recognized. It is possible to detect such viruses 
  1628. using a wildcard pattern that matches the decryptor.
  1629.    
  1630. 4. Polymorphic Virus:
  1631.  
  1632.     A virus that keeps its code encrypted and includes a highly variable 
  1633. decryptor to restore itself. It is not possible to extract a wildcard scan 
  1634. string to recognize the decryptor. One has to design an appropriate algorithm
  1635. to detect it. We usually analyze the structure of the decryptor and identify 
  1636. its key features, and then use this information to implement a detection 
  1637. routine.
  1638.  
  1639. C. Types of PC Viruses
  1640.  
  1641.     There are three major types of PC viruses:
  1642.    
  1643. 1. MBR/BR Virus:
  1644.  
  1645.     A virus that attacks the master boot record or the DOS boot record of a 
  1646. disk. This type of virus usually moves the original contents of the boot 
  1647. sector and replaces it with its own code. Key data structures within the 
  1648. boot sector (partition table or BIOS parameter block) are almost always left 
  1649. intact not to mess up the operation of DOS. A boot sector virus reserves 
  1650. memory for itself by reducing the base memory size (e.g., 640K to 638K), and 
  1651. copies its code to the top of memory. There are a few boot sector viruses
  1652. that remain in low memory as well. Almost all boot sector viruses monitor the
  1653. BIOS disk interrupt (INT 13h) to spread or to hide themselves. Every time a 
  1654. disk is accessed, they get control and check if the disk being accessed is 
  1655. already infected. If not, they can infect it before returning control to the 
  1656. original interrupt handler.
  1657.    
  1658. 2. Program Infector:
  1659.  
  1660.     A virus that attaches to program files. There are a few subcategories for 
  1661. this type of viruses:            
  1662.  
  1663. a. Simple Infector: 
  1664.  
  1665.     A virus that modifies a program file physically to add its code. The 
  1666. program file entry point is adjusted so that the virus gets control when the 
  1667. program is executed.
  1668.       
  1669. b. Companion Virus: 
  1670.  
  1671.     A virus that logically inserts itself into the search path so that it 
  1672. gets control when the user attempts to run a program that has the same file 
  1673. name. The most common variety exploits the fact that DOS runs a program file 
  1674. with a COM extension rather than the one with an EXE extension if both of 
  1675. them exist. Another possibility is to insert the virus in the search path. 
  1676. If the user does not specify the exact location of the program, then DOS will
  1677. use the path to look for it. If the virus program comes before the actual
  1678. program in the search path, then the virus will get executed. This type of 
  1679. virus is rare indeed.
  1680.       
  1681. c. System Infector: 
  1682.  
  1683.     A virus that alters DOS system data structures so that it gets control 
  1684. instead of the program the user intends to run. For example, DIR-2 virus 
  1685. manipulates the directory entries to point the starting cluster to its 
  1686. location. When DOS reads the disk to load a program, the virus gets loaded. 
  1687. Another possibility is to insert  the virus in a system location that DOS is 
  1688. known to always load.
  1689.  
  1690. 3. Multi-partite Virus:
  1691.  
  1692.     A virus that can infect both program files and boot sector of a disk. 
  1693. Dealing with such a virus can be quite a nuisance since the first portion of 
  1694. the virus gets control of the system even before DOS is loaded. The virus can
  1695. alter the system vectors to implement a potent stealth mechanism, for example.
  1696. Removing this type of virus requires that all affected areas are restored.
  1697.  
  1698. D. Some facts about viruses
  1699.  
  1700. 1. PC-based local area networks are NOT immune to viral attacks.
  1701.  
  1702.     Network connections pose another question by making it easier for the 
  1703. virus to travel from one location to another. As long as the user has write 
  1704. access to the programs on a disk, it may be able to infect it. If the program
  1705. file happens to be on a file server, all those that run it may cause the 
  1706. virus to jump to their local machines. Can you imagine what could happen if 
  1707. the superuser/supervisor runs an infected program on the LAN by mistake?
  1708.     It is a misconception that PC-based networks are less susceptible to 
  1709. viruses. The boundaries of information flow are not always well-defined. 
  1710. Although many popular LAN operating systems provide various control 
  1711. mechanisms that can be used to implement robust anti-viral measures, many 
  1712. sites do not take advantage of them. If the users allow each other to access 
  1713. one another's directories, for example, the risk of infection is very
  1714. high, and the rate of infection may be even higher compared to spread via 
  1715. floppy diskettes. Since many common viruses employ "ill-behaved" programming 
  1716. techniques, they cannot infect network file servers even when write/modify 
  1717. access is granted. This does not eliminate the risk by any means, but simply 
  1718. makes it less evident.
  1719.  
  1720. 2. Electronic bulletin boards do not necessarily contain infected software.
  1721.  
  1722.     There have been some extreme remarks about the dangers of down-loading
  1723. software from electronic bulletin boards (BBS). In actuality, the sysop (the 
  1724. person that maintains the BBS) has to take pains to ensure his board is free 
  1725. of malicious software to be able to keep a good reputation. On the other hand,
  1726. there are supposedly some hacker BBSs that provide viruses, even in source 
  1727. code. Your chance of bumping into one of these is very little. Please do not 
  1728. be afraid to explore what the BBSs in your area have to offer. Many useful 
  1729. programs such as VDS are available for the cost of a local phone call. There
  1730. is no need to be paranoid about the situation, just be aware of the 
  1731. possibilities. It is always a good idea to get software only from 
  1732. well-recognized bulletin boards such as the ones maintained by user groups. 
  1733. It is a good practice to search the programs you down-load for known viruses.
  1734.  
  1735. 3. Write-protected floppy diskettes cannot be infected by a virus as long as
  1736. the floppy drive is working correctly.
  1737.  
  1738.     This is why you should always place a write-protect tab on all original 
  1739. diskettes if they are not already protected. The spread of viruses can be 
  1740. effectively slowed down by careful use of appropriate control mechanisms.
  1741.               
  1742.               VI. PARTITION/BOOT SECTOR INFECTIONS
  1743.  
  1744. A. Preliminary information
  1745.  
  1746.     It seems that there is much confusion about the difference between a 
  1747. partition sector (Master Boot Record is another name for it) and a boot 
  1748. sector among many PC users. If you are already familiar with the organization
  1749. of a typical hard disk, you can skip the rest of this section; otherwise, 
  1750. please read on.
  1751.     The very first sector on a typical hard disk stores the partition 
  1752. information for the disk. Within the partition sector, a 64-byte area 
  1753. contains enough information to locate all physical partitions on the disk, 
  1754. and shows which partition is the active partition. The active partition is 
  1755. used to boot the computer. There can be four physical partitions on
  1756. a disk. The partition sector is located outside of any partition boundaries 
  1757. and has enough code to determine the active partition, load the boot sector 
  1758. in that partition and transfer control to it. The code in the partition 
  1759. sector does not care which operating system it is loading. In fact, one 
  1760. reason for having partitions is to allow coexistence of multiple operating 
  1761. systems on one hard disk. FDISK program that comes with DOS is used to
  1762. manipulate the partition table.
  1763.     Each partition has a boot sector. The boot sector holds certain 
  1764. information about that partition (in an area called BIOS Parameter Block or 
  1765. BPB) such as the number of sectors and number of FATs (file allocation table).
  1766. In the case of the active partition, it also contains some code that loads 
  1767. the operating system. DOS partitions can be either primary or extended 
  1768. (extended partitions were added in DOS 3.3). The extended partition can be 
  1769. further subdivided into logical drives.
  1770.     FORMAT program with the /S option is used to make the active DOS 
  1771. partition bootable by setting up the necessary operating system files. 
  1772. FORMAT must also be run on every partition to be able store files. This is 
  1773. called high-level formatting. Floppy disks do not have partition sectors, 
  1774. they only have a boot sector. That's one reason low-level and high-level 
  1775. formatting is combined into one procedure in the case of floppy diskettes.
  1776.     Since the partition sector contains vital information to access the drive, 
  1777. it is important that this information be protected. If you lose your partition 
  1778. sector, you might have to wipe out the MBR, and repartition the disk. Of 
  1779. course, this operation would make all files inaccessible. Fortunately, it is 
  1780. hardly ever necessary to take such an extreme step. If you have VDS in place,
  1781. you should be able to restore your partition table information easily.
  1782.     Nevertheless, if you cannot reconstruct the partition table so that you 
  1783. can backup your files, or if you just want to get rid of a virus residing in 
  1784. the MBR, you should know a few important facts. 
  1785.     1.   A complete low level format of the entire hard disk is not necessary.
  1786. Using a low level disk editor, you can write zeroes over the contents of the 
  1787. MBR and repartition the disk. This will get rid of the virus. In fact, 
  1788. certain types of hard drives, namely IDE, are not designed to be low level 
  1789. formatted by the end-user. Low level format is necessary on brand new drives 
  1790. that do not come pre-formatted from the manufacturer. Getting rid of an MBR 
  1791. virus is just a matter of removing its code from MBR and putting a fresh copy
  1792. of the standard MBR code.
  1793.     2.   FDISK will not put a fresh copy of the MBR code if the disk is 
  1794. already partitioned; therefore, an MBR virus can survive repartitioning by 
  1795. standard FDISK. This might surprise you, but it is a fact so dangerous to 
  1796. ignore. Worse yet, FDISK will destroy the boot records and FATs of any 
  1797. modified partitions. For example, if you repartition a drive with exactly 
  1798. the same parameters, you will still lose access to your files. 
  1799.     
  1800.     ***  MS/PC DOS 5.0 and higher includes an improved version of the FDISK
  1801.          program. It can replace the MBR code only, while leaving the 
  1802.          partition table intact. Unfortunately, the DOS technical 
  1803.          documentation does not mention this capability. The command is:
  1804.  
  1805.                    FDISK   /MBR
  1806.  
  1807.     3.   If the partition table is intact, as is the case in most infections, 
  1808. you can recover all your data easily. To do this, you should use a utility 
  1809. like VITALFIX, or do it manually following the instructions in this document.
  1810. For details, see the section titled MANUAL RECOVERY PROCEDURE under HOW TO 
  1811. DEAL WITH VIRUSES.
  1812.     
  1813.     Following diagram illustrates the organization of a typical hard disk.
  1814.  
  1815.      ┌───────────────────────────────────┐
  1816.      │  Master Boot Record               │ Sec 1, Cyl 0, Head 0
  1817.      ├───────────────────────────────────┤
  1818.      │                                   │
  1819.      ├───────────────────────────────────┤ 
  1820.      │  Active Partition Boot Sector     │
  1821.      ├───────────────────────────────────┤
  1822.      │  File Allocation Table 1 (FAT#1)  │
  1823.      ├───────────────────────────────────┤ Partition 1
  1824.      │  File Allocation Table 2 (FAT#2)  │
  1825.      ├───────────────────────────────────┤
  1826.      │  Root Directory                   │
  1827.      ├───────────────────────────────────┤
  1828.      │                                   │
  1829.      │       Data Area for files         │
  1830.      │                                   │
  1831.      ├───────────────────────────────────┤
  1832.      │  Other Partition Boot Sector      │
  1833.      ├───────────────────────────────────┤
  1834.      │  FAT#1                            │
  1835.      ├───────────────────────────────────┤ 
  1836.      │  FAT#2                            │ Partition 2
  1837.      ├───────────────────────────────────┤
  1838.      │  Root Directory                   │
  1839.      ├───────────────────────────────────┤
  1840.      │                                   │
  1841.      │    Data Area for files            │
  1842.      │                                   │
  1843.      └───────────────────────────────────┘
  1844.      
  1845.      B. How to recover with RESTORE option
  1846.  
  1847.     If the partition table or the boot sector is modified, you can restore it
  1848.     as follows:
  1849.  
  1850.     1.   Turn off the computer.
  1851.     2.   Place the write-protected VDS emergency diskette in drive A.
  1852.     3.   Turn on the computer.
  1853.     4.   Run  VDS. 
  1854.  
  1855.               A:\VDS  -R  <enter>
  1856.  
  1857.     VDS will attempt to use the backup copy of the affected area to restore 
  1858. it. If it detects that the backup copy is also modified, it will abort the 
  1859. restoration attempt so as not to do more harm than good! The restoration 
  1860. process involves the partition sector, boot sector on the active partition, 
  1861. and COMMAND.COM. 
  1862.  
  1863.     5.   If all goes well, VDS will ask you to remove any floppy diskettes 
  1864.          and press a key to reboot the system. All system areas should pass 
  1865.          the verification tests this time. If they do not, the restoration 
  1866.          attempt was unsuccessful, and a manual recovery is necessary.
  1867.  
  1868. C. Manual Recovery Procedure
  1869.  
  1870.     This section assumes you have a standard system partitioned using FDISK, 
  1871.     and running MS/PC DOS 3.0 or above. If you have a hard drive with a 
  1872.     non-standard geometry, then the following procedure may be more 
  1873.     complicated. Exercise caution during this recovery procedure, since you 
  1874.     could accidentally render your disk unusable. If you can access the hard 
  1875.     disk after booting the computer from a floppy diskette, you should backup
  1876.     all your data files first.
  1877.  
  1878.     If you know or suspect that your hard drive is infected by a virus, you 
  1879. can attempt to restore it by carefully verifying that each point in the 
  1880. execution path during start-up is clean. To do that, you need to know what 
  1881. points are in the execution path. Refer to the diagram below.
  1882.     First get a write-protected (preferably the original) DOS system diskette.
  1883. You cannot format a diskette on a possibly infected system, and be positive 
  1884. that the diskette does not get infected. Some viruses stay in memory and 
  1885. infect the floppy diskettes whenever they are accessed. Turn the computer OFF.
  1886. Place the system diskette in drive A: and close the drive door. Turn the 
  1887. computer ON. Never trust that a warm-boot (Ctrl-Alt-Del) will get rid of a 
  1888. memory resident virus. Some viruses are known to fake a warm-boot. Worse yet,
  1889. some vicious viruses activate their damage routine when you press 
  1890. Ctrl-Alt-Del combination. 
  1891.     The purpose of the following procedure is to clean the system areas of a 
  1892. computer with a hard disk so that it is safe to boot from the hard disk. 
  1893. Verification of other program files are not considered in this discussion. 
  1894. Recommended recovery procedure for infected program files is to replace them 
  1895. with the originals. A utility program such as VDSFSCAN that searches for 
  1896. infected programs can speed up the process. Virus cleaning utilities are
  1897. NOT recommended. If you know or suspect that a program is infected, copy over
  1898. the original from the distribution diskette. This is the cleanest and the 
  1899. safest approach. If you have installed VDS integrity checker on your system, 
  1900. it could restore most programs to their original state easily and reliably; 
  1901. even new viruses can be removed with this procedure.
  1902.     To attempt recovery, you will need a low level disk editor that allows 
  1903. you to read and write any sector on the disk. If you feel intimidated by 
  1904. manipulating your disk in this manner, please do not attempt a manual 
  1905. recovery without the help of a friend who has experience performing this 
  1906. type of an operation. Nevertheless, VITALFIX is very handy to do such low 
  1907. level manipulations. 
  1908.     
  1909.     On a standard PC, the startup sequence looks like the following:
  1910.  
  1911.     Stage 1.
  1912.  
  1913.           point A             point B                   
  1914.     
  1915.        ╔════════════╗      ┌────────────┐               
  1916.        ║  ROM       ║      │  Master    │               
  1917.        ║            ║      │  Boot      │               
  1918.        ║  BIOS      ║      │  Record    │               
  1919.        ║            ║      │  Code      │               
  1920.        ║  CODE      ║      │  [0, 0, 1] │               
  1921.        ║            ║      │            │               
  1922.        ║            ║      │            │               
  1923.        ╚════════════╝      └────────────┘               
  1924.   
  1925.     Stage 2.
  1926.  
  1927.           point C         point D        point E
  1928.        ┌────────────┐  ┌───────────┐  ┌────────────┐    
  1929.        │ Boot       │  │ IBMBIO.COM│  │ IBMDOS.COM │    
  1930.        │ Record     │  │    or     │  │    or      │    
  1931.        │ Code in    │  │ IO.SYS    │  │ MSDOS.SYS  │    
  1932.        │ Active     │  │           │  │            │    
  1933.        │ Partition  │  │           │  │            │    
  1934.        │            │  │           │  │            │    
  1935.        └────────────┘  └───────────┘  └────────────┘    
  1936.        
  1937.           point F         point G          point H      
  1938.       
  1939.        ┌────────────┐  ┌─────────────┐  ┌───────────────┐ 
  1940.        │ Device     │  │ COMMAND.COM │  │ Programs      │       
  1941.        │ Drivers    │  │             │  │ in            │      
  1942.        │ in         │  │             │  │ AUTOEXEC.BAT  │       
  1943.        │ CONFIG.SYS │  │             │  │               │
  1944.        │            │  │             │  │               │
  1945.        │            │  │             │  │               │
  1946.        │            │  │             │  │               │
  1947.        └────────────┘  └─────────────┘  └───────────────┘
  1948.  
  1949.     Stage 1 is independent of any operating system. Point A is implemented in
  1950. hardware and is not modifiable, therefore it cannot be infected. At point B, 
  1951. the code resides on the hard disk (head 0, cylinder 0, sector 1). The purpose
  1952. of point B is to provide a mechanism to load different operating systems. You
  1953. can have your disk partitioned so that one partition is for DOS, while another
  1954. one is for some other operating system. By marking one of them as active in 
  1955. the partition table (located within the Master Boot Record), you can control 
  1956. which operating system will load upon bootup. The code in MBR simply locates 
  1957. the active partition by examining the partition table, loads the code in the 
  1958. boot sector of that partition and transfers control to it. The MBR is 
  1959. attacked by viruses such as Stoned since it provides very early control of 
  1960. the system. More sophisticated viruses can easily redirect BIOS disk access 
  1961. routines (the vector addresses reside in the first 1024 bytes of RAM and are 
  1962. modifiable) to evade detection. 
  1963.     Stage 2 is where a specific operating system comes into play. In the case
  1964. of DOS, the code at point C loads the first system file (IBMBIO.COM) and 
  1965. transfers control to it. After initializing the DOS kernel, IBMBIO.COM 
  1966. processes the CONFIG.SYS file. Each device driver listed in CONFIG.SYS is 
  1967. loaded and initialized. IBMDOS.COM is also loaded at this time. At point G, 
  1968. COMMAND.COM gets control and processes AUTOEXEC.BAT file if there is one.
  1969. Except for point A, all other points in the execution path are modifiable. 
  1970. You must assume that any modifiable code is prone to viral infections. During
  1971. recovery you must assume the worst case and handle each point as if it is 
  1972. infected by a virus. You must also remember that a higher point depends on a 
  1973. lower point. In other words, if you do not clean point B, you cannot 
  1974. guarantee that point C will not be compromised afterwards. 
  1975.    The MBR code (point B) is easily replaceable. The key item at point B is 
  1976. the partition table which contains vital information to access the disk. If 
  1977. the hard disk is accessible after booting from a floppy (e.g., DIR C: works
  1978. fine), then there is a good chance the partition table is intact. You should 
  1979. immediately extract the partition table information (64 bytes total) from the
  1980. first sector on head 0, cylinder 0 and store it in a file on a floppy 
  1981. diskette. If you have a similar (uninfected) computer with a hard disk, you
  1982. should make a copy of its MBR in a file. The next step is to combine the 
  1983. partition table that you stored away with the clean MBR you have taken from 
  1984. the uninfected computer. The result is an uninfected MBR that can be used to 
  1985. replace the infected one. Make sure when you combine the two pieces, you are 
  1986. editing at the correct offset within the MBR sector. Our VITALFIX utility 
  1987. automates this whole process (except swapping diskettes, of course!). Here is
  1988. a simple picture to clear things up:
  1989.  
  1990.                        Master Boot Record
  1991.  
  1992.          Sector 1 on head 0, cylinder 0
  1993.  
  1994.                                partition table
  1995.          1                447                512
  1996.           ╔═════════════════╤═══╤═══╤══╤═══╤══════╗
  1997.           ║                 │   │   │  │   │ AA   ║
  1998.           ║   MBR Code      │ 1 │ 2 │ 3│ 4 │ 55   ║
  1999.           ║                 │   │   │  │   │      ║
  2000.           ╚═════════════════╧═══╧═══╧══╧═══╧══════╝
  2001.  
  2002.     Note that the partition table has four entries making it possible to 
  2003. divide the disk into four distinct areas. The MBR code is the same on most 
  2004. PCs as long as you use the same FDISK program. The partition table depends 
  2005. on how the disk is set up. The last two bytes must be AA55 by convention.
  2006.     Some viruses simply relocate the whole MBR sector to another location on 
  2007. the disk, then place their code in sector 1, head 0, cylinder 0. They also 
  2008. redirect disk access routines and present the original copy when someone 
  2009. attempts to access the MBR. This is an evasion technique used by certain 
  2010. viruses that target the MBR. Since you have booted from a clean floppy 
  2011. diskette, you do not have to worry about this. If you can find the original 
  2012. MBR on the disk (usually relocated to another sector on head 0, cylinder 0),
  2013. then you could simply put it back to sector 1, head 0, cylinder 0 to recover. 
  2014. For example, one variant of Stoned virus places the original MBR to sector 7, 
  2015. head 0, cylinder 0. In that case, follow the procedure outlined above.
  2016.     Once you restore the MBR, you can move on to point C and verify it. The 
  2017. easiest way to accomplish that is to use SYS.COM program included with DOS. 
  2018. SYS will put a fresh copy of the boot sector code as well as replacing IO.SYS
  2019. and MSDOS.SYS. This operation cleans points C, D, and E (three birds with one
  2020. stone).
  2021.     Point F involves verifying each device driver listed in the CONFIG.SYS 
  2022. file. Unless you need a device driver to access the disk due to non-standard 
  2023. geometry, you can simply delete (or rename) CONFIG.SYS. Otherwise, you have 
  2024. to copy the device drivers from the original diskettes to the hard disk. Make
  2025. sure you are copying over the ones that CONFIG.SYS activates.
  2026.     Point G is easy to take care of by copying COMMAND.COM from the original
  2027. DOS diskette to the hard disk. If you have a shell statement in CONFIG.SYS 
  2028. that specifies a different command interpreter, then make sure you replace 
  2029. that one with the original.
  2030.     Point H can be handled by deleting (or renaming) AUTOEXEC.BAT since it is
  2031. not required.
  2032.     Now the system is ready to be booted from the hard disk without 
  2033. reactivating a possible virus. Of course, the first time you run an infected 
  2034. program, everything you have cleaned so far might get reinfected. Did we say 
  2035. dealing with viruses can be a little tricky?
  2036.                   
  2037.                   VII. HOW TO DEAL WITH VIRUSES
  2038.  
  2039. A. Recommended Guidelines
  2040.  
  2041.     When dealing with viruses, there are a few rules to go by, all of which 
  2042. make good common sense. These rules are:
  2043.  
  2044. 1.  If there is a possibility that your hard drive is infected, do not use a
  2045.     floppy diskette on that computer unless it is write-protected.
  2046.  
  2047.     Rationale:     If you did NOT cold-boot the computer from a clean floppy
  2048.                    diskette, the virus may be active in memory and it can 
  2049.                    infect the floppy diskettes used in the drives. This is, 
  2050.                    after all, a common way for spreading infections among 
  2051.                    computers.
  2052.  
  2053. 2.  Do not boot a hard drive system from a floppy diskette unless you are
  2054.     positive that the floppy is virus-free.
  2055.  
  2056.     Rationale:     This follows from Rule #1. The virus can infect the hard 
  2057.                    disk. The result is a hard disk that passes on the virus 
  2058.                    to other floppies. The floppy can carry a boot sector 
  2059.                    virus even if it was not formatted to be a system diskette,
  2060.                    because all DOS diskettes have a boot sector.
  2061.  
  2062. 3.  If your PC is connected to a local area network, and you detect that
  2063.     your system may be infected by a virus, disconnect your PC from the
  2064.     network immediately.
  2065.  
  2066.     Rationale:     The purpose is to isolate the infection in order to 
  2067.                    minimize the spread, and reduce the time required to clean
  2068.                    the system. Make sure you know how to disconnect only your
  2069.                    PC. Pulling out the wrong cable may bring down a whole 
  2070.                    subsection of the network.
  2071.  
  2072. 4.  If you receive new programs (especially games), test them on a machine 
  2073.     that does not have valuable data before installing these programs on 
  2074.     other computers.
  2075.  
  2076.     Rationale:     This precaution will help prevent the introduction of new 
  2077.                    viruses into the system. Even shrink-wrapped software may 
  2078.                    contain a virus. There have been some unfortunate 
  2079.                    incidents where major computer companies shipped infected 
  2080.                    diskettes to their customers by mistake.
  2081.  
  2082. 5.  If you do not feel technically competent to handle a virus attack,
  2083.     contact someone who can help.
  2084.  
  2085.     Rationale:     Dealing with viruses can be a very tricky business. You 
  2086.                    cannot afford to leave a single infected file on your 
  2087.                    system. It takes only one infected program to continue 
  2088.                    the spread of the virus.
  2089.  
  2090. 6.  When you want to backup your hard disk, boot from a write-protected, 
  2091.     clean floppy diskette. Preferably use file-by-file backup mode instead 
  2092.     of image backup.
  2093.  
  2094.     Rationale:     Some viruses remain active in memory and interfere with 
  2095.                    disk access. They are likely to corrupt the backup 
  2096.                    diskettes. File-by-file mode gives you a better chance to 
  2097.                    recover damaged backups.
  2098.  
  2099. 7.  Write protect all original diskettes as well as their backups before
  2100.     using them.
  2101.  
  2102.     Rationale:     This would prevent infection of your program diskettes 
  2103.                    should they be used in an infected system. Besides, during
  2104.                    recovery you can be assured that the originals are not 
  2105.                    corrupted.
  2106.  
  2107. 8.  Before using programs that came on floppy diskettes, search them for
  2108.     known viruses.
  2109.  
  2110.     Rationale:     Many companies are just beginning to realize the threat 
  2111.                    the viruses pose. They may or may not have a virus-free 
  2112.                    program development environment. It is better not to take 
  2113.                    any chances and check the diskettes yourself. If you find 
  2114.                    a write-protected, original program diskette to be 
  2115.                    infected, first contact the company that sold you the disk
  2116.                    and complain.
  2117.  
  2118. 9.  If your BIOS supports choosing a default disk to boot, set it to C:.
  2119.  
  2120.     Rationale:     This will eliminate the possibility of inadvertently 
  2121.                    booting from an infected floppy diskette left in drive A:.
  2122.                    Some modern BIOSes offer a setup option that allows you to
  2123.                    always boot from your hard disk, even if there is a floppy
  2124.                    diskette in drive A:. Many common boot sector infectors 
  2125.                    like the Stoned virus can infect your hard disk only if 
  2126.                    you boot your computer from an infected floppy diskette.
  2127.                    
  2128.