[发明专利]一种基于深度特征的细粒度漏洞检测方法有效
申请号: | 201811340404.X | 申请日: | 2018-11-12 |
公开(公告)号: | CN109657473B | 公开(公告)日: | 2020-09-18 |
发明(设计)人: | 邹德清;王苏娟;金海;李珍 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06F40/211;G06F16/35;G06N3/04 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 曹葆青;李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 深度 特征 细粒度 漏洞 检测 方法 | ||
1.一种基于深度特征的细粒度漏洞检测方法,其特征在于,包括如下步骤:
S1,训练阶段:
收集训练程序,从训练程序中提取出程序切片,并给程序切片打上对应的标签,所述标签包括:该程序切片有无漏洞、如有漏洞其对应的漏洞属性;
遍历所述训练程序中的所有语句,根据当前遍历到的语句在所述程序切片中对应的语句类型从所述程序切片中提取程序关注点,根据所述程序切片和程序关注点得到最终的训练数据;
初步搭建基于深度学习的漏洞检测模型,以通过融合程序切片和程序关注点中的特征来检测漏洞,将所述训练数据和训练数据包括的程序切片对应的标签输入初步搭建的基于深度学习的漏洞检测模型,根据输出的训练数据对应的检测结果和程序切片对应的标签调整漏洞检测模型的参数,以使得漏洞检测模型的检测结果达到最优,基于调整好的漏洞检测模型的参数得到训练完备的基于深度学习的漏洞检测模型;
步骤S1包括以下步骤:
S1.1,收集训练程序,对所述训练程序进行预处理,将所述训练程序的源代码解析成程序依赖图的格式,再从程序依赖图中提取出程序切片;
S1.2,按照程序切片有无漏洞和漏洞的属性给程序切片打上标签;
S1.3,遍历训练程序中的所有语句,根据当前遍历到的语句在所述程序切片中对应的语句类型从所述程序切片中提取程序关注点;
S1.4,解析程序切片和程序关注点中每条语句的成分,提取出其中的变量名和函数名,规范这些变量名和函数名的命名格式,消除不一致的代码命名规范;
S1.5,将程序切片和程序关注点分别转化为数字化表征对应的向量;
S1.6,初步搭建基于深度学习的漏洞检测模型,该漏洞检测模型通过融合程序切片和程序关注点中的特征来检测漏洞,用步骤S1.5中生成的向量训练该漏洞检测模型,根据输出的向量对应的检测结果和步骤S1.2打上的标签调整漏洞检测模型的参数,以使得漏洞检测模型的检测结果达到最优,得到一个训练完备的基于深度学习的漏洞检测模型;
S2,检测阶段:
按照训练阶段中源代码的处理方式,从待测程序中提取对应的程序切片和程序关注点,得到检测数据;
将检测数据输入所述训练完备的基于深度学习的漏洞检测模型进行检测,根据检测结果生成对应的漏洞检测报告,所述漏洞检测报告包括待检测程序是否包含漏洞以及若包含漏洞其对应的漏洞属性。
2.根据权利要求1所述的细粒度漏洞检测方法,其特征在于,步骤S1.1包括以下步骤:
S1.1.1,解析每个训练程序,生成每个训练程序的程序依赖图G;
S1.1.2,定位程序依赖图G中包含危险函数调用语句的节点p;
S1.1.3,从节点p出发,从程序依赖图G中提取出所有和节点p有直接和间接依赖关系的节点对应的节点集合,获取所述节点集合中的代码语句,生成对应的程序切片S;所述直接和间接依赖关系包括直接或者间接的数据依赖关系和直接或者间接的控制依赖关系。
3.根据权利要求1所述的细粒度漏洞检测方法,其特征在于,步骤S1.3中根据当前遍历到的语句在所述程序切片中对应的语句类型从所述程序切片中提取程序关注点,具体包括:
如果当前遍历到的语句在程序切片中是危险函数调用参数的定义语句,则提取出来作为程序关注点;
如果当前遍历到的语句在程序切片中是条件语句,则提取出来作为程序关注点;
如果当前遍历到的语句在程序切片中是危险函数调用语句,则提取出来作为程序关注点。
4.根据权利要求1所述的细粒度漏洞检测方法,其特征在于,步骤S1.4包括以下步骤:
S1.4.1,将程序切片解析成token流;
S1.4.2,分析每个token在训练程序所包括的语句中的成分,提取出每个token对应的变量标识符和自定义的函数名标识符,将变量标识符和自定义函数名标识符用统一的变量和函数名的命名方式替换。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811340404.X/1.html,转载请声明来源钻瓜专利网。