Vulnerability and Resilience Prediction Models - July 2017
Public Audience
Purpose: To highlight project progress. Information is generally at a higher level which is accessible to the interested public. All information contained in the report (regions 1-3) is a Government Deliverable/CDRL.
PI(s): Mladen Vouk, Laurie Williams
Researchers: Akond Rahman
HARD PROBLEM(S) ADDRESSED
- Security Metrics and Models
- Resilient Architectures
- Scalability and Composability
Resilience of software to attacks is an open problem. Resilience depends on the science behind the approach used, as well as on our engineering abilities, and our ability to manage errors introduced by human factors. The scope includes recognition of attacks through metrics and models we use to describe and identify software vulnerabilities, and the models we use to predict resilience to attacks in the field (Security Metrics and Models). It also depends on the software (and system) architecture(s) used (Resilient Architectures), and their scalability (Scalability and Composability). For example, if one has a number of highly attack-resilient components and appropriate attack sensors, is it possible to compose a resilient system from these parts, and how does that solution scale and age?
Vulnerability prediction models can be used to prioritize security-related validation and verification efforts to the most risky parts of a project. We draw inspiration from these studies and identify the possibility of applying data mining techniques to predict vulnerabilities during design, development and operational phases. In order to provide end-to-end run-time resilience a pro-active approach to securing sensitive workflows end-to-end is needed..We draw inspiration for this from classical high assurance safety considerations in combination with integrity, confidentiality, and availability models and constraints relevant to preservation of security, privacy and compliance properties.
PUBLICATIONS
ACCOMPLISHMENT HIGHLIGHTS
- We applied the orthogonal defect classification scheme to categorize Infrastructure as Code (IaC)-related defects. IaC scripts are commonly used in continuous deployment/DevOps environments. We also compare the distribution of defect categories found in the IaC scripts with the categories reported in prior studies of 23 non-IaC software systems. For Mozilla and Wikimedia Commons, we observed the dominant defect category to be configuration assignments and syntax-related. Conversely, for non-IaC systems, syntax and configuration-related defects were the dominant category for two of the 23 previously studied non-IaC software systems, whereas, algorithm-related defects were the dominant category for 15 of the 23 software systems.