Title :
Vulnerability Scrying Method for Software Vulnerability Discovery Prediction Without a Vulnerability Database
Author :
Rahimi, S. ; Zargham, Michael
Author_Institution :
Dept. of Comput. Sci., Southern Illinois Univ., Carbondale, IL, USA
Abstract :
Predicting software vulnerability discovery trends can help improve secure deployment of software applications and facilitate backup provisioning, disaster recovery, diversity planning, and maintenance scheduling. Vulnerability discovery models (VDMs) have been studied in the literature as a means to capture the underlying stochastic process. Based on the VDMs, a few vulnerability prediction schemes have been proposed. Unfortunately, all these schemes suffer from the same weaknesses: they require a large amount of historical vulnerability data from a database (hence they are not applicable to a newly released software application), their precision depends on the amount of training data, and they have significant amount of error in their estimates. In this work, we propose vulnerability scrying, a new paradigm for vulnerability discovery prediction based on code properties. Using compiler-based static analysis of a codebase, we extract code properties such as code complexity (cyclomatic complexity), and more importantly code quality (compliance with secure coding rules), from the source code of a software application. Then we propose a stochastic model which uses code properties as its parameters to predict vulnerability discovery. We have studied the impact of code properties on the vulnerability discovery trends by performing static analysis on the source code of four real-world software applications. We have used our scheme to predict vulnerability discovery in three other software applications. The results show that even though we use no historical data in our prediction, vulnerability scrying can predict vulnerability discovery with better precision and less divergence over time.
Keywords :
program diagnostics; security of data; software maintenance; software reliability; stochastic processes; system recovery; VDM; backup provisioning; code complexity; code property; compiler-based static analysis; cyclomatic complexity; disaster recovery; diversity planning; maintenance scheduling; software vulnerability discovery prediction; source code; stochastic process; vulnerability database; vulnerability discovery model; vulnerability scrying method; Data models; Databases; History; Mathematical model; Predictive models; Security; Software; Code security; static analysis; vulnerability discovery model; vulnerability prediction;
Journal_Title :
Reliability, IEEE Transactions on
DOI :
10.1109/TR.2013.2257052