一种面向Android系统漏洞的主动防御方法及系统与流程

文档序号:12720912阅读:252来源:国知局
一种面向Android系统漏洞的主动防御方法及系统与流程

本发明涉及短信防御技术领域,特别是涉及一种面向Android系统漏洞的主动防御方法及系统。



背景技术:

随着Android系统手机用户的数量逐年提升,Android系统手机的安全越来越受到民众的关注,其中用户无意之间点击的连接、下载的应用等都可能会造成用户财产的损失。

由于现在的社交应用、支付应用等通常需要通过手机验证码证明账号的安全,然而Android系统并不限制第三方应用进行读取短信、发送短信的行为,因此安卓手机用户出现钱财受损的案件通常是这种验证码短信被转发,再配合获取到的其他信息实施的网络盗窃。因此研究用户是如何产生了点击链接、下载应用的心理,应用是如何静默将短信转发,以及如何防止此类问题是很必要的。

ENCK等人首次提出了Android的安全机制和Kirin的安全工具,采用静态检测组合策略,即在安装应用的时候就对其申请的所有权限进行审核,如果违背了配置策略,就拒绝对其进行安装。该工具有效阻止了申请敏感权限的程序的安装,但是其误报率较高,原因在于仅依据已知危险软件的权限申请组合并不能够判断出申请同样权限的其他应用也为危险软件。



技术实现要素:

本发明的目的是提供一种面向Android系统漏洞的主动防御方法,可准确判断危险软件,降低误报率。

为实现上述目的,本发明提供了如下方案:

一种面向Android系统漏洞的主动防御方法,所述主动防御方法包括:

统计Android系统中的所有参考权限及各参考权限的等级;

根据不同等级内参考权限的数量确定对应的等级权值及权限等级区间;

查询Android系统中的各个应用中全部应用权限;

根据各所述应用中的应用权限的等级及各所述等级权值确定各所述应用中的各应用权限的权值;

根据各所述应用中全部应用权限对应的权值确定各所述应用的危险值;

根据各所述应用的危险值及所述权限等级区间,确定各所述应用的危险值所在的等级。

可选的,所述主动防御方法还包括:

判断各所述应用的危险值所在的等级是否为最高级,如果是,则按照危险值由大到小的顺序对各个应用排序;否则,按照危险值由小到大的顺序对各个应用进行排序。

可选的,所述根据不同等级内参考权限的数量确定对应等级的权值及权限等级区间的方法包括:

根据以下公式确定各个等级的权值ai

其中,n表示权值an的等级序号,n=0,1,..,N,N表示最高级别序号,qn表示第n级别内参考权限的数量,i表示权值ai的等级序号,i=0,1,..,N;

根据以下公式确定权限等级区间[Aimin,Aimax]:

可选的,N取值为5。

可选的,所述确定各所述应用的危险值的方法包括:

将各所述应用中全部应用权限对应的权值相加确定对应应用的危险值Sd

可选的,所述主动防御方法还包括:

监控各最高级应用的运行状态;

判断对应最高级应用是否存在发送短信行为;如果是,则拦截所述最高级应用发送的短信广播;否则继续保持监控状态;

识别所述短信广播,提取出短信内容;

设置关键词库;

根据所述关键词库中关键词,判断所述短信内容是否存在关键词,如果存在,则对所述短信信息进行加密,并将加密内容发送至所述最高级应用的数据库中存储;否则继续传递所述短信广播。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明面向Android系统漏洞的主动防御方法根据Android系统中的所有参考权限及各参考权限的等级确定不同的权限等级区间,根据不同应用的应用权限及对应的权值,可准确确定所述应用的危险值,进而确定所述应用的危险值所述的等级,从而可快速、准确的确定所述应用的危险性,降低误报率。

本发明的目的是提供一种面向Android系统漏洞的主动防御系统,可准确判断危险软件,降低误报率。

为实现上述目的,本发明提供了如下方案:

一种面向Android系统漏洞的主动防御系统,所述主动防御系统包括:

统计单元,用于统计Android系统中的所有参考权限及各参考权限的等级;

等级确定单元,与所述统计单元连接,用于根据不同等级内参考权限的数量确定对应的等级权值及权限等级区间;

查询单元,用于查询Android系统中的各个应用中全部应用权限;

应用确定单元,分别与所述查询单元和等级确定单元连接,用于根据各所述应用中的应用权限的等级及各所述等级权值确定各所述应用中的各应用权限的权值;

计算单元,与所述应用确定单元连接,用于根据各所述应用中全部应用权限对应的权值确定各所述应用的危险值;

终极确定单元,分别与所述计算单元和等级确定单元连接,用于根据各所述应用的危险值及权限等级区间,确定各所述应用的危险值所在的等级。

可选的,所述主动防御系统还包括:

排序单元,与所述终极确定单元连接,用于在各所述应用的危险值所在的等级为最高级,则按照危险值由大到小的顺序对各个应用排序;以及在各所述应用的危险值所在的等级不是最高级时,按照危险值由小到大的顺序对各个应用进行排序。

可选的,所述等级确定单元包括权值确定模块和区间确定模块;其中,

所述权值确定模块用于根据不同等级内参考权限的数量确定对应等级的权值ai

其中,n表示权值an的等级序号,n=0,1,..,N,N表示最高级别序号,qn表示第n级别内参考权限的数量,i表示权值ai的等级序号,i=0,1,..,N;

所述区间确定模块用于根据所述根据不同等级内参考权限的数量确定对应权限等级区间[Aimin,Aimax]:

可选的,所述主动防御系统还包括:

监控单元,与所述终极确定单元连接,用于监控各最高级应用的运行状态;

行为判断单元,与所述监控单元连接,用于判断对应最高级应用是否存在发送短信行为;并在判断为不存在发送短信行为时,使所述监控单元继续保持监控状态;

拦截单元,与所述判断单元连接,用于在所述判断单元中判断结果为存在发送短信行为时,拦截所述最高级应用发送的短信广播;

识别单元,与所述拦截单元连接,用于识别所述短信广播,提取出短信内容;

设置单元,用于设置多个关键词,形成关键词库;

词判断单元,分别与所述识别单元和设置单元连接,用于根据所述关键词库中关键词,判断所述短信内容是否存在关键词;

加密单元,与所述词判断单元连接,用于在所述词判断单元的判断结果为存在关键词时,对所述短信信息进行加密并发送至所述最高级应用的数据库中存储;

传输单元,与所述词判断单元连接,用于在所述词判断单元连接判断结果为不存在关键词时,继续传递所述短信广播。

根据本发明提供的具体实施例,本发明公开了以下技术效果:

本发明面向Android系统漏洞的主动防御系统通过设置统计单元、等级确定单元、查询单元、应用确定单元、计算单元及终极确定单元,从而可根据Android系统中的所有参考权限及各参考权限的等级确定不同的权限等级区间,根据不同应用的应用权限及对应的权值,可准确确定所述应用的危险值,进而确定所述应用的危险值所在的等级,从而可快速、准确的确定所述应用的危险性,降低误报率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明面向Android系统漏洞的主动防御方法的流程图;

图2为本发明面向Android系统漏洞的主动防御系统的模块结构图;

图3为测试对比图;

图4为本发明面向Android系统漏洞的主动防御系统在不同配置的手机下的测试结果对比图。

符号说明:

统计单元—11、等级确定单元—12、查询单元—13、应用确定单元—14、计算单元—15、终极确定单元—16、排序单元—17、设置单元—21、监控单元—22、行为判断单元—23、拦截单元—24、识别单元—25、词判断单元—26、加密单元—27、传输单元—28。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的目的是提供一种面向Android系统漏洞的主动防御方法,根据Android系统中的所有参考权限及各参考权限的等级确定不同的权限等级区间,根据不同应用的应用权限及对应的权值,可准确确定所述应用的危险值,进而确定所述应用的危险值所在的等级,从而可快速、准确的确定所述应用的危险性,降低误报率。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

如图1所示,本发明面向Android系统漏洞的主动防御方法包括:

步骤110:统计Android系统中的所有参考权限及各参考权限的等级;步骤:120:根据不同等级内参考权限的数量确定对应的等级权值及权限等级区间;步骤130:查询Android系统中的各个应用中全部应用权限;步骤140:根据各所述应用中的应用权限的等级及各所述等级权值确定各所述应用中的各应用权限的权值;步骤150:根据各所述应用中全部应用权限对应的权值确定各所述应用的危险值;步骤160:根据各所述应用的危险值及权限等级区间,确定各所述应用的等级;步骤170:判断各所述应用的危险值所在的等级是否为最高级,如果是,则按照危险值由大到小的顺序对各个应用排序;否则,按照危险值由小到大的顺序对各个应用进行排序。

其中,每一个应用中的全部应用权限形成的集合≤Android系统中的所有参考权限形成的集合,且应用权限在参考权限形成的集合内,与所述参考权限对应。

在步骤120中,所述根据不同等级内参考权限的数量确定对应等级的权值及权限等级区间的方法包括:

根据以下公式确定各个等级的权值ai

其中,n表示权值an的等级序号,n=0,1,..,N,N表示最高级别序号,qn表示第n级别内参考权限的数量,i表示权值ai的等级序号,i=0,1,..,N。

根据以下公式确定权限等级区间[Aimin,Aimax]:

在本实施例中,N取值为5,即共分为6个等级,如下表1所示。

表1权限安全等级

根据公式(1)和公式(2),可知权限权值设定算法的计算方法:将第0级权值设定为0;第1级权值设定为1;第2级则是将第0级、第1级所有权限的权值相加再加1;第3级则是将第0级、第1级、第2级的所有权限的权值相加再加1,以此类推。这样,无论申请了多少低等级的权限,也无法超过高等级的权值,通过判断应用的危险值所在区间,就可以获取应用所在安全等级。

例如,根据公式(1)和公式(2)得到的权限等级区间为:第0级区间为[0,0],第1级区间为[1,3],第2级区间为[4,35],第3级区间为[36,179],第4级区间为[180,1979],第5级区间为[1980,3959]。其中,在第4级区间内,180代表第4级内每个权限的权值,1979代表第0级区间至第4级区间内全部权限的权值之和。

在步骤150中,所述确定各所述应用的危险值的方法包括:将各所述应用中全部应用权限对应的权值相加确定对应应用的危险值Sd。例如,计算的手机安全位置的危险值为945,通过与上述6个权限等级区间的比较,可以确定手机安全位于第4等级。

在步骤170中,判断各所述应用的危险值所在的等级是否为最高级,如果是,则说明所述应用能够发送短信,需要提醒用户,此时可以按照危险值由大到小的顺序对各个应用排序,在用户打开手机时,可以最先看到危险的应用;而且将最高级应用通过醒目的颜色标准(例如红色),使用户可以直观的看到,进而可以对相关应用进行卸载。如果不存在最高级的应用,则可以按照危险值由小到大的顺序对各个应用进行排序。

此外,为了方便用户使用最高级应用,本发明面向Android系统漏洞的主动防御方法还包括:

步骤210:监控各最高级应用的运行状态;步骤220:判断对应最高级应用是否存在发送短信行为;如果是,则执行步骤230:拦截所述最高级应用发送的短信广播;否则继续保持监控状态;步骤240:识别所述短信广播,提取出短信内容;步骤250:设置关键词库;步骤260:根据所述关键词库中关键词,判断所述短信内容是否存在关键词,如果存在,则对所述短信信息进行加密,并将加密内容发送至所述最高级应用的数据库中存储;否则继续传递所述短信广播。

短信的发送是调用Android系统的API(Application Program Interface,应用程序接口)实现的,不同于接收短信,发送短信不会发送广播,也没有任何意图,因此要想实现短信发送行为监控,就要监控这个发送短信的API是否被其他应用调用。这个功能的实现采用了Xposed框架技术,修改Android系统发送短信的API,等同于接管这个API,所有的发送短信的操作都要通过这个修改过的功能。为了防止短信发送行为监控失败,因此把带有用户预设置的关键词,如“验证码”“金额”等作为关键短信息,当拦截到短信内容中存在关键词时,进行AES加密。所以即使监控失败,未能及时提示用户,转发出的短信仍然是密文。

进一步的,在步骤220中,判断所述最高级应用当前行为中是否存在发送短信行为的同时,不影响在步骤210中,监控所述最高级应用的下一次行为,即对所述最高级应用的监控不会因为所述最高级应用存在发送短信行为或者不存在发送短信行为而停止。

通过拦截含有关键词的短信并加密的成功率为100%,从而可大大降低用户损失。

此外,本发明还提供一种面向Android系统漏洞的主动防御系统。如图2所示,本发明面向Android系统漏洞的主动防御系统包括统计单元11、等级确定单元12、查询单元13、应用确定单元14、计算单元15、终极确定单元16及排序单元17。

其中,所述统计单元11用于统计Android系统中的所有参考权限及各参考权限的等级;所述等级确定单元12与所述统计单元11连接,用于根据不同等级内参考权限的数量确定对应的等级权值及权限等级区间;所述查询单元13用于查询Android系统中的各个应用中全部应用权限及对应应用权限的等级;所述应用确定单元14分别与所述查询单元13和等级确定单元12连接,用于根据各所述应用中的应用权限的等级及各所述等级权值确定各所述应用中的各应用权限的权值;所述计算单元15与所述应用确定单元14连接,用于根据各所述应用中全部应用权限对应的权值确定各所述应用的危险值;所述终极确定单元16分别与所述计算单元15和等级确定单元12连接,用于根据各所述应用的危险值及权限等级区间,确定各所述应用的危险值的等级;所述排序单元17与所述终极确定单元16连接,用于在各所述应用的危险值所在的等级为最高级,则按照危险值由大到小的顺序对各个应用排序;以及在各所述应用的危险值所在的等级不是最高级时,按照危险值由小到大的顺序对各个应用进行排序。

其中,所述等级确定单元12包括权值确定模块和区间确定模块;其中,所述权值确定模块用于根据不同等级内参考权限的数量确定对应等级的权值ai

其中,n表示权值an的等级序号,n=0,1,..,N,N表示最高级别序号,qn表示第n级别内参考权限的数量,i表示权值ai的等级序号,i=0,1,..,N。在本实施例中,N=5,即共分为6个等级,最高级别为5。

所述区间确定模块用于根据所述根据不同等级内参考权限的数量确定对应权限等级区间[Aimin,Aimax]:

优选的,本发明面向Android系统漏洞的主动防御系统还包括设置单元21、监控单元22、行为判断单元23、拦截单元24、识别单元25、词判断单元26、加密单元27及传输单元28。

其中,所述监控单元22与所述终极确定单元17连接,用于监控各最高级应用的运行状态;所述行为判断单元23与所述监控单元22连接,用于判断对应最高级应用是否存在发送短信行为;并在判断为不存在发送短信行为时,使所述监控单元22继续保持监控状态;所述拦截单元24与所述判断单元23连接,用于在所述判断单元23中判断结果为存在发送短信行为时,拦截所述最高级应用发送的短信广播;所述识别单元25与所述拦截单元24连接,用于识别所述短信广播,提取出短信内容;所述设置单元21用于设置多个关键词,形成关键词库;所述词判断单元26分别与所述识别单元25和设置单元21连接,用于根据所述关键词库中关键词,判断所述短信内容是否存在关键词;所述加密单元27与所述词判断单元26连接,用于在所述词判断单元26的判断结果为存在关键词时,对所述短信信息进行加密并发送至所述最高级应用的数据库中存储;所述传输单元28与所述词判断单元26连接,用于在所述词判断单元连接判断结果为不存在关键词时,继续传递所述短信广播。

对本发明面向Android系统漏洞的主动防御系统与现有手机保护工具(例如360安全卫士、LBE安全大师、Avast)的对比测试(如图3所示,横轴表示测试内容,纵轴表示检测深度,时间为0表示无法提示,1表示软件安装提示时间,2表示应用安全性提示时间,3鼻癌搜狐短信发送提示时间)的进一步的分析,可知:

(1)现有保护手机的工具都是采用的传统查毒的方式,将应用的特征码与病毒数据库进行对比;而本发明面向Android系统漏洞的主动防御系统在安装结束之后就计算其危险值,速度明显快于其他应用。(2)因为木马可能进行了免杀操作,使用病毒库对比的方式可能查不出问题,但是计算危险值可以简洁的展示应用的意图,不会有漏查的问题。因此,本发明面向Android系统漏洞的主动防御系统有明显的优势。

根据图4所示测试结果进一步的分析:(1)本发明面向Android系统漏洞的主动防御系统对于应用安装提示和应用安全性提示的成功率为100%,可以成功获取到有应用安装以及计算出这个应用的危险值;(2)短信发送提示成功率为33.3%。由于短信发送是需要使用Xposed框架,所以短信发送功能需要安装Xposed框架的手机,测试机66.7%没安装。当用户安装了Xposed框架时,此功能的成功率为100%;(3)短信加密的成功率为50%。由于短信加密需要拦截短信广播,本发明面向Android系统漏洞的主动防御系统的防御优先级为最高级,但是如果木马的优先级也是最高级,且木马先装入手机,那么广播会优先传入木马,所以短信加密的成功率为50%。

为了保护安全,推荐用户优先安装本发明面向Android系统漏洞的主动防御系统,或安装前查杀木马,若先安装本面向Android系统漏洞的主动防御系统用,短信加密成功率100%。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1