Security vulnerabilities in software systems: a quantitative perspective

  • Authors:
  • Omar Alhazmi;Yashwant Malaiya;Indrajit Ray

  • Affiliations:
  • Department of Computer Science, Colorado State University, Fort Collins, CO;Department of Computer Science, Colorado State University, Fort Collins, CO;Department of Computer Science, Colorado State University, Fort Collins, CO

  • Venue:
  • DBSec'05 Proceedings of the 19th annual IFIP WG 11.3 working conference on Data and Applications Security
  • Year:
  • 2005

Quantified Score

Hi-index 0.01

Visualization

Abstract

Security and reliability are important attributes of complex software systems. It is now common to use quantitative methods for evaluating and managing reliability. In this work we examine the feasibility of quantitatively characterizing some aspects of security.In particular, we investigate if it is possible to predict the number of vulnerabilities that can potentially be identified in a future release of a software system. We use several major operating systems as representatives of complex software systems. The data on vulnerabilities discovered in some of the popular operating systems is analyzed. We examine this data to determine if the density of vulnerabilities in a program is a useful measure. We try to identify what fraction of software defects are security related, i.e., are vulnerabilities. We examine the dynamics of vulnerability discovery hypothesizing that it may lead us to an estimate of the magnitude of the undiscovered vulnerabilities still present in the system. We consider the vulnerability-discovery rate to see if models can be developed to project future trends. Finally, we use the data for both commercial and open-source systems to determine whether the key observations are generally applicable. Our results indicate that the values of vulnerability densities fall within a range of values, just like the commonly used measure of defect density for general defects. Our examination also reveals that vulnerability discovery may be influenced by several factors including sharing of codes between successive versions of a software system.