Subject: ps /proc changes (CVS commit: src)
To: None <bgrayson@netbsd.org>
From: Bernd Ernesti <netbsd@arresum.inka.de>
List: tech-userlevel
Date: 03/27/1999 10:44:19
On Fri Mar 26 23:36:03 1999, Brian C. Grayson wrote:
> 
> Module Name:	src
> Committed By:	bgrayson
> Date:		Fri Mar 26 22:36:03 UTC 1999
> 
> Modified Files:
> 	src/bin/ps: Makefile extern.h ps.1 ps.c
> Added Files:
> 	src/bin/ps: procfs_ops.c
> Log Message:
> Added experimental fallback /proc-based lookup.  Warnings are printed when the
> fallback method is used, as the results could be untrustworthy if an
> intruder is present.  It is highly likely that NetBSD-1.5 will have
> an improved kvm interface for reading process information, at which
> point this code can be garbage-collected.  Also added a word to the
> man page -x option description while I was here.

You only check if /proc/1/status exists and an readonly /proc.

I think that is not enough. You have to check that /proc is an procfs.

It is just to easy to fake processes for an intruder without replacing ps.

You later send a warning that the results could be wrong. This is a good idea
but it would be better to check for an procfs and not send this 6 lines
at the bottom of the output which length the ps output.

Quoting from your code: "Attempting experimental, insecure /proc-based method."

There is no way to disable the /proc search when there is a problem between
the ps binary and the kernel.

It doesn't look so good when you say experimental but give no way to disable it.

Bernd