Kim Herzig

Proactive security review

Proactive security review and test efforts are a necessary component of the software development lifecycle. Resource limitations often preclude reviewing the entire code base. One way to prioritize security efforts is risk-based attack surface approximation (RASA), a technique that uses crash dump stack traces to predict what code may contain exploitable vulnerabilities. However, storing every crash seen by end users may be infeasible, depending on the scale of the deployment of the software. In this work, we explore the effect of random sampling of crashes on RASA as a mitigation strategy.

The goal

The goal of this research is to help software development teams prioritize security efforts by determining how random sampling of crash dump stack traces affects the result of risk-based attack surface approximation. We explore the use of RASA using Mozilla Firefox and Microsoft Windows 8.1 crash dump stack traces.

Results

We create RASA at the file level for Firefox, in which the 15.8% of the files that were part of the approximation contained 73.6% of the vulnerabilities seen. For Windows 8.1, 23.6% of the files that were part of the approximation contained 44.5% of the vulnerabilities seen. We explore the rate of change in vulnerability and file coverage through the development of the Data Efficiency metric to quantify the efficiency of RASA at different sampling levels. For Mozilla Firefox, we observe less than 1% difference in total coverage of vulnerabilities starting at a 40% sampling of crashes. For Windows 8.1, we observe less than 2% difference in total coverage of vulnerabilities starting at a 60% sampling of crashes.