Android平台细粒度权限管理系统的研究与实现*
2018-03-13李永忠
吕 博,李永忠
0 引 言
当今社会,人们在工作、生活和娱乐等各个方面都越来越依赖智能终端。在这个大背景下,Android作为一个开源的系统平台,备受关注。截止到2017年第一季度,国外的市场数据调研公司Kantar woroldpanel公布,在中国、英国、德国、西班牙、法国等国家,安卓的市场占有率稳居第一,而且还有不断上升的趋势。然而,由于庞大的用户群体,安卓本身存在的安全隐患逐渐显现。
目前,Android平台的安全形势变得越来越复杂,而对Android的安全研究,其中重要的一点就是对权限控制的研究。Android粗粒度的安全机制,主要是“一次性的授权”,用户只有看到某个应用所要的权限,而不能自主进行选择;如果用户想要拒绝某个权限,只能放弃安装此软件[1]。这样用户的隐私信息就不能得到周全保护。本文主要是针对Android安全机制本身存在的漏洞,借鉴Android细粒度的权限管理机制,不仅可以对隐私权限进行分析与检测,而且在进行授权时,用户可以有自主选择的权利,从而增加Android系统的安全性[2]。
1 Android系统架构
Android是Google开发的基于Linux内核的开源手机操作系统。系统架构主要分为4层,从下而上分别为:Linux内核层(Linux Kernel)、系统运行库层(Libraries)、应用框架层(Application Framework)和应用层(Application)[3],如图1所示。Linux内核是Android系统的运行平台,为其提供底层的驱动;系统运行库层是Linux内核和应用程序框架层之间的沟通渠道[4];应用框架层是Android开发的基础,并能提供编程接口(API),简化了组件重用,极大方便了应用程序的开发;应用层是Android中安装所有应用程序的所在层[5]。

图1 Android系统架构……p>
