Predicting Attack-prone Components

  • Authors:
  • Michael Gegick;Pete Rotella;Laurie Williams

  • Affiliations:
  • -;-;-

  • Venue:
  • ICST '09 Proceedings of the 2009 International Conference on Software Testing Verification and Validation
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Limited resources preclude software engineers from finding and fixing all vulnerabilities in a software system. This limitation necessitates security risk management where security efforts are prioritized to the highest risk vulnerabilities that cause the most damage to the end user. We created a predictive model that identifies the software components that pose the highest security risk in order to prioritize security fortification efforts. The input variables to our model are available early in the software life cycle and include security-related static analysis tool warnings, code churn and size, and faults identified by manual inspections. These metrics are validated against vulnerabilities reported by testing and those found in the field. We evaluated our model on a large Cisco software system and found that 75.6% of the system's vulnerable components are in the top 18.6% of the components predicted to be vulnerable. The model's false positive rate is 47.4% of this top 18.6% or 9.1% of the total system components. We quantified the goodness of fit of our model to the Cisco data set using a receiver operating characteristic curve that shows 94.4% of the area is under the curve.