Skip to content
Tech Interview Prep home
Technical interview guide

Defense in Depth

Layering multiple independent security controls so no single failure compromises the whole system.

Read
29 min
Practice MCQs
25
Interview QA
25
Edition
v4
Editorial status
Reviewed
Relevant for
Security Architect

Scope: NIST SP 800-53 Rev. 5 update 1; SP 800-37 Rev. 2; SP 800-160 Vol. 2 Rev. 1; SP 800-207; SP 800-61 Rev. 3; CIS Controls v8/8.1; OWASP ASVS project current 2026-08-31; MITRE ATT&CK current 2026-08-31.

Overview

Curated: · Written: · Reviewed:

Defense in depth is independent risk reduction

Defense in depth combines preventive, detective, responsive, and recovery controls so one plausible failure does not immediately produce unacceptable harm. It is not a demand to buy many tools or repeat the same check at every layer. A defensible design begins with assets, business consequences, threat paths, trust boundaries, dependencies, and recovery objectives. It then assigns controls that interrupt different stages or failure modes: reducing exposure, resisting entry, limiting privilege and movement, detecting misuse, containing impact, preserving evidence, and restoring trustworthy service.

Independence matters more than control count

Two controls are not meaningfully independent when they share the same identity provider, policy engine, administrator, cloud account, deployment pipeline, telemetry source, cryptographic root, network path, or failure-prone assumption. A gateway and application may both enforce authorization, but a shared policy bug can defeat both. Backups are not an independent recovery layer when the same compromised credentials can delete production and backup copies. Architecture reviews therefore identify common-mode and correlated failure, establish separation of duties and blast-radius boundaries, and deliberately diversify mechanisms only where the added operational complexity buys material risk reduction.

Layers commonly include secure defaults and attack-surface reduction; identity, device, workload, and request authorization; network and service segmentation; application validation and business-object authorization; data minimization, encryption, key separation, and exfiltration controls; hardened build and deployment paths; monitored endpoints and workloads; immutable or separately administered logs; tested incident containment; and isolated, restorable recovery copies. Physical, personnel, supplier, contractual, and operational controls remain part of the architecture. No perimeter, MFA prompt, encryption flag, scanner, EDR agent, or compliance badge is sufficient by itself.

Design from scenarios and operate the layers

Threat models and incident evidence identify where an adversary could enter, escalate, persist, move, exfiltrate, disrupt, or corrupt recovery. Map each important scenario to controls and state the security objective, scope, owner, dependencies, evidence, failure behavior, and residual risk. Prefer controls that are close to the protected resource, default deny, least privilege, tamper resistant, observable, and recoverable. Zero trust strengthens defense in depth by removing implicit network-location trust and continuously evaluating subjects, devices, and resources; it does not eliminate segmentation, application checks, monitoring, or recovery.

Every layer must be tested alone and in combination. Negative and adversarial tests verify denial paths. Fault injection and tabletop exercises reveal whether another layer still functions when identity, DNS, logging, a provider, a region, or an administrator is compromised. Coverage uses real populations and attack paths, not product inventory. Alerts must reach responders, containment must be authorized and practiced, and restoration must validate integrity before return to service. Findings, exceptions, incidents, and architectural changes feed the threat model and control design.

Analyze paths, dependencies, and bypasses

For each unacceptable consequence, draw the credible path from initial condition to impact and mark what must be true at every step. A layer contributes only if it interrupts, exposes, contains or helps recover that path under the assumed attacker capability. Record its authority, scope, update path, telemetry and failure behavior. Then look sideways: direct service endpoints, management planes, background workers, data exports, legacy protocols, break-glass accounts, support tooling and recovery networks often avoid the control shown on the primary request diagram.

Build a dependency graph for identity, policy, name resolution, time, keys, deployment, administration, telemetry and recovery. Independence is a claim to test, not a label. Separate cloud accounts are weak isolation when one identity root administers both; immutable logs are not independent when the monitored administrator can alter the collector; two endpoint agents are correlated when the same deployment pipeline disables both. Remove needless common authority, give high-consequence actions dual or quorum control where appropriate, and retain a bounded operational path for safely restoring normal trust.

Failure-informed verification

Verification begins with a known-good baseline and then deliberately removes or compromises one layer. Confirm that remaining controls provide the promised bounded outcome and that responders can see which assumption failed. Exercise stolen credentials on a managed device, vulnerable application behind a gateway, compromised workload identity, malicious administrator, unavailable policy engine, tampered build, disabled logging, destructive cloud control-plane action and restore from an isolated copy. Include partial and delayed failures: stale revocation, dropped audit events and a backup that restores data but not keys can be more dangerous than a clean outage.

Evidence should connect scenario to observed result: blocked action, limited reachable population, alert with usable context, authorized containment, preserved evidence, clean recovery and closure of the shared root cause. Track gaps and exceptions with an accountable risk owner, expiry and retest. Incident learning must update reusable controls, templates and sibling systems rather than only patching the affected asset. Defense in depth earns its cost when this evidence shows that a plausible failure remains survivable; overlapping dashboards and duplicated alerts do not create that result.

Proportionate depth, usable systems

Additional controls impose latency, availability dependencies, operator load, privacy exposure, accessibility friction, and failure modes. Apply depth according to impact and attacker capability, consolidate noisy controls, and use paved-road platforms so strong defaults are easier than bypasses. Preserve emergency access with tightly governed, observable recovery paths. Measure prevented or bounded scenarios, time to detection and containment, privilege and blast-radius reduction, telemetry coverage, recovery success, common-mode exposure, and verified remediation. The objective is survivability under credible control failure—not a diagram with the most boxes or a claim that compromise is impossible.

Worked example: two boxes, one shared key

Stolen cloud admin credentials: the WAF, the app, and the backup all trust the same IAM role.

layerintended jobafter the stolen roleindependent
WAFblock exploitsbypassed (admin API)no
app allowlisttenant isolationadmin impersonates tenantno
backupsrecover wipesame role deletes backupsno
offline copy + break-glassrecover wipestill worksyes

Three billed products, one failure domain. Adding a fourth product that uses the same role is not depth. That table is the interview.