[发明专利]用于检测待检测应用的漏洞的方法及装置有效
| 申请号: | 201510391266.8 | 申请日: | 2015-07-06 |
| 公开(公告)号: | CN106326103B | 公开(公告)日: | 2019-01-04 |
| 发明(设计)人: | 陈晋福 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
| 主分类号: | G06F11/36 | 分类号: | G06F11/36 |
| 代理公司: | 北京汉昊知识产权代理事务所(普通合伙) 11370 | 代理人: | 朱海波 |
| 地址: | 英属开曼群岛大开*** | 国省代码: | 开曼群岛;KY |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 寄存器 检测应用 追溯 跳转 语句 漏洞 漏洞特征 配置文件 检测 申请 存储 参考 | ||
1.一种用于检测待检测应用的漏洞的方法,其特征在于,包括:
识别待检测应用中的语句的漏洞特征信息;
确定所述漏洞特征信息所对应的寄存器;
追溯所述寄存器,以获得源寄存器的值,其中在追溯所述寄存器的过程中若使用指定跳转语句为所述寄存器赋值,则参考存储有所述指定跳转语句及对应的需跳转追溯的寄存器的信息的配置文件,确定需跳转追溯的寄存器继续追溯;
基于所述源寄存器的值判断所述语句是否存在漏洞。
2.根据权利要求1的方法,其特征在于,所述追溯所述寄存器,以获得源寄存器的值的步骤包括:
判断是否使用指定跳转语句为所述寄存器赋值;
若判断出不使用指定跳转语句为所述寄存器赋值,则获取所述寄存器所被赋的值作为所述源寄存器的值,停止追溯。
3.如权利要求2所述的方法,其特征在于,所述不使用指定跳转语句为所述寄存器赋值包括以下任一种情况:
为所述寄存器赋的值为常量;
为所述寄存器赋的值为特定的静态无法获取的值;
为所述寄存器赋的值为可解析函数。
4.如权利要求1或2所述的方法,其特征在于,在确定需跳转追溯的寄存器继续追溯的情况下,所述方法还包括:记录跳转次数;
以及,所述追溯所述寄存器,以获得源寄存器的值的步骤包括:
判断跳转次数是否达到规定阈值;
如果达到规定阈值,则获取寄存器所被赋的值作为所述源寄存器的值,停止追溯。
5.根据权利要求1的方法,其特征在于,所述漏洞特征信息、与所述漏洞特征信息对应的所述寄存器相对应地存储在漏洞特征信息表中。
6.根据权利要求5的方法,其特征在于,所述漏洞特征信息表还存储与所述漏洞特征信息对应的漏洞标识,所述配置文件还存储与所述指定跳转语句对应的漏洞标识,其中,确定需跳转追溯的寄存器继续追溯前,所述方法还包括:
确定所述漏洞特征信息表中与所述漏洞特征信息对应的漏洞标识和配置文件中与所述指定跳转语句对应的漏洞标识一致。
7.如权利要求5所述的方法,其特征在于,所述漏洞特征信息表中还存储有与所述漏洞特征信息对应的漏洞判断条件,则基于所述源寄存器的值判断所述语句是否存在漏洞包括:
判断所述源寄存器的值是否满足所述漏洞特征信息表中与所述漏洞特征信息对应的漏洞判断条件;
若满足所述漏洞判断条件,则确定所述语句存在漏洞。
8.一种用于检测待检测应用的漏洞的装置,其特征在于,包括:
识别单元,用于识别待检测应用中的语句的漏洞特征信息;
确定单元,用于确定所述漏洞特征信息所对应的寄存器;
追溯单元,用于追溯所述寄存器,以获得源寄存器的值,其中在追溯所述寄存器的过程中若存在使用指定跳转语句为所述寄存器赋值,则参考存储有所述指定跳转语句及对应的需跳转追溯的寄存器的信息的配置文件,确定需跳转追溯的寄存器继续追溯;
漏洞判断单元,用于基于所述源寄存器的值判断所述语句是否存在漏洞。
9.根据权利要求8的装置,其特征在于,所述追溯单元被配置为:
判断是否使用指定跳转语句为所述寄存器赋值;
若判断出不使用指定跳转语句为所述寄存器赋值,则获取所述寄存器所被赋的值作为所述源寄存器的值,停止追溯。
10.如权利要求9所述的装置,其特征在于,所述不使用指定跳转语句为所述寄存器赋值包括以下任一种情况:
为所述寄存器赋的值为常量;
为所述寄存器赋的值为特定的静态无法获取的值;
为所述寄存器赋的值为可解析函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510391266.8/1.html,转载请声明来源钻瓜专利网。





