Defense in depth (computing)

Defense in depth is a concept used in information security in which multiple layers of security controls (defense) are placed throughout an information technology (IT) system. Its intent is to provide redundancy in the event a security control fails or a vulnerability is exploited that can cover aspects of personnel, procedural, technical and physical security for the duration of the system's life cycle.

Background
The idea behind the defense in depth approach is to defend a system against any particular attack using several independent methods. It is a layering tactic, conceived by the National Security Agency (NSA) as a comprehensive approach to information and electronic security. The term defense in depth in computing is inspired by a military strategy of the same name, but is quite different in concept. The military strategy revolves around having a weaker perimeter defense and intentionally yielding space to buy time, envelop, and ultimately counter-attack an opponent, whereas the information security strategy simply involves multiple layers of controls, but not intentionally ceding ground (cf. honeypot.)

Controls
Defense in depth can be divided into three areas: Physical, Technical, and Administrative.

Physical
Physical controls are anything that physically limits or prevents access to IT systems. Fences, guards, dogs, and CCTV systems and the like.

Technical
Technical controls are hardware or software whose purpose is to protect systems and resources. Examples of technical controls would be disk encryption, File integrity software, and authentication. Hardware technical controls differ from physical controls in that they prevent access to the contents of a system, but not the physical systems themselves.

Administrative
Administrative controls are organization's policies and procedures. Their purpose is to ensure that there is proper guidance available in regard to security and that regulations are met. They include things such as hiring practices, data handling procedures, and security requirements.

Methods
Using more than one of the following layers constitutes an example of defense in depth.

System and application

 * Antivirus software
 * Authentication and password security
 * Encryption
 * Hashing passwords
 * Logging and auditing
 * Multi-factor authentication
 * Vulnerability scanners
 * Timed access control
 * Internet Security Awareness Training
 * Sandboxing
 * Intrusion detection systems (IDS)

Network

 * Firewalls (hardware or software)
 * Demilitarized zones (DMZ)
 * Virtual private network (VPN)

Physical

 * Biometrics
 * Data-centric security
 * Physical security (e.g. deadbolt locks)

Example
In the following scenario a web browser is developed using defense in depth -


 * the browser developers receive security training
 * the codebase is checked automatically using security analysis tools
 * the browser is regularly audited by an internal security team
 * ... is occasionally audited by an external security team
 * ... is executed inside a sandbox