[发明专利]一种基于组件依赖图的软件安全漏洞预测方法有效
申请号: | 201711063930.1 | 申请日: | 2017-11-02 |
公开(公告)号: | CN107798245B | 公开(公告)日: | 2020-08-11 |
发明(设计)人: | 危胜军;林婷;单纯;胡昌振;何涛 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 高燕燕 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 组件 依赖 软件 安全漏洞 预测 方法 | ||
本发明提出一种基于组件依赖图的软件安全漏洞预测方法,从不同的角度提出了一种软件代码的度量指标来建立漏洞预测模型。包括以下步骤:步骤一、建立所预测软件的组件依赖图:步骤二、计算步骤一所述组件依赖图中每个节点的网络属性值;步骤三、从公开的软件漏洞库中搜集针对所预测软件的所有软件漏洞,建立该软件的历史漏洞库;步骤四、步骤二中计算得到的每个节点的网络属性值作为机器学习算法的输入,将步骤三中漏洞的数量作为机器学习算法的输出,对机器学习算法进行训练和测试,根据机器学习算法的性能评价指标确定性能最优的预测模型;步骤五、将第四步中获得的性能最优的预测模型应用于该软件项目的新的软件组件的漏洞预测。
技术领域
本发明涉及一种基于组件依赖图的软件安全漏洞预测方法,属于软件质量 保障技术领域。
背景技术
目前,很多文献资料对软件安全漏洞的预测进行研究,建立漏洞预测模型(Vulnerability Prediction Model,VPM)。漏洞预测模型采用机器学习算法,从 软件代码中提取代码的度量指标作为特征,从大量已知具有漏洞的代码中获取 指标数据对模型进行训练,训练之后的模型可对新的代码中的漏洞进行预测。 预测的结果给出模块具有漏洞的可能性,或者模块存在漏洞的数量。VPM的研 究思路和方法主要借鉴了软件缺陷预测模型(Defect Prediction Model,DPM) 的研究思路和方法,其软件代码的度量指标主要包括三个方面:代码复杂性、 耦合性以及内聚性指标。研究资料认为高的复杂性、高的耦合性以及低内聚性 能够造成软件开发人员对软件的理解、开发、测试以及维护的困难,因此能够引起软件系统中存在安全漏洞。
软件复杂性、耦合性以及内聚性指标最早被用于软件缺陷的预测中,由于 软件安全漏洞被认为是软件缺陷的子集,因此有人将这些指标用于软件安全漏 洞的预测。
Y.Shin等分析了9个传统的复杂性指标与安全漏洞的关系并建立预测模型, 以JSE为实验对象,结果显示模型具有很高的漏警率。后来他们对复杂性指标 进行扩展,增加了设计阶段的复杂性指标和运行阶段的复杂性指标,实验结果 显示模型的漏警率有所降低。随后他们以复杂性、代码搅动度(Code churn)和 缺陷历史度量(fault history)以及以复杂性、代码搅动度和开发者行为(developer activity)度量分别建立预测模型,实现对象为Mozilla Firefox和Linux kernel, 测试结果表明,模型均具有高于80%的召回率,但是模型的虚警率也高于20%。
T.Zimmermann等利用代码搅动度、代码依赖性以及团队的组织构架度量等 指标建立预测模型,针对windows vista的一个二进制文件进行实验,结果表明 模型具有高的精度(precision),但是召回率也很低。
V.H.Nguyen等建立组件依赖图,利用代码的复杂性指标和组件之间的依赖 性指标建立预测模型,实验对象为JSE,结果表明模型具有较好的准确率 (Accuracy)和虚警率,但是模型的召回率也较低。
I.Chowdhury等使用传统的面向对象框架的复杂性、耦合性以及内聚性指标 建立预测模型,以Firefox为实验对象,收集了到实验日期为止的所有52个 Firefox的全部公开漏洞进行实验。他们得出结论认为传统的面向对象框架的复 杂性、内聚性以及耦合性指标能够有效用于漏洞预测,而且认为是由这三类指 标共同影响了漏洞的倾向性,而不是由单类指标。
S.Neuhaus等通过关联规则挖掘发现一个文件中import/function calls的对象与该文件的漏洞倾向性有关联,他们使用import/function calls作为特征建立分类 器,以Firefox为实验对象,结果显示召回率为45%,精度为70%。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711063930.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:终端应用的检测方法和装置
- 下一篇:一种基于服务器可信检测方法及装置