[Linux-aus] Stand up for Linux. Stop Microsoft killing Desktop Linux.
Adam Nielsen
a.nielsen at shikadi.net
Sat Sep 24 10:39:45 EST 2011
> Having root not be able to damage the system doesn't seem plausible unless you
> define root to be something very different to the "do anything anywhere"
> definition that usually applies.
>
> Modifying the kernel and dynamic loader to not support unsigned binaries is
> possible. But then you have to deal with all manner of interpreters. It
> might be possible to have a usable system where Perl doesn't execute arbitrary
> code (execution of code on stdin being disabled and signature checks on files
> on disk). But it doesn't seem possible to do that with /bin/sh.
This is going to go a little off topic, but I'm not so worried about
preventing root from doing bad things, I'm more interested in preventing root
from doing something that makes disinfection difficult. The rootkit in
question replaced /bin/ls and a bunch of other system commands with
compromised versions, so that running one of those files would immediately
reinstall the whole rootkit.
Now granted I haven't thought this through in every minor detail, but if there
were signatures being verified from the new-BIOS down, then a compromised
kernel wouldn't run, compromised modules wouldn't load, and compromised
commands wouldn't reinstall any infection.
Scripts of course would still run, but I think it would be much easier if you
could boot to single-user mode (where you can be certain there is no malicious
code running), clean up your initscripts then reboot to go back to your normal
system minus any live infection.
It is true then that /bin/ls could be replaced with a Perl script which would
pass any signature check (assuming the Perl binary hadn't been tampered with),
but you could solve this by performing signature checks on crucial binaries
early in the boot process. Doing this now isn't a guarantee because any
program that performs this check could be modified to pass rogue binaries, but
if it had to be signed then it wouldn't be possible to modify or bypass.
Now you can tell me what I'm missing ;-)
Cheers,
Adam.
More information about the linux-aus
mailing list