一种安卓应用的权限控制方法和装置制造方法及图纸

技术编号:15330261 阅读:56 留言:0更新日期:2017-05-16 13:45
本发明专利技术公开了一种安卓应用的权限控制方法和装置,包括:构造虚拟机环境,将安卓系统中的一个或多个指定安卓应用的分身应用放入虚拟机中运行;监听虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件;当监听到所述事件时进行拦截,验证该指定安卓应用的分身应用是否具有相应权限;是则,放行所述事件;否则,结束所述事件。本方案在虚拟机中的指定安卓应用的分身应用在调用指定系统设备时对其进行权限验证,让权限没有问题的分身应用可以成功地进行调用,而权限有问题的分身应用不可以成功进行调用,在保证安卓系统安全的基础上可以完美地实现安卓系统中指定安卓应用与其相应的分身应用的并行运行。

Authority control method and device for Android application

The invention discloses a Android application access control method and apparatus includes: constructing the virtual machine environment, the application will spare one or more designated Android application in Android system in a virtual machine running virtual machine monitor; Android application specified in the application by the designated system equipment at the event; when listen to the event to intercept, verify the application of the Android application specified time with the appropriate permissions; it is, release the event; otherwise, the end of the event. One application named Android application of this scheme in the virtual machine for authorization in the system invokes the specified equipment, spare applications that no problem permissions can be successfully invoked, and split permission issues can not be applied successfully to call, while ensuring the security of Android systems on the perfect realization of the specified parallel operation of Android application and its corresponding application in Android system.

【技术实现步骤摘要】
一种安卓应用的权限控制方法和装置
本专利技术涉及互联网
,具体涉及一种安卓应用的权限控制方法和装置。
技术介绍
现有技术中,安卓系统中无法实现对多个相同的安卓应用的并行运行,其原因是:每个安卓应用在安装在安卓系统中时,该安卓应用的安装包中的配置文件中的配置信息将被注册到安卓系统中,安卓系统通过这些注册信息来获知安卓应用的存在以及运行相关信息,在一个安卓应用已安装到安卓系统的基础上,如果还想将该安卓应用的分身应用再次安装到安卓系统中,安卓系统因已接收过相同的注册信息而不能接纳此分身应用的注册,因此分身应用对于安卓系统来说是未知的,进而分身系统无法正常与安卓系统进行交互,导致分身系统无法正常运行。然而,对多个相同的安卓应用的并行运行的需求在用户群体中是存在的,常见的,用户希望在自己的智能终端上通过不同的账号登录两个QQ应用,让这两个QQ应用并行运行,用户可以根据自己的需求分别使用不同的QQ应用来与不同社交圈的好友进行聊天会话,符合很多应用场景。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的安卓应用的权限控制方法和装置。依据本专利技术的一个方面,提供了一种安卓应用的权限控制方法,其中,包括:构造虚拟机环境,将安卓系统中的一个或多个指定安卓应用的分身应用放入虚拟机中运行。监听虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件;当监听到所述事件时进行拦截,验证该指定安卓应用的分身应用是否具有相应权限;是则,放行所述事件;否则,结束所述事件。可选地,所述监听虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件包括:将钩子函数挂载在指定系统设备的调用接口上,利用所述钩子函数拦截发送至所述调用接口的调用请求;判断所述调用请求的发送方是否为虚拟机中的指定安卓应用的分身应用;是则确定监听到虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件;否则放行所述调用请求。可选地,在所述监听虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件之前,该方法进一步包括:获取各指定安卓应用的分身应用所声明的权限信息并保存至配置管理表中;所述验证该指定安卓应用的分身应用是否具有相应权限包括:根据所述配置管理表中记录的该指定安卓应用的分身应用所声明的权限信息,判断该指定安卓应用的分身应用是否声明关于所要调用的指定系统设备的权限;是则,确定该指定安卓应用的分身应用具有相应权限;否则,确定该指定安卓应用的分身应用不具有相应权限。可选地,所述根据所述配置管理表中记录的该指定安卓应用的分身应用所声明的权限信息,判断该指定安卓应用的分身应用是否声明关于所要调用的指定系统设备的权限包括:对于所述钩子函数拦截到的调用请求,从该调用请求中提取出:发送方的信息,调用的指定安卓设备的信息;根据所述发送方的信息确定相应的指定安卓应用的分身应用,从配置管理表查找该指定安卓应用的分身应用所声明的权限信息;根据所述调用的指定安卓设备的信息,判断该指定安卓应用的分身应用所声明的权限信息中是否包含关于所述调用的指定安卓设备的权限信息。可选地,该方法进一步包括:从该调用请求中提取出发送方所在的进程的信息;所述放行所述事件包括:将所述调用请求发送至指定系统设备的调用接口,接收安卓系统返回的执行消息,根据所述发送方所在的进程的信息,将指定系统设备分配至相应的进程中启动并运行。可选地,所述获取各指定安卓应用的分身应用所声明的权限信息并保存至配置管理表中包括:获取各指定安卓应用的安装包复件并保存至指定目录,作为各指定安卓应用的分身应用的安装包;解析各指定安卓应用的分身应用的安装包中的配置文件,获取各指定安卓应用的分身应用在相应配置文件中所声明的权限信息并保存至所述配置管理表中。可选地,当结束所述事件时,该方法进一步包括:向所述指定安卓应用的分身应用抛出安全异常。可选地,所述指定系统设备包括如下一种或多种:系统传感器,系统相机模块,系统GPS模块,系统WiFi模块。可选地,所述系统传感器包括如下一种或多种:加速度传感器、磁力传感器、方向传感器、陀螺仪传感器、光线感应传感器、压力传感器、温度传感器、接近传感器、重力传感器、线性加速度传感器、旋转矢量传感器。可选地,所述监听虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件;当监听到所述事件时进行拦截,验证该指定安卓应用的分身应用是否具有相应权限的步骤是通过虚拟机中的常驻服务执行的。依据本专利技术的另一个方面,提供了一种安卓应用的权限控制装置,其中,包括:环境构造单元,适于构造虚拟机环境,将安卓系统中的一个或多个指定安卓应用的分身应用放入虚拟机中运行;常驻服务单元,适于监听虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件;当监听到所述事件时进行拦截,验证该指定安卓应用的分身应用是否具有相应权限;是则,放行所述事件;否则,结束所述事件。可选地,所述常驻服务单元,适于将钩子函数挂载在指定系统设备的调用接口上,利用所述钩子函数拦截发送至所述调用接口的调用请求;判断所述调用请求的发送方是否为虚拟机中的指定安卓应用的分身应用;是则确定监听到虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件;否则放行所述调用请求。可选地,所述常驻服务单元,还适于在所述监听虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件之前,获取各指定安卓应用的分身应用所声明的权限信息并保存至配置管理表中;所述常驻服务单元,适于根据所述配置管理表中记录的该指定安卓应用的分身应用所声明的权限信息,判断该指定安卓应用的分身应用是否声明关于所要调用的指定系统设备的权限;是则,确定该指定安卓应用的分身应用具有相应权限;否则,确定该指定安卓应用的分身应用不具有相应权限。可选地,所述常驻服务单元,适于对于所述钩子函数拦截到的调用请求,从该调用请求中提取出:发送方的信息,调用的指定安卓设备的信息;根据所述发送方的信息确定相应的指定安卓应用的分身应用,从配置管理表查找该指定安卓应用的分身应用所声明的权限信息;根据所述调用的指定安卓设备的信息,判断该指定安卓应用的分身应用所声明的权限信息中是否包含关于所述调用的指定安卓设备的权限信息。可选地,所述常驻服务单元,还适于从该调用请求中提取出发送方所在的进程的信息;以及,适于将所述调用请求发送至指定系统设备的调用接口,接收安卓系统返回的执行消息,根据所述发送方所在的进程的信息,将指定系统设备分配至相应的进程中启动并运行。可选地,所述常驻服务单元,适于获取各指定安卓应用的安装包复件并保存至指定目录,作为各指定安卓应用的分身应用的安装包;解析各指定安卓应用的分身应用的安装包中的配置文件,获取各指定安卓应用的分身应用在相应配置文件中所声明的权限信息并保存至所述配置管理表中。可选地,所述常驻服务单元,还适于当结束所述事件时,向所述指定安卓应用的分身应用抛出安全异常。可选地,所述指定系统设备包括如下一种或多种:系统传感器,系统相机模块,系统GPS模块,系统WiFi模块。可选地,所述系统传感器包括如下一种或多种:加速度传感器、磁力传感器、方向传感器、陀螺仪传感器、光线感应传感器、压力传感器、温度传感器、接近传感器、重力传感器、线性加速度传感器、旋转矢量传感器。可选地,所述常驻服务单元,适于本文档来自技高网...
一种安卓应用的权限控制方法和装置

【技术保护点】
一种安卓应用的权限控制方法,其中,包括:构造虚拟机环境,将安卓系统中的一个或多个指定安卓应用的分身应用放入虚拟机中运行;监听虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件;当监听到所述事件时进行拦截,验证该指定安卓应用的分身应用是否具有相应权限;是则,放行所述事件;否则,结束所述事件。

【技术特征摘要】
1.一种安卓应用的权限控制方法,其中,包括:构造虚拟机环境,将安卓系统中的一个或多个指定安卓应用的分身应用放入虚拟机中运行;监听虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件;当监听到所述事件时进行拦截,验证该指定安卓应用的分身应用是否具有相应权限;是则,放行所述事件;否则,结束所述事件。2.如权利要求1所述的方法,其中,所述监听虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件包括:将钩子函数挂载在指定系统设备的调用接口上,利用所述钩子函数拦截发送至所述调用接口的调用请求;判断所述调用请求的发送方是否为虚拟机中的指定安卓应用的分身应用;是则确定监听到虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件;否则放行所述调用请求。3.如权利要求1或2所述的方法,其中,在所述监听虚拟机中的指定安卓应用的分身应用调用指定系统设备的事件之前,该方法进一步包括:获取各指定安卓应用的分身应用所声明的权限信息并保存至配置管理表中;所述验证该指定安卓应用的分身应用是否具有相应权限包括:根据所述配置管理表中记录的该指定安卓应用的分身应用所声明的权限信息,判断该指定安卓应用的分身应用是否声明关于所要调用的指定系统设备的权限;是则,确定该指定安卓应用的分身应用具有相应权限;否则,确定该指定安卓应用的分身应用不具有相应权限。4.如权利要求3所述的方法,其中,所述根据所述配置管理表中记录的该指定安卓应用的分身应用所声明的权限信息,判断该指定安卓应用的分身应用是否声明关于所要调用的指定系统设备的权限包括:对于所述钩子函数拦截到的调用请求,从该调用请求中提取出:发送方的信息,调用的指定安卓设备的信息;根据所述发送方的信息确定相应的指定安卓应用的分身应用,从配置管理表查找该指定安卓应用的分身应用所声明的权限信息;根据所述调用的指定安卓设备的信息,判断该指定安卓应用的分身应用所声明的权限信息中是否包含关于所述调用的指定安卓设备的权限信息。5.如权利要求4所述的方法,其中,该方法进一步包括:从该调用请求中提取出发送方所在的进程的信息;所述放行所述事件包括:将所述调用请求发送至指定系统设备的调用接口,接收安卓系统返回的执行...

【专利技术属性】
技术研发人员:任太胜
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1