Skip to content

Commit a29f509

Browse files
committed
Fix formatting
1 parent fd2cf47 commit a29f509

File tree

5 files changed

+64
-60
lines changed

5 files changed

+64
-60
lines changed
Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
# Gathering Information about Automatable
22

3-
An analyst should be able to sketch the automation scenario and how it either does or does not satisfy each of the four kill chain steps.
4-
Once one step is not satisfied, the analyst can stop and select [*no*](automatable.md).
5-
Code that demonstrably automates all four kill chain steps certainly satisfies as a sketch.
6-
We say sketch to indicate that plausible arguments, such as convincing psuedocode of an automation pathway for each step, are also adequate evidence in favor of a [*yes*](automatable.md) to *Automatable*.
7-
8-
Like all SSVC decision points, *Automatable* should capture the analyst's best understanding of plausible scenarios at the time of the analysis.
9-
An answer of *no* does not mean that it is absolutely inconceivable to automate exploitation in any scenario.
10-
It means the analyst is not able to sketch a plausible path through all four kill chain steps.
11-
“Plausible” sketches should account for widely deployed network and host-based defenses.
12-
Liveness of Internet-connected services means quite a few overlapping things [@bano2018scanning].
13-
For most vulnerabilities, an open port does not automatically mean that reconnaissance, weaponization, and delivery are automatable.
14-
Furthermore, discovery of a vulnerable service is not automatable in a situation where only two hosts are misconfigured to expose the service out of 2 million hosts that are properly configured.
15-
As discussed in in [Reasoning Steps Forward](../../topics/scope.md), the analyst should consider *credible* effects based on *known* use cases of the software system to be pragmatic about scope and providing values to decision points.
3+
An analyst should be able to sketch the automation scenario and how it either does or does not satisfy each of the four kill chain steps.
4+
Once one step is not satisfied, the analyst can stop and select [*no*](automatable.md).
5+
Code that demonstrably automates all four kill chain steps certainly satisfies as a sketch.
6+
We say sketch to indicate that plausible arguments, such as convincing psuedocode of an automation pathway for each step, are also adequate evidence in favor of a [*yes*](automatable.md) to *Automatable*.
167

8+
Like all SSVC decision points, *Automatable* should capture the analyst's best understanding of plausible scenarios at the time of the analysis.
9+
An answer of *no* does not mean that it is absolutely inconceivable to automate exploitation in any scenario.
10+
It means the analyst is not able to sketch a plausible path through all four kill chain steps.
11+
“Plausible” sketches should account for widely deployed network and host-based defenses.
12+
Liveness of Internet-connected services means quite a few overlapping things [@bano2018scanning].
13+
For most vulnerabilities, an open port does not automatically mean that reconnaissance, weaponization, and delivery are automatable.
14+
Furthermore, discovery of a vulnerable service is not automatable in a situation where only two hosts are misconfigured to expose the service out of 2 million hosts that are properly configured.
15+
As discussed in in [Reasoning Steps Forward](../../topics/scope.md), the analyst should consider *credible* effects based on *known* use cases of the software system to be pragmatic about scope and providing values to decision points.
Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,23 @@
11
# Gathering Information About Exploitation
22

3-
[@householder2020historical] presents a method for searching the GitHub repositories of open-source exploit databases.
4-
This method could be employed to gather information about whether *PoC* is true.
5-
However, part (3) of *PoC* would not be represented in such a search, so more information gathering would be needed.
6-
For part (3), one approach is to construct a mapping of CWE-IDs which
7-
always represent vulnerabilities with well-known methods of exploitation.
8-
We provide a list of possible CWE-IDs for this purpose below.
9-
10-
Gathering information for *active* is a bit harder.
11-
If the vulnerability has a name or public identifier (such as a CVE-ID), a search of news websites, Twitter, the vendor's vulnerability description, and public vulnerability databases for mentions of exploitation is generally adequate.
12-
However, if the organization has the ability to detect exploitation attempts—for instance, through reliable and precise IDS signatures based on a public *PoC*—then detection of exploitation attempts also signals that *active* is the right choice.
13-
Determining which vulnerability a novel piece of malware uses may be time consuming, requiring reverse engineering and a lot of trial and error.
14-
Additionally, capable incident detection and analysis capabilities are required to make reverse engineering possible.
15-
Because most organizations do not conduct these processes fully for most incidents, information about which vulnerabilities are being actively exploited generally comes from public reporting by organizations that do conduct these processes.
16-
As long as those organizations also share detection methods and signatures, the results are usually quickly corroborated by the community.
17-
For these reasons, we assess public reporting by established security community members to be a good information source for *active*; however, one should not assume it is complete.
18-
19-
The description for *none* says that there is no **evidence** of *active* exploitation.
20-
This framing admits that an analyst may not be able to detect or know about every attack.
21-
Acknowledging that *Exploitation* values can change relatively quickly, we recommend conducting these searches frequently: if they can be automated to the organization's satisfaction, perhaps once a day (see also [Guidance on Communicating Results](../../howto/bootstrap/use.md)).
22-
An analyst should feel comfortable selecting *none* if they (or their search scripts) have performed searches in the appropriate places for public *PoC*s and *active* exploitation (as described above) and found *none*.
23-
Acknowledging that *Exploitation*.
3+
[@householder2020historical] presents a method for searching the GitHub repositories of open-source exploit databases.
4+
This method could be employed to gather information about whether *PoC* is true.
5+
However, part (3) of *PoC* would not be represented in such a search, so more information gathering would be needed.
6+
For part (3), one approach is to construct a mapping of CWE-IDs which
7+
always represent vulnerabilities with well-known methods of exploitation.
8+
We provide a list of possible CWE-IDs for this purpose below.
249

10+
Gathering information for *active* is a bit harder.
11+
If the vulnerability has a name or public identifier (such as a CVE-ID), a search of news websites, Twitter, the vendor's vulnerability description, and public vulnerability databases for mentions of exploitation is generally adequate.
12+
However, if the organization has the ability to detect exploitation attempts—for instance, through reliable and precise IDS signatures based on a public *PoC*—then detection of exploitation attempts also signals that *active* is the right choice.
13+
Determining which vulnerability a novel piece of malware uses may be time consuming, requiring reverse engineering and a lot of trial and error.
14+
Additionally, capable incident detection and analysis capabilities are required to make reverse engineering possible.
15+
Because most organizations do not conduct these processes fully for most incidents, information about which vulnerabilities are being actively exploited generally comes from public reporting by organizations that do conduct these processes.
16+
As long as those organizations also share detection methods and signatures, the results are usually quickly corroborated by the community.
17+
For these reasons, we assess public reporting by established security community members to be a good information source for *active*; however, one should not assume it is complete.
2518

19+
The description for *none* says that there is no **evidence** of *active* exploitation.
20+
This framing admits that an analyst may not be able to detect or know about every attack.
21+
Acknowledging that *Exploitation* values can change relatively quickly, we recommend conducting these searches frequently: if they can be automated to the organization's satisfaction, perhaps once a day (see also [Guidance on Communicating Results](../../howto/bootstrap/use.md)).
22+
An analyst should feel comfortable selecting *none* if they (or their search scripts) have performed searches in the appropriate places for public *PoC*s and *active* exploitation (as described above) and found *none*.
23+
Acknowledging that *Exploitation*.
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# Gathering Information About Technical Impact
22

3-
Assessing *Technical Impact* amounts to assessing the degree of control over the vulnerable component the attacker stands to gain by exploiting the vulnerability.
4-
One way to approach this analysis is to ask whether the control gained is *total* or not.
5-
If it is not total, it is *partial*.
6-
If an answer to one of the following questions is _yes_, then control is *total*.
7-
After exploiting the vulnerability,
8-
9-
- can the attacker install and run arbitrary software?
10-
- can the attacker trigger all the actions that the vulnerable component can perform?
11-
- does the attacker get an account with full privileges to the vulnerable component (administrator or root user accounts, for example)?
3+
Assessing *Technical Impact* amounts to assessing the degree of control over the vulnerable component the attacker stands to gain by exploiting the vulnerability.
4+
One way to approach this analysis is to ask whether the control gained is *total* or not.
5+
If it is not total, it is *partial*.
6+
If an answer to one of the following questions is _yes_, then control is *total*.
7+
After exploiting the vulnerability,
128

13-
This list is an evolving set of heuristics.
14-
If you find a vulnerability that should have *total* *Technical Impact* but that does not answer yes to any of
15-
these questions, please describe the example and what question we might add to this list in an issue on the
16-
[SSVC GitHub](https://github.com/CERTCC/SSVC/issues).
9+
- can the attacker install and run arbitrary software?
10+
- can the attacker trigger all the actions that the vulnerable component can perform?
11+
- does the attacker get an account with full privileges to the vulnerable component (administrator or root user accounts, for example)?
12+
13+
This list is an evolving set of heuristics.
14+
If you find a vulnerability that should have *total* *Technical Impact* but that does not answer yes to any of
15+
these questions, please describe the example and what question we might add to this list in an issue on the
16+
[SSVC GitHub](https://github.com/CERTCC/SSVC/issues).
Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
# Gathering Information About Value Density
22

3-
The heuristics presented in the *Value Density* definitions involve whether the system is usually maintained by a dedicated professional, although we have noted some exceptions (such as encrypted mobile messaging applications).
4-
If there are additional counterexamples to this heuristic, please describe them and the reasoning why the system should have the alternative decision value in an issue on the [SSVC GitHub](https://github.com/CERTCC/SSVC/issues).
5-
6-
An analyst might use market research reports or Internet telemetry data to assess an unfamiliar product.
7-
Organizations such as Gartner produce research on the market position and product comparisons for a large variety of systems.
8-
These generally identify how a product is deployed, used, and maintained.
9-
An organization's own marketing materials are a less reliable indicator of how a product is used, or at least how the organization expects it to be used.
10-
11-
Network telemetry can inform how many instances of a software system are connected to a network.
12-
Such telemetry is most reliable for the supplier of the software, especially if software licenses are purchased and checked.
13-
Measuring how many instances of a system are in operation is useful, but having more instances does not mean that the software is a densely valuable target.
14-
However, market penetration greater than approximately 75% generally means that the product uniquely serves a particular market segment or purpose.
15-
This line of reasoning is what supports a determination that an ubiquitous encrypted mobile messaging application should be considered to have a *concentrated* Value Density.
3+
The heuristics presented in the *Value Density* definitions involve whether the system is usually maintained by a dedicated professional, although we have noted some exceptions (such as encrypted mobile messaging applications).
4+
If there are additional counterexamples to this heuristic, please describe them and the reasoning why the system should have the alternative decision value in an issue on the [SSVC GitHub](https://github.com/CERTCC/SSVC/issues).
5+
6+
An analyst might use market research reports or Internet telemetry data to assess an unfamiliar product.
7+
Organizations such as Gartner produce research on the market position and product comparisons for a large variety of systems.
8+
These generally identify how a product is deployed, used, and maintained.
9+
An organization's own marketing materials are a less reliable indicator of how a product is used, or at least how the organization expects it to be used.
10+
11+
Network telemetry can inform how many instances of a software system are connected to a network.
12+
Such telemetry is most reliable for the supplier of the software, especially if software licenses are purchased and checked.
13+
Measuring how many instances of a system are in operation is useful, but having more instances does not mean that the software is a densely valuable target.
14+
However, market penetration greater than approximately 75% generally means that the product uniquely serves a particular market segment or purpose.
15+
This line of reasoning is what supports a determination that an ubiquitous encrypted mobile messaging application should be considered to have a *concentrated* Value Density.

mkdocs.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@ nav:
88
- SSVC Overview: 'ssvc_overview.md'
99
- SSVC How-To:
1010
- Overview: 'howto/index.md'
11+
- Gathering Info about Decision Points:
12+
- Automatable: howto/gathering_info/automatable.md
13+
- Exploitation: howto/gathering_info/exploitation.md
14+
- Mission Impact: howto/gathering_info/mission_impact.md
15+
- System Exposure: howto/gathering_info/system_exposure.md
16+
- Technical Impact: howto/gathering_info/technical_impact.md
17+
- Value Density: howto/gathering_info/value_density.md
1118
- Getting Started with SSVC:
1219
- Intro: 'howto/bootstrap/index.md'
1320
- Prepare: 'howto/bootstrap/prepare.md'

0 commit comments

Comments
 (0)