I'd like to toss up another side of security: Not only can we *add* defense-in-depth, we can also *reduce the attack surface*.
Mistakes and omissions will be made by humans at the rate of X per every thousand lines of code. Ergo, the less code, the fewer places for vulns to exist. Right?
Think of trying to secure a fifty-room mansion with a hundred windows and twenty doors, vs. a one-room concrete house with a single door and one window.
We can start reducing attack surface by using the "smaller is better" principle when comparing competing apps that meet our needs, rather than succumb to "bullet-point marketing", which lists tons of (mostly useless) bells and whistles, designed to convince us that we're getting more for our money.
Example:
Adobe Reader 9.3 = about 350 MB hard drive space. Function: opens .pdf so you can read them.
Foxit Reader (http://www.oldversion.com) older version 2.0, with no native JavaScript support, another security bonus = 3.7 MB. Function: opens .pdf so you can read them.
So mathematically, Adobe has about 100 times the attack surface of Foxit. The actual number of vulns may not be strictly proportional, or, on the other hand, could be exponentially greater. In any event, it logically must have more potential places for exploits to be found.
I've carried this principle to the operating system itself, doing some rather drastic pruning to Windows XP. Typical size of WINDOWS folder = about 4 GB, with anywhere from 10,000 to 30,000 files or more. My windows folder, on the machine on which this is being written and posted:


Consider MS Update 980182. Twenty-three files are replaced for IE 6 on 32-bit XP. Of those twenty-three, only seven were still on this machine. One of the most critical files to the exploits, iepeers.dll, had been deleted a year or more ago. So this user was essentially immune to these exploits long before they were discovered, much less patched. *That* is the point I'm trying to make here. The less, the merrier.
This is not some bare-bones system. Fully-functional laptop, with two space-eaters not found on desktops: Wireless connectivity with WPA2 encryption, and touchpad with enhanced features. Also has direct connectivity to the modem via both Ethernet and USB cables.
Third-party firewall and AV. Supports a printer-scanner wirelessly, plus a stand-alone printer through USB. Open Office suite (trimmed to my needs). And everything else used for most home purposes. Online gamers, though, would miss seeing their bazooka splatter someone's guts all over their living room in 3-D Surround Sound. (Have to settle for basic graphics and stereo sound - gee!)
I'm not suggesting that everyone could, would, or should go this far. Only that we should consider bloat as an enemy of security, and that we can be proactive in choosing smaller, lighter products, and, for the technically-inclined, pruning that which we don't need.
And that reducing attack surface is as important, if not more, as adding defenses.
Hope this provokes some thought and comments.
DISCLAIMER: Many of the changes involved in such trimming are undocumented and unsupported. For advanced users only, at your own risk. Make frequent full-disk-image backups as well as data backups, so any fatal error will not be costly and can be restored easily without loss of data or applications.
p. s.: This trimming project, including doing research and recovering from mistakes (ouch!!! -- they happen
