一种判定移动终端应用程序申请未使用权限的方法及系统的制作方法
【专利摘要】本发明提供一种判断移动终端应用程序申请了未使用权限的判定方法及系统,其中方法包括:解析待判定的应用程序,获取所述应用程序申请的所有权限列表;对所述应用程序进行反汇编,检测出已使用的权限列表;将申请的所有权限列表与已使用的权限列表比对,所有权限列表中除已使用权限列表中的权限外,即为未使用权限。本发明还相应提供了对应的系统结构。通过本发明的方法,能够对移动终端所申请及使用的权限进行判定,识别出申请但未使用的权限。
【专利说明】一种判定移动终端应用程序申请未使用权限的方法及系统
【技术领域】
[0001]本发明涉及移动终端应用安全领域,特别涉及一种判定移动终端应用程序申请未使用权限的方法及系统。
【背景技术】
[0002]随着智能移动终端越来越流行,其面临着更大的信息安全威胁。智移动终端本身是一个权限分立的操作系统,在这类系统中,每个应用都以唯一的一个系统识别身份运行,而系统的各部分也分别使用各自独立的识别方式,将应用与应用,应用与系统隔离开。系统的安全保证更多的是依靠权限机制提供,权限能够限制某个特定进程的特定操作,也可以限制每个URI权限对特定数据段的访问。一款安全的良性应用程序应该根据自身提供的功能来获取合理的权限,而用户也能够根据应用程序所需求权限来简单的判定这款应用是否安全。但是泛滥的第三方应用安装渠道以及应用程序无限制的权限滥用让很多用户感到困扰,目前主流的防病毒安全厂商都是只是对应用程序中应用声明的权限进行标记,而没有对未使用的权限进行识别。
【发明内容】
[0003]本发明提供了一种判定移动终端应用程序申请未使用权限的方法及系统,解决了未使用权限的判定问题,能够有效的判断出应用程序所申请的权限是否均被使用。
[0004]一种判定移动终端应用程序申请未使用权限的方法,包括:
解析待判定的应用程序,获取所述应用程序申请的所有权限列表;
对所述应用程序进行反汇编,检测出已使用的权限列表;
将申请的所有权限列表与已使用的权限列表比对,所有权限列表中除已使用权限列表中的权限外,即为未使用权限。
[0005]所述的方法中,所述对所述应用程序进行反汇编为,对所述应用程序中的主应用程序进行反汇编。
[0006]所述的方法中,所述检测出已使用的权限列表具体为:
提取应用程序中所有调用的应用程序接口,将所述调用的应用程序接口与权限特征库进行匹配,如果匹配成功,则记录所述权限特征库中的权限为已使用权限。
[0007]所述的方法中,将所述调用的应用程序接口与权限特征库匹配方式为:通过短哈希及字节长度进行匹配,如果短哈希值和字符串长度均相同,则认为匹配成功;所述短哈希为32bit的哈希值。
[0008]一种判定移动终端应用程序申请未使用权限的系统,包括:
解析模块,用于解析待判定的应用程序,获取所述应用程序申请的所有权限列表;
检测模块,用于对所述应用程序进行反汇编,检测出已使用的权限列表;
比较模块,用于将申请的所有权限列表与已使用的权限列表比对,所有权限列表中除已使用权限列表中的权限外,即为未使用权限。[0009]所述的系统中,所述对所述应用程序进行反汇编为,对所述应用程序中的主应用程序进行反汇编。
[0010]所述的系统中,所述检测出已使用的权限列表具体为:
提取应用程序中所有调用的应用程序接口,将所述调用的应用程序接口与权限特征库进行匹配,如果匹配成功,则记录所述权限特征库中的权限为已使用权限。
[0011]所述的系统中,将所述调用的应用程序接口与权限特征库匹配方式为:通过短哈希及字节长度进行匹配,如果短哈希值和字符串长度均相同,则认为匹配成功;所述短哈希为32bit的哈希值。
[0012]本发明提供一种判断移动终端应用程序申请了未使用权限的判定方法及系统,其中方法包括:解析待判定的应用程序,获取所述应用程序申请的所有权限列表;对所述应用程序进行反汇编,检测出已使用的权限列表;将申请的所有权限列表与已使用的权限列表比对,所有权限列表中除已使用权限列表中的权限外,即为未使用权限。本发明还相应提供了对应的系统结构。通过本发明的方法,能够对移动终端所申请及使用的权限进行判定,识别出申请但未使用的权限。
【专利附图】
【附图说明】
[0013]为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0014]图1为本发明判定移动终端应用程序申请未使用权限的方法流程图;
图2为本发明判定移动终端应用程序申请未使用权限的系统结构示意图。
【具体实施方式】
[0015]为了使本【技术领域】的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。
[0016]本发明提供了一种判定移动终端应用程序申请未使用权限的方法及系统,解决了未使用权限的判定问题,能够有效的判断出应用程序所申请的权限是否均被使用。
[0017]一种判定移动终端应用程序申请未使用权限的方法,如图1所示,包括:
5101:解析待判定的应用程序,获取所述应用程序申请的所有权限列表;
5102:对所述应用程序进行反汇编,检测出已使用的权限列表;
5103:将申请的所有权限列表与已使用的权限列表比对,所有权限列表中除已使用权限列表中的权限外,即为未使用权限。
[0018]所述的方法中,所述对所述应用程序进行反汇编为,对所述应用程序中的主应用程序进行反汇编。
[0019]所述的方法中,所述检测出已使用的权限列表具体为:
提取应用程序中所有调用的应用程序接口,将所述调用的应用程序接口与权限特征库进行匹配,如果匹配成功,则记录所述权限特征库中的权限为已使用权限。[0020]所述的方法中,将所述调用的应用程序接口与权限特征库匹配方式为:通过短哈希及字节长度进行匹配,如果短哈希值和字符串长度均相同,则认为匹配成功;所述短哈希为32bit的哈希值。通过这种匹配方式,能够提高匹配速度,同时避免短hash算法导致的误报。
[0021]为更好理解本发明方法内容,以android系统为例,说明判定方法。
[0022]由于android系统中应用程序为apk文件,因此解析apk安装包,获取apk中的AndroidManifest.xml 和 classes, dex 文件;
解析AndroidManifest.xml文件,获取其中的权限列表;
解析classes, dex文件,提取其中所有调用的api ;
将所有调用的api与权限特征库中的特征进行短hash及字节长度匹配,如果匹配成功,则认为该权限已使用,并进行标记;
在权限列表中删除标记为已使用的权限,则剩余权限为apk申请,但未使用的权限。
[0023]针对获取系统调用api的方法可以为两种,一种为基于符号的权限检测方法,具体为解析dex中method字段,找到系统调用api ;另一种为基于OpCode字段,对OP段数据为0x6e和0x78相应的Index提取相应的method字段数据,找到系统api调用。
[0024]一种判定移动终端应用程序申请未使用权限的系统,如图2所示,包括:
解析模块201,用于解析待判定的应用程序,获取所述应用程序申请的所有权限列表; 检测模块202,用于对所述应用程序进行反汇编,检测出已使用的权限列表;
比较模块203,用于将申请的所有权限列表与已使用的权限列表比对,所有权限列表中除已使用权限列表中的权限外,即为未使用权限。
[0025]所述的系统中,所述对所述应用程序进行反汇编为,对所述应用程序中的主应用程序进行反汇编。
[0026]所述的系统中,所述检测出已使用的权限列表具体为:
提取应用程序中所有调用的应用程序接口,将所述调用的应用程序接口与权限特征库进行匹配,如果匹配成功,则记录所述权限特征库中的权限为已使用权限。
[0027]所述的系统中,将所述调用的应用程序接口与权限特征库匹配方式为:通过短哈希及字节长度进行匹配,如果短哈希值和字符串长度均相同,则认为匹配成功;所述短哈希为32bit的哈希值。
[0028]本发明提供一种判断移动终端应用程序申请了未使用权限的判定方法及系统,其中方法包括:解析待判定的应用程序,获取所述应用程序申请的所有权限列表;对所述应用程序进行反汇编,检测出已使用的权限列表;将申请的所有权限列表与已使用的权限列表比对,所有权限列表中除已使用权限列表中的权限外,即为未使用权限。本发明还相应提供了对应的系统结构。通过本发明的方法,能够对移动终端所申请及使用的权限进行判定,识别出申请但未使用的权限。
[0029]本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0030]本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0031]虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
【权利要求】
1.一种判定移动终端应用程序申请未使用权限的方法,其特征在于,包括: 解析待判定的应用程序,获取所述应用程序申请的所有权限列表; 对所述应用程序进行反汇编,检测出已使用的权限列表; 将申请的所有权限列表与已使用的权限列表比对,所有权限列表中除已使用权限列表中的权限外,即为未使用权限。
2.如权利要求1所述的方法,其特征在于,所述对所述应用程序进行反汇编为,对所述应用程序中的主应用程序进行反汇编。
3.如权利要求1所述的方法,其特征在于,所述检测出已使用的权限列表具体为: 提取应用程序中所有调用的应用程序接口,将所述调用的应用程序接口与权限特征库进行匹配,如果匹配成功,则记录所述权限特征库中的权限为已使用权限。
4.如权利要求3所述的方法,其特征在于,将所述调用的应用程序接口与权限特征库匹配方式为:通过短哈希及字节长度进行匹配,如果短哈希值和字符串长度均相同,则认为匹配成功;所述短哈希为32bit的哈希值。
5.一种判定移动终端应用程序申请未使用权限的系统,其特征在于,包括: 解析模块,用于解析待判定的应用程序,获取所述应用程序申请的所有权限列表; 检测模块,用于对所述应用程序进行反汇编,检测出已使用的权限列表; 比较模块,用于将申请的所有权限列表与已使用的权限列表比对,所有权限列表中除已使用权限列表中的权限外,即为未使用权限。
6.如权利要求5所述的系统,其特征在于,所述对所述应用程序进行反汇编为,对所述应用程序中的主应用程序进行反汇编。
7.如权利要求5所述的系统,其特征在于,所述检测出已使用的权限列表具体为: 提取应用程序中所有调用的应用程序接口,将所述调用的应用程序接口与权限特征库进行匹配,如果匹配成功,则记录所述权限特征库中的权限为已使用权限。
8.如权利要求7所述的系统,其特征在于,将所述调用的应用程序接口与权限特征库匹配方式为:通过短哈希及字节长度进行匹配,如果短哈希值和字符串长度均相同,则认为匹配成功;所述短哈希为32bit的哈希值。
【文档编号】G06F9/445GK103902330SQ201310725555
【公开日】2014年7月2日 申请日期:2013年12月25日 优先权日:2013年12月25日
【发明者】胡雪飞, 潘宣辰, 肖新光 申请人:武汉安天信息技术有限责任公司