Adversary Model
Definition
An Adversary Model describes who the attacker is. It defines the attacker's skills, goals, resources, access level, and motivation. In threat modeling, it helps engineers understand the kind of attacker they are defending against.
The Problem That Led to It
Threat modeling can identify many possible attacks, but not every attacker has the same abilities. For example, a curious student cannot perform the same attacks as a well-funded nation-state. Without knowing who the attacker is, it is difficult to choose the right security measures. This led to the Adversary Model.
What Problem It Solves
The Adversary Model helps engineers:
- Understand who might attack the system.
- Estimate what the attacker is capable of.
- Design security based on realistic threats instead of guessing.
What Happens If Not Used
You may waste resources protecting against unlikely attackers or ignore serious threats from highly capable attackers.
Easy Wording
An Adversary Model is a profile of the attacker before thinking about the attack.
Layman Example
A bank prepares differently for:
- A pickpocket.
- An organised robbery gang.
The security depends on who the criminal is.
Technical Example
Before Adversary Model
- Secure every system the same way.
- Assume all attackers are identical.
After Adversary Model
- Identify possible attackers:
- Insider employee
- Hacker
- Criminal group
- Nation-state
- Estimate each one's:
- Skills
- Resources
- Access
- Motivation
- Design appropriate security controls for each type.
Limitation
The Adversary Model explains who the attacker is, but it does not explain how they will carry out the attack.
Solution
The next concept is the Attack Model, which describes how the attacker performs the attack—the techniques, targets, timing, and methods they use. Together:
- Adversary Model = Who attacks
- Attack Model = How they attack