Android操作系统安全机制研究.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
 Android操作系统安全机制研究

Android操作系统安全机制研究 Android操作系统安全机制研究 Android是一个开放的移动设备操作系统。根据 IDC013年11月份的数据统计[1],Android 手机的市场份额为80%。丰富的Android应用程序极大方便了我们的生活,同时系统的安全性也越来越引起用户的关注。Android应用可以操作设备上的各种硬件、软件以及本地数据和服务器数据,并能够访问网络。因此,Android操作系统为了保护数据、程序、设备和网络等资源,必须为程序提供一个安全的运行环境 。该文首先介绍Android安全体系结构,然后重点介绍系统内核层的采用的安全技术和应用框架层为开发者开发安全的应用程序提供的各种安全措施。该文为程序开发人员了解系统安全及开发安全应用提供有用的参考。   1 Android安全体系结构   操作系统的安全性目的就是为了保护移动设备软件、硬件资源,包括CPU、内存、外部设备、文件系统和网络等。Android系统为了安全性,提供如下主要安全特征:操作系统严格的分层结构、应用沙盒、安全进程通信、授权和签名等。Android作为开放平台,它的设计和实现细节完全暴露,因此对安全性要求更加严格,设计时首先要重点考虑的就是平台结构设计问题, Android系统的体系结构设计为多层结构[2],如图1所示。这种结构在给用户提供安全保护的同时还保持了开放平台的灵活性。   图1 Android操作系统分层的安全体系结构   Android系统结构由4层组成,从上到下分别是: 应用层、应用框架层、运行时、类库层和Linux内核组成。应用层由运行在Android设备上的所有应用构成,包括预装的系统应用和用户自己安装的第三方应用。大部分应用是由Java语言编写并运行在Dalvik虚拟机中;另一部分应用是通过C/C++语言编写的本地应用。不论采用何种编程语言,两类应用运行的安全环境相同,都在应用沙箱中运行。应用框架层集中体现Android系统的组件设计思想。框架层由多个系统服务组成。Android应用由若干个组件构成,组件和组件之间的通信是通过框架层提供的服务集中调度和传递消息实现的,而不是组件之间直接进行的。框架层协调应用层的应用工作提升了系统的整体安全性。类库本文由论文联盟http://收集整理层主要由类库和Android运行时两部分组成。其中类库由一系列的二进制动态库构成,大部分来源于优秀的第三方类库,另一部分是系统原生类库;通常使用C/C++语言开发。Android运行时由Java核心类库和Android虚拟机Dalvik共同构成。Java核心类库包括框架层和应用层所用到基本Java库。Dalvik是为Android量身打造的Java虚拟机,它与标准 Java 虚拟机主要差别在于Dalvik是基于寄存器设计的,而JVM是基于数据栈的,前者能够更快的编译较大的应用程序。Dalvik允许在有限的内存中同时运行多个虚拟机的实例,每一个 Dalvik 应用作为一个独立的 Linux 进程执行,可防止在某一虚拟机崩溃时所有应用都被关闭。最后一层是Linux内核层,该层提供核心系统服务包括安全、内存、进程、网络和设备驱动等功能。 系统内核安全   在操作系统层Android充分利用已有的Linux内核安全机制,并在此基础上进行改进如应用沙盒和安全IPC,这些安全机制可以保证即使本地代码程序也被限制在应用沙盒中安全运行。    Linux安全性   Android平台的基础是Linux内核。Linux操作系统经过多年的发展,已经成为一个稳定的安全的被许多公司和安全专家信任的安全平台[3]。作为移动平台的基础,Linux内核为Android提供了如下安全功能:基于用户授权的模式、进程隔离、可扩展的安全IPC和移除不必要的不安全的内核代码。作为多用户操作系统,Linux内核提供了相互隔离用户资源的功能。通过隔离功能,一个用户不能使用另一个用户的文件、内存、CPU和设备等。   2.应用沙盒   Android平台把Linux基于用户的授权模式作为标识和隔离应用程序资源的方式。系统为每个应用分配一个用户ID, 并在该设备上一直保持这个数值;运行时,把应用当作编号为UID的用户在一个单独的进程运行。简而言之,Android系统中一个UID对应一个进程。这一点与其它操作系统不同,在其它操作系统中,一个UID可以拥有多个进程。Android采用这种方式作为内核层的应用沙盒。通过分配UID给应用程序这种方式,增强了系统的安全性。默认情况下,应用之间不能相互操作,应用访问操作系统的功能也受到限制。例如,在没有授权的情况下应用A想要读取应用B的数据或想要使用电话功能都会被操作系统拒绝。由于应用沙盒位于内核层,所以这

文档评论(0)

daomou_8 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档