AD1084029
AD1084029
Abstract
This paper presents modeling and analysis of two critical foundational processes of the
cybersecurity vulnerability management ecosystem using a combination of system
dynamics and agent-based modeling techniques. The preliminary result from this analysis
is that misapplication of either of these foundational processes could contribute to the
fragility and risk associated with the many national infrastructures and organizational
missions that rely on the Internet. We use data from the CERT Coordination Center that
characterizes coordinated vulnerability disclosure for our previous and continuing
calibration and validation efforts. Our to-date analysis has identified additional areas for
future work: new questions to consider, alternate social cost measures to investigate, and
new avenues for validation. While the results of our initial efforts should be viewed as
preliminary due to limited calibration and validation, we believe that the approaches used
and depth of the modeling and simulation are sufficient to begin to understand key
implications of these processes and possible avenues for their improved application in the
future.
Keywords: cybersecurity, system dynamics, agent-based modeling, vulnerability
management, coordinated vulnerability disclosure, multi-method modeling
1 Introduction
Vulnerability management (VM) is the common term used to describe tasks such as
technical cybersecurity vulnerability1 scanning, patch testing, and deployment (NIST 2013,
Caralli 2010). VM practices focus on the positive action of identifying specific systems
affected by known (post-disclosure) vulnerabilities and reducing the risks they pose
through the application of mitigations or remediation, such as patches or configuration
changes (Householder 2017).
®
CERT and CERT Coordination Center are registered in the U.S. Patent and Trademark Office by Carnegie Mellon
University.
1
Henceforth, we refer to technical cybersecurity vulnerabilities simply as vulnerabilities.
1
VM practices nearly always deal with the output of a set of practices called Coordinated
Vulnerability Disclosure (CVD). Because many modern products are, in fact, composed of
software and hardware components from multiple vendors, any of which may contain
vulnerabilities, the CVD process increasingly involves the cooperation of vendors with
competing or misaligned priorities (Householder 2017, Thomson 2018). The CVD process
involves a number of phases that are generally sequential in time, although they can
sometimes occur out of order. The phases are based on the ISO/IEC 3011 Standard (ISO
2013), as expanded in The CERT Guide to Coordinated Vulnerability Disclosure
(Householder 2017), as summarized below:
A vulnerability is found – An individual or group finds a vulnerability in an existing system.
The individual or group is referred to as the finder. Many finders want the vendor to fix the
problem, so they report it to the vendor. Not all finders report though.
Vendor awareness – One or more vendors whose products are affected by the vulnerability
may become aware of it, whether through their own testing, via reports from cooperative
finders, or as a result of analyzing incidents or malware that exploits it.
Analysis and prioritization – The vendor confirms the report to ensure accuracy before
action can be taken and prioritizes reports relative to other work, including other reports.
Remediation – A remediation plan (ideally a software patch, but it could also be other
mechanisms) is developed and tested.
Public Awareness – The vulnerability and its remediation plan is disclosed to the public.
Public awareness is often facilitated by the inclusion of information about the vulnerability in
a vulnerability database such as the National Vulnerability Database operated by NIST
(NIST Information Technology Laboratory, 2019) . Vulnerability databases use identifiers,
such as the Common Vulnerabilities and Exposures (CVE®) ID, to disambiguate distinct
vulnerabilities. Such cataloging can happen regardless of the availability of remediation
advice.
Deployment – The remediation is applied to deployed systems.
®
The CVE and the CVE logos are registered trademarks of The MITRE Corporation.
2
provides vul info
and/or patch to
Finder Vendor Deployer
reports
vul to
shares vul
info with
reports Coordinator provides
vul to vul info to
Reporter
Role
relationship
often same provides
individual / vul info to optional
organization relationship
Legend
This paper presents modeling and analysis of two critical foundational aspects of the
cybersecurity vulnerability management ecosystem:
1. the process of identifying and responding to vulnerabilities that most organizations
rely on for their security defense (We refer to this as the vulnerability management
[VM] process below.)
2. the Multi-Party CVD (MPCVD) process for coordinating the development of
software patches across a set of vendors whose products have an identified
vulnerability
While our efforts are a work in progress, our preliminary analysis shows that the
misapplication of either of these foundational aspects could contribute to the fragility and
risk associated with the many national infrastructures and organizational missions that rely
on the Internet.
Section 2 uses system dynamics modeling (and the VenSim toolset) to analyze core aspects
of the vulnerability management process. Section 3 takes a deeper dive using agent-based
modeling (and the Ventity toolset) to analyze the MPCVD process for vulnerability
patching and disclosure. The approaches used and the depth of the modeling and
simulation are sufficient to understand the key implications of these processes and possible
avenues for their improved application in the future. Section 4 summarizes the
contributions of this research and directions for the future.
3
2 System Dynamics Analysis of the Cybersecurity
Vulnerability Management Process
2.1 Model Description
This section describes the system dynamics model as a series of incremental builds. Each
build is displayed in a separate figure. Sometimes the figure builds on the previous figure.
Other figures are components of the larger model, which is displayed in Appendix B for
reference. Key parameters of the model, including their types and initial values, are
described in Appendix C.
Figure 2 shows a very basic vulnerability discovery and patch process. People discover
vulnerabilities (i.e., the vulnerabilities become “known”) and initially decide to create
patches for some fraction of them. We refer to the vulnerabilities that are not initially
targeted for patching as dormant. After taking some time to generate and publish
vulnerability patches, they are made available to the general public.
4
Time Histogram
400
300
dmnl
200
100
0
0-1 18-19 36-37 54-55 72-73 90-91
Y values
Time Histogram : Current
becoming_forever Public_Forever
day_vuls Day_Vuls
- - acceleration
fraction_dormant vul_dormancy factor
patched
+
-
publishing_vuls Public_but Urgent_Vuls_with Urgent_Vuls
Discovering Vuls and without_patches Dormant_Vuls Patch_being with_Patches + use_random
starting Developed publishing
Developing Patches - urgent_vul urgent_vuls Available work_multiplier
patch patch
- with_patches -
fraction_vuls vul_com generation
- time
initially_patched time - random_vul
Known_Vuls patch_work
+ Known_Vuls_with Public_Vuls + multiplier
being -
discovering Patch_being with_Patches
+ vuls Considered starting_vul Developed publishing_vuls Available nominal
patch_creation with_patches patch
vul_discovery generation
rate time
2
We use “CVE” here for convenience since CVE is the most well-known vulnerability identifier in use in the
vulnerability management space. However, the model is intended to apply to any process by which vulnerabilities are
selected for inclusion into a list or database and subsequent remediation.
5
but CVE generally targets those vulnerabilities discovered before patching and only once
those vulnerabilities become publicly known. A five-tier framework is used to decide
whether to report a discovered vulnerability (Ragan, 2016). Each tier is associated with a
set of organizations―the vendors―whose product vulnerabilities are assigned to the tier.
Each tier represents qualitatively whether vulnerabilities in that tier will be reported in
CVE. The system dynamics model of this tier framework―specifically the array variable
“fraction CVE vuls reported”―assigns probabilities associated with whether a
vulnerability in the tier is processed as follows:
tier 1 (vulnerabilities must be reported) : p=1.0
tier 2 (vulnerabilities should be reported) : p=0.95
tier 3 (vulnerabilities may be reported) : p=0.60
tier 4 (vulnerabilities may not be reported) : p=0.3
tier 5 (vulnerabilities must not be reported) : p=0.0
These probabilities are initial estimates only; they are based strictly on the qualitative
wording. They can be updated as more information comes to light about how the CVE
responders interpret the tiering requirements. Absent that, we can run Monte Carlo
simulations in VenSim to determine the effect of probability variance on simulation
behavior. Lastly, the simulation must determine what fraction of vulnerabilities discovered
falls into each tier. This fraction, which may change over time, is represented in the array
variable “tier fractions over time” as an effect function of model simulation time on the tier
percentages. Based on these variables and the inflow of discovered vulnerabilities, each
considered vulnerability is processed and eventually published with a unique CVE ID.
discovering
vuls publishing_vuls
with_patches
fraction_discovered +
before_patching <publishing_vuls
+ +
+ without_patches>
CVE_Vuls_being CVE_Vuls
identifying_possible Classified considering being_Processed
CVE_vuls CVE_vuls
publishing
+ ignoring CVE_IDs
CVE_vuls + Identifying and
- Processing CVE
tier_percentages CVE_Vuls
over_time + Vulnerabilities with
CVE_Ignored fraction_CVE Published_IDs
Vuls vuls_reported
Total
Considered
vul Vuls
consideration
6
Figure 6 deals directly with staffing to respond to vulnerabilities. CVE staff can handle the
workload demand created by CVE vulnerability processing at a rate given by their per-
responder productivity and the number of responders. Ideally, CVE managers would hire
more staff if the perceived adequacy of CVE reporting is not keeping up with the desired
adequacy. Perceived adequacy is measured as the ratio of the CVE vulnerabilities
published and the total vulnerabilities considered in the CVE process, ranging from 0 to 1:
Perceived adequacy of vul reporting
= CVE Vuls with Published IDs / Total Considered Vuls
This hiring process creates a balancing feedback loop that (optimally) drives staff hiring to
a level of desired adequacy, but funding levels and available capability may not permit
hiring to the needed level.
CVE_Vuls
being_Processed
+
publishing per_responder
productivity
CVE_IDs + +
+
CVE_Vuls CVE_vul_response nominal
with productivity productivity
CVE_Ignored Published_IDs
Vuls
+
Total
Considered_Vuls +
vul Hiring Staff to
Total_Vuls + consideration Keep Up
+ + CVE_Vul
vul Discovered Responders
discovery fraction hiring
ignored_vuls perceived_adequacy baseline CVE_staff
- of_CVE_reporting hiring_rate
- criticality_of +
effect_of_demand
ignored_vuls desired_adequacy - +
- + on_hiring
of_vul_reporting + difficulty_keeping_up
actual_adequacy with_vul_reporting
of_CVE_reporting
The benefit associated with creating patches that address identified vulnerabilities comes
as organizations apply relevant patches in defense of their systems and data. Figure 7 shows
that although patches are made available to defenders, as those patches are published for
many organizations, it is the publication of the CVE ID that is critical to whether they
decide to actually apply the patch or not. Some fraction of available patches will be ignored,
7
which in subsequent refinements can create risk for the defender. The model is
parameterized on the
number of infrastructure systems being defended (initially, 1000 systems)
average number of patches per vulnerability required per system (initially, 1
patch/vul)
fraction of patches applied (initially, 0.9)
patching
+ multiplier
+
patching_rate
+ fraction_patches + +
applied
- +
Unapplied
Patches Patches Patches
Ignored ignoring applying patching_rate
Available Applied number_of
patches patches per_system
infrastructure
making systems
+ patches + +
available avg_patches
per_vul_per
+ system
Urgent_Vuls_with Urgent_Vuls
Patch_being with_Patches
Developed publishing
urgent_vuls Available
with_patches
Patching
Known_Vuls Infrastructure
Public_Vuls Systems
with_Patch_being with_Patches
Developed publishing_vuls Available
with_patches
+
+
CVE_Vuls_being
Processed
publishing
CVE_IDs
CVE_Vuls_with
Published_IDs
8
fraction_patches_in +
works_perceived
+ ignored_patch
+ risk_factor + - patching_rate
perceived_patches risk_created_by + fraction_patches
+ not_applied ignoring_patches + applied
+
+ - -
patching_possible_for Total_Patches
perceived_adequacy Unapplied
public_vuls_in_works Considered Patches Patches
of_vul_management Ignored ignoring Considered
+ patch + patches
availability
rate making
- patches
total_patches available
needed -
+
Determining
Adequacy of
Vulnerability
Management
actual_adequacy_of
vul_management
The measure perceived adequacy of vul management described above admits that
defenders probably understand that their vulnerability and patch management is not
perfect, at least to the extent that their systems are susceptible to a vulnerability between
the point of discovery and the point at which a patch to that vulnerability is made available.
Beyond that, we can measure the actual adequacy of vulnerability management that also
measures the risk created by erroneously ignoring patches by the defenders. The measure
can be broken down into two components as seen below.
9
actual adequacy of vul management
= (perceived adequacy of vul management - risk created by ignoring patches)
- ((perceived adequacy of vul management - risk created by ignoring patches)
* (1 - actual adequacy of vul reporting)
The first term subtracts the risk created by ignoring patches from the perceived adequacy
of vulnerability management. This reflects that the actual adequacy is less than the
perceived adequacy due to the potential for erroneously ignoring critical patches. But the
situation is worse than that alone due to the fact that vulnerability reporting itself is not
perfect. The second term of actual adequacy of vulnerability management subtracts from
this amount, a fraction of the amount based on the inadequacy of vulnerability reporting.
This adjustment is needed since the perceived adequacy of vulnerability management only
accounts for those vulnerabilities reported to defenders through the CVE process, which
itself only deals with a fraction of the total vulnerability population.
150,000 225,000
1
vuls
100,000 1 1
vuls
150,000
1
2 1
1 2
50,000 1 2 1
2
2 1 75,000
2 1
2 1
1 1
2 1
2 1 1
0 12 12 12 12 12 1 1
1
1
01/99 03/01 05/03 07/05 09/07 11/09 01/12 03/14 05/16 0 1 1 1 1
Date 01/99 03/01 05/03 07/05 09/07 11/09 01/12 03/14 05/16
total VwIDs : Current 1 1 1 1 1 1 1 1 1 1 1 1 Date
CVE IDs Assigned : Current 2 2 2 2 2 2 2 2 2 2 Total Vuls Discovered : Current 1 1 1 1 1 1 1 1 1 1
Figure 9: Vulnerability Discovery Level and Calibration with Historical CVE Reporting Levels
10
The graphs in Figure 10 demonstrate the partitioning of CVE vulnerabilities into the four
tiers described previously. The graph on the left shows how the fraction of vulnerabilities
in each tier changes over time in the model. While we did not have hard data on these
fractions, we believe that the displayed trend over the 18-year period is plausible. The
fraction of vulnerabilities in tier 1 goes down steadily over the period and is replaced with
slightly increasing fractions in the other three tiers. The second graph simply verifies that
the model accurately reflects the level of reporting of CVE vulnerabilities (assigned IDs),
as described previously in qualitative guidance for reporting. The fraction of CVE
vulnerabilities ignored in each tier is simply one minus the fraction seen in this graph (i.e.,
vulnerabilities are either reported or ignored; there is no other option). Figure 11 splits out
the quantity and timing of reported and ignored vulnerabilities based on these fractions.
.75 .75
1 1 3
1
dmnl
1
dmnl
1 1
.5 1 1 1 .5
1 1 1
2 2
.25 2 2 2 2 2 2 2
.25 4
2 2 2 3
3 3 3 3 3 3
3 3 3 3
4 4 4 4 4 4
4 4 4 4 4
0 0
01/99 03/01 05/03 07/05
09/07 11/09 01/12 03/14 05/16 01/99 03/01 05/03 07/05 09/07 11/09 01/12 03/14 05/16
Date Date
tier fractions over time[tier1] : Current 1 1 1 1 1 1 fraction CVE vuls reported[tier1] : Current 1 1 1 1 1
tier fractions over time[tier2] : Current 2 2 2 2 2 2 fraction CVE vuls reported[tier2] : Current 2 2 2 2 2
tier fractions over time[tier3] : Current 3 3 3 3 3 3 fraction CVE vuls reported[tier3] : Current 3 3 3 3 3 3
tier fractions over time[tier4] : Current 4 4 4 4 4 4 fraction CVE vuls reported[tier4] : Current 4 4 4 4 4 4
150,000 22,500
3
4
vuls
vuls
100,000 1 15,000
3
1 4
2 3
50,000 1 7500 4
1 2 3
3 4
1 2 3 4
1 2 3 3 4 2
2
0 12341234123412341234 234 234 3
4
3
4 4
0 234 234 234 234 234 2 2 2 2
1 1 1 1 1 1 1 1 1 1 1
01/99 03/01 05/03 07/05 09/07 11/09 01/12 03/14 05/16 01/99 03/01 05/03 07/05 09/07 11/09 01/12 03/14 05/16
Date Date
Total Considered Vuls[tier1] : Current 1 1 1 1 1 1 CVE Ignored Vuls[tier1] : Current 1 1 1 1 1 1
Total Considered Vuls[tier2] : Current 2 2 2 2 2 2 CVE Ignored Vuls[tier2] : Current 2 2 2 2 2 2 2
Total Considered Vuls[tier3] : Current 3 3 3 3 3 3 CVE Ignored Vuls[tier3] : Current 3 3 3 3 3 3 3
Total Considered Vuls[tier4] : Current 4 4 4 4 4 4 CVE Ignored Vuls[tier4] : Current 4 4 4 4 4 4 4
11
system patching
1
1 1 1
1
1
1 1 1 1 1
.75 1 1 1 1 1
1
fraction
.5
.25
2 2 2 2 2 2
2 2 2 2 2 2 2 2 2
0
01/99 03/01
09/07 11/09 05/03 07/05 01/12 03/14 05/16
Date
fraction system patches applied : Current 1 1 1 1 1 1 1 1
fraction ignored vuls : Current 2 2 2 2 2 2 2 2 2
Figure 12: Correlation between Cumulative System Patching and Fraction Vulnerabilities Ignored
The results of model execution, as seen in the measures of perceived and actual
vulnerability management (shown in Figure 13), are striking. The behavior-over-time
graph on the left shows that perceived adequacy of vulnerability management drops,
hovering around 0.8 in the time frame of the simulation. However, actual adequacy of
vulnerability management drops significantly more, to less than 0.4 in the time frame of
the simulation. The graph on the right shows that even if the perception of the adequacy of
vulnerability management on the part of the defenders was near perfect (i.e., if the defender
were able to immediately patch any vulnerabilities they were aware of or could become
aware of), the actual adequacy of vulnerability management still hovers below 0.5. In this
case, the actual adequacy of vulnerability management approaches the actual adequacy of
CVE reporting.
adequacy of vul management adequacy of vul management
1 1 3 1 3
1
1 1 1 3 1 3
1 1 1 1 1 1 1 1 1 1 1 1 1 1
2 2 2 2
1
2 3 1 2 3
1 1 1 1 1 1 1 1 1 1
.75 3 .75 2 3
2
3 2 3
fraction
fraction
2
3 2 3
.5 3 3 3 3 3 3 3 .5 2 3 2 3 3 3 3 3
2 3
3 2 2 2 2 2 3 2 3 2 3
2 2 2 2 2 2 2 2
2
.25 .25
0 0
01/99 03/01 05/03 07/05
09/07 11/09 01/12 03/14 05/16 01/99 03/01 05/03 07/05
09/07 11/09 01/12 03/14 05/16
Date Date
perceived adequacy of vul management : Current 1 1 1 1 1 1 perceived adequacy of vul management : Current 1 1 1 1 1 1
actual adequacy of vul management : Current 2 2 2 2 2 2 2 actual adequacy of vul management : Current 2 2 2 2 2 2 2
actual adequacy of CVE reporting : Current 3 3 3 3 3 3 3 actual adequacy of CVE reporting : Current 3 3 3 3 3 3 3
12
3 Agent-Based Analysis of Multi-Party Coordinated
Vulnerability Disclosure
The agent-based model used to analyze MPCVDs was constructed using Ventity, a tool
developed by Ventana Systems, Inc., that supports the modular construction of socio-
technical models for scalable development by independent teams. Ventity enables the
development of hybrid agent-based and system dynamics models. Three primary agent
types are specified: Finders, Vendors, and Coordinators. Figure 14 elaborates the behavior
drivers for each of these agent types:
Finders: Finders are motivated by making money, by establishing their reputation, or a
combination of these two. Bug bounties may serve as the financial incentive, while
vulnerability publication may serve as the reputational incentive.
Vendors: Vendors are motivated ultimately by revenue generation, and secondarily by
generating and maintaining their customer base. Keeping quiet about vendor product
vulnerabilities serves the vendor well before the patch is available; but after the patch is
available, it may wish to report the availability of patches as soon as possible.
Coordinators: The coordinator is, of course, the manager of the coordinated vulnerability
disclosure, with the purpose of minimizing deployer exposure. The general rule of good
behavior and purpose for MPCVDs is to maintain secrecy during the term of the MPCVD,
called the embargo period.
Key:
Finder/Reporter Vendor helps achieving
Performance Performance hinders achieving
Make
Money Clears Comms Generate and
Generate
Avoid & Respectful Maintain
Establish Revenue
being Sued Treatment Customer Base
Reputation
Minimize Deployer
Exposure
Coordinator
Performance
13
the number of finders and vendors, size distribution of the MPCVDs and vendors, embargo
duration, and the likelihood of accidental and purposeful disclosure. The measure of social
cost for deployers due to technical vulnerabilities is elaborated in Appendix E and includes
the likelihood of vulnerability exploitation, the maximum amount of damage, hacker
vulnerability discovery time, attack rate per deployer, the amplification of the attack rate
after disclosure, and user workaround costs over time.3
3.1 Calibration
The model was calibrated based on operational data collected by the CERT Coordination
Center (CERT/CC) at Carnegie Mellon University’s Software Engineering Institute.
During the entire period of study covering 24 years, 1,400 of 11,000 cases (12%) involved
pre-disclosure coordination. In the 5-year period between 2013 and 2018, the CERT/CC
coordinated approximately 1,000 vulnerability disclosure cases per year. Only a small
fraction of these were large MPCVD cases (Householder 2018). Interviews with the
CERT/CC’s vulnerability coordination team helped us arrive at the model estimates for
embargo failures and vendor participation rates.
The current model under development has been calibrated along four dimensions:
1. the quantity of MPCVDs per year (60-80 per year)
2. the distribution of the size of the MPCVDs (fat-tailed, exponential)
3. the ratio of MPCVDs in which the embargo held (percentages in the 1990s)
4. the greater participation in MPCVDs of larger vendors than smaller ones
Figure 15 shows the Ventity simulation results, as behavior-over-time graphs spanning 10
years (120 months).
3
adapted from (Cavusoglu, 2007), equations 3 and 4 on page 175
14
Figure 15: Calibration Dimensions of the MPCVD Model
4
The CERT/CC’s default embargo period is 45 days, with exceptions for active exploitation (shorter) or situations
where extensive work by multiple parties is needed (longer)
https://vuls.cert.org/confluence/pages/viewpage.action?pageId=30638083
15
In Figure 16, the simulation also shows that shortening the embargo period (from 6.5 weeks
to 4 weeks) does, in fact, decrease MPCVD reneging rates; increasing the embargo period
(from 6.5 weeks to 8 weeks) increases reneging rates. This is expected, since vendors will
not be tempted to renege on MPCVD until after they’ve developed a patch. In addition, the
longer an embargo endures after patch development, the greater the chance of reneging.
Figure 16: Percentage of MPCVD Embargos that Hold by Length of Embargo Period
While the short embargo ensures more MPCVDs hold through the embargo period, they
are the most costly to users, as seen in Figure 17. The current embargo period is a good
middle ground to reduce cost to users. The sooner patches are distributed, the lower the
social cost to deployers, whether the patch is distributed (and vulnerability disclosed)
before or after the embargo. Shortening the embargo time leads to lower rates of reneging,
but high rates of not having a patch available to deployers after the embargo period. This
is the worst situation for the deployer and results in the highest social costs. We therefore
conclude that adjusting the embargo period to increase the likelihood that patches can be
developed just in time appears to be a good strategy for reducing cost.
16
Figure 17: Average Social Cost to Users by Length of Embargo Period
17
switching tools. Ventity may be headed in this direction, but currently the system dynamics
modeling and analysis in VenSim is more capable than it is in Ventity.
Preliminary results from our multi-method analyses show that the cybersecurity
infrastructure can become more vulnerable over time simply as a result of the vendor-based
tiering of vulnerabilities used in the CVE process. In addition, the goal of simply
maintaining the secrecy of MPCVDs is not necessarily the right criteria, in and of itself. If
that were the criteria, you might decide to increase the length of the embargo period in
order for organizations to develop the patches. It appears that adjusting the embargo period
to increase the likelihood that patches can be developed by most vendors just in time is a
good strategy for reducing cost. The larger conclusion from our multi-method analysis is
that the misapplication of either of these foundational aspects could contribute to the
fragility and risk associated with the many national infrastructures and organizational
missions that rely on the Internet.
We describe our analysis effort as a work in progress and our conclusions as preliminary
due to the limited calibration and validation of our models. We are using data from the
CERT Coordination Center’s CVD function, as described, for our continuing calibration
and validation efforts. In addition, our to-date analysis has identified additional areas to
consider:
Additional questions to investigate include the following: Are there policies that
can improve the cooperation of vendors in MPCVDs AND reduce social costs? OR
is the best policy to shun non-cooperators? If so, when can you optimally bring
them in?
Consider other measures of social cost due to cybersecurity vulnerabilities over that
used in Efficiency of Vulnerability Disclosure Mechanisms to Disseminate
Vulnerability Knowledge (Cavusoglu 2007). This area of study has been relatively
active and one we need to continue to review.
Continue to tune the model parameters to what we know or can easily find out.
Where concrete data is not available, either direct future data collection efforts in
this direction or, in the near term, focus on plausibility, based on subject matter
expert opinion.
Consider additional review and refinement of model structure and logic:
a. logic for the (purposeful) decision to disclose early based on the extent
patch developed
b. logic for accidental vs. purposeful disclosure in whether early disclosure
occurs
c. the impact that the size of the vendor has on its behavior (accidental vs.
purposeful disclosure)
18
d. the impact of whether a vendor discloses early or not has on other vendors
in the party, or the community at large
The last of these considerations has the potential to incorporate richer feedback dynamics
that may be a central driver in the cybersecurity of national infrastructures. While the
results of our initial efforts, described in this paper, should be viewed as preliminary, we
believe that the approaches used and the depth of the modeling and simulation are sufficient
to begin to understand key implications of these processes and possible avenues for their
improved application in the future.
5 Acknowledgements
The authors thank SEI/CERT colleagues Soumyo Moitra, William Casey, and Jeffrey
Chrabaszcz for their insights and data analysis that helped ground this modeling effort. We
also appreciate the capable review and technical edits by Sandy Shrum.
19
References
Caralli, R., Allen, J., & & White, D. (2010). CERT Resilience Management Model: A
Maturity Model for Managing Operational Resilience. Addison-Wesley
Professional . Retrieved from https://resources.sei.cmu.edu/library/asset-
view.cfm?assetid=514489
Cavusoglu, H. &. (2007). Efficiency of Vulnerability Disclosure Mechanisms to
Disseminate Vulnerability Knowlege. IEEE Transactions on Software
Engineering, 171-185. Retrieved from
https://ieeexplore.ieee.org/document/4084135/
Householder, A. (2018). Analyzing 24 Years of CVD. FIRST Vendor TC. Atlanta, GA.
Retrieved from https://www.first.org/resources/papers/atlanta2018/20180227-
Analyzing-24-Years-of-CVD-Allen-Householder-FIRST-PSIRT-TC.pdf
Householder, A., Wassermann, G., Manion, A., & & King, C. (2017). The CERT Guide
to Coordinated Vulnerability Disclosure. Pittsburgh, PA: Carnegie Mellon
University. Retrieved from https://resources.sei.cmu.edu/library/asset-
view.cfm?assetid=503330
ISO/IEC Technical Committee JTC 1/SC 27 IT Security Techniques. (2013). Information
Technology - Security Techniques - Vulnerability Handling Processes. Retrieved
from https://www.iso.org/standard/53231.html
NIST Information Technology Laboratory. (2019). National Vulnerability Database.
Retrieved from https://nvd.nist.gov
NIST. (n.d.). NIST Special Publication 800-40 Revision 3: Guide to Enterprise Patch
Management Technologies. Retrieved from
https://www.nist.gov/publications/guide-enterprise-patch-management-
technologies
Ragan, S. (2016). Over 6,000 Vulnerabilities Went Unassigned by MITRE's CVE Project
in 2015. CSO Online. Retrieved from
https://www.csoonline.com/article/3122460/over-6000-vulnerabilities-went-
unassigned-by-mitres-cve-project-in-2015.html
Thomson, I. (2018). Revialed: El Reg blew lid off Meltdown CPU bug before Intel told
US govt - and how bitter tech rivals teamed up. The Register. Retrieved from
https://www.theregister.co.uk/2018/08/09/meltdown_spectre_cert_timing/
20
Appendix A: System Dynamics Modeling Overview
System dynamics helps analysts model and analyze critical behavior as it evolves over time
within complex socio-technical domains. Figure 18 summarizes the notation used in our
system dynamics model.
21
Appendix B: The Vulnerability Management Ecosystem System Dynamics Model
patching
multiplier
fraction_patches_in +
+
works_perceived
ignored_patch +
+ + <Total_Patches
+ risk_factor - patching_rate
Considered>
perceived_patches risk_created_by + +
not_applied + fraction_patches +
+ ignoring_patches applied fraction_system
+ patches_applied
+ -
Total_Patches - +
patching_possible_for Unapplied
perceived_adequacy Considered Patches Patches Patches
of_vul_management public_vuls_in_works becoming_forever Public_Forever Ignored ignoring Considered applying patching_rate
patch Applied number_of
day_vuls Day_Vuls + patches patches per_system
+ availability infrastructure
rate making systems
- - - acceleration + patches +
total_patches fraction_dormant vul_dormancy factor available avg_patches_per
+
needed patched vul_per_system
+ - +
+ publishing_vuls Urgent_Vuls_with
<risk_created_by Public_but Urgent_Vuls
ignoring_patches> without_patches Dormant_Vuls Patch_being with_Patches + use_random
Discovering Vuls and starting_urgent Developed publishing
- urgent_vuls Available work_multiplier
Developing Patches - vul_patch + patch
fraction_vuls with_patches generation -
- vul_com -
initially_patched time + public_vuls - time random_vul Patching
Known_Vuls Known_Vuls in_works patch_work Infrastructure
+ - + Public_Vuls + multiplier Systems
actual_adequacy_of discovering being with_Patch with_Patches
vul_management + vuls Considered starting_vul being_Developed publishing_vuls Available
patch_creation nominal_patch
with_patches +
generation
vul_discovery + time +
fraction_discovered
rate
before_patching + <publishing_vuls
+ +
+ without_patches>
Determining CVE_Vuls_being CVE_Vuls_being
Adequacy of Classified considering Processed
identifying_possible +
Vulnerability + CVE_vuls
CVE_vuls per_responder
Management
publishing productivity
ignoring CVE_IDs +
Identifying and +
CVE_vuls + +
- Processing CVE nominal
tier_fractions CVE_Vuls_with CVE_vul_response
over_time + Vulnerabilities productivity
fraction_CVE Published_IDs productivity
CVE_Ignored
+ Vuls vuls_reported
+
Total
Considered_Vuls +
vul Hiring Staff to
Total_Vuls + consideration Keep Up
+ + CVE_Vul
vul Discovered Responders
discovery fraction hiring
ignored_vuls perceived_adequacy baseline CVE_staff
- of_CVE_reporting hiring_rate
- criticality_of +
effect_of_demand
ignored_vuls + desired_adequacy - +
- on_hiring
of_vul_reporting + difficulty_keeping_up
actual_adequacy with_vul_reporting
of_CVE_reporting
22
Appendix C: System Dynamics (VenSim) Model Parameters
Model Value in
Units
Variables Baseline
23
Model Value in
Units
Variables Baseline
24
Appendix D: The Ventity Interface
25
Appendix E: Agent-Based Model (Ventity) Parameters of the
Social Cost Measure
The social cost measure from Efficiency of Vulnerability Disclosure Mechanisms to
Disseminate Vulnerability Knowledge5 appears below. The cost due to patch
development is not included, to represent only the social cost to users (deployers).
Equation
Description Value in Baseline Units
Variables
5
See (Cavusoglu, 2007), equations 3 and 4 on page 175.
26