by spender » Tue Dec 17, 2002 10:28 pm
I've given the code and the design specs a cursory look. The protection it provides is pretty weak. Firstly, the whole design is geared around stopping exploits that exec a rootshell. I don't see anything in here that restricts anything in the process other than execve. It has problems with its runtime memory allocation...basically if you load up the memory on the system high enough, it won't be able to apply its rules, and you can get away scott-free. execve() isn't the only method of transferring privilege...there's many more, and they can all be done in shellcode. The attempt to protect the kernel from modification is weak also, and easily bypassed, as it only checks a few things for modification. It also doesn't stop an attacker from doing anything once he is root. So you can run StJude and think you're secure, but you'll never know, as there's nothing stopping the attacker from covering their tracks.
-Brad