Plugin to check MD5 sum on certain files
Dan Stromberg
strombrg at dcs.nac.uci.edu
Fri Nov 12 03:39:23 CET 2004
Actually, if you wouldn't mind doing it again?
We reinstalled the system, to get less stuff to sift through.
"Without loss of generality..."
On Tue, 2004-11-09 at 13:47 +0100, Andreas Ericsson wrote:
> Dan Stromberg wrote:
> > Oh Andreas... What am I going to do with you?
> >
>
> Thank me for teaching you a thing or two? Press charges? I left the
> reply to this email on jesus.nac.uci.edu (or wherever one of its open
> ports are forwarded to). Let me know if you find it.
>
> Since you probably won't (don't reboot or it's lost forever), you could
> also explain to me why you're going through all this trouble building
> hoops to hop for people trying to install trojans when they can just
> compromise the system all over again (in about 30 minutes, including
> vuln research) and use whatever binaries are already there.
>
> In all fairness; If you've done your homework and set up networking
> daemons in chroot jails running as dedicated pseudo-users, the
> compromise wasn't complete.
>
> If anyone else is interested in the answers, let me know off-list. I
> don't want to take away the incentive and spoil the surprise for Mr.
> Stromberg.
>
> Proof of concept code for the exploit used will neither be handed out
> nor pointed to (not on this list anyway).
>
> > On Mon, 2004-11-08 at 15:19, Andreas Ericsson wrote:
> >
> >>First off, I'm on the list. There's no need to send me two additional
> >>copies with each reply that goes to the list.
> >
> >
> > You're fighting a losing battle. Too many e-mail programs make it the
> > path of least resistance to cc broadly. Set up procmail once to
> > eliminate duplicates - headache gone. No more useless badgering people
> > to do things your way. :)
> >
> >
> >>With that out of the way, answers below.
> >>
> >>Dan Stromberg wrote:
> >>
> >>>On Sat, 2004-11-06 at 05:03, Andreas Ericsson wrote:
> >>>
> >>>
> >>>
> >>>>>I believe this would be difficult - generating a trojaned ls with the
> >>>>>same md5 sum. md5 is designed to distribute small bits of a file, from
> >>>>>all over within that file, across different parts of the digest.
> >>>>>
> >>>>
> >>>>You're attacking the wrong end of the problem. If someone can trojan
> >>>>some of your binaries, they can trojan ALL your binaries (assuming
> >>>>you're not a complete idiot who have given write permissions away on
> >>>>some of your $PATH directories to non-root users).
> >>>
> >>>
> >>>Trojaning binaries in a read-only, NFS mounted volume is possible, but
> >>>difficult.
> >>>
> >>
> >>No, it's simple. It's merely an exercise of replacing a few more
> >>binaries and then remount that same part of the system using a local
> >>filesystem. It's security by (not very) obscurity: Useless.
> >
> >
> > Conceptually simple, but far beyond the average script kiddie to
> > implement until it's part of a rootkit.
> >
> > It's an arms race, and to not play that particular arms race, is to lose
> > it. You can always add more tests, and the kiddies can always add more
> > ways to get around those tests. But again, to not try, is clearly to
> > lose. (Kind of an "Anti-Wargames").
> >
> >
> >>>Alternatively, or additionally, you can NFS mount the filesystem you
> >>>intend to check and run a trusted md5 and sha-1 generator on a trusted
> >>>system.
> >>>
> >>
> >>It fails for the reasons stated above.
> >
> >
> > -But-, it's an additional weapon in your arms race. Also, as you add
> > more "weapons", it becomes less and less likely that the kiddies will
> > know all the different things that must be trojaned.
> >
> > Additive effect. That simple.
> >
> >
> >>>>>It's not like you can just assume a one to one mapping, or tack some
> >>>>>crud on the end.
> >>>>
> >>>>I know perfectly well how md5 hashing works. I also know that what
> >>>>you're trying to implement is utterly useless unless you run everything
> >>>>off some non-writable media. It just won't work. Worse, it will create a
> >>>>false sense of security, so a possible attacker can hang on to your
> >>>>system for a much longer period once properly compromized.
> >>>
> >>>
> >>>So why are we ruling out nonwritable media? :)
> >>
> >>I'm not. I'm ruling out MOUNTED read-only media, because it's not
> >>logically read-only if you already have access to replace system
> >>binaries. A root file-system on read-only media with network mounted
> >>untrusted writeable media would be secure though.
> >
> >
> > If you mount in both directions, over multiple protocols, that forces
> > the kiddies ever-deeper into the kernel. Eventually, in your arms race,
> > you md5+sha-1 the VFS layer, as well as the md5+sha-1 code in the
> > kernel. Then add a daemon that verifies those sums. Then you add a
> > kernel-groveler that verifies those sums. Then you go to another
> > protection ring in your hardware.
> >
> > Granted, "Reflections on Trusting Trust" makes a good point, and yet,
> > the above, plus kexec, gives ever-increasing numbers of hoops for the
> > kiddies to jump through. And in so doing, we're reversing roles:
> > normally, on the patch scene, the kiddies have to find just one
> > vulnerability, and we're sunk if we miss any one out of n. But in this
> > latter arms race, we're changing the rules to favor the admins: the
> > admins just have to find one check that works, while the kiddies have to
> > find ways around -all- of the checks.
> >
> > That's worth something.
> >
> >
> >>> Granted, that's fakeable too, but like I said above, it's hard.
> >>
> >>I can easily prove you wrong in two commands. Assume "fake-share" holds
> >>all binaries and files located on the real share, but trojaned when
> >>necessary.
> >>
> >>umount /shared/disk/mount/point
> >>mount <options> fake-share /shared/disk/mount/point
> >
> >
> > Not so fast. You just verified your kernel via the latest tests, some
> > in-kernel, some not. You just verified your executables over n
> > bidirectional protocols, using m hashes.
> >
> > You don't have to be infallible. You simply have to be ahead of the
> > kiddies.
> >
> >
> >>And we're done.
> >
> >
> > You might be, but I'm not, and neither are the kiddies.
> >
> >
> >>> And we already had
> >>>nonwritable media in the discussion anyway, so there's no point in
> >>>arbitrarily ruling it out for one purpose and not another.
> >>>
> >>>Please don't spin the "false sense of security" yarn again. That's so
> >>>overused.
> >>
> >>Perhaps so, but still. The false security is why systems stay
> >>compromised, and why real security isn't applied. Idiot ideas by idiot
> >>admins is why script kiddies get cocky and stay "in business".
> >
> >
> > Credit where it's due:
> >
> > 90+% of breakins happen because admins either knew and didn't care, or
> > didn't know about the existence of relevant patches (or alternatively,
> > didn't know to/bother to run up2date/yum/windowsUpdate/whatever).
> >
> > Applying patches is your primary defense.
> >
> > After that, comes steps in the arms race sketched abovew. Layer after
> > layer of rootkit's vs chkrootkit's. At this layer, to not play is to
> > lose - to have no second line of defense whatsoever (OK, maybe
> > firewalling is second, but no nth line of defense...)
> >
> >
> >>> Better to light a candle in the darkness, than to complain
> >>>that it isn't a floodlight and do nothing. An effort doesn't have to be
> >>>100% effective to be valuable.
> >>>
> >>
> >>Correct, but it should at least require more than two commands (and very
> >>trivial changes to a few extra standard programs) to be circumvented.
> >
> >
> > It was pretty easy to demonstrate that it can be made to require more
> > than two commands. :) C'mon, you should try harder. :) Let's see you
> > somehow ditch the benefits of changing from 1 to n, into 1 to n + n to
> > 1. :)
> >
> > --
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <https://www.monitoring-lists.org/archive/users/attachments/20041111/bf074057/attachment.sig>
More information about the Users
mailing list