arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 2406.03577cs.SEcs.AI
收藏

解释机器学习中漏洞检测的促成因素

Explaining the Contributing Factors for Vulnerability Detection in Machine Learning

Concordia University(康考迪亚大学);Stevens Institute of Technology(史蒂文斯理工学院);University of Hawaii(夏威夷大学)

Esma Mouine, Yan Liu, Lu Xiao, Rick Kazman, Xiao Wang

AI总结:

本文研究不同漏洞特征表示与机器学习模型组合对17个项目漏洞检测准确性的影响,发现词袋嵌入结合随机森林的基线模型可稳定提升约4%准确率,并揭示了漏洞签名跨项目迁移的局限性。

摘要:

从软件仓库中挖掘漏洞并利用机器学习技术自动检测软件漏洞的趋势日益增长。一个基本但尚未解决的研究问题是:在挖掘和学习过程中,不同因素如何影响在具有不同特征的软件项目中识别漏洞的准确性?该领域已有大量研究,包括源代码静态分析、软件仓库挖掘和基于自然语言处理的机器学习。然而,实践者对于构建最先进基线模型的关键因素缺乏经验。此外,关于漏洞签名在不同项目之间的可迁移性也缺乏经验。本研究调查了不同漏洞特征组合与三种代表性机器学习模型如何影响17个真实项目中漏洞检测的准确性。我们考察了两种类型的漏洞表示:1)通过自然语言处理提取的代码特征,采用不同的分词策略和三种不同的嵌入技术(词袋模型、word2vec和fastText);2)一组八个架构度量指标,用于捕捉软件系统的抽象设计。三种机器学习算法包括随机森林模型、支持向量机模型和残差神经网络模型。分析表明,一个推荐的基线模型使用词袋嵌入提取的签名,并结合随机森林,在所有17个项目中相比其他组合一致地将检测准确率提高了约4%。此外,基于我们的实验,我们观察到跨领域迁移漏洞签名存在局限性。

英文摘要:

There is an increasing trend to mine vulnerabilities from software repositories and use machine learning techniques to automatically detect software vulnerabilities. A fundamental but unresolved research question is: how do different factors in the mining and learning process impact the accuracy of identifying vulnerabilities in software projects of varying characteristics? Substantial research has been dedicated in this area, including source code static analysis, software repository mining, and NLP-based machine learning. However, practitioners lack experience regarding the key factors for building a baseline model of the state-of-the-art. In addition, there lacks of experience regarding the transferability of the vulnerability signatures from project to project. This study investigates how the combination of different vulnerability features and three representative machine learning models impact the accuracy of vulnerability detection in 17 real-world projects. We examine two types of vulnerability representations: 1) code features extracted through NLP with varying tokenization strategies and three different embedding techniques (bag-of-words, word2vec, and fastText) and 2) a set of eight architectural metrics that capture the abstract design of the software systems. The three machine learning algorithms include a random forest model, a support vector machines model, and a residual neural network model. The analysis shows a recommended baseline model with signatures extracted through bag-of-words embedding, combined with the random forest, consistently increases the detection accuracy by about 4% compared to other combinations in all 17 projects. Furthermore, we observe the limitation of transferring vulnerability signatures across domains based on our experiments.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑