【技术实现步骤摘要】
漏洞检测方法、装置、电子设备及存储介质
[0001]本申请涉及网络安全
,尤其涉及一种漏洞检测方法、装置、电子设备及存储介质。
技术介绍
[0002]漏洞通常存在于程序开发者编写的类源码文件中,攻击者可以通过向程序提供反序列化字符串,将反序列化字符串转换的对象在应用程序中设置为成员变量以达到控制程序执行,可造成任意文件操作、路径遍历、命令执行等严重后果。
[0003]通常,漏洞检测依赖代码结构的分析,需要对静态代码文件进行扫描和检测。但是扫描方式会存在扫描时内存占用过大的问题,无法应对大规模文件工程的检测。
技术实现思路
[0004]有鉴于此,本申请的目的在于提出一种漏洞检测方法、装置、电子设备及存储介质,用以解决或部分解决上述技术问题。
[0005]基于上述目的,本申请的第一方面提供了一种漏洞检测方法,包括:获取待检测文件的源代码,所述源代码对应的语法结构包括节点和节点信息;通过语法分析将所述源代码转化为对应的中间表示;根据所述中间表示对所述源代码中预先存储的敏感函数中的用户变量进行逆 ...
【技术保护点】
【技术特征摘要】
1.一种漏洞检测方法,其特征在于,包括:获取待检测文件的源代码,所述源代码对应的语法结构包括节点和节点信息;通过语法分析将所述源代码转化为对应的中间表示;根据所述中间表示对所述源代码中预先存储的敏感函数中的用户变量进行逆向回溯,得到回溯结果;基于所述中间表示采用利用链方法对所述节点信息进行查询,得到漏洞利用链;将所述回溯结果和所述漏洞利用链作为所述待检测文件的漏洞检测结果。2.根据权利要求1所述的方法,其特征在于,所述中间表示包括语法树和控制流图;所述根据所述中间表示对所述源代码中预先存储的敏感函数中的用户变量进行逆向回溯,得到回溯结果,包括:获取所述敏感函数和所述用户变量对应的变量来源;根据所述敏感函数遍历所述语法树中的节点,得到敏感函数节点,其中,所述敏感函数节点的类型为函数调用;基于所述控制流图对所述敏感函数节点进行逆向回溯,得到前驱节点;通过对比所述前驱节点中的变量和所述变量来源得到所述回溯结果。3.根据权利要求2所述的方法,其特征在于,所述基于所述控制流图对所述敏感函数节点进行逆向回溯,得到前驱节点,包括:基于所述控制流图获取所述敏感函数节点的基本块位置;根据所述基本块位置对所述敏感函数节点进行逆向回溯,得到所述前驱节点。4.根据权利要求2所述的方法,其特征在于,所述通过对比所述前驱节点中的变量和所述变量来源得到所述回溯结果,包括:响应于确定所述前驱节点中的变量符合所述变量来源,将所述前驱节点到所述敏感函数节点的路径作为回溯结果;响应于确定所述前驱节点的变量不符合所述变量来源,基于所述控制流图更新所述前驱节点直至所述前驱节点不能逆向回溯。5.根据权利要求2所述的方法,其特征在于,所述基于所述中间表示对所述节点信息采用利用链方法进行查询,得到漏洞利用链,包括:获取魔术方法集;基于所述语法树对所述节点信息进行数据存储,得到节点数据库;根据所述魔术方法集在所述节点数据库中检索,得到调...
【专利技术属性】
技术研发人员:金正平,刘益辰,张华,涂腾飞,傅茂喜,赵立健,侯俊杰,
申请(专利权)人:北京邮电大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。