Software Vulnerability Analysis Based on Statistical Characteristics
摘要
A software vulnerability is any bug, error, or flaw in the code of an application or an open library that an attacker can use to get into the system. These vulnerabilities give the chance for unauthorized access to the system, which may lead to financial, energy, military, healthcare, and other essential infrastructure system losses. The majority of approaches for scoring software vulnerabilities rely solely on the vulnerability description using natural language processing. There is still work to be done. This paper proposed a technique to score software vulnerabilities based on the statistical features using six machine-learning techniques Linear Regressor, Decision Tree Regressor, Random Forest Regressor, K Nearest Neighbors Regressor, AdaBoost Regressor, and Support Vector Regressor. The performance of the Regressors mentioned is evaluated using the metrics Explained Variance, Mean Squared Log Error, R-Squared, Mean Absolute Error, Mean Squared Error, and Root Mean Squared Error. The results were validated using tenfold cross-validation. The research has been carried out using a data set containing 159,979 common vulnerabilities and exposures extracted from NVD. The Random Forest Regressor did very well on five of the six metrics, and its accuracy of 0.9486 was confirmed by tenfold cross-validation.