基于排序的开源软件安全漏洞补丁定位方法技术

技术编号:33206586 阅读:54 留言:0更新日期:2022-04-24 00:54
本发明专利技术提供了一种基于排序的开源软件安全漏洞补丁定位方法,具体包括:从网站中收集漏洞和代码提交数据;使用数据挖掘、统计分析方法抽取代码行、漏洞身份、漏洞修复位置、分词词袋共4个维度的漏洞和代码提交相似性特征;训练基于Bert模型的漏洞领域文本语义编码模块,并使用语义编码模块提取漏洞语义特征和代码提交语义特征;将漏洞语义特征和代码提交语义特征的拼接起来组成漏洞和代码提交的全部特征;模型训练;使用多数投票的思想进行模型融合。本发明专利技术能够从漏洞和代码提交中抽取特征,建立漏洞补丁提交排序模型,将开源软件仓库中的代码提交按照与漏洞的匹配程度进行排序,有效地降低补丁标注人员需要检查的代码提交数量。交数量。交数量。

【技术实现步骤摘要】
基于排序的开源软件安全漏洞补丁定位方法


[0001]本专利技术专利涉及计算机安全
,具体涉及一种基于排序的开源软件安全漏洞补丁定位方法。

技术介绍

[0002]XGBoost模型和LightGBM模型都是梯度提升树,能够从多种特征中提取自变量与因变量之间的联系,其原理是通过融合多个弱分类器来达到强分类器的效果。每次将真实值与当前预测值的残差作为下一次弱分类器的训练目标,不断迭代,使最终模型拟合数据。不同在于,XGBoost模型中树结构采用按层生长,而LightGBM模型中的树结构采用按叶生长,每次找到分裂收益较大的叶子。
[0003]卷积神经网络(Convolutional Neural Network,简称CNN)模型是一种采用卷积计算的神经网络模型。由于激活函数的非线性性和较深的网络层数,CNN模型可以检测训练数据和预测数据之间更深层次的关系。CNN模型通过前向传播生成预测数据,通过损失函数获得模型误差,再通过反向传播更新网络内部参数。经过多次迭代,CNN模型可以更好的拟合数据。
[0004]Bert(Bidirect本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于排序的开源软件安全漏洞补丁定位方法,其特征在于,包括以下步骤:步骤1:数据采集;步骤2:数据预处理;步骤3:漏洞与代码提交相似性特征提取;步骤4:漏洞语义特征和代码提交语义特征提取;步骤5:将步骤3和步骤4得到的所有特征拼接起来组成漏洞和代码提交的全部特征;步骤6:模型训练;步骤7:使用多数投票的思想进行模型融合。2.根据权利要求1所述的基于排序的开源软件安全漏洞补丁定位方法,其特征在于,步骤1中,数据采集具体包括:从Snyk网站中收集漏洞与代码提交匹配关系,根据漏洞及出现仓库生成对应负样本,从CVE和NVD网站中收集漏洞相关数据,从GitHub和GitLab网站收集代码提交数据。3.根据权利要求1所述的基于排序的开源软件安全漏洞补丁定位方法,其特征在于,步骤2中,数据预处理包括:使用Google公司的Cubert中的分词方法对漏洞和代码提交中的文本内容进行分词,去掉分词后的停用词,保留既存在于漏洞词袋中又存在于代码提交词袋中的分词。4.根据权利要求1所述的基于排序的开源软件安全漏洞补丁定位方法,其特征在于,步骤3中,漏洞与代码提交相似性特征提取...

【专利技术属性】
技术研发人员:张芸吴明晖王世超鲍凌峰夏鑫
申请(专利权)人:浙大城市学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1