How the leader track works
Six sessions, 45 minutes each, no code and no SQL, one outcome: the ability to fund the right thing and answer the questionnaire in numbers. Tonight the attacker's view. Session 2 puts the six functions of NIST CSF 2.0 onto a data estate. Session 3 walks the kill chain through a data stack. Session 4 is backups as attack surface. Session 5 is detecting what cannot be prevented. Session 6 is the first hour of an incident and the report that follows it. The estate throughout is Ironwood, a fictional mid-size retailer whose warehouse holds a customers table worth stealing and a backup worth destroying.
★ What you walk out with tonight. A one-line answer to "why would anyone bother with our warehouse". The three doors every intrusion into a data estate walks through, which turns a shelf of threat reports into three questions. And two numbers from Ironwood you can hold up against your own: nine paths to the customers table before any control, all of them unseen; and seven paths after the most common single purchase, a perimeter firewall, still all unseen, backups still lost.
LiveWhy the attacker's view and not the auditor's3 min▶
An auditor asks whether a control exists. An attacker asks whether there is a way in that no control touches. Those are different questions, and an estate can score well on the first while failing the second completely. Ironwood's hardening list was 31 of 40 items green. Its two-year-old service key in a public repository was not on the list, because whoever wrote the list had never met that door.
The attacker's view is also the one that fits on a page. A threat landscape is infinite; the set of paths from the internet and from an insider to one table is small, finite and countable by hand. That count is the number a leader can act on, and the number a control list cannot produce.
For three years Ironwood's questionnaire answer read "customer data is protected by role-based access control and a perimeter firewall". Both statements were true. Counted as paths, that state has seven open routes to the customers table, none of them logged, and an admin login that can also delete the backups. Nobody had lied; nobody had counted.
Self-studySix words to carry through the track4 min▶
- Crown jewels - the small number of tables whose loss is the incident. Ironwood has one. Most estates have two or three; an estate that names ten has not decided.
- Path - a chain of moves from a starting point (the internet, or an insider) to the crown jewels. The unit everything else is counted in.
- Door - the one weak point a path relies on: a credential that should not have worked, a misconfiguration that exposed something directly, or a supply-chain component that ran with your permissions.
- Undetected path - a path that crosses nothing anyone logs. The attacker finishes and nobody knows. Ironwood's baseline has nine of these.
- Recoverable - whether an attacker who reaches the admin login can also destroy the copy you would restore from. Snapshots and time travel go with the account; they are not a backup against the account being taken.
- Control - something that closes a door or logs a path. A control that maps to no path is a line on a checklist and nothing else.
What is worth the trip
8 min liveA warehouse is attractive for one reason: it is the single place where the whole customer base sits in a queryable form. Every other system holds a slice; the warehouse holds the join. One login, one query, every record. Nowhere else in the company offers that ratio of effort to reward.
LiveThree things an attacker wants, and only one of them is the data4 min▶
- The data itself. Sold, or held over the company for payment. A complete customers table with contact details and order history is worth more than the same rows scattered across an order system, a support tool and a marketing platform, because somebody has already done the joining.
- The ability to destroy it. Ransomware against data does not need to encrypt anything. An admin login that can drop tables and purge the snapshots behind them is enough to make Monday not happen. At Ironwood the same login that reads the warehouse can delete the backups, so the question "is it backed up" has a yes answer and a no meaning.
- A foothold into the rest of the company. Warehouses hold service accounts: the key the ETL job uses, the token the BI tool uses, the credentials the orchestrator hands out. Whoever holds the warehouse holds keys to the systems that feed it, and a data breach turns into a company breach.
Ironwood's incident planning assumed the threat was somebody reading customer records. The path that would have hurt most was the phished admin login dropping twelve tables and purging their history, with the nightly backup in the same account. The company would have had every record on Friday and none on Monday, and the questionnaire answer about role-based access would still have been true.
LiveWhy "we have a firewall and RBAC" is a control list, not an answer4 min▶
A control list names what has been bought. The question underneath the questionnaire is which paths remain, and a list cannot say, because a control only matters where it sits on a path. Ironwood's firewall and role hierarchy were real and switched on. They coexisted with nine open routes to the customers table because eight of the nine never met either control in a way that stopped them.
The honest version of the questionnaire answer is three numbers: how many paths to the crown jewels remain, how many of them nobody would see used, and how many tables survive an attacker with the admin login. A leader who can ask for those three numbers has changed what the security programme reports, which is most of the job.
| What the questionnaire says | What it measures | What it cannot say |
|---|---|---|
| "Role-based access control is in place" | That roles exist | Whether the analyst role was granted admin on a Friday and never revoked |
| "A perimeter firewall protects the warehouse" | Where a key may be used from | That a phished user logs in from inside the perimeter on their own laptop |
| "Data is backed up nightly" | That a copy exists | Whether the admin login that reads the warehouse can also delete the copy |
| "Access is logged" | That a log exists | Whether anyone reads it, and whether the export bucket is in it at all |
Self-studyWhere the copies live, and why they count as much as the table3 min▶
The warehouse has grants, policies and an audit log. The nightly extract of the same table, written to an object bucket for a marketing agency, has whatever the bucket has. Every export, share, replica and backup is a second copy of the crown jewels with its own, usually weaker, set of doors, and it appears nowhere in the warehouse's own controls because it is not in the warehouse.
The professional norm is that every copy of a crown-jewel table gets its own row in the inventory, its own control and its own log. The reason is simple: a control on the original does nothing for the copy, and the copy is usually the path that no warehouse log will ever see.
Three doors, nine paths
9 min liveEvery path into a data estate goes through one of three doors: a credential that should not have worked, a misconfiguration that exposed something directly, or a supply-chain component that ran with your permissions. Naming the door names the fix. Ironwood's baseline is nine paths to the customers table, all undetected, with the backups reachable from the admin login.
LiveDoor one: a credential that should not have worked2 min▶
The most common door, and the cheapest to close. A password with no second factor, phished from an analyst or an admin. A service key committed to a repository two years ago, still valid, usable from anywhere. A role granted to an analyst on a Friday to unblock something and never taken back, so a phished analyst is quietly an admin.
Ironwood's credential door carries five of the nine baseline paths. MFA on every human login closes three of them and takes the count from nine to six. Rotating service keys and expiring the old ones closes one more, six to five. Least privilege on the analyst role, which is really a governance decision about who approves a grant and for how long, is what removes the Friday admin path at the end.
LiveDoor two: a misconfiguration that exposed something directly2 min▶
No login at all. A bucket that anyone with the address can list, an open share, a network policy that allows every address. Ironwood's example is the nightly customers extract, written to a bucket a marketing agency's tool could read, which meant anyone could read it. The path from the internet to the customer data is two hops long and never touches the warehouse.
That last fact is the important one. No warehouse control affects this path: not logging, not least privilege, not MFA. Making the bucket private takes the count from five to four. Nothing else on the list would have, and no warehouse log would have shown it being used.
The bucket was set up by someone doing exactly what was asked, so the agency's weekly pull would work. It appeared in no access review because access reviews cover the warehouse. The inventory found it in about ten minutes, by asking one question: where else does a copy of this table live?
LiveDoor three: a supply-chain component that ran with your permissions2 min▶
Your pipelines run other people's code: packages, connectors, transformation libraries, pulled fresh on every build. A malicious version of one of them runs on your CI runner, and the CI runner holds the ETL service key so the pipeline can load the warehouse. The package did not break in; it was invited, and it read the key out of the environment it was handed.
The control is pinning every dependency to a known version and verifying it before it runs, which takes Ironwood's count from four to three. It is unglamorous, it belongs to the platform team, and it is the door most estates have never checked because nothing about it looks like a security setting.
LiveThe two paths no control can close3 min▶
Of Ironwood's nine paths, two are legitimate reads. An analyst logs in with their own credentials and queries the table their job requires. A support agent opens a customer record to answer a ticket. There is no door here to close, because closing it means stopping the work. Every prevention control on the list leaves these paths exactly where they were.
The only defence against a legitimate read being misused is that every read is recorded and somebody reads the record. That is why the finished Ironwood design reports one path rather than zero: the support session remains, and it is logged. A programme that reports zero has either stopped the work or stopped counting insiders. Detection is session 5 of this track, and it sits there because prevention runs out before the paths do, not because it matters less.
Self-studyThe nine paths, one line each4 min▶
| Path to the customers table | Door | Closed by |
|---|---|---|
| Internet, public repo, ETL service key, warehouse | Credential | Key rotation |
| Internet, phished analyst login, warehouse | Credential | MFA |
| Internet, phished analyst login, Friday admin grant, warehouse | Credential, then privilege | MFA, or least privilege |
| Internet, phished admin login, warehouse | Credential | MFA |
| Internet, CI runner with a malicious package, ETL service key, warehouse | Supply chain | Pinned, verified dependencies |
| Internet, public export bucket, customers extract | Misconfiguration | Private bucket; no warehouse control sees it |
| Insider, own analyst login, warehouse | None - legitimate | Cannot be closed; logged |
| Insider, own analyst login, Friday admin grant, warehouse | Privilege | Least privilege |
| Insider, own legitimate support session | None - legitimate | Cannot be closed; logged |
Plus one path that is not to the table: the phished admin login reaches the backups and can drop and purge them, snapshots included, until the backups are made immutable. Session 4 is about that path alone.
Self-studyWhy the firewall closes one door and not five3 min▶
A perimeter allowlist decides from where a credential may be used. That is a real control and it closes a real door: a leaked service key used from an address outside the company. It does nothing to the others. A phished user logs in from their own laptop, inside the allowlist. The malicious package runs on your own CI runner, inside the allowlist. The export bucket sits outside the perimeter altogether, so the wall is beside it, not in front of it. Both insiders were never outside.
Counted, the state "perimeter firewall only" is seven paths, seven unseen, zero recoverable tables. It is the most common single security purchase in mid-size companies and, on its own, the weakest position on the whole ladder after doing nothing.
Count your paths
★ 20 min · everyone buildsNo tools, no access to anything. A sheet of paper and five questions you can put to whoever runs your warehouse. If you have no estate to hand, use Ironwood's and check your count against nine. The output is a number, and the number is your baseline before anybody proposes a control.
Name your crown-jewel tables. One to three tables whose loss would be the incident. If the list runs to ten, it is not a list of crown jewels, it is a list of tables. Ironwood's is one: customers.
List every copy of them that lives outside the warehouse. Exports to buckets, shares to partners, replicas in other systems, extracts for agencies, the backup itself. Each copy is a path that no warehouse control touches. Ironwood had one and did not know it.
Ask who holds admin and how they log in. Names, not roles. Then: is there a second factor on each of those logins, and has anyone been granted admin temporarily and kept it? The Friday grant is found by asking, not by tooling.
Ask whether the backups can be deleted by the same login that reads the warehouse. If the answer involves the words snapshot or time travel, the answer is yes. Write down "recoverable: 0 of N tables" until somebody shows you a copy that login cannot touch.
Write down two numbers. The number of paths you can count by hand from the internet and from an insider to the crown jewels, and the number of those that anybody would see being used. Ironwood: nine and zero. Those two numbers, with the recoverable count from the step before, are the questionnaire answer.
Ask for the count, not the controls. The most useful sentence a leader can say to a security team is "how many paths remain, how many are unseen, and can the admin login delete the backups". It changes what gets measured, and what gets measured is what gets funded.
Before session 2
30 min- Put the five build-along questions to whoever runs your warehouse, in writing, and keep the answers. The answers that come back as "I would have to check" are the finding.
- Find the security paragraph in your most recent customer questionnaire. Underline every sentence that names a control rather than a count.
- Write your three numbers next to it, even if two of them are guesses marked as guesses. A guessed path count beats a confident control list.
- Find out which team owns the copies of the crown jewels outside the warehouse. If the answer is nobody, that is the first funding decision, and it costs almost nothing.
Three questions
Ironwood's questionnaire says "protected by role-based access control and a perimeter firewall". Counted as paths, what does that state look like?
The firewall closes one door, a leaked key used from outside. Phishing, the CI runner, the export bucket and both insiders are untouched. Seven remain, all unseen, and nothing has been done about the backups.
Two of Ironwood's nine paths are marked "cannot be closed". What is the right response to that?
They are legitimate reads by people whose job requires them. Closing them stops the work; leaving them off the count hides them. Detection is the only defence, which is why the finished design reports one path, logged.
Ironwood's nightly customers extract sits in a bucket anyone can list. Which door is that, and which warehouse control fixes it?
Something was exposed directly, with no login. A copy of the crown jewels outside the warehouse has its own doors, and the warehouse's grants, MFA and logging have no effect on it.