【技术实现步骤摘要】
一种基于组件依赖图的软件安全漏洞预测方法
本专利技术涉及一种基于组件依赖图的软件安全漏洞预测方法,属于软件质量保障
技术介绍
目前,很多文献资料对软件安全漏洞的预测进行研究,建立漏洞预测模型(VulnerabilityPredictionModel,VPM)。漏洞预测模型采用机器学习算法,从软件代码中提取代码的度量指标作为特征,从大量已知具有漏洞的代码中获取指标数据对模型进行训练,训练之后的模型可对新的代码中的漏洞进行预测。预测的结果给出模块具有漏洞的可能性,或者模块存在漏洞的数量。VPM的研究思路和方法主要借鉴了软件缺陷预测模型(DefectPredictionModel,DPM)的研究思路和方法,其软件代码的度量指标主要包括三个方面:代码复杂性、耦合性以及内聚性指标。研究资料认为高的复杂性、高的耦合性以及低内聚性能够造成软件开发人员对软件的理解、开发、测试以及维护的困难,因此能够引起软件系统中存在安全漏洞。软件复杂性、耦合性以及内聚性指标最早被用于软件缺陷的预测中,由于软件安全漏洞被认为是软件缺陷的子集,因此有人将这些指标用于软件安全漏洞的预测。Y. ...
【技术保护点】
一种基于组件依赖图的软件安全漏洞预测方法,其特征在于,包括以下步骤:步骤一、建立所预测软件的组件依赖图:所述组件是一个三元组C<DC,MC,RC>,其中,DC是共享变量或数据成员的集合,MC是函数或方法的集合,RC是组件中成员之间关系的集合;软件系统网络图定义为GSN(V
【技术特征摘要】
1.一种基于组件依赖图的软件安全漏洞预测方法,其特征在于,包括以下步骤:步骤一、建立所预测软件的组件依赖图:所述组件是一个三元组C<DC,MC,RC>,其中,DC是共享变量或数据成员的集合,MC是函数或方法的集合,RC是组件中成员之间关系的集合;软件系统网络图定义为GSN(Vd,Vm,Ec,Er,Ed,W),其中,Vd:是数据项节点的集合;Vm:是可执行代码节点的集合;是函数调用边的集合;是函数返回边的集合;是数据边的集合,包括数据读和数据写;W:表示边的权值集合;设P(m)表示函数m的参数个数,B(m)表示函数m的返回点个数,e<m1,m2>表示节点m1指向节点m2的边,如果e<m1,m2>∈Er,则W(e<m1,m2>)=B(m1);如果当m2∈Vd,则W(e<m1,m2>)=1;当m2∈Vm,则W(e<m1,m2>)=P(m2);将同属于一个组件的所有节点合并成一个节点,连接同一个组件的所有相同方向的边合并成一条边,边的权值求和;步骤二、计算步骤一所述组件依赖图中每个节点的网络属性值,该网络属性值即是建立预测模型的度量元指标;步骤三、从公开的软件漏洞库中搜集针对所预测软件的所有软件漏洞,建立该软件的历史漏洞库,并标明每...
【专利技术属性】
技术研发人员:危胜军,林婷,单纯,胡昌振,何涛,
申请(专利权)人:北京理工大学,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。