英语原文共 4 页,剩余内容已隐藏,支付完成后下载完整资料
基于Bellwether分析的经济有效的软件漏洞预测策略
摘要
漏洞预测模型(VPM)旨在确定大型软件中的易受攻击和无漏洞的组件。因此,VPM具有三个主要缺点(i)需要寻找一种有效的方法来识别代表性的特征,以此来构建有效模型的。 (ii)在机器学习模型构建中使用了哪些特征(iii)
一个隐含的假设,即参数优化不会更改VPM的结果。为了解决这些限制,我们
研究Bellwether分析对VPM结果的影响。具体来说,我们首先开发一种最优化算法识别并选择要考虑的数据的示例性子集作为前导,可以提高预测准确率以应对不断增长的基准。接下来,我们建立一种具有不同参数设置的机器学习方法,以改善VPM的性能。模型的预测结果可以用准确性,召回率,F度量和其他统计度量。初步结果显示Bellwether方法的性能,在应用程序中使用F量度值的方法,要优于基准程序51.1%-98.5%。
关键词:软件漏洞,前导分析,机器学习,调整
引言
开发准确的漏洞预测模型(VPM)是对软件研究人员和从业人员而言有价值的资产行业。漏洞的分类是至关重要的步骤,因为它可以被安全专家用来指导软件,保证工作重点放在分类为易受攻击的,比起更容易包含漏洞的漏洞中性成分[1]。大多数研究都依靠关于软件指标和文本挖掘功能的机器学习算法预测易受攻击的软件组件。例如,Tang et al.[2]研究了软件指标的预测能力和从省力的角度来看文本挖掘功能。Stuckman et al. [1]使用软件指标和文本挖掘功能的技术研究了降维效果。在这种情况下,要素表示自变量或解释变量。
据Stuckman et al. [1]研究,模型的优劣取决于特征的选取。换句话说,VPM的性能取决于训练这些模型的特征。尽管有一些研究人员进行了实证研究以检验
特征选择对VPM的影响,但这些研究大多数都失败了:(i)确定一组具有代表性的特征,从中构建有效的模型(例如:[1],[3])。 (ii)探索特征子集对VPM的重大影响。 (iii)确认参数优化的影响(即参数调整)在VPM上(例外:[4],[5],[6])(iv)执行对模型进行综合评估。同时,很明显在其他研究领域建立,例如缺陷预测[7],错误预测[8],即使用少量特征避免所谓的“维度问题”并改善
预测准确性。同样,Similarly, Fu et al.[9]显示调整机器学习算法可以将检测精度从0%-60%。考虑到这些要点,我们的研究目标是使用Bellwether开发VPM(即示例性数据),Chen et al. [10] 和 Krishna et al. [11]已证明是可靠的。 具体来说,我们首先开发一种Bellwether算法来识别并选择一个示例性的数据子集作为领头羊可以提高预测准确度。
接下来,我们建立一种具有不同参数设置的机器学习方法。 此外,模型预测的结果使用准确性,召回率,F方法和其他统计指标进行了评估。
我们的预期贡献是:
- 我们凭经验验证了VPM的领头羊分析。
- 我们提出了一种新颖的策略来识别和选择数据的示例性子集,作为训练集可提高预测准确性。
- 使用三个公共漏洞数据集进行实验。
- 我们调查参数调整的程度影响漏洞预测模型的性能。
背景及相关工作
本节提供了相关背景和概念以了解建议的方法。
2.1 特征选择
机器学习中一个常见且广为人知的问题是维度问题,通常会影响机器算法。一个有效的解决方案是应用特征选择和特征工程技术。特征选择为提取多个特征子集的过程最有代表性的原始子集[12]。特征选择算法可以归类为监督算法,无监督和半监督算法。来自子集选择策略的角度,特征选择技术大致分为三大类:过滤器,包装器和嵌入式。常用的过滤方法因为相关性指标使用启发式标准来评估每个特征的内在特征[13]。包装方法采用搜索策略选择相关特征,然后使用学习机制评估获得的子集,例如作为C4.5和贝叶斯网络[14]。嵌入式方法在训练过程中进行变量选择,并且通常特定于给定的学习算法。严格来讲,过滤方法通常较快速,但不如包装器方法,因为它们不使用基础计算机学习算法[8]。不幸的是,特征选择对模型质量的影响预测经常在VPM中被忽视。只有两项实证[1],[15]研究了在大量的脆弱性预测研究中,特征选择对VPM的重要影响。例如,Pang et al. [15]提出了一种统计特征选择方法来选择一个改进漏洞预测的特征的子集。
他们使用特征分级方法排除了大型不相关和不太重要的特征数量,其中保留许多特征,其余特征则被丢弃。 同样,Stuckman et al. [1]在VPM上研究了三维减少技术。 这种观察将我们引向研究Bellwether分析对VPM的性能的影响。 当前的研究与[1],[15]中提出的方法不同,因为我们使用了不同的策略以显示VPM性能的改善。
2.2 Bellwether的概念
据我们所知,Bellwether概念是第一个由Chen et al. [10]在线分析过程中提出。他们的目的是找到一小部分查询子集,用于准确预测新目标查询。在缺陷预测中,Krishna et al. [11]使用了这一概念从一组非按时间顺序查找示例项目成功预测剩余的项目。每个项目都被认为是潜在的领头羊,预测剩余项目的每次迭代,直到获得了具有最佳预测精度的项目数据。领头羊概念使用两种主要方法,即
前导效应和前导方法。前导效应定义示例性项目的存在,项目的历史数据集用于建立准确的预测模型。领头者方法定义了用于获取的搜索过程示范项目[11]。 Chen et al. [10]定义了三个主要领导羊问题,即基本,子集和组合,的领头羊问题。子集问题从本质上探讨了创如何建项目的子集并为每个项目找到Bellwether区域以便我们可以对用Bellwether方法的这些子集来做出最好的预测。在设定的情况下,我们从特定数据集D中获取了N个漏洞数据集,获得n个案例的子集,可以将其视为领头羊可以提高预测准确度。
2.3 基准技术
在软件工程领域,特别是在软件领域工作量估算,不断增长的投资组合是指所有可用的集合从软件项目案例中提取的历史数据[16]。 它之所以称为不断增长的投资组合,是因为收集了数据随着时间的流逝,增长一词的相关性是在一段时间内积累数据。 Lokan and Mendes [16] 正如Amasaki和Lokan [17]对不断增长的投资组合的一部分进行了抽样。基于启发式方法,并将该子集称为移动窗口。 移动窗口是指最近的子集完成的项目。
该移动窗口子集用于调查是否会使得性能提高。 从Chen et al. [10]和Lokan and Mendes [16]的研究中得到启发,我们试图调查其存在从整体中提取的示例性漏洞数据的子集。相对于与建立有关的不断增长的投资组合基准漏洞预测模型,可用漏洞案例的收集(称为不断增长的投资组合),可以提高预测准确性。 因此,不断增长的投资组合是指给定的可用漏洞数据的整个集合存在标签(易受攻击或中立)的数据集。
模型结构
图一是我们所用方法的整体框架。
图1.软件漏洞预测模型框架
3.1 数据集
作为针对我们研究问题的可行性研究,我们根据以下标准为此研究选择了应用程序:(i)该应用程序必须是一个开源项目(ii)选定的应用程序必须具有大量已确认的安全性漏洞。 (iii)所选应用程序已在之前的研究中经过验证。 为此,我们使用了Walden et al. [18]提供的漏洞预测数据集。数据集包含总共223个漏洞,三个应用系统的多个版本,即Drupal,Moodle和PhpMyAdmin。 我们在[19]中利用了Java实用程序,Rscript和其他应用程序来提取和组织特征。
3.2 自变量和因变量
我们研究中使用的因变量与[1],[18]相同。 具体来说,我们从漏洞数据库导出漏洞报告并将每个漏洞本地化到文件在版本分析过程中存在的位置。从漏洞到文件的映射被用来定义因变量。在这种情况下,如果文件包含至少一个漏洞,则被标记为漏洞文件,如果没有,则为非漏洞文件。自变量也与在[1],[18]中的相同。那就是软件指标和文本挖掘的特征。
模型方法
本节讨论我们的经验评估方法。
机器学习技术
我们使用了五种不同的分类算法,即随机森林,深层神经网络,k近邻,逻辑回归和支持向量机。 我们选择了这些模型,因为它们属于学习方法的不同类别,部分原因是他们在以前的研究中取得了很好的性能。 请注意,我们在实验中使用了开源的机器学习软件Weka工具套件[20]
评价指标
对于每个应用程序,我们进行了分层的10交叉验证,使用Weka工具进行实验并且使用精度,召回率和F度量评估模型的性能。在10交叉验证方法,我们将每个数据集随机分为10个子集,每次使用9个作为训练数据集,剩下的一个用于验证。
结果
我们在此介绍实验的初步结果。我们的模型分别使用领头羊的方法和增长投资组合,显示的精度值分别为48.5%-89.6%和40.9%-89.4%。在召回方面,我们记录了在“领头羊”方法中值为13.5%-99.9%,投资组合10.9%-88.99%。尽管我们的召回率很低,在某些情况下,真正重要的是性能比较F度量。我们的F测量值范围在研究领头羊的应用中占54%-98.5%这种方法是对基准的改进技术。此外,我们注意到随机森林和Bellwether方法得出的F值最高值。最后,k近邻和深度神经网络是由我们衡量的性能指标得出的最稳定的分类模型。我们认为减小训练数据集说明了模型的准确性得到提升。这项研究的结果证实了先前[9]中的研究,参数调整提高数据挖掘者的预测性能。
结论和展望
本文提出了一种基于Bellwether分析使用机器学习技术的漏洞预测框架。 此外,我们开发了一个框架来展示自动化调参提高VPM的性能。 我们通过案例研究证明了该目标是可行的,并且可以获得更高的准确性(F方法评估)。这项工作的剩余部分是在研究的基础上改进其在其他数据集上的应用,例如Android应用程序,阻止错误预测,入侵检测,漏洞利用检测和漏洞严重性评定。 我们也打算探讨语境下的漏洞预测中组合式Bellwether问题。
参考文献
- J. Stuckman, J. Walden, and R. Scandariato, “The effect of dimensionality reduction on software vulnerability prediction models,”IEEE Transactions on Reliability, vol. 66, no. 1, pp. 17–37, 2017.
- Y. Tang, F. Zhao, Y. Yang, H. Lu, Y. Zhou, and B. Xu, “Predicting vulnerable components via text mining or software metrics? an effortaware perspective,” IEEE International Conference on Software Quality, Reliability and Security (QRS), 2015, pp. 27–36, 2015.
- Y. Pang, X. Xue, and A. S. Namin, “Predicting vulnerable software components through n-gram analysis and statistical feature selection,” in Proceedings of the 14th IEEE International Conference on Machine Learning and Applications (ICMLA), 2015, 2015, pp. 543–548.
- Z. Han, X. Li, Z. Xing, et al., “Learning to Predict Severity of Software Vulnerability Using Only Vulnerability Description,” in IEEE International Conference on Software Maintenance and Evolution (ICSME), 2017, pp. 125– 136.
- R. Scandariato, J. Walden, A. Hovsepyan, and W. Joosen, “Predicting vulnerable software components via text mining,” IEEE Transactions on Software Engineering, vol. 40, pp. 993–1006, 2014.
- F. Wu, J. Wang, J. Liu, and W. Wang, “Vulnerability detection with deep learning,” in Proceedings of the 3rd IEEE International Conference on Computer and Communications (ICCC), 2017, 2017, pp. 1298–1302.
-
M. Kondo, C.-P. Bezemer, Y. Kamei et al., “The impact of feature r
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[254510],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。