多层次的Android系统权限控制方法罗杨1,2,3,张齐勋1,2,3,沈晴霓1,2,3,刘宏志1,2,3,吴中海1,2,31(北京大学软件与微电子学院,北京100871)2(网络与软件安全保障教育部重点实验室(北京大学),北京100871)3(北京大学服务计算与大数据技术研究室,北京100871)通讯作者:罗杨,E-mail:luoyang@pku.
edu.
cn,http://www.
pku.
edu.
cn摘要:随着Android智能平台的普及,其安全问题日益受到人们关注.
在底层安全方面,部分root工具已经实现了对最新版本Android的root提权,从而给恶意软件滥用权限造成可乘之机;在上层应用安全方面,目前还没有能够在应用权限进行有效管理的方法.
基于安全策略的思想,提出了一种Android应用权限动态管理机制,利用安全策略对授权进行描述,在Android框架层设置权限检查点,并调用请求评估算法进行授权评估,从而实现对应用行为的监控.
实验结果表明,该方法能够有效管理Android应用权限的正常调用,约束非法调用,并且系统开销较小.
关键词:权限管理;安全策略;SELinux;请求评估;权限检查中文引用格式:罗杨,张齐勋,沈晴霓,刘宏志,吴中海.
多层次的Android系统权限控制方法.
软件学报,2015,26(Suppl.
(2)):263271.
http://www.
jos.
org.
cn/1000-9825/15037.
htm英文引用格式:LuoY,ZhangQX,ShenQN,LiuHZ,WuZH.
Androidmulti-levelsystempermissionmanagementapproach.
RuanJianXueBao/JournalofSoftware,2015,26(Suppl.
(2)):263271(inChinese).
http://www.
jos.
org.
cn/1000-9825/15037.
htmAndroidMulti-LevelSystemPermissionManagementApproachLUOYang1,2,3,ZHANGQi-Xun1,2,3,SHENQing-Ni1,2,3,LIUHong-Zhi1,2,3,WUZhong-Hai1,2,31(SchoolofSoftwareandMicroelectronics,PekingUniversity,Beijing100871,China)2(MoEKeyLaboratoryofNetworkandSoftwareAssurance(PekingUniversity),Beijing100871,China)3(ResearchLaboratoryofServiceComputingandBigDataTechnology,PekingUniversity,Beijing100871,China)Abstract:WiththeexpansionofthemarketshareoccupiedbytheAndroidplatform,securityissues(especiallyapplicationsecurity)havebecomeattentionfocusofresearchers.
Infact,theexistingmethodslackthecapabilitiestomanageapplicationpermissionswithoutrootprivilege.
ThisstudyproposesadynamicmanagementmechanismofAndroidapplicationpermissionsbasedonsecuritypolicies.
Thepaperfirstdescribesthepermissionsbysecuritypolicies,thenimplementespermissioncheckingcodeandrequestevaluationalgorithminAndroidframeworklayer.
ExperimentalresultsindicatethatthepresentedapproachsucceedsinpermissionmanagementofAndroidapplications,anditssystemoverheadislow,whichmakesitaneffectivemethodforAndroidpermissionmanagement.
Keywords:permissionmanagement;securitypolicy;SELinux;requestevaluation;permissioncheckAndroid近年来发展迅速,在2014年年底其市场占有率已经高达76%,远超第二名成为最流行的移动终端操作系统[1].
由于Android在设计之初对系统安全性考虑不周,虽然历经多个版本的漏洞修补和安全增强,其目前仍面临着很多安全威胁[2].
总体上主要包括以下几个方面:①应用程序权限混乱,缺乏管理[3];②恶意软件吸费、扣费[4];③移动平台杀毒软件无法很好地抵御病毒入侵[5];④非法root容易破坏系统现有安全体系[6].
造成这些问题的原因,一方面是由于Android平台的漏洞层出不穷,给病毒、木马、恶意软件等以可乘之机;另一方基金项目:国家科技重大专项(2012ZX03002022);国家自然科学基金(61232005);国家高新技术研究发展计划(863)(2015AA016009)264面,Android系统结构复杂,权限控制机制也不够健全.
Android底层采用的是Linux内核,上层则封装了Java虚拟机并在此基础上运行应用,这导致其底层安全和上层应用安全无法采用相同的机制.
Android系统底层依赖于Linux内核及各种Linux服务,其权限管理也采用的是Linux系统自有的DAC模型.
DAC模型由于其访问控制的粗粒度,资源所有者可以任意修改访问权限等问题一直广为诟病,因此Google从Android4.
3开始,逐渐引入基于SELinux安全加固机制,并在Android5.
0版本上对所有domain执行enforcing模式.
SELinux同时包括DomainTypeEnforcement(DTE),Role-BasedAccessControl(RBAC)和Multi-LevelSecurity(MLS)这3个安全模型的实现.
然而,目前的SELinux仍存在一些问题,如RBAC,MLS等安全机制实际上并没有启用,Android实现了MLS模型及其验证机制,但是由于MLS策略制定需要依据Bell-LaPadula(BLP)模型为每一个主体和客体设置(密级,范畴集)二元组表示的安全级,过于复杂,因此当前MLS模型中只有一个安全级s0,模型也就无法发挥其应有作用.
除此之外,SELinux由于支持策略的动态加载,还存在策略容易被恶意代码动态篡改等威胁.
以上诸方面均会导致Android系统在面临攻击时的漏洞缓解能力大打折扣.
经过实验,结果表明,目前的SuperSU,KingRoot等工具已经实现对Android5.
1.
0R3版本的root提权,从而允许第三方应用获取系统最高权限,给系统带来非常大的安全隐患.
Android上层平台主要负责对应用权限的管理.
由于Android对应用权限管理机制的安全不够重视,一直以来缺乏对应用权限进行管理的统一的安全机制.
目前学界和业界针对Android应用的权限管理提出了很多改进方案,主要包括以下3种:重打包、系统补丁和注入钩子.
重打包技术的代表应用是AppShield,此方法主要通过更改应用程序APK安装包中的AndroidManifest.
xml文件来实现权限的修改,然后再重新打包[7].
本方法技术上易于实现,但是重新打包势必会破坏应用原有的签名,从而导致应用安装时显示的厂商信息出现错误,给用户带来误导.
系统补丁方式的典型应用就是PDroid[8],此方法通过对内核进行修改,可以有效地在系统API的内核态调用处设置权限检查点,从而对应用的系统权限调用进行拦截.
此方法的缺陷是需要对系统内核进行修补,此操作需要root权限,容易对系统造成威胁.
并且,一旦用户对系统内核进行升级,则此系统补丁失效,需要重新根据新内核改写补丁并更新,使用较为繁琐.
目前比较流行的权限管理解决方案是注入钩子[9].
如目前市场占有率较高的360手机卫士和LBE安全大师.
这些软件通常首先取得Android系统的root权限,接下来对系统框架层涉及到应用权限的系统调用进行挂钩.
当一个应用需要进行权限调用时,会触发这些软件设置的钩子函数,通过软件内部的策略来决定权限调用是成功还是失败.
这样的解决方案通用性较好,适用于几乎所有的系统版本.
但是,其存在的问题是,需要进行root操作来获取最高权限,而root操作极易给系统带来隐患.
为了解决Android平台不同层次的权限限制和管理问题,本文提出了多层次的Android权限管理方法,在系统底层方面,提出了面向MLS的Linux用户权限模型,并给出了Linux用户权限关系树到MLS安全级定义的转换算法;在系统上层应用方面,提出了基于Android应用权限动态管理机制.
首先设计安全策略文件的内容和格式,接着给出请求评估算法,并在系统调用关键位置设置权限检查点,从而有效解决Android应用权限的动态管理问题.
本文首先介绍目前现有的Android的权限控制方法,并分析其不足.
第1节提出面向MLS的Linux用户权限模型.
第2节提出上层应用的动态权限管理机制.
第3节给出相关实现并进行实验验证.
最后第4节总结全文,给出未来的研究方向.
1底层的Linux用户权限模型1.
1Linux用户权限关系树构建为了解决新版本Android系统存在的root提权问题,本文提出基于MLS的Linux用户权限模型.
Android系统底层基于Linux内核,也具有Linux用户等概念.
但是Android系统是单用户系统,Linux传统的用户概念没罗杨等:多层次的Android系统权限控制方法265有意义,因此其在设计之初赋予了Linux用户不同的含义,将不同的Linux用户用来区分不同的应用或服务[10].
Android5.
1.
0现在启用的有52个Linux用户,其中只有15个用户作为进程UID使用,其他37个用户只作为进程GID或者文件UID/GID来使用.
这15个作为进程UID的用户分别是:root,system,logd,nobody,shell,radio,drm,media,install,keystore,media_rw,camera,nfc,wifi,Bluetooth.
imidc怎么样?imidc彩虹网路,rainbow cloud知名服务器提供商。自营多地区数据中心,是 Apnic RIPE Afrinic Arin 认证服务商。拥有丰富的网路资源。 在2021年 6.18 开启了输血大促销,促销区域包括 香港 台湾 日本 莫斯科 等地促销机型为 E3係,参与促销地区有 香港 日本 台湾 莫斯科 等地, 限量50台,售罄为止,先到先得。所有服务器配置 CPU ...
妮妮云的来历妮妮云是 789 陈总 张总 三方共同投资建立的网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑妮妮云的市场定位妮妮云主要代理市场稳定速度的云服务器产品,避免新手购买云服务器的时候众多商家不知道如何选择,妮妮云就帮你选择好了产品,无需承担购买风险,不用担心出现被跑路 被诈骗的情况。妮妮云的售后保证妮妮云退款 通过于合作商的友好协商,云服务器提供2天内全额退款,超过2天不退款 物...
创梦网络怎么样,创梦网络公司位于四川省达州市,属于四川本地企业,资质齐全,IDC/ISP均有,从创梦网络这边租的服务器均可以****,属于一手资源,高防机柜、大带宽、高防IP业务,另外创梦网络近期还会上线四川眉山联通、广东优化线路高防机柜,CN2专线相关业务。广东电信大带宽近期可以预约机柜了,成都优化线路,机柜租用、服务器云服务器租用,适合建站做游戏,不须要在套CDN,全国访问快,直连省骨干,大网...