Daemon programs designed to provide privileged services upon
request have imperfections that are exploited to provide privileges to the
attacker. Examples include Web, Gopher, Sendmail, FTP, TFTP, and other
server daemons exploited to gain access to the server from over a network,
internal use only daemons such as the Unix cron facility exploited to gain
root privileges by otherwise unprivileged users, and automated backup and
recovery daemons exploited to overwrite current versions of programs with
previous - more vulnerable - versions.
Complexity: In general, this problem
is at least as complex as proving program correctness, which is at least
NP-complete and may be nearly exponential depending on what has to be shown.
Only a few daemons have ever been shown to avoid large subsets of these
[Cohen97] and those daemons are not widely used.