[发明专利]一种反序列化漏洞检测方法、装置、设备及存储介质在审
申请号: | 202210854937.X | 申请日: | 2022-07-20 |
公开(公告)号: | CN115114624A | 公开(公告)日: | 2022-09-27 |
发明(设计)人: | 姚森友;杨荣海;朱振宇 | 申请(专利权)人: | 深信服科技股份有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/57 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 张金香 |
地址: | 518055 广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 序列 漏洞 检测 方法 装置 设备 存储 介质 | ||
本申请公开了一种反序列化漏洞检测方法、装置、设备及存储介质,涉及安全检测领域。该方法包括:获取待分析源代码,并生成所述待分析源代码对应的调用栈;基于所述调用栈并根据设定的调用栈起点和终点,利用符号执行技术和深度优先搜索算法进行路径选择以确定出调用链;分析所述调用链是否存在反序列化漏洞,以获取反序列化漏洞检测结果。可见,基于待分析源代码对应的调用栈,根据设定的起点和终点,利用符号执行技术和深度优先搜索算法进行路径选择,能更高效的对污点传输过程中的有效路径进行剪枝以及匹配,大大提高搜索效率,提升了搜索效率以及搜索精确性,具备更强检出能力和执行效率,提高了挖取反序列漏洞的效率。
技术领域
本发明涉及安全检测领域,特别涉及一种反序列化漏洞检测方法、装置、设备及存储介质。
背景技术
反序列化攻击是一种常见的web攻击,具有较高的危害性。例如,Java反序列化最常使用的就是用来进行远程命令执行,也就是说如果能进行远程命令执行了,基本上服务器的一半操控权就在黑客手里了。检测反序列化攻击是防火墙/WAF(Web ApplicationFirewall,网站应用级入侵防御系统)产品的一项重要功能,仅使用规则防御,容易被绕过。
现有技术中,java反序列化漏洞挖掘主要有两种方式:(1)人工挖取漏洞,但会耗费巨大的人力成本,挖掘效率低,无法快速找到完整的调用链;(2)通过污点传播暴力搜索调用链,即通过起始路径和结束路径进行暴力查找遍历,寻找能够执行成功的调用链,这种方式可以大大降低人力成本,但无法解决进行高效的路径选择和剪枝,存在较多的漏报问题。
发明内容
有鉴于此,本发明的目的在于提供一种反序列化漏洞检测方法、装置、设备及介质,能够解决反序列化漏洞漏检问题,提高反序列化漏洞检测能力。其具体方案如下:
第一方面,本申请公开了一种反序列化漏洞检测方法,包括:
获取待分析源代码,并生成所述待分析源代码对应的调用栈;
基于所述调用栈并根据设定的调用栈起点和终点,利用符号执行技术和深度优先搜索算法进行路径选择以确定出调用链;
分析所述调用链是否存在反序列化漏洞,以获取反序列化漏洞检测结果。
可选的,所述生成所述待分析源代码对应的调用栈,包括:
对所述待分析源代码进行静态扫描分析,并根据预设筛选条件从所述待分析源代码中确定出无效方法参数并删除,得到处理后源代码;所述无效方法参数为不能构成调用链或有效攻击链的方法参数;
基于所述处理后源代码通过静态扫描分析生成所述调用栈。
可选的,所述对所述待分析源代码进行静态扫描分析,包括:
针对所述待分析源代码中多态类型数据,利用构建的双向继承树遍历所述多态类型数据以确定出所有子类;所述双向继承树为基于类、接口和方法之间的关系构建的继承树。
可选的,所述根据预设筛选条件从所述待分析源代码中确定出无效方法参数,包括:
根据第一预设筛选条件,从所述待分析源代码中筛选出方法参数与返回值无关的第一类无效方法参数;
根据第二预设筛选条件,从所述待分析源代码中筛选出方法参数不影响子方法参数的第二类无效方法参数。
可选的,所述分析所述调用链是否存在反序列化漏洞,包括:
对所述调用链进行污点分析,以检查所述调用链的入口点是否为目标入口点,以及检查所述调用链的终点是否为目标危险函数;
若所述入口点为所述目标入口点,且所述调用链的终点为所述目标危险函数,则判定所述调用链存在反序列化漏洞。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深信服科技股份有限公司,未经深信服科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210854937.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种塔机制动系统、芯片及装置
- 下一篇:一种止回器及地漏