[发明专利]一种应用漏洞检测方法、装置和计算机可读存储介质在审
申请号: | 201911077573.3 | 申请日: | 2019-11-06 |
公开(公告)号: | CN110826074A | 公开(公告)日: | 2020-02-21 |
发明(设计)人: | 张勇威;马松松;林桠泉;吴震雄 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 深圳翼盛智成知识产权事务所(普通合伙) 44300 | 代理人: | 汪阮磊 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用 漏洞 检测 方法 装置 计算机 可读 存储 介质 | ||
本申请实施例公开了一种应用漏洞检测方法、装置和计算机可读存储介质,其中,本申请实施例可以获取应用文件集合,所述应用文件集合包括多个应用文件;读取所述应用文件,获取所述应用文件的文件头信息;基。所述应用文件的文件头信息,从所述应用文件集合中选取符合预设可执行文件格式的目标文件;读取所述目标文件,获取所述目标文件的索引信息集合;基于所述索引信息集合,在预设漏洞规则集合内进行漏洞匹配,得到漏洞检测结果。可以快速、全面地对应用文件集合进行漏洞检测。
技术领域
本申请涉及通信技术领域,具体涉及一种应用漏洞检测方法、装置和计算机可读存储介质。
背景技术
近年来,随着Android(安卓)操作系统逐渐成为智能手机的主流操作系统,针对Android操作系统开发的应用也越多越多,Android应用的安全性也受到越来越多的关注。应用开发者编译完应用产品后,通常会对应用安装包进行漏洞检测。
目前,Android应用的漏洞检测方法主要包括以下两个步骤:首先反编译应用安装包,然后对编译后的代码进行漏洞检测。但是这种做法存在两个问题:首先,反编译需要耗费较长的时间,其次,反编译只能处理应用安装包内标准命名的dex文件,无法识别非标准命名的dex文件。
因此,现有的Android应用的漏洞检测方法耗费时间长,而且不能全面地检测应用文件。
发明内容
有鉴于此,本申请实施例提供了一种应用漏洞检测方法、装置和计算机可读存储介质,可以快速、全面地对应用文件进行漏洞检测。
第一方面,本申请实施例提供了一种应用漏洞检测方法,包括:
获取应用的应用文件集合,所述应用文件集合包括多个应用文件;
读取应用文件集合中所述应用文件的文件头信息;
基于所述应用文件的文件头信息,从所述应用文件集合中选取符合预设可执行文件格式的目标文件,得到目标文件集合;
解析所述目标文件,获取所述目标文件的解析内容,所述解析内容包括索引信息集合和内容信息集合,所述索引信息包括内容信息在所述目标文件中的索引;
基于所述索引信息集合,从所述内容信息集合中获取目标文件内容;
基于所述目标文件内容,在预设漏洞规则集合内进行漏洞检测,得到漏洞检测结果。
在一实施例中,基于所述应用文件的文件头信息,所述从所述应用文件集合中选取符合预设可执行文件格式的目标文件,包括:
获取文件头信息中的目标字节;
比较所述目标字节与预设可执行文件字节;
若所述目标字节与所述可执行字符串相等,则选取所述目标字节对应的应用文件作为目标文件。
在一实施例中,所述索引信息集合包括方法信息集合和字符串信息集合,所述目标文件内容包括方法名称;
基于所述索引信息集合,获取目标文件内容,包括:
从所述方法信息集合中,,获取方法名称索引,所述方法名称索引为所述目标文件调用的方法的方法名称在所述字符串信息集合中的索引;
基于所述方法名称索引,在所述字符串信息集合中获取所述方法名称在所述目标文件中的位置信息;
基于所述位置信息,获取所述方法名称。
在一实施例中,所述索引信息集合还包括类型信息集合,所述目标文件内容还包括类名称;
基于所述索引信息集合,获取目标文件内容,还包括:
从所述方法信息集合中,获取所述目标文件调用的方法所属的类信息索引;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911077573.3/2.html,转载请声明来源钻瓜专利网。