[发明专利]一种基于组件依赖图的软件安全漏洞预测方法有效
申请号: | 201711063930.1 | 申请日: | 2017-11-02 |
公开(公告)号: | CN107798245B | 公开(公告)日: | 2020-08-11 |
发明(设计)人: | 危胜军;林婷;单纯;胡昌振;何涛 | 申请(专利权)人: | 北京理工大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京理工大学专利中心 11120 | 代理人: | 高燕燕 |
地址: | 100081 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 组件 依赖 软件 安全漏洞 预测 方法 | ||
1.一种基于组件依赖图的软件安全漏洞预测方法,其特征在于,包括以下步骤:
步骤一、建立所预测软件的组件依赖图:
所述组件是一个三元组CDC,MC,RC,其中,DC是共享变量或数据成员的集合,MC是函数或方法的集合,RC是组件中成员之间关系的集合;软件系统网络图定义为GSN(Vd,Vm,Ec,Er,Ed,W),其中,Vd:是数据项节点的集合;Vm:是可执行代码节点的集合;是函数调用边的集合;是函数返回边的集合;是数据边的集合,包括数据读和数据写;W:表示边的权值集合;设P(m)表示函数m的参数个数,B(m)表示函数m的返回点个数,em1,m2表示节点m1指向节点m2的边,如果em1,m2∈Er,则W(em1,m2)=B(m1);如果当m2∈Vd,则W(em1,m2)=1;当m2∈Vm,则W(em1,m2)=P(m2);
将同属于一个组件的所有节点合并成一个节点,连接同一个组件的所有相同方向的边合并成一条边,边的权值求和;
步骤二、计算步骤一所述组件依赖图中每个节点的网络属性值,该网络属性值即是建立预测模型的度量元指标;
步骤三、从公开的软件漏洞库中搜集针对所预测软件的所有软件漏洞,建立该软件的历史漏洞库,并标明每个软件组件具有漏洞的数量;
步骤四、步骤二中计算得到的每个节点的网络属性值作为机器学习算法的输入,将步骤三中漏洞的数量作为机器学习算法的输出,对机器学习算法进行训练和测试,根据机器学习算法的性能评价指标确定性能最优的预测模型;
步骤五、将第四步中获得的性能最优的预测模型应用于该软件项目的新的软件组件的漏洞预测。
2.如权利要求1所述的一种基于组件依赖图的软件安全漏洞预测方法,其特征在于,所述网络属性值如下表所示:
以上十一种网络属性NumofNodes、NumofEdges、LineofCode、AveDIT、AveNodDegree、MaxNodDegree、AveWeight、InDegree、OutDegree、OutWeights、InWeights即是建立预测模型的度量元指标。
3.如权利要求1或2所述的一种基于组件依赖图的软件安全漏洞预测方法,其特征在于,所述组件的成员包括可执行代码和数据项,可执行代码与数据项之间的关系包括数据读和数据写,可执行代码与可执行代码之间的关系包括函数调用和和函数返回。
4.如权利要求1或2所述的一种基于组件依赖图的软件安全漏洞预测方法,其特征在于,所述边的权值采用求和方法计算得到:设ec1,c2表示组件节点c1指向组件节点c2的一条边,m1和m2分别为c1和c2中的函数,则ec1,c2·边上的权值
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711063930.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:终端应用的检测方法和装置
- 下一篇:一种基于服务器可信检测方法及装置