漏洞检测方法、装置、电子设备及存储介质制造方法及图纸

技术编号:33716629 阅读:80 留言:0更新日期:2022-06-06 09:01
本申请提供一种漏洞检测方法、装置、电子设备及存储介质,所述方法包括:获取待检测文件的源代码,源代码对应的语法结构包括节点和节点信息;通过语法分析将所述源代码转化为对应的中间表示;根据中间表示对所述源代码中预先存储的敏感函数中的用户变量进行逆向回溯,得到回溯结果;基于中间表示对所述节点信息采用利用链方法进行查询,得到漏洞利用链;将回溯结果和所述漏洞利用链作为待检测文件的漏洞检测结果。根据源代码的中间表示对源代码采用逆向回溯的方法得到源代码中漏洞的具体位置,解决了当前已有方式无法进行漏洞代码定位的问题。并且通过节点信息的存储避免了扫描源代码带来的占用内存大和挖掘效率低的问题。代码带来的占用内存大和挖掘效率低的问题。代码带来的占用内存大和挖掘效率低的问题。

【技术实现步骤摘要】
漏洞检测方法、装置、电子设备及存储介质


[0001]本申请涉及网络安全
,尤其涉及一种漏洞检测方法、装置、电子设备及存储介质。

技术介绍

[0002]漏洞通常存在于程序开发者编写的类源码文件中,攻击者可以通过向程序提供反序列化字符串,将反序列化字符串转换的对象在应用程序中设置为成员变量以达到控制程序执行,可造成任意文件操作、路径遍历、命令执行等严重后果。
[0003]通常,漏洞检测依赖代码结构的分析,需要对静态代码文件进行扫描和检测。但是扫描方式会存在扫描时内存占用过大的问题,无法应对大规模文件工程的检测。

技术实现思路

[0004]有鉴于此,本申请的目的在于提出一种漏洞检测方法、装置、电子设备及存储介质,用以解决或部分解决上述技术问题。
[0005]基于上述目的,本申请的第一方面提供了一种漏洞检测方法,包括:获取待检测文件的源代码,所述源代码对应的语法结构包括节点和节点信息;通过语法分析将所述源代码转化为对应的中间表示;根据所述中间表示对所述源代码中预先存储的敏感函数中的用户变量进行逆向回溯,得到回溯结果本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种漏洞检测方法,其特征在于,包括:获取待检测文件的源代码,所述源代码对应的语法结构包括节点和节点信息;通过语法分析将所述源代码转化为对应的中间表示;根据所述中间表示对所述源代码中预先存储的敏感函数中的用户变量进行逆向回溯,得到回溯结果;基于所述中间表示采用利用链方法对所述节点信息进行查询,得到漏洞利用链;将所述回溯结果和所述漏洞利用链作为所述待检测文件的漏洞检测结果。2.根据权利要求1所述的方法,其特征在于,所述中间表示包括语法树和控制流图;所述根据所述中间表示对所述源代码中预先存储的敏感函数中的用户变量进行逆向回溯,得到回溯结果,包括:获取所述敏感函数和所述用户变量对应的变量来源;根据所述敏感函数遍历所述语法树中的节点,得到敏感函数节点,其中,所述敏感函数节点的类型为函数调用;基于所述控制流图对所述敏感函数节点进行逆向回溯,得到前驱节点;通过对比所述前驱节点中的变量和所述变量来源得到所述回溯结果。3.根据权利要求2所述的方法,其特征在于,所述基于所述控制流图对所述敏感函数节点进行逆向回溯,得到前驱节点,包括:基于所述控制流图获取所述敏感函数节点的基本块位置;根据所述基本块位置对所述敏感函数节点进行逆向回溯,得到所述前驱节点。4.根据权利要求2所述的方法,其特征在于,所述通过对比所述前驱节点中的变量和所述变量来源得到所述回溯结果,包括:响应于确定所述前驱节点中的变量符合所述变量来源,将所述前驱节点到所述敏感函数节点的路径作为回溯结果;响应于确定所述前驱节点的变量不符合所述变量来源,基于所述控制流图更新所述前驱节点直至所述前驱节点不能逆向回溯。5.根据权利要求2所述的方法,其特征在于,所述基于所述中间表示对所述节点信息采用利用链方法进行查询,得到漏洞利用链,包括:获取魔术方法集;基于所述语法树对所述节点信息进行数据存储,得到节点数据库;根据所述魔术方法集在所述节点数据库中检索,得到调...

【专利技术属性】
技术研发人员:金正平刘益辰张华涂腾飞傅茂喜赵立健侯俊杰
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1