一种基于安卓监控敏感权限的方法、存储介质及终端设备与流程

文档序号:17430220发布日期:2019-04-17 03:23阅读:196来源:国知局
一种基于安卓监控敏感权限的方法、存储介质及终端设备与流程

本发明涉及信息安全技术领域,特别涉及一种基于安卓监控敏感权限的方法、存储介质及终端设备。



背景技术:

随着智能手机的普及,用户对手机的依赖性越来越高,功能也越来越多。黑色产业链庞大,恶意app(应用程序)越来越多,个人敏感信息存在泄露的风险,这样,很容易被不法分子盗取和利用,从而危害个人的财产,名誉等安全。目前,在恶意app读取个人敏感信息时,还不能够及时的检测出来并通知用户,因此极易发生个人敏感信息泄露风险,影响个人用户的信息安全,给用户带来不必要的麻烦。

因而现有技术还有待改进和提高。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的不足,提供一种基于安卓监控敏感权限的方法、存储介质及终端设备,以解决在恶意应用程序读取个人敏感信息时,不能被及时检测出来的问题。

为了解决上述技术问题,本发明所采用的技术方案如下:

一种基于安卓监控敏感权限的方法,其包括:

当监听到移动终端中应用程序调用的权限信息时,判断所述调用权限信息是否包含于预设的敏感权限数据库;

当所述权限信息包含于预设的敏感权限数据库,在预设包名数据库内查找所述应用程序,其中,所述预设包名数据库用于存储调用过敏感权限的应用程序包名;

当查找到所述应用程序时,判定所述应用程序为恶意应用程序。

所述基于安卓监控敏感权限的方法,其中,所述当监听到移动终端中应用程序调用的权限信息时,判断所述调用权限信息是否包含于预设的敏感权限数据库具体包括:

当监听到移动终端中应用程序调用的权限信息,判定所述应用程序调用是否属于预设的黑名单或者白名单;

当所述应用程序不属于黑名单且不属于白名单时,判断所述调用权限信息是否包含于预设的敏感权限数据库。

所述基于安卓监控敏感权限的方法,其中,所述当监听到移动终端中应用程序调用的权限信息时,判断所述调用权限信息是否包含于预设的敏感权限数据库还包括:

当所述应用程序属于白名单时,判定所述应用程序为正常应用程序;

当所述应用程序属于黑名单时,判定所述应用程序为恶意应用程序。

所述基于安卓监控敏感权限的方法,其中,当所述权限信息包含于预设的敏感权限数据库,在预设包名数据库内查找所述应用程序,其中,所述预设包名数据库用于存储调用过敏感权限的应用程序包名具体包括:

当所述权限信息包含于预设的敏感权限数据库,获取所述权限信息对应的应用程序的应用程序包名;

根据所述应用程序包名,在预设包名数据库内查找所述应用程序包名对应的应用程序。

所述基于安卓监控敏感权限的方法,其中,所述当查找到所述应用程序时,判定所述应用程序为恶意应用程序具体包括:

当查找到所述应用程序时,判定所述应用程序调用敏感权限的权限种类是否相同;

当调用敏感权限的权限种类不同时,判定所述应用程序为恶意应用程序。

所述基于安卓监控敏感权限的方法,其中,所述当查找到所述应用程序时,判定所述应用程序为恶意应用程序还包括:

当调用敏感权限的权限种类相同时,判定所述应用程序为正常应用程序,并将所述调用敏感权限的记录存储于预设包名数据库。

所述基于安卓监控敏感权限的方法,其还包括:

当未查找到所述应用程序时,判定所述应用程序为正常应用程序,并将所述应用程序的包名加入预设包名数据库。

所述基于安卓监控敏感权限的方法,其中,所述当查找到所述应用程序时,判定所述应用程序为恶意应用程序还包括:

将所述恶意应用程序以通知栏的方式通知用户。

一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任意一项所述的基于安卓监控敏感权限的方法中的步骤。

一种终端设备,包括:处理器和存储器;所述存储器上存储有可被所述处理器执行的计算机可读程序;所述处理器执行所述计算机可读程序时实现如上任意一项所述的基于安卓监控敏感权限的方法中的步骤。

有益效果:与现有技术相比,本发明提供了一种一种基于安卓监控敏感权限的方法、存储介质及终端设备,其包括:当监听到移动终端中应用程序调用的权限信息时,判断所述调用权限信息是否包含于预设的敏感权限数据库;当所述权限信息包含于预设的敏感权限数据库,在预设包名数据库内查找所述应用程序,其中,所述预设包名数据库用于存储调用过敏感权限的应用程序包名;当查找到所述应用程序时,判定所述应用程序为恶意应用程序。当恶意应用程序读取个人敏感信息时,能够及时的检测出来,可以有效的避免个人敏感信息泄露的风险。

附图说明

图1为本发明提供的基于安卓监控敏感权限的方法较佳实施例的流程图。

图2为本发明提供的基于安卓监控敏感权限的方法中步骤s100较佳实施例的流程图。

图3为本发明提供的基于安卓监控敏感权限的方法中步骤s300较佳实施例的流程图。

图4为本发明提供的终端设备较佳实施例的结构原理图。

具体实施方式

本发明提供一种基于安卓监控敏感权限的方法、存储介质及终端设备,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

下面结合附图,通过对实施例的描述,对发明内容作进一步说明。

请参照图1,图1为本发明提供的一种基于安卓监控敏感权限的方法的较佳实施例的流程图。所述方法包括:

s100、当监听到移动终端中应用程序调用的权限信息时,判断所述调用权限信息是否包含于预设的敏感权限数据库。

具体地,本发明利用android权限管理机制来监控移动终端中所有应用程序运行时权限信息(即权限使用情况),由于不是所有应用程序都是不可信赖的,因此需要对大量数据进行分析,需要说明的是,本发明既可以在本地进行分析,其也可以在云端服务器进行分析,然而,在本地分析一方面对比数据不够,另外一方面系统资源有限,因而在本实施例中,通过将监听结果数据发送到云端服务器进行分析,再将分析结果反馈到移动终端,并将结果展示给用户。需要说明的是,当权限管理在云端服务器进行分析的时候需要连接网络,即移动终端与云端服务器实现网络连接。当权限管理过程在终端设备本身的时候,此时无需联网即可完成对敏感权限的分析操作。

进一步,所述云端服务器,在前期可以简单的以apache(web服务器)来搭建云端或python(计算机程序设计语言)来搭建服务端,能接受处理来至用户移动终端)的数据请求;后期可利用虚拟化,分布式,集群,大数据得分析等技术来搭建云端,主要解决后期高并发,大数据,资源管理等的问题。相应的,移动终端在前期考虑以https方式传输,可利用开源工具,如libcurl来实现客户端。

进一步,用户在安装应用程序时都会声明对应的permission(权限),其中包括一些dangerouspermission(危险权限),如果没有在安装时声明对应的permission或者没有在安装后静态赋予,那么在运行过程中将不能进行相应的操作,也没有办法动态获取permission。应用程序的这种permission确认机制将系统资源的访问授权最终交给了用户,体现了以用户为中心的思想。但是用户在迫切需要使用一款应用程序的功能时,就不得不完全允许应用程序的权限访问,安全意识薄弱的用户甚至根本不会去关心一个应用程序会访问哪些权限。

因此,在应用程序获取到敏感权限后,如何监控其行为是一个很重要的问题。通过不断学习研究android权限管理机制和相关代码,发现app(应用程序)使用到某个dangerouspermission时,会调用android权限检测模块来进行判断此应用程序是否赋予了相关权限,基于android的这种权限管理机制,对权限管理模块的代码进行简单修改就可以达到监控所有app的权限使用情况。

具体地,所述预设的敏感权限数据库用于存储android中dangerouspermission,其可以存储如下表所示的数据。

需要说明的是,所述预设的敏感权限数据库由以上所有的权限组所组成。也就是说,本发明仅针对仅对dangerous权限进行监控,增加条件判断,过滤不必要的数据以缓解android系统和云端压力。

进一步,如图2所示,所述当监听到移动终端中应用程序调用的权限信息时,判断所述调用权限信息是否包含于预设的敏感权限数据库具体包括:

s101、当监听到移动终端中应用程序调用的权限信息,判定所述应用程序调用是否属于预设的黑名单或者白名单;

s102、当所述应用程序不属于黑名单且不属于白名单时,判断所述调用权限信息是否包含于预设的敏感权限数据库。

具体地,可以预先在云端服务器预设相应的白名单或者黑名单,放云端的优势是后期也可以进行新增、修改、删除等操作,提高识别恶意应用程序的效率。

进一步,所述当监听到移动终端中应用程序调用的权限信息时,判断所述调用权限信息是否包含于预设的敏感权限数据库还包括:

当所述应用程序属于白名单时,判定所述应用程序为正常应用程序;

当所述应用程序属于黑名单时,判定所述应用程序为恶意应用程序。此时,如果在黑白名单中则可以直接将结果反馈给移动终端。当所述移动终端既不在黑名单,又不在白名单时,则可以继续进行如下分析。

s200、当所述权限信息包含于预设的敏感权限数据库,在预设包名数据库内查找所述应用程序,其中,所述预设包名数据库用于存储调用过敏感权限的应用程序包名。

具体地,所述预设包名数据库用于存储调用过敏感权限的应用程序包名,当云端服务器接收到移动终端发送过来的数据后需要将数据存储起来,可考虑开源的关系型mysql数据库实现,其也可以考虑非关系型nosql数据库实现,如redis,mongodb等,存储格式具体如下表所示。

进一步,当所述权限信息包含于预设的敏感权限数据库,在预设包名数据库内查找所述应用程序,其中,所述预设包名数据库用于存储调用过敏感权限的应用程序包名具体包括:

当所述权限信息包含于预设的敏感权限数据库,获取所述权限信息对应的应用程序的应用程序包名;

根据所述应用程序包名,在预设包名数据库内查找所述应用程序包名对应的应用程序。

进一步,所述预设包名数据库还包括相应的访问时间字段,因而本发明还可根据dangerouspermission的访问时间来判定移动终端是否有恶意应用程序在读取个人敏感信息,当dangerouspermission的访问时间在预设的时间段内,则判定所述应用程序为正常应用程序;当dangerouspermission的访问时间不在预设的时间段内,则判定所述应用程序为恶意应用程序。通过预设的时间段,可以有效的避免个人敏感信息泄露风险。需要说明的是,所述预设的时间段可根据用户的需求任意设定,这里不做限制。

s300、当查找到所述应用程序时,判定所述应用程序为恶意应用程序。

具体地,恶意应用程序在读取个人敏感信息时,容易造成个人用户信息泄露,给用户带来不必要的损失。

进一步,如图3所示,所述当查找到所述应用程序时,判定所述应用程序为恶意应用程序具体包括:

s301、当查找到所述应用程序时,判定所述应用程序调用敏感权限的权限种类是否相同;

s302、当调用敏感权限的权限种类不同时,判定所述应用程序为恶意应用程序。

具体地,当查找到所述应用程序时,通过判断发送过来的应用程序的包名是否在敏感权限数据库中是否相同,即,所述应用程序当前访问的dangerous权限不同,则判定所述应用程序为恶意应用程序;

进一步,所述当查找到所述应用程序时,判定所述应用程序为恶意应用程序还包括:

当调用敏感权限的权限种类相同时,判定所述应用程序为正常应用程序,并将所述调用敏感权限的记录存储于预设包名数据库。

具体地,当所述应用程序当前访问的dangerous种类相同,则判定所述应用程序为正常应用程序,并且,将所述调用敏感权限的记录存储于预设包名数据库,以更新所述应用程序的包名数据库。这样,当应用程序再次访问敏感权限时,可以方便对应用程序后续的监控和分析。

进一步,所述当查找到所述应用程序时,判定所述应用程序为恶意应用程序还包括:将所述恶意应用程序以通知栏的方式通知用户。这样通过将恶意应用程序的恶意行为以通知栏的方式第一时间通知用户,这样,能及时的检测出来恶意应用程序的行为并通知用户,可以有效的避免个人敏感信息泄露风险。

进一步,当未查找到所述应用程序时,判定所述应用程序为正常应用程序,并将所述应用程序的包名加入预设包名数据库。这样,当所述应用程序再次调用预设的敏感权限数据时,很容易判定调用敏感权限的权限种类是否与上一次相同,用于判定所述应用程序是否为恶意应用程序。

本发明还提供了一种终端设备,如图4所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(communicationsinterface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。

此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器30通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。

存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。

此外,上述存储介质以及移动终端中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

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