一种针对移动应用使用异常权限的检测和阻断方法与流程

文档序号:11251268阅读:824来源:国知局
一种针对移动应用使用异常权限的检测和阻断方法与流程

本发明涉及一种针对移动应用使用异常权限的检测和阻断方法,属于移动信息安全技术领域。



背景技术:

如今,移动设备在人们的日常生活中扮演着越来越重要的角色,移动设备的安全问题也越发突出。恶意程序往往通过手机上的漏洞来提升自身权限,从而访问系统的敏感数据和方法,最终实施恶意行为。

为了限制恶意应用程序的行为,samlley等人提出了运用强制访问控制策略保护android中系统资源的方法。为了保护android智能手机安全,在深入分析android系统安全机制的基础上,乜聚虎等人提出了一个基于强制访问控制的安全加固技术。shebaro等人提出了基于上下文环境的访问控制模型,让应用程序只在特定的环境下使用敏感数据。杨欢等人设计了基于权限频繁模式的挖掘算法,用来挖掘应用程序权限之间的关联性。通过挖掘权限之间的关联性,找出程序申请权限的特点,利用机器学习的方法将应用程序分类,找出恶意程序。为实现android平台下恶意软件的高效检测,李挺等人提出了一种基于dalvik指令的android恶意代码特征形式化描述和分析方法,能够在无需反编译应用程序的基础上,快速检测样本的恶意特征。

上述方法都是基于对应用程序或者系统本身的访问动作的限制和检测来达到确保隐私数据安全的目的。除此之外,还有一类方法是通过对系统中的数据流或者指令流的分析和追踪入手来分析系统安全的。例如,flowdroid通过静态分析法构造控制或数据流图,来分析数据流的走向,并给出隐私数据是否被泄露的结论。经过修改,传统的静态程序检测技术可以应用到android应用程序的检测上,并能够准确地检测出程序中存在的隐私数据泄露问题。为提高android移动平台的安全性,白鸽等人提出一种基于dalvik指令的静态检测方法,通过分析应用程序的虚拟机代码,找出敏感信息的数据流,包括跟踪敏感信息、函数调用,从而判断出该应用程序是否有恶意行为。

上述的静态的数据流或者指令流的分析方法存在其局限性,它无法实时的确保检测和分析当前系统的隐私数据走向,只能对某个现阶段的系统进行分析来评估其安全性,无法动态的检测系统的安全。



技术实现要素:

为了解决上述技术问题,本发明提供了一种针对移动应用使用异常权限的检测和阻断方法。

为了达到上述目的,本发明所采用的技术方案是:

一种针对移动应用使用异常权限的检测和阻断方法,获取待测应用申请权限中的异常权限,在这些异常权限调用系统框架层提供的方法时,查询方法对应的安全行为模式表,如果调用过程不满足安全行为模式表中定义的安全行为模式序列,则阻断此次调用,如果满足,则不做任何操作;安全行为模式序列为调用方法的正确过程。

获取待测应用申请权限中的异常权限的过程为,

采集若干已知的应用作为标准样本;

分析作为标准样本的各应用所属的类别,分析各应用申请的权限,构建类别-权限表;其中类别-权限表中存储有各种类别应用以及申请的对应权限;

根据欧氏距离判断待测应用所属的类别,从类别-权限表中获取待测应用所属类别对应的权限,并将这些权限放入标准权限集a中;

获取待测应用申请的权限,并与标准权限集a中的权限进行比较,如果申请的权限中有若干不属于标准权限集a,则这些申请权限为异常权限。

采用网络爬虫爬取各大应用网站中的应用,作为标准样本。

根据欧氏距离判断待测应用所属类别的过程为,

对于待测应用,首先查询类别-权限表,对于类别-权限表中的每一条目,可以构建特征向量其中,vik的值为0或1,当vik=1时,则表示第i个类别应用申请了第k个权限,n为第i个类别应用申请的权限总数,1≤k≤n;

分析待测应用权限信息,构建权限向量再将所有的特征向量和权限向量进行归一化,然后计算欧式距离,欧式距离最小时所对应的类别即为待测应用所属的类别。

构建安全行为模式表的过程为,

将系统框架层提供的所有方法和权限进行匹配对应,构建权限-方法表;权限-方法表中存储有各种权限以及调用的对应方法;

对每一个方法调用构建安全行为模式表,每一个方法的调用对应一个或若干个的安全行为模式序列。

利用tlck时序逻辑描述语言的时序表达能力,以应用的方法调用和相关的系统事件为变量,对特定的系统资源访问定义安全行为模式。

本发明所达到的有益效果:本发明提供了一种较为全面和完整的针对恶意软件获取和使用异常权限时的检测和阻断方法,对移动应用的权限申请以及运行过程中的权限使用情况进行分析,对应用的危险调用行为进行及时的阻断,从而防止由于权限使用不当而造成的敏感信息泄露问题。

附图说明

图1为本发明的流程图。

图2为系统的调用说明。

具体实施方式

下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。

如图1所示,一种针对移动应用使用异常权限的检测和阻断方法,具体为:获取待测应用申请权限中的异常权限,在这些异常权限调用系统(安卓系统)框架层提供的方法时,查询方法对应的安全行为模式表,如果调用过程不满足安全行为模式表中定义的安全行为模式序列,则阻断此次调用,如果满足,则不做任何操作。安全行为模式序列为调用方法的正确过程,例如拨打电话,安全行为模式序列应该是“输入号码/选取联系人号码”->“点击拨打”,而恶意过程则是直接在后台进行拨打恶意电话。

获取待测应用申请权限中的异常权限的过程为:

s11,采集若干已知的应用作为标准样本;采用网络爬虫爬取各大应用网站中的应用,作为标准样本。

s12,分析作为标准样本的各应用所属的类别,分析各应用申请的权限,构建类别-权限表;其中类别-权限表中存储有各种类别应用以及申请的对应权限。

s13,根据欧氏距离判断待测应用所属的类别,从类别-权限表中获取待测应用所属类别对应的权限,并将这些权限放入标准权限集a中。

根据欧氏距离判断待测应用所属类别的过程为:

对于待测应用,首先查询类别-权限表,对于类别-权限表中的每一条目,可以构建特征向量其中,vik的值为0或1,当vik=1时,则表示第i个类别应用申请了第k个权限,n为第i个类别应用申请的权限总数,1≤k≤n;分析待测应用权限信息,构建权限向量再将所有的特征向量和权限向量进行归一化,然后计算欧式距离,欧式距离最小时所对应的类别即为待测应用所属的类别。

s14,获取待测应用申请的权限,并与标准权限集a中的权限进行比较,如果申请的权限中有若干不属于标准权限集a,则这些申请权限为异常权限。

构建安全行为模式表的过程为:

s21,将系统框架层提供的所有方法和权限进行匹配对应,构建权限-方法表;权限-方法表中存储有各种权限以及调用的对应方法。

s22,对每一个方法调用构建安全行为模式表,每一个方法的调用对应一个或若干个的安全行为模式序列。

利用tlck时序逻辑描述语言的时序表达能力,以应用的方法调用和相关的系统事件为变量,对特定的系统资源访问定义安全行为模式。

上述的阻断过程在原生系统的内核层进行,通过对调用方法的行为进行监视,在验证权限的基础上,添加对程序行为模式的分析,一旦不满足安全行为模式序列,阻断其方法调用并剥夺其获得的权限,提醒用户重新授权。与大部分安全软件在应用层面检测和阻断恶意软件行为的方式不同,如图2所示,系统中的每个线程都会维护一个interpretedstack,调用方法信息会事先被压入interpretedstack,然后由dalvik进行解释执行,执行完再从interpretedstack弹出,因此,方法在interpretedstack中的位置关系表示了方法间的调用关系,并且方法的调用信息,如参数等,也可以通过解析interpretedstack中的信息获取,因此通过监视interpretedstack的压栈操作,即可获得应用的方法调用信息,我们在其调用这些方法的时候添加上述的监视代码,即可完成动态监控和阻断。

本发明提供了一种较为全面和完整的针对恶意软件获取和使用异常权限时的检测和阻断方法,对移动应用的权限申请以及运行过程中的权限使用情况进行分析,对应用的危险调用行为进行及时的阻断,从而防止由于权限使用不当而造成的敏感信息泄露问题。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

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