Image may be NSFW. Clik here to view. ![]() |
Figure 1: CVSS Score Metrics. (Source: Balbix) |
The Common Vulnerability Scoring System (CVSS) is an open framework for communicating the characteristics and severity of software vulnerabilities. These severity scores, ranging from 0 (low) to 10 (high), have been directly used to prioritize vulnerability mitigation strategies. However, CVSS scores are not strongly linked to known cybersecurity exploits and analysts can be overwhelmed by the volume of vulnerabilities that have similar high scores. This simple ranking approach could be improved if more detailed information on vulnerabilities and exploits were available.
In their paper "Latent feature vulnerability ranking of CVSS vectors", Ross et al. seek to improve upon the CVSS score ranking by exploring the latent feature space described by a Jaccard similarity metric. Their goal is to provide a data-driven and alternative ranking approach using features in the CVSS base and temporal metric groups, Figure 1, enumerated in the National Vulnerability Database (NVD). We should note the analysis conducted by Ross et al. is based upon the CVSS Version 2 scoring system which has since been superseded by CVSS Version 3.1.
Datasets
Metric (Label) | Value (Label) |
---|---|
Attack Vector (AV) | Local Access (L) |
Adjacent Network (A) | |
Network (N) | |
Access Complexity (AC) | High (H) |
Medium (M) | |
Low (L) | |
Authentication (AU) | None Required (N) |
Requires Single (S) | |
Requires Multiple (M) |
Metric (Label) | Value (Label) |
---|---|
Confidentiality Impact (C) | None (N) |
Partial (P) | |
Complete (C) | |
Integrity Impact (I) | None (N) |
Partial (P) | |
Complete (C) | |
Access Impact (A) | None (N) |
Partial (P) | |
Complete (C) |
Using the metrics in Table 1 and Table 2, (AV:N/AC:M/Au:S/C:P/I:P/A:P) is an example of a CVSS V2 vector that might be formulated for a given vulnerability. Ross et al. use four datasets reporting data on vulnerabilities and CVSS scores, proof-of-concept exploits, exploits traded in the cyber black markets, and exploits in the wild.
- National Vulnerability Database (NVD): The NVD is the U.S. government repository for known and accepted software vulnerabilities maintained by the National Institute for Standards and Technology (NIST). Each vulnerability is given a set of analyst-assigned ratings (the CVSS vector) that is used to compute the CVSS base score.
- Exploit Kits Database (EKITS): A database created by Allodi and Massacci that contains exploits for 103 unique vulnerabilities that were purchased on the black market.
- Symantec's Threat Database (SYM): A database extracted from Symantec by Allodi and Massacci that contains references to over 1000 vulnerabilities.
- Exploit Database (Exploit-DB): A robust database containing a large collection of vulnerabilities and their corresponding public exploit(s).
Exploit Probabilities Conditioned on CVSS Scores
Image may be NSFW. Clik here to view. |
Equation 1: Conditional probability of exploit. (Source: Ross et al.) |
- Their analysis can only provide a lower bound on the probabilities as only known exploits are included in the data set.
- The conditional probabilities depend on the date range used for the vulnerability and exploit databases. This implies there should be a correlation in the date range chosen.
- Probability estimates must be considered in the context of undirected attacks against many hosts. A determined attacker could develop their own exploits against undiscovered vulnerabilities which would increase the risk and probability associations.
Image may be NSFW. Clik here to view. |
Figure 2: Conditional probability of an exploit existing with a CVSS V2 score V falling in [V, V +1]. (Source: Ross et. al.) |
Vector Diversity in the NVD
Image may be NSFW. Clik here to view. |
Figure 3: The expected number of CVSS V2 vectors with random assignment compared to the cumulative number of unique observed CVSS vectors in the NVD. (Source: Ross et al.) |
Image may be NSFW. Clik here to view. |
Figure 4: The total number of new unique observed CVSS V2 vectors per year. (Source: Ross et al.) |
Latent Features of CVSS Vectors
Image may be NSFW. Clik here to view. |
Figure 5: In 2014, the entire NVD CVSS V2 vector membership could be described by 283 unique CVSS vectors. Moreover, 80% of the entries could be represented using on 17 vectors, and 90% by only 30 vectors. (Source: Ross et al.) |
CVSS Vector Results
Image may be NSFW. Clik here to view. |
Figure 6: Root Mean Square (RMS) similarity value exhibited for each of k cluster choices for k⋜15. (Source Ross et al.) |
Image may be NSFW. Clik here to view. |
Figure 7: CVSS V2 vectors with three clusters from Jaccard similarity arranged by cluster membership. Darker blue entries are more similar. (Source: Ross et al.) |
Image may be NSFW. Clik here to view. |
Table 3: Cluster membership fractions for CVSS V2 vectors in three clusters. (Source: Ross et al.) |
Applications of CVSS Clustering
Cluster-based Ranking
Image may be NSFW. Clik here to view. |
Figure 8: Average number of exploits per vulnerability for each cluster. (Source: Ross et al.) |
- Find all unique CVSS vectors in the vulnerability database
- Compute the Jaccard similarity between all pairs to create the similarity matrix, S
- Apply spectral clustering with k-means on S to provide k-many clusters
- Count the number of exploits affecting each CVSS vector in the cluster
- Rank the clusters 1 to k where k has the most exploits
Temporal Exploit Emergence
Image may be NSFW. Clik here to view. |
Figure 9: Mitigating vulnerabilities in priority order via decreasing risk in the latent feature clusters captures more exploit-associated vulnerabilities earlier than by using descending CVSS scores. (Source: Ross et al.) |
Summary Discussion
Ross et al. provided a data-driven analysis to present improvements to existing vulnerability ranking systems by tying exploits to the risk presented by the vulnerability. They determined the conditional probability is given by a functional fit to a power law with an exponent of 7.5±1.4 with a maximum probability of just over 9%. The authors were also motivated to analyze the NVD's latent feature space by observing the emergence of CVSS V2 vectors. In particular, they determined 80% of the NVD entries can be described using only 17 vectors. Using spectral and k-means, Ross et al. observed that three clusters suitably capture the CVSS vector feature spaces within the NVD. Finally, the authors conclude their rank-ordering of CVSS vectors is superior to that implied by CVSS scores when exploits are used as a stand-in for risk. For future work, they plan to incorporate other vulnerability features and determine applicability to the more recent CVSS V3 scoring metrics.-- Corren McCoy (@correnmccoy)
Ross, D. M., Wollaber, A. B., & Trepagnier, P. C. (2017, July). Latent feature vulnerability ranking of CVSS vectors. In Proceedings of the Summer Simulation Multi-Conference (pp. 1-12). https://dl.acm.org/doi/10.5555/3140065.3140084