home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / virus / 4684 < prev    next >
Encoding:
Internet Message Format  |  1992-12-15  |  5.6 KB

  1. Path: sparky!uunet!spool.mu.edu!yale.edu!jvnc.net!netnews.upenn.edu!netnews.cc.lehigh.edu!news
  2. From: bontchev@fbihh.informatik.uni-hamburg.de (Vesselin Bontchev)
  3. Newsgroups: comp.virus
  4. Subject: Re: Integrity Management (PC)
  5. Message-ID: <0011.9212151931.AA10887@barnabas.cert.org>
  6. Date: 11 Dec 92 18:30:58 GMT
  7. Sender: virus-l@lehigh.edu
  8. Lines: 111
  9. Approved: news@netnews.cc.lehigh.edu
  10.  
  11. padgett@tccslr.dnet.mmc.com (A. Padgett Peterson) writes:
  12.  
  13. > Seems like we should be about due for some "next generation" products,
  14. > products that can detect a one-byte change in any program but are smart
  15. > emough to know that a one byte change is not likely to be a virus.
  16.  
  17. Hmm... Wasn't that you who explained me once how a one-byte change in
  18. a particular data area might mean a virus infection?... :-)
  19.  
  20. > 1) Multilevel validation - secondary programs that validate whether or not
  21. >    the protection program is working properly.
  22.  
  23. We already have something like that - most self-respecting integrity
  24. checkers perform a self-check when executed.
  25.  
  26. > 2) TSR awareness - what programs are expected to change memory allocations
  27. >    and which are not.
  28.  
  29. I think that Jim Bates' anti-virus package has a program that does
  30. something similar, but I have never seen it, so I am unable to provide
  31. more information.
  32.  
  33. > 4) DOS locations, sizes, and expected values specific to the particular PC.
  34.  
  35. At least some packages do that already. (I.e., location, and size
  36. checks. The "expected values" are a bit difficult, due to the lots of
  37. different versions of DOS that are around - e.g., the German version
  38. of COMMAND.COM has a different length than the English version of the
  39. same file, even for one and the same version of DOS.)
  40.  
  41. > 5) Ability to temporarily disengage certain functions for maintenance without
  42. >    having to remove the entire package.
  43.  
  44. Again, most full-blown anti-virus packages allow you to use only some
  45. of their functions.
  46.  
  47. > 6) Partitioning support.
  48.  
  49. What is this?
  50.  
  51. > 7) Ability to detect an attempt to write to an executable
  52.  
  53. You mean, a monitoring program? Well, they are so easy to be
  54. bypassed... OK, maybe they should be there as a protection at least
  55. against the stupid viruses, but then such programs tend to be rather
  56. obtrusive...
  57.  
  58. > >As far as I know, Prof. Eugene Spafford and a few others from Purdue
  59. > >University are working on a platform-independent user-programmable
  60. > >scanner. It will be released in source, free of charge. Initially it
  61. > >will have routines to access Unix file systems, but since it will be
  62. > >written in C++, nothing will prevent other people from writing the
  63. > >appropriate interface to DOS, MacOS, AmigaDOS, or whatever. As you see
  64. > >- - no deep secrets.
  65.  
  66. > The problem is that a platform independent management program is going to have
  67. > a hard time detecting platform-dependent low-level attacks. Consider
  68. > for a moment malicious software that tries to go resident in the disk buffers.
  69. > To work it must recognize the differences between buffers used by DOS 3.x
  70. > and those of higher versions. So must an integrity management routine.
  71.  
  72. Three objections. First, I was speaking (in this particular case) about
  73. a platform-independent -scanner-, not about an integrity checker.
  74. Second, it is supposed to run without a virus being active in memory,
  75. so there is no reason to check the buffers and other such stuff.
  76. Third, as I said, it will be platform-independent. In order to port it
  77. to another platform, you'll have to write the platform-specific I/O
  78. routines. If you want to scan the memory, you'll just have to write
  79. routines that provide access to it as a file. Not difficult at all.
  80.  
  81. > Gene & Co. at Purdue are doing important work but it must be realized that
  82. > you cannot get all of the way with a platform-independant solution. A
  83. > long way certainly & would work on a PC with Jerusalem & Sunday, but how 
  84. > about a low-level infection such as MICHELANGELO or FORM ? These depend on
  85. > the platform.
  86.  
  87. First, Michelangelo is not that much platform-dependent... I mean, it
  88. can perfectly infect a Unix-only system, if it runs on an IBM PC
  89. compatible... (The fact that it will also crash the system and prevent
  90. it from booting is a completely different story.) Second, in order to
  91. use that scanner on such a platform, you'll just have to write the I/O
  92. routines that provide access to the boot sectors - as simple as that.
  93.  
  94. > Of course the real answer might be for a generic "kernel" with attachable
  95. > platform-specific modules that are assembled on installation. Not difficult,
  96. > just different.
  97.  
  98. Why different? As far as I understand, this is exactly what they are
  99. doing (maybe Prof. Spafford can comment on this?). Just instead of the
  100. ugly assembly language solution, they are using an object-oriented
  101. approach and are implementing it in C++. :-)
  102.  
  103. > I agree but take it one step further, again the algorithm should be
  104. > tailored to the specific machine and use a different seed on each - this
  105. > in no way weakens the algorithm but gives each PC a different signature
  106. > for a particular file. Break one machine and "malware" must start all over 
  107. > again on the next.
  108.  
  109. In fact, it depends on the algorithm used. If you are using a CRC,
  110. just using a different seed for the checksum does not make it secure -
  111. you must change the polynomial each time. If you are using something
  112. cryptographically strong as DES, MD4, MD5, MD2, or some such, then
  113. just changing the seed is enough.
  114.  
  115. Regards,
  116. Vesselin
  117. - -- 
  118. Vesselin Vladimirov Bontchev          Virus Test Center, University of Hamburg
  119. Tel.:+49-40-54715-224, Fax: +49-40-54715-226      Fachbereich Informatik - AGN
  120. < PGP 2.0 public key available on request. > Vogt-Koelln-Strasse 30, rm. 107 C
  121. e-mail: bontchev@fbihh.informatik.uni-hamburg.de    D-2000 Hamburg 54, Germany
  122.