Subject: Re: systrace features?
To: Charles Blundell <cb@netbsd.org>
From: David Maxwell <david@crlf.net>
List: tech-security
Date: 09/23/2003 22:00:08
On Tue, Sep 23, 2003 at 04:40:03PM +0100, Charles Blundell wrote:
> I have written the code for two extra options to systrace that I
> think will help when systrace comes across less than usual situations.
>
> They are:
>
> Randomly cause system calls to fail.
This is an excellent debugging tactic.
It would be better with one additional attribute - a way to specify a
seed for a PRNG, so that regression tests could record various test-case
paths.
Yes, it'll break whenever additional system calls that draw from the
PRNG go into the codepath, but I think it would still be useful. Even
better if different syscalls could draw from different PRNGs, which
would extend the lifetime of a regression test.
> Terminating a process when a system call not in its policy is
> attempted (only for unsupervised processes.) May help with policy
> probing attacks, and the problem noted above with kill.
I can't think of a good use case for this yet - besides DoSing yourself.
Perhaps if you could make sure the process would leave a core file
around it would be useful for debugging.
> Is either these two features worth having? Comments?
>
> My current diff is at:
> ftp://ftp.NetBSD.org/pub/NetBSD/misc/cb/systr-erratic.diff
The first is great - commit when you're ready. The second is okay, but
I'd like to hear an explanation of its usefulness.
--
David Maxwell, david@vex.net|david@maxwell.net --> Unless you have a solution
when you tell them things like that, most people collapse into a gibbering,
unthinking mass. This is the same reason why you probably don't tell your
boss about everything you read on BugTraq! - Signal 11