Defense in depth (computing)


Defense in depth is a concept used in Information security in which multiple layers of security controls are placed throughout an information technology 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 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

Controls

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

Physical controls

Physical controls 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.

Examples

Using more than one of the following layers constitutes an example of defense in depth.
System/application security:
Network security:
Physical security:
Practical example: an application is written by security-aware developers in a memory-safe language and then audited.
Despite the security measures already listed, the application is also executed in a sandbox.
Furthermore, the hosts running such application are isolated from other critical systems using Firewalls.