We live in interesting times. That computer on your desktop
embodies the contradiction that faces a security engineer
in the 21st century. It must be kept safe, and a lot of time,
effort, and money are spent attempting to do exactly that:
firewalls are built to separate that machine from the Internet;
security audits tell us what programs must be deleted and
what permissions changed so that the machine cannot be
compromised; virus checkers test all new software loaded on
the machine for malicious content.