- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android平台一种数据安全隔离方案
Android平台一种数据安全隔离方案
摘 要:随着Android系统的普遍使用,有关Android系统的第三方恶意软件越来越多,其中用来窃取用户数据的居多。由于Android系统中应用产生的数据均放在data/data/第三方应用包名的目录下,并且其采用DAC(自主访问控制),因此容易被第三方恶意软件获取用户数据。为了解决这一问题,文章研究并提出一种数据安全隔离方案,该方案是通过数据隔离使其用户的数据存放在data/自定义的文件夹目录/第三方应用包的目录下,并引入SEAndroid机制,采用MAC(强制访问控制)模式来保障用户数据安全。
关键词:Android系统;数据隔离;DAC(自主访问控制);MAC(强制访问控制)
1 概述
Android智能手机给用户带来方便的同时,也给用户带来了诸如个人隐私安全,个人信息安全以及个人财产安全等问题。根据360公司2016年第一季度中国手机安全状况报告得知,Android平台新增恶意程序样本339.6万个,移动端用户感染恶意程序8829.7万人次,其中获取用户隐私的恶意程序占5.0%。由于Android系统的开源性,以及部分代码的碎片化问题,从而导致用户数据的严重泄露[1]。为了保障用户数据安全,可以根据隐私数据的泄漏与否来判断其安全性[2],对Android权限进行详细划分,禁止敏感权限[3],也可以对系统应用程序的进程进行监控[4],但是这些保护机制根本上还是采用DAC访问模式来保护数据。为了解决这一问题,文章将对需要保护的数据隔离出来,并采用MAC机制来保障其安全性。
2 SEAndroid安全机制分析
2.1 Android自身安全机制
在引进SEAndroid机制之前,Android系统的安全机制主要是在系统内核以及应用程序两个方面。应用程序的安全问题主要是Android的权限问题,如果某个应用需要访问敏感或者特权权限时,就需要在AndroidManifest.xml文件中申请相应的权限,并在安装的过程中Y由用户决定是不是允许赋予相应的权限。安装之后一般会有系统服务使用这些权限,在使用之前,系统服务会检查权限是否通过。而内核级别的安全机制就是传统的Linux的UID和GID,每个用户都会有一个ID,也会拥有一个用户组ID,分别称为UID和GID。Linux系统就是通过用户进程,文件的UID和GID的属性来进行管理的,也即是人们常说的Android沙箱机制。
这种安全机制存在很大的问题,当某个用户想让另外一个用户访问自己创建的文件时,只需要修改一下文件的访问权限即可,因此Android原来安全机制中文件的权限控制在所有者手中。这种权限控制方式是自主式的,英文全名为Discretionary Access Control,简称为DAC。DAC权限控制方式会可能因为用户执行了错误的命令,负责执行用户命令的程序受到攻击,或者是负责执行用户命令的程序出现BUG,都会引起用户隐私数据的泄露。
2.2 SEAndroid安全机制
针对Linux操作系统,NSA开发了一套安全机制SELinux,用来增强其安全性。Android系统是基于Linux实现的,但是它又有独立的用户空间,因此SELinux并不完全适用于Android系统,为此,NSA针对Android系统在SELinux基础上开发了SEAndroid。以SELinux文件系统接口为边界,SEAndroid安全机制包含有内核空间和用户空间两部分[5]。在内核空间,主要涉及到一个称为SELinux LSM的模块,其SELinux LSM模块负责内核资源的安全访问控制。在用户空间中主要有Security Context、Security Server、SEAndroid Policy模块。
SEAndroid采用MAC访问控制模型,在MAC机制中,用户、进程或者文件的权限是由管理策略决定的,而不是由它们自主决定的。SEAndroid安全机制如图1所示,在SEAndroid中,每一个进程和文件都会关联一个安全上下文。这个安全上下文由用户、角色、类型、安全级别四个部分组成。当每一个进程和文件都关联上一个安全上下文之后,系统管理员就可以基于这些安全上下文制定一个安全访问策略,用来规定进程可以访问相对应的文件。图1中,u:r:unstructed_app:s0描述的是用户安装的APK所运行在该进程的安全上下文,而u:object_r:app_data_file:s0描述的是用户安装的APK在运行过程中生成数据文件的安全上下文。
SEAndroid安全机制与传统的Linux UID/GID安全机制是并存的,当进程访问文件时,首先要通过DAC安全检查,然后才能进入SEAndr
文档评论(0)