A mitigation ships for a modeled threat — what do you re-rate, and how does the fix queue change?
answer
- ratings describe a design at a moment
- controls usually move likelihood, not impact
- re-rate the cluster, not one row
- every control adds its own threats
- same anchors, keep the before-and-after
basics
~20 sRe-rate the whole cluster the control touches, not just the row it targeted, and rate the new threats the control itself introduces. A mitigation usually lowers likelihood while leaving impact intact, so bands move, new rows appear, and the queue re-sorts.
solid answer
~50 sA rated list decays the moment the design changes, and shipping a mitigation *is* a design change. Take step-up authentication added to the grade-change path in a school district's records system: three threats — a staff insider altering a grade from a borrowed session, denying they made the change, and a low-privilege account reaching the grade-write path — each drop a band, because the control cuts how easily the path is reached. Note what did **not** move: if it still happens, the damage to the integrity of the record is exactly what it was. Then rate what the control added — a lockout path that denies legitimate graders at the report-card deadline, and a new dependency on the second-factor provider. Both are real threats and both join the same queue. I re-rate against the original session's anchors so the new rows stay comparable with the untouched ones, and keep the before-and-after band with its reason.
go deeper
Know that a threat model is not finished when it is written — ratings change as controls ship, and a shipped control usually lowers a threat rather than erasing it.
Be ready to say which half of a rating a given control moves: most preventive controls reduce how reachable a path is and leave the damage unchanged, while segmentation or encryption cut the impact instead.
Demonstrate the full loop on a real control: re-rate the whole cluster it touches, enumerate and rate what the control itself introduced — lockout, a new dependency, a recovery back door — and keep the new rows comparable with the untouched ones.
Own when re-rating happens at all. Define the triggers, keep the cost low enough that teams actually do it, and resist a culture where shipped controls are celebrated as closures and residual risk quietly disappears from the model.
## Ratings are perishable A threat model's ratings describe a design at a moment. Every shipped mitigation, every new entry point, every changed assumption ages them. The most common decay is the happy one: a control ships, and the list still shows the pre-control ratings, so the queue keeps pointing at work that has already been partly done — while the threats the control created are not on the list at all. ## What actually moves when a control ships Split a rating into its two halves. Roughly: **how likely / how reachable** the threat is, and **how bad it is if it still occurs**. Most preventive controls move the first and leave the second alone. Consider step-up authentication on the grade-change action in a school district's student-records system. The threats it touches: - A staff insider changing a grade from a colleague's unlocked session — tampering. Reachability drops sharply; the damage to the record if it still happens is unchanged. - The same actor later denying they made the change — repudiation. A second factor tied to a person strengthens the evidence, so both the likelihood of a successful denial and the weakness of the audit trail improve. - A low-privilege staff account reaching the grade-write path — elevation of privilege. The extra check narrows the path but does not remove the over-broad grant underneath it, so this one drops less than the other two, and the underlying authorization threat stays on the list. Some controls *do* cut impact rather than likelihood — segmentation, tokenization and field-level encryption all reduce what an attacker gets rather than whether they get in. The discipline is to say which half you moved and why, not to wave the whole row down a band because "we did something". ## Re-rate the cluster, not the row A control rarely touches exactly one row. It changes the reachability of a shared path, and every threat that traverses that path shifts with it. So the re-rating unit is the cluster of threats sharing the path or the root cause, not the single ticket that prompted the work. This is also the honest check on whether the fix delivered what was claimed: if only one of the four rows moves, the change was narrower than the design said. ## New threats the control introduces This is the half candidates forget, and it is the interesting half. Every control has its own threat surface: - **Denial of the legitimate user.** Step-up authentication at the report-card deadline means a teacher without their second factor cannot enter grades on the day it matters. That is an availability threat against a time-critical workflow, and it is not hypothetical — it is the most likely thing to actually happen. - **A new dependency.** The second-factor provider becomes part of the trust boundary. Its outage is your outage; its compromise is a bypass of the control you just built. - **A new bypass path.** An enrolment or recovery flow exists so people who lose the factor can get back in, and that flow is now the cheapest route to the thing the control protects. A control almost always creates a lower-friction back door somewhere, and modeling it is part of shipping the control. These new rows are rated on the same scale and take their place in the same queue. It is entirely normal for a mitigation to lower three rows a band and add one row near the top. ## Keeping the re-rating comparable Re-rating with a fresh bar is the same defect as rating a model piecemeal: the moved rows are no longer comparable with the untouched ones. So re-rate against the original session's anchor examples. If the anchors themselves no longer make sense — the system has changed too much — that is a signal to re-rate the whole model rather than to patch a few rows. Keep the history. Record the previous band, the new band, and the specific control and reason for the change. That record is what lets you answer, months later, why a threat that was High is now Medium, and it is the first thing anyone auditing the model asks. Deleting the old row loses the reasoning and makes a lowered rating look like a rating that was always low. ## When to trigger a re-rate Not continuously. The sensible triggers are: a mitigation from this model shipped; a new entry point or trust boundary appeared in the design; an assumption the ratings rested on turned out to be false; or a threat you rated as low-reachability was observed being attempted. Each of those invalidates specific rows, and re-rating those rows plus their cluster is a short exercise — usually shorter than the argument about whether it is worth doing. ## Residual risk After re-rating, what is left on a mitigated row is residual risk, and it is rarely zero. A dropped band means the threat is now competing for attention with other Mediums, not that it left the model. Saying so plainly is what separates a mature re-rating from a victory lap.
- The team says the mitigation shipped, so the threat is closed. What is wrong with that?A control lowers a rating; it rarely removes a threat. What remains is residual risk — the paths the control does not cover, the recovery flow around it, and the case where the control itself fails. Marking the row closed hides all three and means nobody re-checks it when the design next changes. I move the band, record what the control does and does not cover, and leave the row in the model.
- How do you decide whether a re-rate is worth the time?By trigger, not by calendar. A mitigation from this model shipping, a new entry point or trust boundary appearing, an assumption the ratings rested on turning out false, or a low-reachability threat actually being attempted — each of those invalidates identifiable rows, and re-rating those rows plus their cluster takes under an hour. Anything else can wait for the next scheduled pass over the model.
- A control lowers a rating but adds a new higher-rated threat. Was it the right fix?Not automatically, and that is exactly the value of rating the new row on the same scale — it makes the trade visible instead of implicit. Sometimes the answer is that the control is right and the new threat needs its own mitigation, such as a break-glass path for the deadline case. Sometimes it means the control was the wrong shape and a redesign that avoids the threat is cheaper than defending both sides.
Fitting a stronger lock lowers how easily the door is opened, not what is worth taking inside — and it adds a brand-new problem the day someone loses the key.
saying these in an interview costs you the question
- Marks a threat closed as soon as a control ships
- Drops the whole rating a band without saying which half moved
- Re-rates only the one row the fix targeted
- Never models the threats the new control introduces
- Re-rates against a fresh bar, breaking comparability
- Deletes the old rating instead of recording the change