[发明专利]一种漏洞检测方法及终端、存储介质在审
申请号: | 201710476997.1 | 申请日: | 2017-06-21 |
公开(公告)号: | CN109101819A | 公开(公告)日: | 2018-12-28 |
发明(设计)人: | 靖二霞;应凌云;苏璞睿;王静;田甜;王继刚 | 申请(专利权)人: | 中兴通讯股份有限公司;北京工业大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 张颖玲;李梅香 |
地址: | 518057 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 漏洞检测 目标数据 数据流分析 预存 函数调用图 数据流 存储介质 调用 终端 漏洞检测结果 应用安装 包文件 检测 后向 前向 预设 分析 | ||
1.一种漏洞检测方法,其特征在于,所述方法包括:
获取应用安装包文件对应的函数调用图,并根据预存源方法以及所述函数调用图,确定调用方法和所述调用方法对应的目标数据;
根据预存漏洞检测原理和预设检测策略,对所述目标数据进行数据流分析检测,得到所述目标数据对应的漏洞检测结果;其中,所述预存漏洞检测原理用于确定所述目标数据的数据流分析方法;所述数据流分析方法包括数据流前向分析和数据流后向分析。
2.根据权利要求1所述的方法,其特征在于,所述根据预存漏洞检测原理和预设检测策略,对所述目标数据进行数据流分析检测,包括:
根据预设配置文件确定所述预存漏洞检测原理对应的检测脚本;
当所述预存漏洞检测原理对应的所述数据流分析方法为所述数据流前向分析时,按照所述检测脚本对所述目标数据进行数据流前向分析检测;
当所述预存漏洞检测原理对应的所述数据流分析方法为所述数据流后向分析时,按照所述检测脚本对所述目标数据进行数据流后向分析检测。
3.根据权利要求2所述的方法,其特征在于,所述按照所述检测脚本对所述目标数据进行数据流前向分析检测,包括:
按照所述检测脚本对所述目标数据进行方法内前向分析检测;
根据所述方法内前向分析检测对应的检测结果,对所述目标数据进行方法间前向分析检测。
4.根据权利要求3所述的方法,其特征在于,所述按照所述检测脚本对所述目标数据进行方法内前向分析检测,包括:
当未完成对所述目标数据执行所述调用方法时,判断所述调用方法中的第i指令对应的下级方法是否为陷入方法;其中,所述第i指令为所述调用方法中的全部指令中的一个指令,i为大于或者等于1的自然数;
当所述下级方法不为陷入方法、所述第i指令为调用指令,且完成对所述目标数据执行所述下级方法时,获取所述下级方法对应的第一运行数据,并将所述下级方法和所述第一运行数据存储至预设前向方法队列;
当所述下级方法不为陷入方法,且所述第i指令不为调用指令时,判断所述目标数据对应的寄存器是否被重新赋值;
当所述寄存器被重新赋值时,结束此次方法内前向分析检测;
当所述寄存器未被重新赋值时,继续对第i+1指令进行所述方法内前向分析检测,直到遍历完所述调用方法对应的全部指令。
5.根据权利要求4所述的方法,其特征在于,所述判断所述调用方法中的第i指令对应的下级方法是否为陷入方法之后,所述方法还包括:
当所述下级方法为陷入方法时,确定存在漏洞,并结束漏洞检测。
6.根据权利要求4所述的方法,其特征在于,所述根据所述方法内前向分析检测对应的检测结果,对所述目标数据进行方法间前向分析检测,包括:
提取所述预设前向方法队列中的所述下级方法和所述第一运行数据;
将所述下级方法确定为所述调用方法、将所述第一运行数据确定为所述目标数据,进行所述方法内前向分析检测,直到将所述预设前向方法队列中的所述下级方法和所述第一运行数据处理完毕。
7.根据权利要求2所述的方法,其特征在于,所述按照所述检测脚本对所述目标数据进行数据流后向分析检测,包括:
按照所述检测脚本对所述目标数据进行方法内后向分析检测;
根据所述方法内后向分析检测对应的检测结果,对所述目标数据进行方法间后向分析检测。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司;北京工业大学,未经中兴通讯股份有限公司;北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710476997.1/1.html,转载请声明来源钻瓜专利网。