Skip to content

Commit a54f999

Browse files
authored
Replace Track*/Track * with Monitor in CISA-based decision model (#738)
* change type hints on OutcomeGroup class * black reformat * replace `Track *` with `Monitor` * carve a new version of CISA OutcomeGroup to reflect `Track *` -> `Monitor` * replace `Track*` with `Monitor` in json * replace CISA.json with Monitor outcome value * more substitutions
1 parent affa90f commit a54f999

File tree

8 files changed

+66
-30
lines changed

8 files changed

+66
-30
lines changed

data/json/outcomes/CISA.json

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,28 @@
11
{
2-
"version": "1.0.0",
2+
"version": "1.1.0",
33
"schemaVersion": "1-0-1",
44
"name": "CISA Levels",
5-
"description": "The CISA outcome group. CISA uses its own SSVC decision tree model to prioritize relevant vulnerabilities into four possible decisions: Track, Track*, Attend, and Act.",
5+
"description": "The CISA outcome group. CISA uses its own SSVC decision tree model to prioritize relevant vulnerabilities into four possible decisions: Track, Monitor, Attend, and Act.",
66
"outcomes": [
77
{
88
"key": "T",
99
"name": "Track",
1010
"description": "The vulnerability does not require action at this time. The organization would continue to track the vulnerability and reassess it if new information becomes available. CISA recommends remediating Track vulnerabilities within standard update timelines."
1111
},
1212
{
13-
"key": "T*",
14-
"name": "Track*",
15-
"description": "The vulnerability contains specific characteristics that may require closer monitoring for changes. CISA recommends remediating Track* vulnerabilities within standard update timelines."
13+
"key": "M",
14+
"name": "Monitor",
15+
"description": "The vulnerability contains specific characteristics that may require closer monitoring for changes. CISA recommends remediating Monitor vulnerabilities within standard update timelines."
1616
},
1717
{
1818
"key": "A",
1919
"name": "Attend",
2020
"description": "The vulnerability requires attention from the organization's internal, supervisory-level individuals. Necessary actions may include requesting assistance or information about the vulnerability and may involve publishing a notification, either internally and/or externally, about the vulnerability. CISA recommends remediating Attend vulnerabilities sooner than standard update timelines."
2121
},
2222
{
23-
"key": "A",
23+
"key": "C",
2424
"name": "Act",
2525
"description": "The vulnerability requires attention from the organization's internal, supervisory-level and leadership-level individuals. Necessary actions include requesting assistance or information about the vulnerability, as well as publishing a notification either internally and/or externally. Typically, internal groups would meet to determine the overall response and then execute agreed upon actions. CISA recommends remediating Act vulnerabilities as soon as possible."
2626
}
2727
]
28-
}
28+
}

docs/ssvc-calc/CISA-Coordinator.json

+6-6
Original file line numberDiff line numberDiff line change
@@ -209,8 +209,8 @@
209209
"color": "#28a745"
210210
},
211211
{
212-
"label": "Track*",
213-
"key": "R",
212+
"label": "Monitor",
213+
"key": "M",
214214
"description": "Track these closely, especially if mitigation is unavailable or difficult. Recommended that analyst discuss with other ana-lysts and get a second opinion.",
215215
"color": "#ffc107"
216216
},
@@ -266,7 +266,7 @@
266266
"Mission & Well-being": "medium"
267267
},
268268
{
269-
"Decision": "Track*",
269+
"Decision": "Monitor",
270270
"Exploitation": "none",
271271
"Automatable": "no",
272272
"Technical Impact": "total",
@@ -329,7 +329,7 @@
329329
"Mission & Well-being": "medium"
330330
},
331331
{
332-
"Decision": "Track*",
332+
"Decision": "Monitor",
333333
"Exploitation": "poc",
334334
"Automatable": "no",
335335
"Technical Impact": "partial",
@@ -343,7 +343,7 @@
343343
"Mission & Well-being": "low"
344344
},
345345
{
346-
"Decision": "Track*",
346+
"Decision": "Monitor",
347347
"Exploitation": "poc",
348348
"Automatable": "no",
349349
"Technical Impact": "total",
@@ -385,7 +385,7 @@
385385
"Mission & Well-being": "low"
386386
},
387387
{
388-
"Decision": "Track*",
388+
"Decision": "Monitor",
389389
"Exploitation": "poc",
390390
"Automatable": "yes",
391391
"Technical Impact": "total",

docs/ssvc-calc/findex.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,7 @@ <h5>Mission Prevelance choices</h5>
294294
<h5> Vulnerability Scoring Decisions</h5>
295295
<b>Track </b> &nbsp; The vulnerability does not require attention outside of Vulnerability Management (VM) at this time. Continue to track the situation and reassess the severity of vulnerability if necessary.
296296
<hr />
297-
<b>Track * </b> &nbsp; Track these closely, especially if mitigation is unavailable or difficult. Recommended that analyst discuss with other ana-lysts and get a second opinion.
297+
<b>Monitor </b> &nbsp; Track these closely, especially if mitigation is unavailable or difficult. Recommended that analyst discuss with other ana-lysts and get a second opinion.
298298
<hr />
299299
<b>Attend </b> &nbsp; The vulnerability requires to be attended to by stakeholders outside VM. The action is a request to others for assistance / information / details, as well as a potential publication about the issue.
300300
<hr/>

docs/ssvc-calc/old_index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ <h5>Mission Prevelance choices</h5>
292292
<h5> Vulnerability Scoring Decisions</h5>
293293
<b>Track </b> &nbsp; The vulnerability does not require attention outside of Vulnerability Management (VM) at this time. Continue to track the situation and reassess the severity of vulnerability if necessary.
294294
<hr />
295-
<b>Track * </b> &nbsp; Track these closely, especially if mitigation is unavailable or difficult. Recommended that analyst discuss with other ana-lysts and get a second opinion.
295+
<b>Monitor </b> &nbsp; Track these closely, especially if mitigation is unavailable or difficult. Recommended that analyst discuss with other ana-lysts and get a second opinion.
296296
<hr />
297297
<b>Attend </b> &nbsp; The vulnerability requires to be attended to by stakeholders outside VM. The action is a request to others for assistance / information / details, as well as a potential publication about the issue.
298298
<hr/>

docs/ssvc-calc/sample-ssvc.txt

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
CVE Vulnerability CVSS (v3.x Base Score) SSVC (Decision) Exploit Virulence Technical Mission/Well-Being (Impact)
22
CVE-2020-7961 Liferay Portal JSON web services (JSONWS) deserialization 9.8 Track PoC Yes Total Low (Minimal/Minimal)
33
CVE-2020-5847 Unraid 6.8.0 PHP RCE 9.8 Track PoC Yes Total Low (Minimal/Minimal)
4-
CVE-2019-0708 Microsoft Windows Remote Desktop RCE (BlueKeep) 9.8 Track* PoC Yes Total Medium (Support/Material)
5-
CVE-2019-13918 Rockwell Automation MicroLogix Controller open redirect 6.1 Track* PoC No Partial High (Essential/Material)
4+
CVE-2019-0708 Microsoft Windows Remote Desktop RCE (BlueKeep) 9.8 Monitor PoC Yes Total Medium (Support/Material)
5+
CVE-2019-13918 Rockwell Automation MicroLogix Controller open redirect 6.1 Monitor PoC No Partial High (Essential/Material)
66
CVE-2019-19781 Citrix directory traversal and Perl RCE 9.8 Critical Active Yes Total Medium (Support/Minimal)
77
CVE-2014-0751 GE CIMPLICITY HMI/SCADA directory traversal RCE (Black Energy) 9.8 Critical Active No Total High (Essential/Material)
88
CVE-2018-5734 BIND 9 SERVFAIL assertion failure in badcache.c 7.5 Track None Yes Partial Medium (Support/Minimal)

docs/ssvc-calc/ssvc.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ var diagonal,tree,svg,duration,root
2121
var treeData = []
2222
/* Deefault color array of possible color options */
2323
var acolors = ["#28a745","#ffc107","#EE8733","#dc3545","#ff0000","#aa0000","#ff0000"]
24-
var lcolors = {"Track":"#28a745","Track*":"#ffc107","Attend":"#EE8733","Act":"#dc3545"}
24+
var lcolors = {"Track":"#28a745","Monitor":"#ffc107","Attend":"#EE8733","Act":"#dc3545"}
2525
var ssvc_short_keys = {};
2626
/* These variables are for decision tree schema JSON aka SSVC Provision Schema */
2727
var export_schema = {decision_points: [],decisions_table: [], lang: "en",

src/ssvc/outcomes/base.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ class OutcomeGroup(_Base, _Versioned, BaseModel):
3131
Models an outcome group.
3232
"""
3333

34-
outcomes: list[OutcomeValue]
34+
outcomes: tuple[OutcomeValue, ...]
3535

3636
def __iter__(self):
3737
"""

src/ssvc/outcomes/groups.py

+47-11
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,7 @@
4040
description="The publish outcome group.",
4141
version="1.0.0",
4242
outcomes=(
43-
OutcomeValue(
44-
name="Do Not Publish", key="N", description="Do Not Publish"
45-
),
43+
OutcomeValue(name="Do Not Publish", key="N", description="Do Not Publish"),
4644
OutcomeValue(name="Publish", key="P", description="Publish"),
4745
),
4846
)
@@ -109,7 +107,7 @@
109107
The CVSS outcome group.
110108
"""
111109

112-
CISA = OutcomeGroup(
110+
CISA_1 = OutcomeGroup(
113111
name="CISA Levels",
114112
description="The CISA outcome group. "
115113
"CISA uses its own SSVC decision tree model to prioritize relevant vulnerabilities into four possible decisions: Track, Track*, Attend, and Act.",
@@ -124,7 +122,7 @@
124122
),
125123
OutcomeValue(
126124
name="Track*",
127-
key="T*",
125+
key="R",
128126
description="The vulnerability contains specific characteristics that may require closer monitoring for changes. "
129127
"CISA recommends remediating Track* vulnerabilities within standard update timelines.",
130128
),
@@ -137,7 +135,48 @@
137135
),
138136
OutcomeValue(
139137
name="Act",
138+
key="C",
139+
description="The vulnerability requires attention from the organization's internal, supervisory-level and leadership-level individuals. "
140+
"Necessary actions include requesting assistance or information about the vulnerability, as well as publishing a notification either internally and/or externally. "
141+
"Typically, internal groups would meet to determine the overall response and then execute agreed upon actions. "
142+
"CISA recommends remediating Act vulnerabilities as soon as possible.",
143+
),
144+
),
145+
)
146+
"""
147+
The CISA outcome group. Based on CISA's customizations of the SSVC model.
148+
See https://www.cisa.gov/stakeholder-specific-vulnerability-categorization-ssvc
149+
"""
150+
151+
CISA = OutcomeGroup(
152+
name="CISA Levels",
153+
description="The CISA outcome group. "
154+
"CISA uses its own SSVC decision tree model to prioritize relevant vulnerabilities into four possible decisions: Track, Monitor, Attend, and Act.",
155+
version="1.1.0",
156+
outcomes=(
157+
OutcomeValue(
158+
name="Track",
159+
key="T",
160+
description="The vulnerability does not require action at this time. "
161+
"The organization would continue to track the vulnerability and reassess it if new information becomes available. "
162+
"CISA recommends remediating Track vulnerabilities within standard update timelines.",
163+
),
164+
OutcomeValue(
165+
name="Monitor",
166+
key="M",
167+
description="The vulnerability contains specific characteristics that may require closer monitoring for changes. "
168+
"CISA recommends remediating Monitor vulnerabilities within standard update timelines.",
169+
),
170+
OutcomeValue(
171+
name="Attend",
140172
key="A",
173+
description="The vulnerability requires attention from the organization's internal, supervisory-level individuals. "
174+
"Necessary actions may include requesting assistance or information about the vulnerability and may involve publishing a notification, either internally and/or externally, about the vulnerability. "
175+
"CISA recommends remediating Attend vulnerabilities sooner than standard update timelines.",
176+
),
177+
OutcomeValue(
178+
name="Act",
179+
key="C",
141180
description="The vulnerability requires attention from the organization's internal, supervisory-level and leadership-level individuals. "
142181
"Necessary actions include requesting assistance or information about the vulnerability, as well as publishing a notification either internally and/or externally. "
143182
"Typically, internal groups would meet to determine the overall response and then execute agreed upon actions. "
@@ -150,6 +189,7 @@
150189
See https://www.cisa.gov/stakeholder-specific-vulnerability-categorization-ssvc
151190
"""
152191

192+
153193
YES_NO = OutcomeGroup(
154194
name="Yes, No",
155195
description="The Yes/No outcome group.",
@@ -170,9 +210,7 @@
170210
outcomes=(
171211
# drop, reconsider later, easy win, do first
172212
OutcomeValue(name="Drop", key="D", description="Drop"),
173-
OutcomeValue(
174-
name="Reconsider Later", key="R", description="Reconsider Later"
175-
),
213+
OutcomeValue(name="Reconsider Later", key="R", description="Reconsider Later"),
176214
OutcomeValue(name="Easy Win", key="E", description="Easy Win"),
177215
OutcomeValue(name="Do First", key="F", description="Do First"),
178216
),
@@ -187,9 +225,7 @@
187225
version="1.0.0",
188226
outcomes=(
189227
OutcomeValue(name="Track 5", key="5", description="Track"),
190-
OutcomeValue(
191-
name="Track Closely 4", key="4", description="Track Closely"
192-
),
228+
OutcomeValue(name="Track Closely 4", key="4", description="Track Closely"),
193229
OutcomeValue(name="Attend 3", key="3", description="Attend"),
194230
OutcomeValue(name="Attend 2", key="2", description="Attend"),
195231
OutcomeValue(name="Act 1", key="1", description="Act"),

0 commit comments

Comments
 (0)