【技术实现步骤摘要】
基于排序的开源软件安全漏洞补丁定位方法
[0001]本专利技术专利涉及计算机安全
,具体涉及一种基于排序的开源软件安全漏洞补丁定位方法。
技术介绍
[0002]XGBoost模型和LightGBM模型都是梯度提升树,能够从多种特征中提取自变量与因变量之间的联系,其原理是通过融合多个弱分类器来达到强分类器的效果。每次将真实值与当前预测值的残差作为下一次弱分类器的训练目标,不断迭代,使最终模型拟合数据。不同在于,XGBoost模型中树结构采用按层生长,而LightGBM模型中的树结构采用按叶生长,每次找到分裂收益较大的叶子。
[0003]卷积神经网络(Convolutional Neural Network,简称CNN)模型是一种采用卷积计算的神经网络模型。由于激活函数的非线性性和较深的网络层数,CNN模型可以检测训练数据和预测数据之间更深层次的关系。CNN模型通过前向传播生成预测数据,通过损失函数获得模型误差,再通过反向传播更新网络内部参数。经过多次迭代,CNN模型可以更好的拟合数据。
[0004]Ber ...
【技术保护点】
【技术特征摘要】
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中,漏洞与代码提交相似性特征提取...
【专利技术属性】
技术研发人员:张芸,吴明晖,王世超,鲍凌峰,夏鑫,
申请(专利权)人:浙大城市学院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。