home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / UTILITY / VIRUS / SWVSAF11.ZIP / MANUAL4.ASC < prev    next >
Encoding:
Text File  |  1990-11-21  |  12.3 KB  |  253 lines

  1. Section 2:  Background Information
  2.  
  3.  
  4. What is a virus
  5.  
  6. A computer virus is a computer program that copies all or part of itself to 
  7. other programs, and causes them to do the same. It may or may not do other
  8. things. Sometimes computer viruses are hidden deep within other, useful
  9. programs.
  10.  
  11. Computer viruses need not be bad.  It is interesting to note that it is 
  12. possible to create computer viruses to perform quite useful functions.  For 
  13. example, military intelligence organizations could write a virus that would 
  14. spread throughout large computing networks and utilize otherwise idle 
  15. computer time to attempt to decrypt captured information in the interests of 
  16. national security.  This would permit tens of thousands of computers to work 
  17. on the problem simultaneously.  Once one of the computers solved the 
  18. problem, another virus could be sent throughout the network to cease all of 
  19. the remaining activity.
  20.  
  21.  
  22.  
  23. How NOT to detect a virus
  24.  
  25. All computer viruses must spread to other programs or, by definition, they 
  26. are not viruses.  This tendency to spread to other programs is the ONLY 
  27. thing computer viruses have in common.  The methods viruses use to 
  28. accomplish this spreading, and the programs they target to spread into, vary 
  29. so much as to be completely unpredictable.  Viruses can spread to any file, 
  30. all files, or only to a certain kind of file.  Viruses can spread to 
  31. executable sections of storage that are not normally considered files, such 
  32. as the boot record or partition table. Viruses can use a wide variety of 
  33. tricks to try to spread.  Since legitimate, non-viral programs sometimes use 
  34. the same instructions as viruses for authorized activities, it is 
  35. unproductive to try to detect the presence of a virus by looking for 
  36. specific methods of spreading, or by looking at files to see if they contain 
  37. certain kinds of instructions.
  38.  
  39.  
  40.  
  41. Viral infection and file changes
  42.  
  43. When computer viruses spread, they modify other programs.  As few other 
  44. programs do this, the only reliable way of detecting viral infection is to 
  45. detect changes in files, and then determine if the changes are authorized.
  46.  
  47. THERE IS NO WAY ANY VIRUS CAN INFECT ANY PROGRAM WITHOUT CHANGING THAT 
  48. PROGRAM SOMEWHERE.
  49.  
  50. The changes could be very subtle, and by clever use of patches or 
  51. compression, it may be possible to avoid changing the size of a file, but 
  52. there will always be some change.  This creates the need for a reliable way 
  53. of detecting file changes.  The most obvious way to detect file changes is 
  54. to carry out a bit-by-bit (or byte-by-byte) comparison of two files, one of 
  55. which has been exposed to possible contamination, and the other of which has 
  56. not.
  57.  
  58. Unfortunately, this type of direct comparison of two copies of every file 
  59. isn't practical, because it requires on-line access to an extra copy of 
  60. everything.  Some other method is needed.
  61.  
  62.  
  63.  
  64.  
  65. Digital Signatures
  66.  
  67. Virus detection isn't the first problem that has illustrated the need for 
  68. some reliable method of detecting changes in digital information.  For 
  69. decades, programmers have been using signatures of digital data to detect 
  70. corruption or errors in files.
  71.  
  72. Checksums
  73.  
  74. The simplest and fastest form of "digital signature" is a checksum.  
  75. Checksums record a summary of a file by treating every element of the file 
  76. as a binary number, and then adding up all the binary numbers to get a 
  77. "grand total".  Programs can easily determine if the file has been changed 
  78. by recalculating the checksum and comparing the result with the previous 
  79. checksum.
  80.  
  81. If a virus makes a change to a file, its checksum will also change, unless 
  82. the virus is smart enough to know how to compensate.  Unfortunately, since 
  83. it is quite easy for programmers to do this, checksums are not sufficiently 
  84. robust to detect changes in the face of a clever attack.
  85.  
  86. Because of this, SafeWord Virus-Safe does not rely on checksums.
  87.  
  88. Message Authentication Codes
  89.  
  90. Banks have a similar problem when they receive a message requesting an 
  91. electronic funds transfer.  Before wiring money in response to an electronic 
  92. message, a bank wants to be absolutely sure that the message was not 
  93. tampered with in transit.
  94.  
  95. To this end, banks rely on a digital signature technique that has been 
  96. established by the American National Standards Institute, known as ANSI 
  97. standard X9.9.  The International Standards Organization has recommended two 
  98. techniques. One of these is functionally equivalent to ANSI X9.9, and is 
  99. known as ISO 8731-1. The other ISO recommendiation is a slightly different 
  100. digital signature technique, known as ISO standard 8731-2.  Both of these 
  101. techniques result in a digital signature called a :Message Authentication 
  102. Code", or MAC.
  103.  
  104. MACs rely upon cryptography to certify that the information was in a 
  105. particular state when the signature was taken.
  106.  
  107. ANSI X9.9 and the Data Encryption Standard
  108.  
  109. The National Institute of Standards and Technology, or NIST, (formerly the 
  110. National Bureau of Standards, or NBS) of the United States government has 
  111. published a description of an approved method of encrypting data which they 
  112. call the "Data Encryption Standard", or "DES".  This encryption method has 
  113. been exhaustively tested, and it is believed by cryptographic experts to be 
  114. secure enough to resist attack by anyone who does not know the encrypting 
  115. cipher, even if they have a copy of the published DES specification in hand.  
  116. The Federal government of the United States has required use of DES in 
  117. certain situations.  Many government agencies and some commercial 
  118. organizations must, by law, use DES when they handle certain types of 
  119. sensitive or valuable data.
  120.  
  121. ANSI Standard X9.9 describes a way of using DES to calculate a MAC that is 
  122. believed to be impossible to forge.
  123.  
  124. ISO 8731-2
  125.  
  126. Another significant authentication algorithm is ISO 8731-2, recently adopted 
  127. as an International Standard by the International Standards Organization, 
  128. and which has been implemented to cryptographically authenticate 
  129. international wholesale banking funds transfers.  Although not nearly so 
  130. widely tested as DES, it consumes far less computer time and there is no 
  131. confirmed report of its ever having been broken.
  132.  
  133. Cyclic Redundancy Check
  134.  
  135. Another technique for obtaining a digital sign¼ature is the Cyclic 
  136. Redundancy Check, or CRC.  This technique is similar to a checksum, but it 
  137. is more sophisticated in that it can detect more subtle changes.  Checksums 
  138. rely on addition, which is insensitive to the order of the added numbers, 
  139. and generally cannot detect swapping of two adjacent bytes, for example.  
  140. CRCs can detect byte and bit swapping because they use more sophisticated, 
  141. position-dependent logic.  Because of their reliability, CRC tests are 
  142. frequently used in floppy disk controllers in order to determine whether 
  143. information has been correctly retrieved from disks.
  144.  
  145.  
  146.  
  147.  
  148. Hybrid Digital Signatures
  149.  
  150. MACs with CRCs
  151.  
  152. DES encryption is very complex, and makes major demands on a personal 
  153. computer.  As a result, DES encryption takes longer than other encryption 
  154. methods, although Enigma Logic's software implementation of the DES 
  155. algorithm on a PC is the fastest commercially known.
  156.  
  157. The ISO 8731-2 algorithm is considerably faster than DES-based 
  158. authentication, but it is not fast enough to completely solve the 
  159. performance problem.
  160.  
  161. And although CRCs are much harder to fool than checksums, it is still 
  162. possible for a programmer to forge a CRC by including extra bytes that 
  163. compensate for the changes resulting from viral contamination.  The logic 
  164. and mathematics behind CRC calculation are well understood and documented 
  165. within the public domain, and a skilled programmer would have little 
  166. difficulty in compromising any security mechanism that relied exclusively 
  167. upon CRC-based change detection.
  168.  
  169. If DES and ISO-based MACs are too slow to be practical, and CRCs are not 
  170. secure enough, what do we do to create a fast, secure system? SafeWord 
  171. Virus-Safe handles this problem through an innovative and sophisticated set 
  172. of tools, each used at the discretion of the user.  You can specify DES MAC 
  173. checking, ISO MAC checking, CRC signatures, or hybrid mixtures involving DES 
  174. and CRC, or ISO and CRC.  Usually it is practical to specify a hybrid 
  175. mixture where a small percentage of the file is examined with a 
  176. sophisticated MAC, and the remainder is examined with a high-speed CRC 
  177. algorithm.  In these hybrid cases, sophisticated cryptographic techniques 
  178. are used to assure that attackers cannot predict which bytes are examined by 
  179. which method.  Furthermore, using a technique that cryptographers call 
  180. "cipher-block chaining", the results of all cryptographic calculations are 
  181. carried forward into all subsequent calculations.  This makes the CRC 
  182. results much harder to predict.  The result of all of this is a digital 
  183. signature that is nearly as strong as a DES or ISO MAC and nearly as fast as 
  184. calculating a CRC.
  185.  
  186.  
  187. Turbo mode
  188.  
  189. SafeWord Virus-Safe also offers a mode for checking files, called "Turbo", 
  190. that checks only the first 512 and last 512 bytes of a file using CRC, and 
  191. adds to that the length of the file.  Most viruses are classified as 
  192. "appenders".  That is, they add themselves to the end of a target program.  
  193. For the virus to activate, it must alter instructions somewhere in the 
  194. program to point to the virus code.  This usually happens at the beginning 
  195. of the program.  Therefore, to speed up the process of checking, especially 
  196. large programs, we have created Turbo mode, which runs very quickly.
  197.  
  198. Virus-Safe and the Editor both now keep track of the size of each file in 
  199. the Checklist.  Whenever there is a signature difference, among other 
  200. information written to the Audit trail are the old and new file sizes.  This 
  201. will help the user determine which virus has struck the PC, since many 
  202. viruses are known simply by their individual lengths.
  203.  
  204.  
  205.  
  206. Optimizing SafeWord Virus-Safe
  207.  
  208. SafeWord Virus-Safe can examine your files so thoroughly that it is 
  209. virtually impossible for file corruption or unauthorized modi¡fication to 
  210. remain undetected.  But examining files takes time and decreases your 
  211. productivity; the more thorough the examination, the more time it takes.
  212.  
  213. So we've given you the option of deciding how often and how thoroughly your 
  214. files are examined.  By making certain choices when your SafeWord Virus-Safe 
  215. software is installed and when it runs, you will be able to specify the 
  216. following rules for examination of every file on your system:
  217.  
  218. 1- Whether or not a file should be examined at all
  219.  
  220. 2- When to examine the file (at boot time or when it is executed)
  221.  
  222. 3- How frequently to examine the file (every time, every other time, etc),
  223.  
  224. and
  225.  
  226. 4- How thoroughly to examine the file (the ratio of MAC to CRC, or just a 
  227. CRC of the first and last 512 bytes).
  228.  
  229. For example, consider a programmer with SafeWord Virus-Safe installed in 
  230. memory, who uses the program DEBUG.COM frequently.  He'll want to have DEBUG 
  231. examined, but if he uses it 40 times a day he won't want to have it examined 
  232. each time.  Instead, he will want it examined at least several times per 
  233. week, and he will want to know that the examination is thorough when it is 
  234. done.  He could therefore specify a thorough, non-forgeable, 
  235. cryptographically based examination every 25th time DEBUG is used.  Thus, 24 
  236. times out of 25, he won't be delayed at all when he needs DEBUG, but every 
  237. 25th attempt to debug something will result in a few seconds of delay while 
  238. SafeWord Virus-Safe checks the program for corruption.
  239.  
  240. As another example, consider a bank, with SafeWord Virus-Safe installed in 
  241. memory, that infrequently uses an audit package to record high-value 
  242. electronic funds transfers.  Because of the risks involved in high-value 
  243. funds transfers, the bank wants to have the audit package examined every 
  244. time it is used.  Since the package is used infrequently, the productivity 
  245. impact is small, even if a thorough, non-forgeable, cryptographically based 
  246. examination is performed that requires several extra seconds.
  247.  
  248. Other program and data files at the bank, not directly related to management 
  249. of client funds, can be set up in a more routine manner.  For example, these 
  250. less critical programs can be examined only when the PC is booted, using a 
  251. high-speed technique that runs ten times as fast but doesn't offer the level 
  252. of security of a MAC.
  253.