【技术实现步骤摘要】
一种面向代码漏洞智能检测的数据收集方法
[0001]本专利技术属于软件工程领域,尤其是代码漏洞误报检测和机器学习方法在软件工程领域的应用,用于构建并收集代码漏洞数据集。
技术介绍
[0002]由于现代的软件产品规模越来越复杂,使用人工测试的方法已经不足以快速地完成对软件漏洞的检查。目前传统的漏洞发掘技术理论已经比较成熟,能够通过模型检测、模糊测试、符号执行、二进制比对等方式从代码中挖掘漏洞。这些成熟的技术已经基本实现了自动化,可以在很少的人工干预的情况下,扫描等待测试的软件代码,寻找特定类型的漏洞。但是,自动化的代码漏洞检测工具的使用也面临着一些问题,例如:
[0003]1)代码漏洞检测工具必须在检测效率和准确度之间做出权衡。不管是对语法语义进行分析,还是对代码的执行路径进行分析,都需要构造复杂的分析模型,容易出现求解规模过大或者路径爆炸的问题。受漏洞检测技术的限制,准确的分析需要相当长的分析时间,而这在实际应用中是不允许的。
[0004]2)代码漏洞检测工具依赖于人类专家预先制定好的规则,因此检测出的漏洞往往局限于某些特定的类型。人工定义的漏洞规则带有强烈的主观性,也很难全面考虑所有情况,规则的不完善会带来漏报误报的问题。
[0005]3)代码漏洞检测工具的检测能力固定不变,对于安全水平较低的程序而言,检测出的漏洞大部分都是真正的漏洞。但是随着漏洞的修复,程序的安全性在不断提高,此时误报的比例也会随之上升。如果代码漏洞检测工具的能力不随之提升,开发人员的绝大部分时间就会被浪费在人工检查和标记 ...
【技术保护点】
【技术特征摘要】
1.一种面向代码漏洞智能检测的数据收集方法,其特征在于首先结合代码漏洞检测工具的结果与测试人员的判断构建初始的代码漏洞数据集,然后据此训练用于误报判断的机器学习模型,最终可以结合机器学习模型的判定和测试人员的判断结果确定发生误报的漏洞,并将其加入代码漏洞数据集。2.根据权利要求1所描述的一种面向代码漏洞智能检测的数据收集方法,其特征是结合代码漏洞检测工具的结果与测试人员的判断;首先综合几种不同的代码漏洞检测工具的检测报告作为工具检测的最终结果;然后由测试人员对工具检测出的漏洞进行判断,如果判断不是漏洞则记作时一个误报结果;数据集的具体数据项包括:漏洞代码片段、漏洞类型、是否为误报。3.根据权利...
【专利技术属性】
技术研发人员:房春荣,钱美缘,葛修婷,王旭,曹振飞,李彤宇,
申请(专利权)人:南京大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。