> "The only truly secure system is one that is powered off, cast in a block of concrete, and sealed in a lead-lined room with armed guards — and even then I have my doubts."
Prerequisites
- 1
- 2
Learning Objectives
- Apply the CIA triad — and AAA and non-repudiation — to concrete design and triage decisions, naming which property a given threat attacks and a given control protects.
- Classify any security control by both its function (preventive, detective, corrective, compensating) and its nature (administrative, technical, physical).
- Apply least privilege, separation of duties, and fail-safe defaults to real entitlements and workflows, and explain the abuse each one prevents.
- Design a layered defense using defense in depth and the assume-breach mindset, so that one failed control is survivable.
- Explain the zero-trust principle — never trust, always verify — and distinguish it from the zero-trust architecture detailed later.
In This Chapter
- Overview
- Learning Paths
- 3.1 The CIA triad (and why availability is security)
- 3.2 AAA and non-repudiation: proving who did what
- 3.3 Control taxonomy: type × function
- 3.4 Least privilege and separation of duties
- 3.5 Defense in depth and "assume breach"
- 3.6 Zero trust in one principle
- Project Checkpoint
- Summary
- Spaced Review
- What's Next
Chapter 3: Security Principles: CIA Triad, Defense in Depth, Least Privilege, and Zero Trust
"The only truly secure system is one that is powered off, cast in a block of concrete, and sealed in a lead-lined room with armed guards — and even then I have my doubts." — Gene Spafford
Overview
When the phishing attack on Meridian Regional Bank failed, it failed for a specific reason — a hardware security key the loan officer could not be tricked into bypassing. But that is the wrong level of explanation. Why was a security key there at all? Why that control, on that portal, for that user, instead of a hundred other things the budget could have bought? Pull on that thread and you do not find a product. You find a set of principles — a small number of load-bearing ideas that tell a defender, every single day, where to spend the next dollar and the next hour. The security key was the answer; the principles are the reason it was the right answer.
This chapter is about those principles, and it is the most important chapter in Part I for one blunt reason: everything else in the book is an application of what we cover here. Network segmentation (Chapters 6 and 7) is defense in depth on the wire. Access control (Chapter 17) is least privilege made concrete. Encryption (Chapters 4 and 5) is a confidentiality control. Logging and detection (Part V) exist because we assume breach. When you understand the principles, the other thirty-seven chapters stop being a list of disconnected technologies and become variations on a handful of themes you already know. A practitioner who has internalized these ideas can reason about a technology they have never seen before, because they can ask the right questions of it: what property does this protect? what does it assume has already failed? what would abusing it look like?
We will keep the same discipline the whole book keeps: lead with what goes wrong in the real world when a principle is missing, then extract the principle, then return to what you would actually do. A control without a danger behind it is a checklist item handed down from nowhere, and checklist security is the kind that passes audits and loses to attackers.
In this chapter, you will learn to:
- Use the CIA triad — confidentiality, integrity, availability — as a working checklist for what every system must protect, and explain why availability is a security concern and not just an operations one.
- Extend it with AAA (authentication, authorization, accounting) and non-repudiation, the properties that let you prove who did what.
- Classify any control along two axes at once — its function (preventive, detective, corrective, compensating) and its nature (administrative, technical, physical) — and use the resulting grid to find the gaps in a defense.
- Apply least privilege, separation of duties, and fail-safe defaults to real accounts and workflows, and name the specific abuse each one stops.
- Design in layers using defense in depth and assume breach, so that a single failure is a near-miss rather than a headline.
- State the zero-trust principle in one sentence and apply its mindset, while leaving its full architecture to Chapter 32.
Learning Paths
This chapter is foundational for everyone, but the weighting differs by role. It is the home turf of the security engineer and a heavy hitter for certification candidates, where these terms appear constantly.
🏗️ Security Engineer: This is one of your core chapters. Read all of it, but live in §3.3 (the control taxonomy you will use to justify every design), §3.4 (least privilege and separation of duties — the principles behind every access decision you make later), and §3.5 (defense in depth — the way you will architect everything from networks to pipelines). 📋 GRC: §3.1–§3.3 give you the vocabulary auditors and frameworks speak in (control type × function maps directly onto NIST and ISO control catalogs), and §3.4 underpins the separation-of-duties findings you will write for years. 📜 Certification Prep: Nearly every term here is tested on CompTIA Security+ and (ISC)² CISSP. The CIA triad, AAA, control types, least privilege, separation of duties, defense in depth, and zero trust are exam staples. The
key-takeaways.mdfile maps each to its domain; this chapter is worth memorizing cold. 🛡️ SOC Analyst: §3.5 (assume breach) and §3.2 (accounting — why logs and non-repudiation exist) explain the philosophy behind your entire job. The rest is useful context for the controls you will monitor.
3.1 The CIA triad (and why availability is security)
Start with a failure. In Chapter 1 we watched a phishing attack threaten Meridian's confidentiality — the attacker wanted to read data they had no right to see. But that same year, a different kind of incident hit a hospital two states over: ransomware encrypted its patient-records system. No data was stolen. No record was altered. Every byte was still sitting on the disk, perfectly intact and perfectly secret. And the hospital diverted ambulances for three days, because no clinician could reach the records. Nothing was disclosed and nothing was changed, yet it was one of the most damaging security incidents the region had seen. If your mental model of security is only "keep the secrets secret," you cannot even describe what went wrong there. You need a richer model, and it has three dimensions.
The CIA triad is the foundational model of information security: every protective goal you will ever have reduces to preserving one or more of confidentiality, integrity, and availability. It is not an acronym about a spy agency, and it is not trivia for an exam — it is the checklist that keeps you from armoring one wall while leaving another open. Let us define each precisely, then immediately make it concrete and adversarial.
Confidentiality is the property that information is disclosed only to those authorized to see it. When you encrypt a database, restrict a file share, or require a login, you are usually serving confidentiality. The attacker's move against it is disclosure: stealing customer records, intercepting traffic, reading a document they should not. At Meridian, customer personally identifiable information (PII) and cardholder data are primarily confidentiality assets — the harm of a breach is that secrets become public, with regulatory and trust consequences under the GLBA Safeguards Rule and state breach-notification laws. Controls that serve confidentiality include encryption (Chapters 4 and 5), access control (Chapter 17), and authentication (Chapter 16).
Integrity is the property that information and systems are accurate, complete, and unaltered except by authorized parties — and, just as important, that you can tell whether they have been altered. The attacker's move against it is tampering: silently changing an account balance, altering a log to hide their tracks, modifying a software update so it carries malware. For Meridian's core-banking ledger, integrity is the property that matters most. A confidentiality breach of the ledger is bad; an integrity breach — an attacker who quietly adds a zero to an account, or changes the destination of a wire — can be catastrophic and, worse, may go undetected, because the system reports the corrupted data as if it were true. Hashing and digital signatures (Chapter 4), change control, and tamper-evident logging serve integrity.
Availability is the property that systems and data are accessible to authorized users when they need them. The attacker's move against it is denial: ransomware that encrypts files, a distributed denial-of-service (DDoS) flood that overwhelms a server (Chapter 6), the deletion of backups, or simply cutting power. Availability is where new defenders most often go wrong. They file it mentally under "IT operations — uptime, somebody else's problem," and treat confidentiality as the only "real" security concern. The hospital story is the correction. For a bank that cannot process transactions, a hospital that cannot reach patient records, or a utility that cannot run a treatment plant, an availability failure is not a lesser incident — it can be the worst one of all. Redundancy, backups, DDoS defenses, and the entire discipline of incident recovery (Chapter 24) serve availability.
🚪 Threshold Concept: Security is not one goal but three, and they are in tension. The most confidential system imaginable — data encrypted, access denied to everyone — has zero availability and is therefore useless. The most available system imaginable — open to all, no controls — has zero confidentiality. Real security is never "maximize protection"; it is balance the triad against the actual risk to this specific asset. Once you see every control as a trade among C, I, and A rather than as "more security" or "less security," you have started thinking like an engineer instead of a shopper.
Here is the triad as a single picture, because you will reach for it constantly:
┌──────────────────────────────┐
│ INFORMATION SECURITY │
│ (the CIA triad) │
└──────────────────────────────┘
│
┌───────────────────────┼───────────────────────┐
▼ ▼ ▼
CONFIDENTIALITY INTEGRITY AVAILABILITY
"only the right "accurate & "reachable when
people can read it" unaltered" needed"
│ │ │
attacked by: attacked by: attacked by:
disclosure / tampering / denial /
data theft fraud, forgery ransomware, DDoS
│ │ │
protected by: protected by: protected by:
encryption, hashing, digital backups, redundancy,
access control, signatures, change DoS defense,
authentication control, audit logs recovery planning
Every asset emphasizes a DIFFERENT corner. Ask, per asset: which leg matters most here?
Figure 3.1 — The CIA triad. Each leg is attacked differently and protected differently. The skill is not to maximize all three but to know which one a given asset depends on most.
The practical habit is this: for every asset and every control, name the leg. When you evaluate a proposed control, ask which property does this serve? Full-disk encryption is a powerful confidentiality control and does precisely nothing for availability — if the disk fails, the encrypted data is just as gone as unencrypted data would be; that is what backups are for. A control that improves one leg sometimes weakens another: aggressive availability measures (more redundancy, more access paths) can widen the attack surface and erode confidentiality; aggressive confidentiality (lock everything, verify everyone, deny by default) can impede the legitimate access that is availability. There is no free lunch and no single dial labeled "security." There is only the triad, weighed against risk.
🛡️ Defender's Lens: When you triage any alert or design any system, run the triad as a three-question checklist. Could this let an attacker read something they shouldn't (C)? Change something they shouldn't (I)? Or deny access to something legitimate users need (A)? The classification is not academic — it tells you what to look at. A suspected confidentiality breach sends you to your data-loss and access logs; a suspected integrity attack sends you to file hashes, change records, and backups for comparison; an availability event sends you to your monitoring and your recovery plan. The triad turns "something's wrong" into "here is specifically what to check."
🔄 Check Your Understanding: 1. For each Meridian asset, name the CIA leg that matters most and why: (a) the core-banking ledger; (b) the customer PII database; (c) the online-banking website during business hours. 2. A ransomware attack encrypts files but neither reads nor changes their contents. Which leg of the triad does it primarily attack, and why is that often more damaging than the theft of the same data?
Answers
- (a) Integrity — a silently altered balance is catastrophic and may go undetected (availability is a close second). (b) Confidentiality — the harm is disclosure of secrets, with regulatory consequences. (c) Availability — customers must be able to reach it; downtime is highly visible and directly costs trust and transactions. 2. Availability: the data still exists and was never disclosed, but no one can use it. For an organization whose operations halt without that data (a hospital, a bank), being unable to operate is often worse than the data being read.
3.2 AAA and non-repudiation: proving who did what
The CIA triad tells you what to protect. It does not, by itself, tell you how to control who gets to do what, or how to prove afterward who actually did it. For that, the field adds a second set of properties, usually grouped as AAA — authentication, authorization, and accounting — plus a fourth idea, non-repudiation, that builds on them. These are the properties that make a system accountable, and accountability is what turns a pile of access into something you can govern, audit, and investigate.
Begin, as always, with the failure they prevent. Imagine a wire transfer leaves Meridian for an account that turns out to be fraudulent. The investigation asks three questions, and a healthy system can answer all three. Who initiated it? (authentication). Were they allowed to? (authorization). What exactly happened, and can we reconstruct it? (accounting). And a fourth, which decides whether the bank can act on the answer: can the person credibly deny it was them? (non-repudiation). A system that cannot answer these is not just insecure; it is ungovernable. You cannot enforce a rule you cannot attribute, and you cannot investigate an action you did not record.
Authentication is the process of verifying that an entity is who or what it claims to be — proving identity before granting any access. A username claims an identity; a password, a security key, or a fingerprint is the proof of that claim. The attacker's move is impersonation: stealing or guessing credentials to masquerade as a legitimate user, exactly as the Meridian phisher tried. Chapter 16 is devoted to authentication — factors, multi-factor authentication, and the phishing-resistant methods that defeated the attack in Chapter 1.
Authorization is the process of determining what an authenticated entity is permitted to do — which resources it may reach and which actions it may take. Authentication asks who are you?; authorization asks what are you allowed to do? These are different questions and different mechanisms, and conflating them is a classic mistake: a system can correctly authenticate a user and then catastrophically over-authorize them, handing a verified teller the keys to the entire core system. The attacker's move is privilege escalation: turning a low-privilege foothold into high-privilege access. Chapter 17 builds out authorization — the access-control models (RBAC, ABAC) and how to apply least privilege at scale.
Accounting (sometimes called auditing or accountability) is the process of recording what entities actually do — the logs, audit trails, and records of access and activity. If authentication is the lock and authorization is the rule about who may pass, accounting is the camera that records everyone who came through. The attacker's move against it is log tampering or anti-forensics: deleting or altering records to hide their tracks, which is itself an integrity attack on your audit trail. Accounting is the foundation of the entire Security Operations part of this book; without it, detection (Part V) is impossible, because you cannot find what you never recorded.
🔗 Connection: Notice how AAA threads back into the CIA triad rather than replacing it. Authentication and authorization are the machinery that enforce confidentiality and integrity (they decide who may read and who may change). Accounting produces the audit logs whose own integrity you must then protect — which is why Chapter 21 (SIEM) treats log integrity and retention as first-class concerns, and why "logs are the ground truth" becomes a refrain in Part V. The principles are not a flat list; they reinforce one another.
That leaves the fourth property. Non-repudiation is the property that an actor cannot credibly deny having performed an action, because there is strong, attributable evidence that ties the action to them. It is more than logging. A log entry that says "user mreyes approved this wire" proves little if ten administrators share that account, or if the log could have been forged. True non-repudiation requires that the action be bound to an individual by something only that individual could produce — a digital signature made with a private key only they hold (Chapter 4), a transaction approved through a uniquely held second factor, a tamper-evident record. The attacker's interest here is the inverse: to act in a way that can be repudiated — to operate through a shared account, or to leave evidence ambiguous enough that no specific person can be held responsible. For a bank, non-repudiation is not optional. When a transfer is disputed, the institution must be able to demonstrate, to a regulator or a court, exactly who authorized it and that they cannot plausibly deny it.
⚠️ Common Pitfall: Treating logging as if it were non-repudiation. A team enables verbose logging, sees that every action is recorded, and concludes they have accountability. But if those actions flow through shared accounts — a
svc_adminthat three engineers use, a genericteller01login at a branch — the logs faithfully record that the action happened while destroying who did it. The single most common way organizations lose non-repudiation is shared credentials. Every privileged action must be attributable to a named human (Chapter 19 makes this concrete for privileged access), or your beautiful audit trail proves nothing about responsibility.
A worked example ties AAA and non-repudiation together. Consider a $2 million wire transfer at Meridian:
Step AAA / property What enforces it Attacker's goal
---------------- -------------------- -------------------------------- --------------------
1. Officer logs AUTHENTICATION FIDO2 security key + password steal credentials
in (proves identity) (impersonation)
2. Officer can AUTHORIZATION Role allows initiating, NOT escalate to a role
initiate the approving, wires (RBAC) that can do both
wire, not (privilege escalation)
approve it
3. A SECOND AUTHORIZATION + Separate approver role; the compromise one
officer separation of duties approval is a distinct grant person and act alone
approves
4. Every step is ACCOUNTING Append-only audit log to the delete/alter the log
recorded SIEM (Chapter 21) (anti-forensics)
5. Each approval NON-REPUDIATION Each approval bound to that use a shared account
is bound to a person's unique key / 2FA so no one is on the
named human hook
Notice that no single property carries the load. Authentication alone would let one compromised account move the money. Authorization without separation of duties would let one role do everything. Accounting without non-repudiation would record a shared account and prove nothing. It is the combination — and specifically the separation we turn to in §3.4 — that makes the transfer trustworthy. That is the first lesson of the principles: they are designed to be layered, each covering for the others' gaps.
🔄 Check Your Understanding: 1. Distinguish authentication from authorization in one sentence each, and give an example of a system that gets the first right but the second catastrophically wrong. 2. Why is verbose logging not the same as non-repudiation? Name the single most common cause of the gap.
Answers
- Authentication verifies who you are; authorization determines what you are allowed to do. Example: a system correctly verifies a teller's identity (good authentication) but grants every authenticated user full administrative rights (broken authorization). 2. Logging records that an action happened but not always who is provably responsible; the most common cause of the gap is shared accounts, which let real individuals hide inside a generic identity.
3.3 Control taxonomy: type × function
We have been using the word control since Chapter 1 — any measure that reduces risk by breaking the risk chain. Now we organize controls, because "we have lots of security controls" is as useless a statement as "we have lots of vulnerabilities." A mature defender classifies every control along two independent axes at once, and the resulting grid is one of the most practical tools in the book: it reveals, at a glance, where a defense is thin.
Control types describe controls along two dimensions. The first axis is the control's function — what it does in the timeline of an attack:
- A preventive control stops an undesirable event before it happens. A firewall that blocks a connection, a password requirement, encryption, a locked door — these aim to make the bad thing impossible in the first place. Preventive controls are where instinct sends most of the budget, and they are necessary but never sufficient, because (Theme 4) every one of them eventually fails.
- A detective control identifies that an undesirable event is happening or has happened. An intrusion-detection system, a SIEM alert, audit-log review, a smoke detector, a security camera — these do not stop the event; they make it visible. Detective controls are the ones organizations chronically underinvest in, and the assume-breach mindset (§3.5) exists precisely to correct that bias.
- A corrective control restores the system after an undesirable event, limiting the damage. Restoring from backup, failing over to a redundant system, isolating an infected host, a fire-suppression system — these are how you recover. Incident response (Chapter 24) is, in this taxonomy, the discipline of corrective controls.
- A compensating control is an alternative that satisfies the intent of a primary control you cannot implement directly. If you cannot patch a legacy system (the primary control), you might isolate it on its own network segment and monitor it heavily (the compensating control) — not as good, but it achieves the spirit of the requirement. Compensating controls are central to compliance: PCI-DSS, for instance, explicitly allows them when a stated requirement is genuinely infeasible, provided the alternative meets the same objective.
🔗 Connection: Two related functions are worth naming, because exams and frameworks use them. A deterrent control discourages an attacker from trying (a visible camera, a warning banner, the threat of prosecution) — it works on intent, not capability. A directive control instructs people what to do (a policy, a sign, a procedure). Different sources slice these slightly differently, but the four that carry the most weight in practice — and the four you will use constantly — are preventive, detective, corrective, and compensating. When a framework lists "deterrent" and "directive" separately, treat them as relatives of preventive and administrative respectively.
The second axis is the control's nature — how it is implemented:
- Administrative (also called managerial) controls are policies, procedures, standards, training, and the human-governance layer. A clean-desk policy, an access-review process, security-awareness training, a hiring background check — these govern how people behave. They are often the cheapest controls and the easiest to write and the hardest to actually enforce.
- Technical (also called logical) controls are implemented in hardware and software: firewalls, encryption, access-control lists, multi-factor authentication, antivirus, the SIEM. These are what most people picture when they hear "security control."
- Physical controls are the tangible barriers that protect facilities and hardware: locks, fences, badge readers, security guards, server-room access controls, cameras as physical devices. It is easy to forget physical security in a cloud-obsessed era, but a server an attacker can walk up to and a laptop an attacker can pocket are still defeated by physical means.
These two axes are independent, which is the whole point — any control has both a function and a nature. A locked server-room door is preventive (it stops entry) and physical (it is a tangible barrier). Security-awareness training is preventive (it stops the click before it happens) and administrative (it is a human-governance measure). A SIEM alert is detective and technical. A background check is preventive and administrative. Restoring from backup is corrective and technical. The grid forces you to hold both ideas at once, and it is genuinely how auditors and frameworks (NIST SP 800-53, ISO 27002, CIS Controls) organize their catalogs.
Here is the matrix that this chapter's bluekit increment will encode in software:
│ ADMINISTRATIVE │ TECHNICAL │ PHYSICAL
│ (policy / people) │ (hardware / software) │ (tangible barriers)
────────────────────┼────────────────────────┼─────────────────────────┼──────────────────────
PREVENTIVE │ security-awareness │ firewall, MFA, │ locked door, fence,
(stop it) │ training; hiring │ encryption, access │ badge reader, guard
│ background check │ control list (ACL) │
────────────────────┼────────────────────────┼─────────────────────────┼──────────────────────
DETECTIVE │ log-review procedure; │ IDS/IPS, SIEM alert, │ security camera,
(see it) │ mandatory access │ file-integrity │ motion sensor,
│ review │ monitoring │ intrusion alarm
────────────────────┼────────────────────────┼─────────────────────────┼──────────────────────
CORRECTIVE │ incident-response │ restore from backup, │ fire suppression,
(fix it) │ plan; disciplinary │ failover, quarantine │ backup generator
│ process │ an infected host │
────────────────────┼────────────────────────┼─────────────────────────┼──────────────────────
COMPENSATING │ manual sign-off where │ network isolation + │ extra guard where a
(alternative that │ an automated check │ monitoring for an │ broken lock can't be
meets the intent) │ isn't possible │ unpatchable system │ replaced yet
Figure 3.2 — The control matrix: function (rows) × nature (columns). Every control occupies one cell. A defense with full preventive and technical cells but empty detective and administrative ones is the classic shape of a breach waiting to happen.
The reason to bother with this grid is gap analysis. Lay your real controls onto it and the holes light up. The most common pattern in immature programs is a column-and-row imbalance: lots of preventive technical controls (firewalls, antivirus, encryption — the things vendors sell) and almost nothing in the detective row or the administrative column. That organization has spent its money trying to keep attackers out and has no way to see the ones who get in (Theme 4 says some will), and no policies or training to govern the humans who are its real attack surface (Theme 3). The grid makes that imbalance impossible to ignore, which is exactly why this is the structure Meridian's program will use to organize its own control framework in this chapter's Project Checkpoint.
🛡️ Defender's Lens: When you read about any breach — in this book, in the news, in your own organization's post-incident reviews — classify the controls that failed and the ones that were simply absent. You will find a recurring story: the preventive control failed (it always eventually will), and there was no detective control behind it, so the intrusion ran undetected for weeks or months. The single highest-leverage question after a prevention failure is rarely "how do we make prevention perfect?" (you can't). It is "why did no detective control catch it, and what corrective control limited the blast radius?" Defense in depth, §3.5, is the systematic answer.
🔄 Check Your Understanding: 1. Classify each control on both axes (function and nature): (a) a firewall rule blocking inbound traffic; (b) quarterly user-access reviews; (c) a CCTV camera in the data center; (d) restoring a database from backup after ransomware; (e) isolating and monitoring an unpatchable legacy server. 2. An organization's controls are overwhelmingly preventive and technical. Using Theme 4, explain the specific risk this imbalance creates and name the kind of control most likely missing.
Answers
- (a) preventive, technical; (b) detective, administrative; (c) detective, physical; (d) corrective, technical; (e) compensating, technical (with a detective element). 2. Because every preventive control eventually fails (assume breach), an organization with no detective controls will not see the intrusions that get through, allowing an attacker long, unobserved dwell time; the missing controls are detective (and likely corrective) ones — the ability to notice and recover.
3.4 Least privilege and separation of duties
Now we move from classifying controls to two principles that decide how much access anyone — or anything — should have. They are the most consequential and most violated principles in all of security, and they trace back to a single 1975 paper by Jerome Saltzer and Michael Schroeder that named the design principles the field still runs on. Two of them are our subject here; a third, fail-safe defaults, follows in this section.
Start with the failure. An attacker phishes one Meridian employee — say, someone in marketing whose job has nothing to do with the core banking system. In a well-designed environment, that compromise is a nuisance: the attacker has access to marketing's files and little else, and there is nowhere obvious to go next. In a badly designed one, that same marketing account turns out to be a local administrator on its machine, a member of an over-broad "All Staff" group with read access to shared drives full of sensitive documents, and — because someone needed a quick fix two years ago and never undid it — a member of a domain group that can reach a production server. One phished marketer becomes a path to the crown jewels. The difference between those two outcomes is least privilege, and it is the single most effective limiter of blast radius in security.
Least privilege is the principle that every user, process, and system should have exactly the access required to perform its function — and no more. Not the access that is convenient, not the access "just in case," not the access someone had in a previous role and kept. The minimum necessary, and nothing beyond it. The principle applies to humans (a teller can do teller things, not administrator things), to software (a web server process runs as a low-privilege account that can serve pages but not read the password file), and to machine identities (a service account that backs up a database can read it and write to backup storage — nothing else). The attacker's relationship to least privilege is simple and total: every privilege you grant is a privilege an attacker inherits the moment they compromise that identity. An over-privileged account is not a convenience with a small security cost; it is a pre-staged escalation path you built for the attacker yourself.
The enemy of least privilege over time is privilege creep — the slow accumulation of access rights as people change roles, cover for colleagues, and get one-off grants that are never revoked. Nobody decides to over-privilege the marketer; it happens by a hundred small, reasonable-at-the-time additions, none of which is ever subtracted. This is why least privilege is not a one-time configuration but an ongoing process requiring periodic access reviews (Chapter 18) — a detective-administrative control that catches the creep the grants created. We will apply least privilege concretely to access-control models in Chapter 17 and to privileged accounts in Chapter 19; here it is the principle itself.
🛡️ Defender's Lens: Least privilege is what converts a catastrophe into an incident. When you read an attack write-up, watch for the phrase "the attacker used the compromised account to access..." and ask: why could that account reach that? Almost every large breach includes a step where over-broad access let an attacker move from their initial foothold to something far more valuable — lateral movement and privilege escalation that least privilege is specifically designed to deny. In your telemetry, the detective complement is watching for accounts using privileges they have but never normally exercise: the marketing account that suddenly authenticates to a production server is a high-fidelity signal precisely because least privilege made that action abnormal.
The second principle handles a different danger: not too much access on one identity, but too much power concentrated in one person. Separation of duties (often segregation of duties, abbreviated SoD) is the principle that a single individual should not be able to complete a high-risk transaction alone — the critical steps are split among two or more people so that fraud or error requires collusion. The classic banking example is the one from §3.2: the officer who initiates a wire transfer cannot also approve it; a second, separate person must approve. Neither can move the money alone. This is not a statement of distrust in any individual; it is a structural control that makes a whole class of attack — a single malicious or compromised insider acting alone — impossible by design, while also catching honest mistakes before they execute.
Separation of duties defends against threats that least privilege cannot, because the danger is not excess access but unchecked authority over a complete sensitive process. Even a correctly least-privileged user who is authorized for every step of wire transfers is dangerous if they can do all the steps alone, whether because they turn malicious, are coerced, or simply make a costly error. Splitting the process means an attacker must now compromise (or corrupt) two people in different roles — a dramatically higher bar. The related idea of dual control (two people required to perform one action — the two-key launch) and mandatory job rotation (periodically moving people through roles so long-running fraud is harder to sustain and hide) are members of the same family.
⚠️ Common Pitfall: Designing separation of duties on paper and then handing one person both roles "temporarily" — or granting an administrator a super-account that can perform every step, silently defeating the split you carefully designed. Separation of duties is only as real as its weakest exception. The most common failure is an over-powerful administrative role (a domain admin, a database superuser, a cloud root account) that can do anything, which by definition can do every step of every sensitive process alone. This is exactly why privileged accounts get their own chapter (Chapter 19): the people and accounts that can bypass your separations are the ones an attacker most wants, and the ones you must most tightly control, monitor, and split.
A worked contrast makes the division of labor between the two principles clear:
Scenario: an attacker phishes ONE Meridian back-office employee and wants to move money.
WITHOUT least privilege:
Compromised account is over-privileged -> attacker reaches the wire system at all.
(Least privilege would have denied this: the account had no business there.)
WITH least privilege but WITHOUT separation of duties:
The (correctly scoped) wire-clerk account CAN initiate AND approve wires alone.
One compromise = money moved. Least privilege limited WHERE the attacker could go,
but not the DAMAGE once inside an authorized role.
WITH least privilege AND separation of duties:
Compromised wire clerk can initiate a wire -> but a SEPARATE approver (a different
human, a different credential) must approve. The attacker now needs TWO people in
TWO roles. The single compromise is contained to a failed attempt -> an ALERT.
Principle map:
Least privilege -> controls HOW FAR a single compromised identity reaches.
Separation of duties -> controls WHETHER one identity can complete a whole process.
Together -> a single compromise becomes a near-miss, not a breach.
The third principle in this cluster governs what happens when something fails or is undefined. Fail-safe default (also called fail-secure, and closely tied to "default deny") is the principle that, when a system fails or when no explicit permission exists, it should default to the secure state — denied, locked, closed — rather than the permissive state — allowed, open, granted. Access decisions should be based on explicit permission, not explicit denial: the absence of a rule means no, not yes. A firewall configured to deny all traffic except what is explicitly allowed (default-deny, the foundation of Chapter 7's rule-writing) is fail-safe. A door lock that stays locked when the power fails is fail-secure. The opposite — fail-open — grants access when a control breaks, and while it is sometimes the right choice for safety (a building's emergency exits must fail open so people are not trapped in a fire), it is a dangerous default for information security, because every failure becomes an opening.
🔗 Connection: Fail-safe defaults reveal a genuine tension between security and safety that you will meet again in operational-technology and physical security. Information systems should usually fail closed (a broken authentication service should deny access, not grant it). But systems where human life is at stake — a fire door, an industrial safety interlock — must often fail open or fail to a safe physical state so a control failure does not become a fatality. The principle is not "always deny on failure"; it is "fail to the state that is safe for this specific system," and deciding which that is requires understanding what the system protects. We return to exactly this trade in Chapter 33 (operational technology), where availability and physical safety, not confidentiality, lead the triad.
🔄 Check Your Understanding: 1. A marketing employee's account is found to have administrative rights on a production database server. Which principle is violated, what is the specific risk, and what process would have caught it? 2. Meridian requires that no one person can both create a new vendor and approve a payment to it. Which principle is this, what class of attack does it stop, and why does an over-powerful admin account threaten it? 3. A web application, when its authorization service is unreachable, currently allows the request through "so users aren't blocked." Name the principle being violated and the safer behavior.
Answers
- Least privilege; the risk is that compromising a low-value marketing account hands an attacker high-value database access (a pre-built escalation path); periodic access reviews (Chapter 18) would have caught the unnecessary grant. 2. Separation of duties; it stops a single insider — malicious, coerced, or compromised — from committing fraud alone (here, paying a fake vendor); an over-powerful admin account can perform both steps, silently defeating the separation. 3. Fail-safe default (the system is failing open); the safer behavior is to deny the request when the authorization decision cannot be made — fail closed.
3.5 Defense in depth and "assume breach"
We now arrive at the principle that organizes the entire architecture of a security program — the one that the offense/defense asymmetry from Chapter 1 makes mandatory rather than optional. Recall that asymmetry: attackers need to be right once; defenders need to be right every time. If a single control were your whole defense, then a single failure of that control — and every control eventually fails — would be a breach. The only sane response is to build so that no single failure is fatal.
Defense in depth is the principle of layering multiple, independent controls so that the failure or bypass of any one of them does not result in a successful attack. It is the deliberate engineering of redundancy into a defense: each layer is designed as if the layer in front of it has already been breached. The phrase comes from military strategy — defenders do not stake everything on a single wall, because a single wall has a single point of failure; they build successive lines so that breaching the first only brings the attacker to the second. In security, the layers are heterogeneous on purpose: a perimeter firewall, then network segmentation, then host hardening, then strong authentication, then least-privilege authorization, then encryption of the data itself, then detection watching all of it, then a tested recovery capability behind everything. An attacker must defeat every relevant layer to reach the asset; the defender must merely ensure that some layer holds, or that detection fires before the last one falls.
The mindset that justifies this is assume breach: the working assumption that an attacker either will get in or is already inside, so you design and operate as though prevention has failed. This is not pessimism and it is not defeatism — it is the engineering posture that follows directly from accepting that perfect prevention is impossible. An assume-breach defender does not ask only "how do I keep them out?" but also, and with equal seriousness, "when they get in, how do I limit what they can reach (least privilege, segmentation), how do I detect them quickly (the detective controls of §3.3), and how do I evict them and recover (corrective controls, incident response)?" Assume breach is why detection and response are co-equal with prevention throughout this book, and it is the philosophical core of the zero-trust principle in §3.6.
🚪 Threshold Concept: Defense in depth is not "more security is better." It is the specific discipline of building each layer on the assumption that the one before it has already failed. This single reframing changes how you design everything. You stop asking "is this control good enough to stop attackers?" (no single control is) and start asking "when this control fails — not if — what is the next thing that catches or contains the attacker?" A defender who thinks this way builds segmentation behind the firewall, monitoring behind the segmentation, and a recovery plan behind it all. A defender who does not builds a single magnificent wall and is genuinely surprised when someone goes around it.
Two cautions keep defense in depth honest. The first is independence. Layers only add real protection if they fail independently — if defeating one does not automatically defeat the others. Three firewalls from the same vendor with the same misconfiguration are not three layers; they are one layer drawn three times, and a single flaw bypasses all of it. Genuine depth means diversity: different control types (preventive, detective, corrective), different natures (administrative, technical, physical), and ideally different technologies, so that one vulnerability or one mistake does not cascade through every layer at once. The second caution is that layers must not be purely preventive. A stack of seven preventive controls with no detective layer is deep but blind: if an attacker quietly defeats all seven, no alarm ever sounds. Real defense in depth interleaves detection between the preventive layers, so that even a successful bypass generates evidence. The richest layer of all is the one that assumes every preventive layer failed and still catches the attacker by watching what they do.
Let us make the Meridian phishing near-miss from Chapter 1 concrete as a defense-in-depth diagram — because that incident is, precisely, a story of layers, and now you have the vocabulary to read it that way:
ATTACKER (phishing email with a credential-harvesting link)
│
▼
┌─────────────────────────────────────────────────────────────┐
│ LAYER 1 Secure email gateway (PREVENTIVE / technical) │ <- FAILED: clean new
│ filters known-bad senders & malware │ domain, link-only
└─────────────────────────────────────────────────────────────┘
│ (email delivered)
▼
┌─────────────────────────────────────────────────────────────┐
│ LAYER 2 Security-awareness training (PREVENTIVE / admin.) │ <- PARTLY HELD: 9 ignored,
│ teaches staff to recognize phishing │ 1 reported, 1 clicked
└─────────────────────────────────────────────────────────────┘
│ (one user clicked and entered credentials)
▼
┌─────────────────────────────────────────────────────────────┐
│ LAYER 3 Phishing-resistant MFA / FIDO2 key │ <- HELD: attacker had the
│ (PREVENTIVE / technical) — proof bound to real site │ password, not the key
└─────────────────────────────────────────────────────────────┘
│ (login fails; attacker gives up) ┌──────────────────────────────┐
▼ │ LAYER 4 (parallel, DETECTIVE):│
ATTACK CONTAINED -> a NEAR-MISS, not a breach │ reported email -> SOC alert │
│ -> Theo finds the failed │
│ logins in the logs │
└──────────────────────────────┘
Lesson: Layer 1 failed and Layer 2 partly failed -- and the bank was FINE,
because Layer 3 held AND Layer 4 saw it. That is defense in depth: designed
so that an attack PLUS a human mistake still does not equal a breach.
Figure 3.3 — The Meridian near-miss as defense in depth. No single layer was perfect; two failed outright. The outcome was a near-miss rather than a breach because an independent layer held and a detective layer made the whole thing visible. This is the threshold concept from Chapter 1, now drawn as architecture.
This is why, when Dana Okafor briefs the board, she does not say "our email filter failed." She says "our defense worked the way layered defense is supposed to: a control failed, as controls do, and the layers behind it held and saw it." That is the mature framing, and it is only available to someone who thinks in layers. A program that staked everything on the email gateway would have been breached the moment that gateway let one clean-looking email through — which, at internet scale and internet speed (Chapter 1), is a certainty, not a risk.
📟 War Story: A constructed but representative composite. A mid-size firm invested heavily in a best-in-class endpoint-detection product and considered itself well defended. An attacker gained initial access through a contractor's reused password — no malware for the endpoint tool to catch — and then operated using legitimate built-in administrative tools the product was tuned not to flag. Because the organization had poured its budget into a single sophisticated layer and skimped on network segmentation, privileged-access controls, and log review, the attacker moved freely for weeks. The endpoint product was excellent. It was also a single wall, and the attacker simply walked around it. The lesson is not that the tool was bad; it is that depth, not the quality of any one layer, is what survives a real intrusion. One magnificent control is still one control.
🔄 Check Your Understanding: 1. In the Meridian near-miss, two layers failed and the bank was fine. Which layers failed, which held, and what does this illustrate about how defense in depth is supposed to work? 2. Why are "three firewalls from the same vendor with the same configuration" not really three layers of defense? What property of true defense in depth is missing? 3. Restate the "assume breach" mindset in one sentence, and name two things it makes a defender invest in beyond prevention.
Answers
- The email gateway failed (clean domain) and awareness partly failed (one user clicked); the phishing-resistant MFA held and the detective layer (the reported email and log review) made it visible. It illustrates that layers are designed assuming the one before fails, so an attack plus a mistake still does not equal a breach. 2. They fail dependently — a single shared flaw or misconfiguration bypasses all three at once — so they are effectively one layer; the missing property is independence (diversity of technology, type, and nature). 3. Assume an attacker will get in or already has, and design accordingly; beyond prevention it makes a defender invest in detection (to find the intruder quickly) and corrective controls / response (to contain, evict, and recover) — and in least privilege and segmentation to limit blast radius.
3.6 Zero trust in one principle
The last principle is the newest and the most misunderstood, largely because it has been turned into a marketing slogan stamped on products that do not deliver it. We will cut through that by reducing it to its actual core — a single principle that follows naturally from everything in this chapter — and deliberately not attempting its full architecture, which is the entire subject of Chapter 32.
Start with the failure of the idea zero trust replaces. For decades, security was built on the perimeter model: a hard outer shell — firewalls, a defended boundary — surrounding a soft, trusted interior. The implicit assumption was that anything inside the network was trustworthy and anything outside was suspect. This worked tolerably when "inside" meant a building full of company-owned computers on a private network. It does not work now, and Chapter 1 told you why: the perimeter has dissolved. Employees work from home and coffee shops; applications live in AWS and Microsoft 365, not the data center; partners and contractors connect from everywhere; and — fatally — once an attacker breaches the shell (a phished credential, a compromised laptop, a malicious insider), the soft trusted interior offers no further resistance. The perimeter model is a castle whose defenses all point outward, so that an intruder who gets over the wall has the run of the keep. The breaches in this book's anchor cases — SolarWinds, where trusted software carried the attacker inside; ransomware crews who phish one user and then move laterally through a flat trusted network — are all, in part, failures of implicit interior trust.
Zero trust is the principle that no user, device, or network location is trusted implicitly — every access request is verified explicitly, continuously, regardless of where it originates. Its slogan, which for once is accurate, is "never trust, always verify." It replaces "trusted inside / untrusted outside" with "trust nothing by default; verify every request on its own merits, every time." Being inside the corporate network is no longer a credential. Each request to reach a resource is evaluated afresh against identity (who is asking, proven by strong authentication), device posture (is the device known and healthy), and context (is this normal for this user, from this place, at this time) — and granted only the minimum access needed, only for as long as needed. You will notice that this is not a new idea bolted onto the others; it is the synthesis of the principles you already have. Zero trust is least privilege (§3.4) applied per-request, plus fail-safe default (deny unless explicitly verified), plus assume breach (§3.5) taken to its logical end — assume the network itself is hostile, including the part you used to call inside.
🔗 Connection: Zero trust is the principle; the zero-trust architecture (ZTA) is the engineering that implements it, and that is Chapter 32's job, built on the formal tenets of NIST Special Publication 800-207. There you will meet the policy decision point and policy enforcement point (the machinery that evaluates and enforces every request), microsegmentation, continuous verification, and a realistic migration roadmap for Meridian. The division of labor is deliberate: this chapter gives you the mindset so that the principles of Part I are complete; Chapter 32 gives you the blueprint once you have the identity (Chapter 16), authorization (Chapter 17), and network (Chapters 6–7) foundations it depends on. Do not try to build zero trust from this section alone — understand it here, build it there.
The crucial thing to take away now, before the architecture, is what zero trust does not mean. It does not mean "buy a zero-trust product"; no product delivers it, because it is a posture, not a purchase (Theme 1 again — security is a process, not a product). It does not mean "distrust your employees" in any human sense; it means the system stops granting trust based on network location and starts granting access based on verified, contextual, minimal need. And it does not make the earlier principles obsolete — it is built out of them. A defender who has truly internalized least privilege, fail-safe defaults, defense in depth, and assume breach has already adopted the zero-trust mindset; the architecture is just the disciplined, continuous, automated application of that mindset to every request in a post-perimeter world.
⚠️ Common Pitfall: Believing that deploying a single "zero-trust" tool — a particular VPN replacement, say — means you have "done zero trust." Zero trust is not a checkbox or a SKU. An organization that buys a zero-trust network-access gateway but still runs a flat internal network, grants standing administrative rights, and trusts any device that authenticates once has bought a label, not a posture. Zero trust is achieved incrementally, across identity, devices, network, and data, by relentlessly removing implicit trust wherever it hides. Treat any vendor claim of "zero trust in a box" as a sign to ask harder questions, not relax.
🔄 Check Your Understanding: 1. State the zero-trust principle in one sentence, and explain why the dissolving perimeter (Chapter 1) makes the old "trusted inside / untrusted outside" model dangerous. 2. Zero trust is described in this section as a synthesis of earlier principles. Name two principles from this chapter that it combines, and how.
Answers
- No user, device, or network location is trusted implicitly — every request is verified explicitly and continuously ("never trust, always verify"). The old model is dangerous because once the perimeter is breached (phished credential, compromised device, insider), the trusted interior offers no further resistance, and the perimeter has dissolved anyway with cloud and remote work. 2. It combines least privilege (grant only minimal access, per request) with assume breach / fail-safe default (treat the network as hostile and deny unless explicitly verified) — applying both continuously to every access request.
Project Checkpoint
Throughout the book you build two things for Meridian, one increment per chapter: a security program (the document a CISO presents to a board) and bluekit, a small Python toolkit a working defender can actually use. Chapter 1 started both with an asset inventory and riskcalc.py; Chapter 2 added a threat model. This chapter gives the program its skeleton and the toolkit its classifier.
Program increment — the control framework skeleton. With assets known (Chapter 1) and threats modeled (Chapter 2), Meridian now needs the structure into which every future control will be slotted: a control framework. Dana's instruction to Sam Whitfield is to build the scaffold, not yet fill it — "I want every control we ever add to have a home and a label, so that when an auditor or the board asks 'how are we covered against X?', we can answer with a map, not a shrug." Sam lays out the control matrix from §3.3 (function × nature) as the organizing grid, and — looking ahead to compliance (Chapter 28) — notes that each cell will eventually map to entries in a recognized catalog (NIST SP 800-53, CIS Controls, ISO 27002). He also records, as the framework's first worked entry, the controls that turned the Chapter 1 phishing attempt into a near-miss, classified on both axes: the secure email gateway (preventive/technical), security-awareness training (preventive/administrative), the FIDO2 key (preventive/technical), and SOC log review (detective/technical) — plus the gap the incident exposed, that the detective layer was thinner than the preventive one. That single classified incident is the seed of the whole framework. The template lives in Appendix I and grows every chapter until Chapter 38 assembles it.
bluekit increment — controls.py. We turn §3.3's matrix into the toolkit's classifier, so that as the team catalogs controls, each can be tagged consistently. As everywhere in this book, the code is illustrative and is never executed during authoring — the expected output is hand-traced in a comment.
# bluekit/controls.py — Chapter 3 increment
"""Classify a security control on two axes: FUNCTION x NATURE (sec 3.3).
function: preventive | detective | corrective | compensating
nature: administrative | technical | physical
Keeps Meridian's control framework consistently labelled so gaps are visible.
Illustrative only; not executed at authoring (expected output is hand-traced).
"""
FUNCTIONS = {"preventive", "detective", "corrective", "compensating"}
NATURES = {"administrative", "technical", "physical"}
def classify(control: dict) -> tuple[str, str]:
"""Return (function, nature) for a control dict; validate both axes."""
function = control.get("function", "").lower()
nature = control.get("nature", "").lower()
if function not in FUNCTIONS:
raise ValueError(f"function must be one of {sorted(FUNCTIONS)}, got {function!r}")
if nature not in NATURES:
raise ValueError(f"nature must be one of {sorted(NATURES)}, got {nature!r}")
return (function, nature)
if __name__ == "__main__":
framework = [
{"name": "Secure email gateway", "function": "preventive", "nature": "technical"},
{"name": "Security-awareness training", "function": "preventive", "nature": "administrative"},
{"name": "FIDO2 security key (MFA)", "function": "preventive", "nature": "technical"},
{"name": "SOC log review", "function": "detective", "nature": "technical"},
{"name": "Restore from backup", "function": "corrective", "nature": "technical"},
]
for c in framework:
fn, nat = classify(c)
print(f"{c['name']:30s} -> {fn:12s} / {nat}")
# Expected output:
# Secure email gateway -> preventive / technical
# Security-awareness training -> preventive / administrative
# FIDO2 security key (MFA) -> preventive / technical
# SOC log review -> detective / technical
# Restore from backup -> corrective / technical
Read the output as a gap analysis in miniature: four of the five controls protecting Meridian are preventive, and only one is detective — exactly the imbalance §3.3 warned about. A single line of classified output has told Sam where the next investment should go (more detective and corrective controls), which is precisely the conversation a control framework exists to start. You have given Meridian's program its spine.
Summary
This chapter laid down the principles that the rest of the book applies. Reference-grade recap:
- The CIA triad is the three-dimensional checklist for what every system protects. Confidentiality (no unauthorized disclosure), integrity (accurate and unaltered), availability (reachable when needed). Each asset emphasizes a different leg; each leg is attacked and defended differently. Availability is security — a ransomware or DoS attack that discloses and alters nothing can still be the worst incident of all.
- AAA adds the accountability machinery: authentication (prove who you are), authorization (decide what you may do), accounting (record what was done). Non-repudiation binds an action to a specific actor so they cannot credibly deny it — and it requires more than logging, because shared accounts destroy it.
- Controls are classified on two independent axes at once: function (preventive → detective → corrective → compensating) and nature (administrative / technical / physical). The function × nature matrix is a gap-analysis tool; the classic immature pattern is all-preventive, all-technical, with empty detective and administrative cells.
- Least privilege — exactly the access required, no more — limits how far a single compromised identity can reach; its enemy is privilege creep, fought with access reviews. Separation of duties splits high-risk processes across people so no one can act alone; it stops the lone insider and is defeated by over-powerful admin accounts. Fail-safe defaults (default-deny, fail-closed) mean a failure or a gap defaults to secure, not open — except where physical safety demands fail-open.
- Defense in depth layers independent controls, each designed as if the layer before it has failed, so a single failure is survivable. It requires independence (diverse types and technologies) and must interleave detection between preventive layers. Assume breach is the mindset behind it: design and operate as though an attacker is already inside, making detection and response co-equal with prevention.
- Zero trust (the principle) is never trust, always verify — no implicit trust by user, device, or network location; every request verified explicitly, continuously, with minimal access. It is the synthesis of least privilege + fail-safe default + assume breach, applied per-request in a post-perimeter world. The full architecture is Chapter 32; it is a posture, never a product.
| Principle | One-line statement | Primary abuse it prevents |
|---|---|---|
| CIA triad | Protect confidentiality, integrity, availability — balanced to risk | Defending one property while another is wide open |
| AAA + non-repudiation | Verify identity, constrain actions, record them, bind them to a person | Unaccountable or undeniable malicious action |
| Control type × function | Classify every control on both axes; find the empty cells | A blind, all-preventive defense |
| Least privilege | Exactly the access required, no more | Lateral movement / privilege escalation after a foothold |
| Separation of duties | No one completes a high-risk process alone | A single insider (malicious, coerced, or compromised) |
| Fail-safe default | Default to the secure state on failure or absence of a rule | Every failure becoming an opening |
| Defense in depth | Independent layers, each assuming the prior one failed | A single control failure becoming a breach |
| Zero trust (principle) | Never trust, always verify — no implicit trust | Free movement after the perimeter is breached |
Spaced Review
Before moving on, retrieve — without scrolling up — a few ideas from the chapters behind you. (Answers below; this is a habit every chapter from here reinforces.)
- (Chapter 1) State the risk equation and explain, using least privilege from this chapter, why an over-privileged account raises the impact term for any compromise of it.
- (Chapter 1) Define residual risk. After Meridian deploys phishing-resistant MFA (a preventive control), name one residual risk that remains and the control function (from §3.3) best suited to address it.
- (Chapter 2) The cyber kill chain and MITRE ATT&CK describe an intrusion as a sequence of stages. Connect that idea to defense in depth: why is "an attack is a sequence of steps" good news for a layered defender?
- (Chapter 2) Name one category of threat actor from Chapter 2's taxonomy whose typical behavior separation of duties is specifically good at frustrating, and explain why.
Answers
1. Risk = likelihood × impact. An over-privileged account raises *impact*, because if it is compromised the attacker inherits everything it can reach; least privilege shrinks that reachable blast radius and therefore the impact term. 2. Residual risk is the risk remaining after controls — never zero. After MFA, residuals include insider misuse and MFA fatigue on weaker factors; the best-suited function is **detective** (monitor for anomalous use of valid credentials), backed by **corrective** response. 3. Because an intrusion is a multi-stage sequence (initial access → escalation → lateral movement → impact), the defender gets *multiple opportunities* to stop or detect it; defense in depth places an independent control at several stages, so the attacker must defeat every one while the defender needs only one to hold or fire. 4. The **insider** (and any single compromised account acting alone): separation of duties requires two people in different roles to complete a high-risk action, so a lone insider — or an attacker who has compromised only one person — cannot finish the fraud without collusion.What's Next
You now hold the principles that everything else applies: the triad you protect, the AAA you enforce, the controls you classify, the privilege you minimize, the layers you stack, and the trust you refuse to grant for free. The next chapter makes one of these principles deeply concrete. Chapter 4 turns to cryptography — the mathematics behind confidentiality (encryption), integrity (hashing and digital signatures), and non-repudiation (the signatures that bind an action to a key only one person holds). The principles of this chapter told you what properties to protect and why; cryptography is the first and most powerful set of tools for actually achieving them. When you next see a digital signature, you will recognize it as integrity and non-repudiation made real, and you will know exactly which danger it was built to answer.