【技术实现步骤摘要】
漏洞补丁推荐方法、系统、计算机设备和存储介质
本专利技术涉及软件工程领域,特别涉及一种基于预训练模型的漏洞补丁推荐方法、系统、计算机设备和存储介质。
技术介绍
随着计算机软件越来越多地应用于生活的各个方面,对于软件的安全方面的维护愈加受到人们的重视。漏洞的数量的快速增长不但给个人带来了安全隐患,也给企业和社会带来了较大的损失。因此漏洞的修复工作对于维护软件安全具有重大意义。现有的针对于漏洞的自动修复工作大多只考虑了几种漏洞,例如缓存区溢出,整数溢出,强制类型转换失败,且自动修复效果不佳。也有通过分析代码变化的修改记录,有几行进行了有关修改等这些特征来分析漏洞补丁的,但是这些特征难以直接使用来进行漏洞的修复工作。而对于缺陷自动修复(APR)的相关工作则没有考虑漏洞的类型特征,对于漏洞的修复效果一般。与此同时,在巨大的补丁搜索空间中,现有的利用固定规则排序方式,利用错误定位等方式有各自的局限性,现有的利用机器学习的方式则往往需要较长的时间,训练效果也不如预训练模型良好和稳定。
技术实现思路
本专利技术 ...
【技术保护点】
1.漏洞补丁推荐方法,其特征在于,所述方法包括以下步骤:/n步骤1,构建漏洞修复数据集,该数据集包括漏洞代码,及其对应的漏洞补丁源代码、漏洞类型特征、修复时的文档注释以及测试样例;/n步骤2,构建并训练预训练模型;/n步骤3,采集待修复的含有漏洞的代码片段及其对应的漏洞类型特征,构建补丁搜索空间;/n步骤4,对所述补丁搜索空间中的补丁进行优先级排序,基于该顺序为待修复的含有漏洞的代码片段推荐补丁。/n
【技术特征摘要】
1.漏洞补丁推荐方法,其特征在于,所述方法包括以下步骤:
步骤1,构建漏洞修复数据集,该数据集包括漏洞代码,及其对应的漏洞补丁源代码、漏洞类型特征、修复时的文档注释以及测试样例;
步骤2,构建并训练预训练模型;
步骤3,采集待修复的含有漏洞的代码片段及其对应的漏洞类型特征,构建补丁搜索空间;
步骤4,对所述补丁搜索空间中的补丁进行优先级排序,基于该顺序为待修复的含有漏洞的代码片段推荐补丁。
2.根据权利要求1所述的漏洞补丁推荐方法,其特征在于,步骤1中所述漏洞类型特征包括CVE信息。
3.根据权利要求1所述的漏洞补丁推荐方法,其特征在于,步骤2所述预训练模型采用Roberta模型。
4.根据权利要求1所述的漏洞补丁推荐方法,其特征在于,步骤2中所述训练预训练模型,具体包括:
将所述漏洞修复数据集中的漏洞代码及其对应的漏洞补丁源代码作为预训练模型的代码输入,将所述漏洞类型特征和文档注释作为预训练模型的文本输入,将代码语言描述的代码向量和自然语言描述的特征向量作为输出,对预训练模型进行训练。
5.根据权利要求1所述的漏洞补丁推荐方法,其特征在于,步骤3中所述构建补丁搜索空间,具体为:将所述待修复的含有漏洞的代码片段,及其对应的漏洞类型特征作为补丁生成工具的输入,输出包括若干补丁的补丁搜索空间。
6.根据权利要求1所述的漏洞补丁推荐方法,其特征在于,步骤4对所述补丁搜索空间中的补丁进行优先级排序,具体过程包括:
步骤4-1-1,基于待修复的含有漏洞的代码片段及其对应的漏洞类型特征,构建AST树;
步骤4-1-2,提取AST树的特征并输入至训练后的预训练模型中,输出代码向量;
步骤4-1-3,针对所述补丁搜索空间中的每一...
【专利技术属性】
技术研发人员:周洲,孙小兵,薄莉莉,李斌,刘源,龙瑶,
申请(专利权)人:扬州大学,
类型:发明
国别省市:江苏;32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。