[发明专利]应用程序权限动态控制方法和系统有效
申请号: | 201310632042.2 | 申请日: | 2013-11-28 |
公开(公告)号: | CN103617380B | 公开(公告)日: | 2017-04-19 |
发明(设计)人: | 范文浩;吴帆;阙斌生;张洪光;唐碧华;余小秋 | 申请(专利权)人: | 北京邮电大学 |
主分类号: | G06F21/12 | 分类号: | G06F21/12 |
代理公司: | 北京市京大律师事务所11321 | 代理人: | 张璐,方晓明 |
地址: | 100876 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 权限 动态控制 方法 系统 | ||
技术领域
本发明涉及移动终端技术,尤其涉及一种应用程序权限动态控制方法和系统。
背景技术
Android是基于Linux平台的开源操作系统,可使用于如智能手机、平板电脑、电视、数码相机、游戏机等的移动终端中,受到移动终端设备厂商和用户的广泛关注。
目前,基于Android操作系统的应用程序层出不穷。然而,由于Android操作系统的开放性特点,开发人员可以全面了解操作系统内部的机制与实现,使得操作系统的安全漏洞易被发现和利用。例如,一些应用程序的APK(Android Package,Android安装包)中被嵌入了恶意行为,如窃取个人隐私数据、消耗用户资费、占用网络流量、远程控制终端信息等;这些应用程序在安装的过程中可以获得额外的系统访问权限,对系统资源进行越权使用。而且,这些应用程序的恶意行为往往在后台运行,用户难以发现。
为了管理应用程序对系统资源的使用行为,实现应用程序权限的控制,Android操作系统提供了一套基本的授权模式:在应用程序的安装过程中,安装器会弹出询问窗体询问用户是否同意应用程序所有的权限申请;用户选择同意,便会授权应用程序所有的权限申请,用户选择拒绝,便会中止应用程序的安装。这样,安装的应用程序在运行过程中,Andriod操作系统可以根据应用程序安装时所授予的权限,控制应用程序对系统服务、数据等各项资源的访问和使用行为。但是,应用程序安装完成后,授予的各项权限不可更改;之后用户无法再根据自己的需求授予应用程序所申请的权限,使得该方法不够灵活。
为实现对应用程序的访问权限进行控制,现有的另一种方法是:在Android操作系统源码中查找到定位系统关键部件、关键资源的API(Application Programming Interface,应用程序编程接口),通过API来管理应用程序对系统资源的访问行为,从而实现对应用程序权限的主动控制和管理。然而,该方法存在需要对Android操作系统进行重新编译和定制,以“刷机”方式重置移动终端的软件系统,且对Android应用程序配置文件中的系统权限申请列表和Android操作系统的API版本依赖性较明显等弊端,使得该方法的适用性和易用性较差,从而导致该方法在控制应用程序权限时也不够灵活。
因此,有必要提供一种灵活性、通用性更高的应用程序权限控制方法。
发明内容
本发明实施例提供了一种应用程序权限动态控制方法和系统,用以提高应用程序权限控制的灵活性、通用性。
根据本发明的一个方面,提供了一种应用程序权限动态控制方法,包括:
服务管理ServiceManager进程接收到应用程序发送的服务请求时,调用新共享库中的接口控制ioctl函数;所述ioctl函数对所述服务请求进行解析,获取其中的进程id号和服务组件名称后通过所述ServiceManager进程与应用程序权限动态控制系统之间的通信链路向所述应用程序权限动态控制系统发送;
所述应用程序权限动态控制系统根据接收的进程id号,在权限列表数据库中查找对应该进程id号的权限申请信息,并确定接收的服务组件名称是否存在于查找到的权限申请信息中;若是,则向所述ioctl函数返回匹配成功信息;若否,则显示提示框提示用户是否运行本次服务请求;
所述应用程序权限动态控制系统若通过所述提示框接收到用户输入的许可指令,则将接收的服务组件名称添加到所述权限列表数据库中对应所述进程id号的权限申请信息中后,向所述ioctl函数返回匹配成功信息;否则向所述ioctl函数返回匹配失败信息;
所述ioctl函数若接收到匹配成功信息,则响应所述服务请求;若接收到匹配失败信息,则拒绝所述服务请求。
其中,所述新共享库是预先加载的,以及所述通信链路是预先建立的:
应用程序权限动态控制系统运行后将所述ServiceManager进程挂起,并备份所述ServiceManager进程的寄存器值和进程上下文;并将编译后的新共享库加载到所述ServiceManager进程的地址空间后,执行所述新共享库中的入口函数,建立所述ServiceManager进程与本应用程序权限动态控制系统之间的通信链路;
之后,所述应用程序权限动态控制系统根据备份的寄存器值和进程上下文恢复所述ServiceManager进程的执行现场。
较佳地,所述权限列表数据库中的权限申请信息是预先提取并保存的:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京邮电大学,未经北京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310632042.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种组合物在制备抗癫痫药物中的应用
- 下一篇:光缆用高吸水膨胀阻水膏