TY - GEN
T1 - Automatically assessing vulnerabilities discovered by compositional analysis
AU - Ognawala, Saahil
AU - Amato, Ricardo Nales
AU - Pretschner, Alexander
AU - Kulkarni, Pooja
N1 - Publisher Copyright:
© 2018 Association for Computing Machinery.
PY - 2018/9/3
Y1 - 2018/9/3
N2 - Testing is the most widely employed method to find vulnerabilities in real-world software programs. Compositional analysis, based on symbolic execution, is an automated testing method to find vulnerabilities in medium- To large-scale programs consisting of many interacting components. However, existing compositional analysis frameworks do not assess the severity of reported vulnerabilities. In this paper, we present a framework to analyze vulnerabilities discovered by an existing compositional analysis tool and assign CVSS3 (Common Vulnerability Scoring System v3.0) scores to them, based on various heuristics such as interaction with related components, ease of reachability, complexity of design and likelihood of accepting unsanitized input. By analyzing vulnerabilities reported with CVSS3 scores in the past, we train simple machine learning models. By presenting our interactive framework to developers of popular open-source software and other security experts, we gather feedback on our trained models and further improve the features to increase the accuracy of our predictions. By providing qualitative (based on community feedback) and quantitative (based on prediction accuracy) evidence from 21 open-source programs, we show that our severity prediction framework can effectively assist developers with assessing vulnerabilities.
AB - Testing is the most widely employed method to find vulnerabilities in real-world software programs. Compositional analysis, based on symbolic execution, is an automated testing method to find vulnerabilities in medium- To large-scale programs consisting of many interacting components. However, existing compositional analysis frameworks do not assess the severity of reported vulnerabilities. In this paper, we present a framework to analyze vulnerabilities discovered by an existing compositional analysis tool and assign CVSS3 (Common Vulnerability Scoring System v3.0) scores to them, based on various heuristics such as interaction with related components, ease of reachability, complexity of design and likelihood of accepting unsanitized input. By analyzing vulnerabilities reported with CVSS3 scores in the past, we train simple machine learning models. By presenting our interactive framework to developers of popular open-source software and other security experts, we gather feedback on our trained models and further improve the features to increase the accuracy of our predictions. By providing qualitative (based on community feedback) and quantitative (based on prediction accuracy) evidence from 21 open-source programs, we show that our severity prediction framework can effectively assist developers with assessing vulnerabilities.
KW - Compositional analysis
KW - Software testing
KW - Symbolic execution
KW - Vulnerability assessment
UR - http://www.scopus.com/inward/record.url?scp=85055871388&partnerID=8YFLogxK
U2 - 10.1145/3243127.3243130
DO - 10.1145/3243127.3243130
M3 - Conference contribution
AN - SCOPUS:85055871388
T3 - MASES 2018 - Proceedings of the 1st International Workshop on Machine Learning and Software Engineering in Symbiosis, co-located with ASE 2018
SP - 16
EP - 25
BT - MASES 2018 - Proceedings of the 1st International Workshop on Machine Learning and Software Engineering in Symbiosis, co-located with ASE 2018
A2 - Perrouin, Gilles
A2 - Acher, Mathieu
A2 - Devroey, Xavier
A2 - Cordy, Maxime
A2 - Cordy, Maxime
PB - Association for Computing Machinery, Inc
T2 - 1st International Workshop on Machine Learning and Software Engineering in Symbiosis, MASES 2018, co-located with ASE 2018 Conference
Y2 - 3 September 2018
ER -