Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 11 May 1999 12:55:40 -0700 (PDT)
From:      Thamer Al-Herbish <shadows@whitefang.com>
To:        freebsd-security@FreeBSD.ORG
Subject:   Wrapping syscalls
Message-ID:  <Pine.BSF.4.05.9905111251500.253-100000@rage.whitefang.com>

next in thread | raw e-mail | index | archive | help
I've recently had the idea of wrapping system calls with a
capability check per process. The end objective is to have a patch
for FreeBSD that adds a system call which can be used to drop the
capability of calling a certain system call.

The simplest example would be a web server that after chroot()ing
would call lsyscall(EXECVE) and drop its ability to execve(). It may
also drop its write() ability and so on. Leaving only a few
read-only system calls that would effectively make it read-only.

Has anyone attempted something similar? Is there an inherent
effeciency problem with just adding checks to the beginning of every
system call? I'm aware of some security issues that are _not_ solved
by this: specificially dropping write() capabilities but still being
able to truncate files with the open() call.

Additionally, the child process will inheret its parent's
disposition and never be able to reclaim a system call.

--
Thamer Al-Herbish                     PGP public key:
shadows@whitefang.com                 http://www.whitefang.com/pgpkey.txt
[ The Secure UNIX Programming FAQ     http://www.whitefang.com/sup/  ]



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-security" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.05.9905111251500.253-100000>