Abuse Cases and Attack Paths

LESSON

Security Foundations and Threat Modeling

006 25 min beginner

Abuse Cases and Attack Paths

By the end of this lesson, you will be able to...

  • Turn a security objective into a concrete abuse case with a visible undesired outcome.

  • Trace a plausible attack path by naming its starting state, preconditions, steps, and result.

  • Find the assumption or step that a control, test, or design change could interrupt.

Idea in one sentence: An abuse case states the bad outcome we must prevent; an attack path makes the sequence required to reach that outcome inspectable.

Core Insight

ShareBox lets an employee send a time-limited link to a commercial proposal. The team has already named a confidentiality objective: only the intended partner should be able to read the proposal. It has also drawn the path: a browser presents a link to the download endpoint, which checks current link state and returns the document.

The first reaction to a forwarded link is often, “Someone could steal the document.” That sentence is not wrong, but it is too compressed to guide a decision. Does the person need to sign in? Does the endpoint still accept the link after it is revoked? Can the person discover the link, or must somebody forward it? Which of those claims is known, and which is an assumption?

An abuse case describes the system being used to produce an outcome its owners do not want. An attack path is the smaller causal story: the starting position, the conditions that must hold, the actions taken, and the objective failure at the end. The path is not a list of frightening possibilities. It is a claim that the team can inspect and challenge.

The Small Situation

Keep the scenario deliberately small.

Part ShareBox example
Value to protect The confidential contents of a proposal.
Intended promise Only the named partner can read it during the sharing period.
Entry point The public download endpoint that receives a sharing link.
Threat actor An unintended person who receives a forwarded email, as profiled in lesson 005.
Current teaching assumption Possession of a valid link is enough to request a download; the example does not assume infrastructure compromise or broken encryption.

The last row is an assumption, not an observed fact about every product. In a real review, the team would confirm it by reading the endpoint contract and exercising the feature with a browser that has no partner account. We will use it so that the causal structure stays visible.

The Initial Model: Name the Threat and Move On

It is reasonable to begin with a short threat statement:

A forwarded sharing link may disclose a proposal to an unintended reader.

This works as a reminder. It does not yet tell us whether the threat is plausible in this design, where to put a control, or what a successful test would look like. A team that jumps straight from that sentence to “add authentication” may protect the wrong step. It may also miss a simpler break in the sequence, such as expiry, revocation, or a rule that binds the link to a partner identity.

The missing part is the route between the actor and the broken promise. We need to turn the threat statement into an abuse case, then show the path that makes it possible.

From an Undesired Outcome to an Abuse Case

Write an abuse case in terms of an actor using a real system behavior to violate a named objective. A compact shape is:

[Actor] uses [entry point or system behavior] to cause [undesired outcome],
violating [security objective].

For ShareBox:

An unintended link holder uses the download endpoint to read a proposal intended for a partner, violating the proposal’s confidentiality objective.

This is more useful than “document theft” for three reasons.

  1. It keeps the actor bounded. The person holds a link; we have not granted them every capability.
  2. It names the behavior to examine: the download endpoint’s handling of a link.
  3. It names the consequence that matters: an unauthorized read, not merely a suspicious request.

An abuse case does not claim that the event has already happened. It is a teaching model of an unwanted outcome that could follow if its preconditions hold. Evidence can weaken or defeat it. For example, if the endpoint requires a verified account matching the intended partner before it returns bytes, “has a forwarded link” no longer supplies all the necessary access.

The Moving Parts in an Attack Path

Now expand the abuse case into an attack path. A useful path has four kinds of information:

Part of the path Question it answers ShareBox example
Starting state What does the actor already have? A forwarded email containing the link.
Preconditions What must be true before the next action can work? The link is still valid, has not been revoked, and link possession is accepted by the endpoint.
Actions What ordinary steps does the actor take? Open the link, send the request, receive the response.
Outcome Which objective fails? The unintended person can read the proposal.

The important distinction is between an action and a precondition. “The person opens the link” is an action. “The endpoint accepts the link without verifying partner identity” is a condition that the team must verify. Combining them hides where the design actually makes the path possible.

A Worked Attack Path

Here is the complete small path. The timestamps are illustrative; they are not an observed incident record.

Step State or action What must be true What becomes visible
0 An employee creates a link for proposal.pdf. The link is tied to the document and has an expiry time. A capability exists: whoever presents the link may request the document.
1 The intended partner forwards the email to an unintended person. The recipient can read the message and copy the link. The unintended person gains the same link string.
2 At 10:05, that person opens the link in a browser. The link has not expired or been revoked. A request reaches ShareBox’s public download entry point.
3 The endpoint checks the link and finds it valid. Link possession is sufficient; no matching partner identity is required in this teaching model. The endpoint has accepted the request’s authorization basis.
4 The endpoint returns proposal.pdf. The response is delivered to the requesting browser. Confidentiality has failed: the wrong person can read the proposal.

Notice what this table does not say. It does not say that email is always unsafe, that a partner acted maliciously, or that a person bypassed encryption. The path uses only the stated actor capability and the system behavior under review. That restraint is useful: a path earns attention by being plausible, not by being dramatic.

Why include step 3 separately from step 4? Because the boundary is between them. If the endpoint rejects the request, the actor can still present the link but cannot complete the path. If it returns the file, the objective failure is concrete. Separating acceptance from delivery makes the future requirement and test much sharper.

So far, we have moved from a vague concern to a testable claim: a forwarded link, while valid and accepted as sufficient proof, leads through the download endpoint to an unauthorized read.

Find the Path’s Breakpoints

An attack path is useful because it exposes more than one breakpoint. A breakpoint is a precondition or action whose failure prevents the undesired outcome. It is not automatically a control choice; it is first a place where the team can reason.

Breakpoint A possible design response What it improves Cost or limit
The link reaches an unintended person. Minimize the link’s lifetime or make sharing require an explicit recipient. Reduces the window or chance of accidental spread. A short lifetime can interrupt legitimate work; explicit recipients add setup friction.
The link remains usable after a concern is discovered. Support prompt revocation and check revocation at download time. Lets the sender stop future use. It cannot retract a file already delivered.
Link possession is enough for the endpoint. Bind access to a verified partner identity or an additional confirmation step. Prevents the link alone from completing the path. Adds identity-management and usability work; the team must decide when the stronger promise is worth it.
The path happens without evidence. Record privacy-appropriate download events and alert on unusual patterns. Helps investigate and challenge the model. A log observes or detects; it does not by itself prevent disclosure.

These are situated options, not universal commands. The trade-off is stronger assurance against an unauthorized read versus the identity and workflow friction imposed on legitimate recipients. If a proposal is public by design, identity binding may be needless friction. If the proposal contains acquisition terms, the stronger requirement may be justified. Later lessons will turn the selected breakpoint into a testable security requirement and discuss layered controls. For now, the path prevents a familiar mistake: treating “authentication” or “logging” as a complete answer without stating which step it changes.

Where This Model Breaks

An attack path is a hypothesis about a system state, not a proof that the system has a vulnerability.

It breaks or needs revision when its evidence changes:

The model also has a scope boundary. We are not evaluating exploit techniques, cryptographic internals, or every social route by which a link could be copied. Those may matter in a different scope, but adding them here would hide the one mechanism this lesson is teaching: every claimed path needs visible preconditions and transitions.

Common Confusions

Confusion: “An abuse case is just a bug report.”

Why it is tempting: both describe unwanted behavior.

Better model: a bug report usually says that observed behavior violates an expected result. An abuse case explores how valid or invalid system behavior could violate a security objective before an incident exists.

Confusion: “An attack path must contain a clever exploit.”

Why it is tempting: the word “attack” suggests a technical break-in.

Better model: a path can use ordinary product behavior. The security question is whether those steps let a plausible actor violate a promise.

Confusion: “Every row in the path is a control.”

Why it is tempting: teams want to move quickly to mitigations.

Better model: some rows are starting conditions or actions. A control changes, blocks, detects, or recovers from a specific transition; it needs a stated location and effect.

Confusion: “One path proves the whole threat model is complete.”

Why it is tempting: a detailed table feels comprehensive.

Better model: it gives one inspectable explanation. Lesson 007 adds structured prompts to look for other paths while keeping context and judgment in charge.

Trace It Yourself

Check: A ShareBox link is valid, but the download endpoint now requires a signed-in partner account whose identifier matches the recipient recorded on the share. An unintended person has only the forwarded link. At which step does the worked path stop?

Think first, then reveal.

Answer: It stops at step 3. The person can still open the link and send a request, but link possession no longer satisfies the endpoint’s acceptance condition. Update the path’s preconditions rather than claiming that forwarding is impossible.

Check: The team adds an audit record after each successful download. Does that break the path?

Think first, then reveal.

Answer: No. The record may create evidence for investigation or later review, but the endpoint can still return the file. It is a detection or evidence measure, not a prevention at the acceptance step.

Practice: Trace a Nearby Path

A clinic portal emails a patient that a test result is ready. The email contains a link to a page that displays the result. In the current design, the page accepts the link alone; it does not ask the visitor to sign in. An unintended household member reads the email on a shared device and opens the link.

Write one abuse case, then trace the path with a starting state, two or more preconditions, actions, and the violated objective. Finally, mark one breakpoint and say whether your proposed response prevents, detects, or limits the outcome.

A good answer should mention:

Connections

Resources

Key Takeaways

PREVIOUS Threat Actors, Capabilities, and Assumptions NEXT STRIDE as a Prompt, Not a Checklist