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