预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共25页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN113971278A(43)申请公布日2022.01.25(21)申请号202010722853.1(22)申请日2020.07.24(71)申请人中移(苏州)软件技术有限公司地址215163江苏省苏州市高新区昆仑山路58号1幢申请人中国移动通信集团有限公司(72)发明人陈书杰(74)专利代理机构北京派特恩知识产权代理有限公司11270代理人刘鹤张颖玲(51)Int.Cl.G06F21/52(2013.01)G06F21/57(2013.01)G06F8/41(2018.01)权利要求书2页说明书18页附图4页(54)发明名称一种内存漏洞检测方法及其装置、设备和存储介质(57)摘要本申请实施例提供了一种内存漏洞检测方法及其装置、设备和存储介质,其中,所述方法包括:对获取到的待检测源程序进行语法分析,生成抽象语法树;提取所述抽象语法树中各个节点的特征信息;基于各个节点的特征信息,确定目标节点;基于所述目标节点生成指针相关控制流图;基于所述指针相关控制流图和预设的漏洞检测规则,确定待检测源程序中的漏洞节点;如此,能够提高内存漏洞检测的检测精度和检测效率。CN113971278ACN113971278A权利要求书1/2页1.一种内存漏洞检测方法,其特征在于,所述方法包括:对获取到的待检测源程序进行语法分析,生成抽象语法树;提取所述抽象语法树中各个节点的特征信息;基于各个节点的特征信息,确定目标节点;基于所述目标节点生成指针相关控制流图;基于所述指针相关控制流图和预设的漏洞检测规则,确定待检测源程序中的漏洞节点。2.根据权利要求1中所述的方法,其特征在于,所述对获取到的待检测源程序进行语法分析,生成抽象语法树,包括:将待检测源程序中的各个变量进行标记,得到标记后的待检测源程序,其中将指针类变量标记为第一类型变量,将非指针类变量标记为第二类型变量;利用编译器对标记后的待检测源程序进行语义分析,生成抽象语法树。3.根据权利要求2中所述的方法,其特征在于,所述提取所述抽象语法树中各个节点的特征信息,包括:对所述抽象语法树中各个节点的节点标识进行符号化处理,得到符号化节点标识;确定抽象语法树中各个节点对应的特征关键字;基于各个节点的符号化节点标识和特征关键字,确定各个节点的特征信息。4.根据权利要求3中所述的方法,其特征在于,所述对所述抽象语法树中各个节点的节点标识进行符号化处理,得到符号化节点标识,包括:获取所述抽象语法树中各个节点的节点标识;当节点标识为用户自定义的变量名时,将所述节点标识映射为预设的符号化变量名;当节点标识为用户自定义的函数名时,将所述节点标识映射为预设的符号化函数名。5.根据权利要求1中所述的方法,其特征在于,所述目标节点至少包括指针定义节点,对应地,所述基于所述目标节点生成指针相关控制流图,包括:将各个目标节点确定为指针相关控制流图的初始节点;基于所述抽象语法树和所述抽象语法树中各个节点的特征信息,确定各个初始节点的目标子节点,其中,所述目标子节点包括指针访问节点、内存分配节点或内存释放节点和能够保证程序完整结构的节点;将目标子节点加入所述指针相关控制流图。6.根据权利要求1中所述的方法,其特征在于,所述基于所述指针相关控制流图和预设的漏洞检测规则,确定待检测源程序中存在内存泄漏的漏洞节点,包括:确定所述指针相关控制流图中的各个可执行路径;获取各个可执行路径中的各个待检测节点;当待检测节点满足所述漏洞检测规则时,将所述待检测节点确定为漏洞节点。7.根据权利要求1至6中任一项所述的方法,其特征在于,所述方法还包括:确定所述漏洞节点在所述待检测源程序中的位置信息;输出所述漏洞节点和所述位置信息。8.一种内存漏洞检测装置,其特征在于,所述装置至少包括:语法分析模块、特征提取模块、第一确定模块、第一生成模块和第二确定模块,其中:2CN113971278A权利要求书2/2页所述语法分析模块,用于对获取到的待检测源程序进行语法分析,生成抽象语法树;所述特征提取模块,用于提取所述抽象语法树中各个节点的特征信息;所述第一确定模块,用于基于各个节点的特征信息,确定目标节点;所述第一生成模块,用于基于所述目标节点生成指针相关控制流图;所述第二确定模块,用于基于所述指针相关控制流图和预设的漏洞检测规则,确定待检测源程序中的漏洞节点。9.一种内存漏洞检测设备,其特征在于,所述内存漏洞检测设备至少包括:存储器、通信总线和处理器,其中:所述存储器,用于存储内存漏洞检测程序;所述通信总线,用于实现处理器和存储器之间的连接通信;所述处理器,用于执行存储器中存储的内存漏洞检测程序,以实现权利要求1至7中任一项所述的内存漏洞检测方法的步骤。10.一种存储介质,其特征在于,所述