63-多层次的Android系统权限控制方法讲解.pptVIP

63-多层次的Android系统权限控制方法讲解.ppt

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * ? 2009 IBM Corporation ? 2009 IBM Corporation 多层次的Android系统权限控制方法 罗杨 北京大学 引言 当前移动智能终端呈现出两个新特点 引言 新的特点使Android系统面临日益严峻的安全问题! 在底层安全方面,部分root工具已经实现了对最新版本Android的root提权,从而给恶意软件滥用权限造成可乘之机; 在上层应用安全方面,目前还没有能够在应用权限进行有效管理的方法。 2013年10月Android系统恶意软件类型比例 因此,如何能够在满足Android系统自身实时高效、功耗敏感的要求下,进一步保障其安全性,已成为学术界和工业界亟待解决的关键问题 研究现状与意义 底层系统安全的局限性 Android系统底层依赖于Linux内核及各种Linux服务,其权限管理也采用的是Linux系统自有的DAC模型。DAC模型由于其访问控制的粗粒度、资源所有者可以任意修改访问权限等问题一直广为诟病,因此Google从Android 4.3开始,逐渐引入基于SELinux安全加固机制,并在Android 5.0版本上对所有domain执行enforcing模式。SELinux同时包括Domain Type Enforcement(DTE)、Role-Based Access Control(RBAC)和Multi-Level Security(MLS)三个安全模型的实现。 然而目前的SELinux仍存在一些问题,如RBAC、MLS等安全机制实际上并没有启用,Android实现了MLS模型及其验证机制,但是由于MLS策略制定需要依据Bell-LaPadula(BLP)模型为每一个主体和客体设置(密级、范畴集)二元组表示的安全级,过于复杂,因此当前MLS模型中只有一个安全级s0,模型也就无法发挥其应有作用。除此之外,SELinux由于支持策略的动态加载,还存在策略容易被恶意代码动态篡改等威胁。以上诸方面均会导致Android系统在面临攻击时的漏洞缓解能力大打折扣。经过实验表明,目前的SuperSU、KingRoot等工具已经实现对Android 5.1.0 R3版本的Root提权,从而允许第三方应用获取系统最高权限,给系统带来非常大的安全隐患。 研究现状与意义 上层应用安全的局限性 Android上层平台主要负责对应用权限的管理。由于Android对应用权限管理机制的安全不够重视,一直以来缺乏对应用权限进行管理的统一的安全机制。目前学界和业界针对Android应用的权限管理提出了很多改进方案,主要包括以下三种:重打包、系统补丁和注入钩子。 重打包技术的代表应用是App Shield,此方法主要通过更改应用程序APK安装包中的AndroidManifest.xml文件来实现权限的修改,然后再重新打包[7]。本方法技术上易于实现,但是重新打包势必会破坏应用原有的签名,从而导致应用安装时显示的厂商信息出现错误,给用户带来误导。 系统补丁方式的典型应用就是PDroid[8],此方法通过对内核进行修改,可以有效在系统API的内核态调用处设置权限检查点,从而对应用的系统权限调用进行拦截。此方法的缺陷是需要对系统内核进行修补,此操作需要root权限,容易对系统造成威胁。并且,一旦用户对系统内核进行升级,则此系统补丁失效,需要重新根据新内核改写补丁并更新,使用较为繁琐。 研究现状与意义 上层应用安全的局限性 目前比较流行的权限管理解决方案是注入钩子[9]。如目前市场占有率较高的360手机卫士和LBE安全大师。这些软件通常首先取得Android系统的root权限,接下来对系统框架层涉及到应用权限的系统调用进行挂钩。当一个应用需要进行权限调用时,会触发这些软件设置的钩子函数,通过软件内部的策略来决定权限调用是成功还是失败。这样的解决方案通用性较好,适用于几乎所有的系统版本。但是,其存在的问题是,需要进行root操作来获取最高权限,而root操作极易对系统造成隐患。 研究内容 为了解决Android平台不同层次的权限限制和管理问题,本文提出了多层次的Android权限管理方法,在系统底层方面,提出了面向MLS的Linux用户权限模型,并给出了Linux用户权限关系树到MLS安全级定义的转换算法;在系统上层应用方面,提出了基于Android应用权限动态管理机制。首先设计安全策略文件的内容和格式,接着给出请求评估算法,并在系统调用关键位置设置权限检查点,从而有效解决Android应用权限的动态管理问题。 Linux用户权限关系树 Android 5.1.0现在启用的有52个Linux用户,其中只有15个用户作为进程UID使用,其它37个用户只作为进程GID或者

文档评论(0)

希望之星 + 关注
实名认证
文档贡献者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档