[9759] in bugtraq

home help back first fref pref prev next nref lref last post

Re: Process table attack (from RISKS Digest)

daemon@ATHENA.MIT.EDU (Andy Church)
Tue Feb 23 17:17:26 1999

Date: 	Mon, 22 Feb 1999 13:40:46 EST
Reply-To: Andy Church <achurch@DRAGONFIRE.NET>
From: Andy Church <achurch@DRAGONFIRE.NET>
X-To:         booloo@cats.ucsc.edu
To: BUGTRAQ@NETSPACE.ORG

>ABSTRACT:
>
>The Process Table Attack is a [relatively] new kind of denial-of-service
>attack that can be waged against numerous network services on a variety of
>different UNIX systems. The attack is launched against network services
>which fork() or otherwise allocate a new process for each incoming TCP/IP
>connection.  Although the standard UNIX operating system places limits on
>the number of processes that any one user may launch, there are no limits on
>the number of processes that the superuser can create other than the hard
>limits imposed by the operating system. Since incoming TCP/IP connections
>are usually handled by servers that run as root, it is possible to
>completely fill a target machine's process table with multiple
>instantiations of network servers.

     Yet another reason to use a better-featured replacement for inetd,
such as xinetd (SunSITE:/pub/Linux/system/network/admin), which allows you
to specify the maximum number of processes allowed to be started for each
daemon (among other features not found in classic inetd).

     I can't think of any other daemons that spawn indefinite numbers of
processes (with the exception of standalone ftpd's).  In particular, CGI
scripts on web servers should not present a problem here, because in the
worst case, you'll almost certainly hit the per-process file descriptor
limit before reaching the system limit.  (At least for single-process
HTTP daemons; can anyone speak for Apache here?)

  --Andy Church
    achurch@dragonfire.net
    http://achurch.dragonfire.net/

home help back first fref pref prev next nref lref last post