-
公开(公告)号:CN107798245B
公开(公告)日:2020-08-11
申请号:CN201711063930.1
申请日:2017-11-02
Applicant: 北京理工大学
IPC: G06F21/57
Abstract: 本发明提出一种基于组件依赖图的软件安全漏洞预测方法,从不同的角度提出了一种软件代码的度量指标来建立漏洞预测模型。包括以下步骤:步骤一、建立所预测软件的组件依赖图:步骤二、计算步骤一所述组件依赖图中每个节点的网络属性值;步骤三、从公开的软件漏洞库中搜集针对所预测软件的所有软件漏洞,建立该软件的历史漏洞库;步骤四、步骤二中计算得到的每个节点的网络属性值作为机器学习算法的输入,将步骤三中漏洞的数量作为机器学习算法的输出,对机器学习算法进行训练和测试,根据机器学习算法的性能评价指标确定性能最优的预测模型;步骤五、将第四步中获得的性能最优的预测模型应用于该软件项目的新的软件组件的漏洞预测。
-
公开(公告)号:CN110232280A
公开(公告)日:2019-09-13
申请号:CN201910535369.5
申请日:2019-06-20
Applicant: 北京理工大学
Abstract: 本发明公开了一种基于树形结构卷积神经网络的软件漏洞检测方法,分析源代码得到抽象语法树AST结构,提取AST结构中各结点的结点类型;构建包含embedding层的神经网络预处理模型,其输入为提取的结点类型,输出为结点类型的预测概率;利用结点类型进行神经网络训练;训练完成后,将embedding层输出的向量特征值作为卷积神经网络模型的输入,以源代码是否存在漏洞为标签,训练卷积神经网络模型作为代码分类器;对于待检测源代码,提取其AST结构中的结点类型,重新训练神经网络预处理模型,将embedding层输出的向量特征值输入卷积神经网络模型,得到漏洞检测结果。本发明能更好的提取代码中的特征信息,从而给出能全面的分析结果。
-
公开(公告)号:CN109214191A
公开(公告)日:2019-01-15
申请号:CN201811086306.8
申请日:2018-09-18
Applicant: 北京理工大学
Abstract: 本发明公开了一种利用深度学习预测软件安全漏洞的方法,将被分析软件划分为软件源代码模块,建立软件源代码模块的抽象语法树,并确定抽象语法树的向量表达;以软件源代码模块的各节点向量表达为输入、软件源代码模块是否包含漏洞为输出,组建训练样本,对卷积神经网络深度学习模型进行训练;对待预测软件进行安全漏洞预测时,根据所述选定粒度划分软件源代码模块;选择训练好的卷积神经网络深度学习模型,将待预测软件源代码模块的抽象语法树的节点向量表达作为模型输入,模型输出即为软件源代码模块有无漏洞的安全漏洞预测结果。上述该向量表达和学习模型能够很好地描述和提取源代码中的结构性特征,具有预测精度高,误报率低的优点。
-
公开(公告)号:CN107798245A
公开(公告)日:2018-03-13
申请号:CN201711063930.1
申请日:2017-11-02
Applicant: 北京理工大学
IPC: G06F21/57
Abstract: 本发明提出一种基于组件依赖图的软件安全漏洞预测方法,从不同的角度提出了一种软件代码的度量指标来建立漏洞预测模型。包括以下步骤:步骤一、建立所预测软件的组件依赖图:步骤二、计算步骤一所述组件依赖图中每个节点的网络属性值;步骤三、从公开的软件漏洞库中搜集针对所预测软件的所有软件漏洞,建立该软件的历史漏洞库;步骤四、步骤二中计算得到的每个节点的网络属性值作为机器学习算法的输入,将步骤三中漏洞的数量作为机器学习算法的输出,对机器学习算法进行训练和测试,根据机器学习算法的性能评价指标确定性能最优的预测模型;步骤五、将第四步中获得的性能最优的预测模型应用于该软件项目的新的软件组件的漏洞预测。
-
公开(公告)号:CN107665172A
公开(公告)日:2018-02-06
申请号:CN201710984718.2
申请日:2017-10-20
Applicant: 北京理工大学
Abstract: 本发明提出一种基于复杂加权软件网络图的软件缺陷预测方法,能够提高针对大规模复杂软件的缺陷预测精度。包括以下步骤:步骤一、针对所预测的软件,建立复杂加权软件网络图;步骤二、确定步骤一建立的复杂加权软件网络图中每个节点的网络属性值;步骤三、从公开的软件缺陷库中搜集针对该预测软件的所有软件缺陷,建立该软件的历史缺陷库,并在历史缺陷库中标明每个软件模块的缺陷标签;骤四、将步骤二中计算确定的针对每个节点的网络属性值作为机器学习算法的输入,将步骤三中标明的缺陷标签作为机器学习算法的输出,对机器学习算法进行训练和测试,根据机器学习算法的性能评价指标确定性能最优的预测模型。
-
-
-
-