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.[1] It is a layering tactic, conceived[2] by the National Security Agency (NSA) as a comprehensive approach to information and electronic security.[3][4] 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.[5]
Physical controls
Physical controls[3] are anything that physically limits or prevents access to IT systems. Fences, guards, dogs, and CCTV systems and the like.
Technical controls
Technical controls are hardware or software whose purpose is to protect systems and resources. Examples of technical controls would be disk encryption, fingerprint readers, 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 controls
Administrative controls are an organization's policies and procedures. Their purpose is to ensure that there is proper guidance available in regards to security and that regulations are met. They include things such as hiring practices, data handling procedures, and security requirements.
Commonly used methods
Using more than one of the following layers constitutes an example of defense in depth.
System/application security:
- 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 security:
- Firewalls (hardware or software)
- Demilitarized zones (DMZ)
- Virtual private network (VPN)
Physical security:
- 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
References
- Schneier on Security: Security in the Cloud
- "Some principles of secure design. Designing Secure Systems module Autumn PDF Free Download". docplayer.net. Retrieved 2020-12-12.
- Defense in Depth: A practical strategy for achieving Information Assurance in today’s highly networked environments.
- OWASP Wiki: Defense in depth
- Stewart, James Michael; Chapple, Mike; Gibson, Darril (2015). CISSP (ISC)2 Certified Information Systems Security Professional Official Study Guide.