[发明专利]漏洞补丁推荐方法、系统、计算机设备和存储介质有效
| 申请号: | 202010652542.2 | 申请日: | 2020-07-08 |
| 公开(公告)号: | CN111897946B | 公开(公告)日: | 2023-09-19 |
| 发明(设计)人: | 周洲;孙小兵;薄莉莉;李斌;刘源;龙瑶 | 申请(专利权)人: | 扬州大学 |
| 主分类号: | G06F16/335 | 分类号: | G06F16/335;G06F21/57;G06F8/658 |
| 代理公司: | 南京理工大学专利中心 32203 | 代理人: | 朱炳斐 |
| 地址: | 226009 *** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 漏洞补丁 推荐 方法 系统 计算机 设备 存储 介质 | ||
本发明公开了一种漏洞补丁推荐方法、系统、计算机设备和存储介质,方法包括:构建漏洞修复数据集,包括漏洞代码及对应的漏洞补丁源代码、漏洞类型特征、文档注释以及测试样例;构建并训练预训练模型;采集待修复的含有漏洞的代码片段及其对应的漏洞类型特征,构建补丁搜索空间;对补丁进行优先级排序,基于该顺序为待修复的代码片段推荐补丁。本发明充分利用漏洞的特征类型,一方面更好的进行预训练模型的构建,发挥预训练模型的优势,另一方面,有利于减少补丁搜索空间,更快速的获取所需补丁。此外,本发明充分利用预训练模型在自然语言方面的优势,结合代码和文本两个部分,进行预训练模型的构建和训练,很好的克服了人为规定等方式的不足。
技术领域
本发明涉及软件工程领域,特别涉及一种基于预训练模型的漏洞补丁推荐方法、系统、计算机设备和存储介质。
背景技术
随着计算机软件越来越多地应用于生活的各个方面,对于软件的安全方面的维护愈加受到人们的重视。漏洞的数量的快速增长不但给个人带来了安全隐患,也给企业和社会带来了较大的损失。因此漏洞的修复工作对于维护软件安全具有重大意义。
现有的针对于漏洞的自动修复工作大多只考虑了几种漏洞,例如缓存区溢出,整数溢出,强制类型转换失败,且自动修复效果不佳。也有通过分析代码变化的修改记录,有几行进行了有关修改等这些特征来分析漏洞补丁的,但是这些特征难以直接使用来进行漏洞的修复工作。而对于缺陷自动修复(APR)的相关工作则没有考虑漏洞的类型特征,对于漏洞的修复效果一般。与此同时,在巨大的补丁搜索空间中,现有的利用固定规则排序方式,利用错误定位等方式有各自的局限性,现有的利用机器学习的方式则往往需要较长的时间,训练效果也不如预训练模型良好和稳定。
发明内容
本发明的目的在于针对上述现有技术存在的问题,提供一种能够实现快速推荐补丁的漏洞补丁推荐方法。
实现本发明目的的技术解决方案为:漏洞补丁推荐方法,所述方法包括以下步骤:
步骤1,构建漏洞修复数据集,该数据集包括漏洞代码,及其对应的漏洞补丁源代码、漏洞类型特征、修复时的文档注释以及测试样例;
步骤2,构建并训练预训练模型;
步骤3,采集待修复的含有漏洞的代码片段及其对应的漏洞类型特征,构建补丁搜索空间;
步骤4,对所述补丁搜索空间中的补丁进行优先级排序,基于该顺序为待修复的含有漏洞的代码片段推荐补丁。
漏洞补丁推荐系统,所述系统包括:
第一构建模块,用于构建漏洞修复数据集,该数据集包括漏洞代码,及其对应的漏洞补丁源代码、漏洞类型特征、修复时的文档注释以及测试样例;
第二构建模块,用于构建并训练预训练模型;
第三构建模块,用于采集待修复的含有漏洞的代码片段及其对应的漏洞类型特征,构建补丁搜索空间;
补丁推荐模块,用于对所述补丁搜索空间中的补丁进行优先级排序,基于该顺序为待修复的含有漏洞的代码片段推荐补丁。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现以下步骤:
步骤1,构建漏洞修复数据集,该数据集包括漏洞代码,及其对应的漏洞补丁源代码、漏洞类型特征、修复时的文档注释以及测试样例;
步骤2,构建并训练预训练模型;
步骤3,采集待修复的含有漏洞的代码片段及其对应的漏洞类型特征,构建补丁搜索空间;
步骤4,对所述补丁搜索空间中的补丁进行优先级排序,基于该顺序为待修复的含有漏洞的代码片段推荐补丁。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于扬州大学,未经扬州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010652542.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种苦荞麦除尘除杂清理设备
- 下一篇:喷漆材料颜色自动定制系统及方法





