Predicting Attack-Prone Components with Source Code Static Analyzers

Abstract

No single vulnerability detection technique can identify all vulnerabilities in a software system. However, the vulnerabilities that are identified from a detection technique may be predictive of the residuals. We focus on creating and evaluating statistical models that predict the components that contain the highest risk residual vulnerabilities. The cost to find and fix faults grows with time in the software life cycle (SLC). A challenge with our statistical models is to make the predictions available early in the SLC to afford for cost-effective fortifications. Source code static analyzers (SCSA) are available during coding phase and are also capable of detecting code-level vulnerabilities. We use the code-level vulnerabilities identified by these tools to predict the presence of additional coding vulnerabilities and vulnerabilities associated with the design and operation of the software. The goal of this research is to reduce vulnerabilities from escaping into the field by incorporating source code static analysis warnings into statistical models that predict which components are most susceptible to attack. The independent variable for our statistical model is the count of security-related source SCSA warnings. We also include the following metrics as independent variables in our models to determine if additional metrics are required to increase the accuracy of the model: non-security SCSA warnings, code churn and size, the count of faults found manually during development, and the measure of coupling between components. The dependent variable is the count of vulnerabilities reported by testing and those found in the field.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
May 01, 2009
Accession Number
AD1010461

Entities

People

  • Michael C. Gegick

Organizations

  • North Carolina State University

Tags

Communities of Interest

  • Cyber
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Accuracy
  • C Programming Language
  • Case Studies
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Cost Analysis
  • Couplings
  • Predictive Modeling
  • Reliability
  • Risk
  • Risk Analysis
  • Risk Management
  • Software Development
  • Statistical Analysis
  • Statistical Sampling

Fields of Study

  • Computer science

Readers

  • Computational Modeling and Simulation
  • Fault Tolerant Diagnosis of Black and White Balloon Isolation Tests Using ¥.
  • Nuclear Civil Defense.