When Machine Learning Meets Vulnerability Discovery: Challenges and Lessons Learned
By: Sima Arasteh, Christophe Hauser
Potential Business Impact:
Finds computer bugs faster using smart programs.
In recent years, machine learning has demonstrated impressive results in various fields, including software vulnerability detection. Nonetheless, using machine learning to identify software vulnerabilities presents new challenges, especially regarding the scale of data involved, which was not a factor in traditional methods. Consequently, in spite of the rise of new machine-learning-based approaches in that space, important shortcomings persist regarding their evaluation. First, researchers often fail to provide concrete statistics about their training datasets, such as the number of samples for each type of vulnerability. Moreover, many methods rely on training with semantically similar functions rather than directly on vulnerable programs. This leads to uncertainty about the suitability of the datasets currently used for training. Secondly, the choice of a model and the level of granularity at which models are trained also affect the effectiveness of such vulnerability discovery approaches. In this paper, we explore the challenges of applying machine learning to vulnerability discovery. We also share insights from our two previous research papers, Bin2vec and BinHunter, which could enhance future research in this field.
Similar Papers
Deep Learning Aided Software Vulnerability Detection: A Survey
Software Engineering
Finds hidden computer bugs before hackers do.
Evaluating Line-level Localization Ability of Learning-based Code Vulnerability Detection Models
Machine Learning (CS)
Finds exact code errors, not just whole programs.
When Secure Isn't: Assessing the Security of Machine Learning Model Sharing
Cryptography and Security
Finds hidden dangers in shared computer programs.