by arouse » Fri Oct 25, 2002 6:36 pm
Well, it seems that tripwire-like features are not in the cards according to the posts I've read as there seems to be other solutions/workarounds.
But I've thought about tripwire and think it is necessary in a system that has an unrestricted super-user (the root of all evil). Wouldn't the argument made against MD5 sum checking also be made to work for the tripwire executable, to make it return a false negative on an altered file? Hard but doable I think.
It seems to me that, even with ACL's, the account that installs and updates software (a necessary account) is the one that can <b>still</b> alter a file. In that case something like tripwire comes in handy.
I've had an idea for a better tripwire (although the idea is based on what already exists. Look at signed java applets.)
Wouldn't it be better to add a section to the ELF file (I <i>think</i> it can be done without the executable becoming non-portable) that contains a public key signature of the executable. The checking key resides somewhere on the machine while the signing key resides off the machine. No database needed. Every time the executable is <u>first</u> opened for reading/exec the signature is checked. Executables with no signature get executed as always.
Harder to forge, no database to create/calculate, maintain, protect, protection is continous. Moreover, there is never any need for the signing key to ever be present on the machine: it can be done elsewhere.
There is, however, still a need for a database but a much more simpler one. A simple text file (or ELF file) that contains the list of paths of protected files that is itself signed. In this way the simple attack of removing the signature section and then altering the executable can avoided.
What do you guys think?