Android安全机制及应用软件安全性的研究.docVIP

Android安全机制及应用软件安全性的研究.doc

  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安全机制及应用软件安全性的研究.doc

Android安全机制及应用软件安全性的研究 摘 要:本文在深入分析Android系统架构和安全机制的基础之上,通过反编译工具Java De-complier对应用程序源码进行研究。结合源码,阐述了Android安全机制中存在的隐患以及恶意应用程序中窃取用户信息的行为。 关键字:Android,应用程序,安全机制,安全隐患 中图分类号: TP31 文献标识码:A 1概述 Android是以Linux为内核的开放式的手机操作系统,采用了整合的策略思想,包括底层Linux操作系统、中间层的中间件和上层的Java应用程序。Android系统是由应用程序层、应用程序框架层、Android程序库、Android运行库、Linux内核层组成的。 应用程序层:应用程序包包括E-mail客户端、SMS短消息、日历、地图、浏览器、联系人管理程序等。 应用程序框架层:开发者完全可以访问核心应用程序所使用的API框架。该应用程序架构用来简化组件软件的重用,任何一个应用程序都可以发布它的功能块并且任何其他的应用程序都可以使用其发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组件可以被用户替换。 Android程序库层:各种不同组件所使用的C/C++库集。该库通过Android应用程序框架为开发者提供服务。主要包括:系统C库、媒体库、Surface Manager、LibWebCore、SGL、SQLite等。 Android运行库层:核心库提供了Java编程语言核心库的大多数功能。由Dalvik Java虚拟机和基础的Java类库组成。 Linux内核层:核心系统服务依赖于Linux 2.6内核,如安全性、内存管理、进程管理、网络协议和驱动模型。Linux内核也同时作为硬件和软件堆栈之间的硬件抽象层。 2 Android的安全机制 Android是一个支持多任务的系统,而且每一个应用程序或者是系统程序都只在自己的进程中运行。在一定程度上,由于Android采用了Linux内核,每一个应用程序都会被分配用户和组群ID号,在这种情况下,系统和应用程序之间的安全性就大大加强了。而且Android对于像修改系统文件等的特殊操作进行了限制,只有那些得到用户允许的应用程序才能够进行。在Android的框架层,谷歌已经绑定了几种安全机制。这些安全机制大致可以归为三类:Linux机制,运行环境特性和Android固有机制。 2.1 Linux机制 每个安装在Android设备上的应用程序,Android就会给予一个UID(user ID)。这个UID可连结到该应用程序的 AndroidManifest.xml档案的内容。所以用户在安装应用程序时,就可以在屏幕上查看这个 AndroidManifest.xml档案的内容。通过查看这个档案,用户可以了解到应用程序的目的、权限等。当用户接受这个应用程序的意图、权限说明之后,Android才进行安装,并给它一个UID。如果在应用程序执行期间有越轨(企图做出非权限范围)的行为时,用户将会得到Android的警告讯息。而且Android还引入了沙箱的概念来实现应用程序之间分离并且具有允许或拒绝一个应用程序访问另一个应用程序资源的权限。 Android 应用程序运行在它们自己的 Linux 进程上,并被分配一个惟一的UID。默认情况下,运行在基本沙箱进程中的应用程序没有被分配权限,因而防止了此类应用程序访问系统文件或资源文件。但是Android 应用程序可以通过AndroidManifest.xml档案请求权限或者与其他受信任的应用程序运行在同一进程中,从而共享对其数据资源的访问,这样,Android应用程序就可以允许其他应用程序访问其资源。这就像在通信录中调用短信应用给一个联系人发短信,然后可以编辑短信、发送短信、也可以在短信中添加一些资源作为附件。虽然短信是通过通信录调用的,但是在通信录中不能直接进行编辑短信,发送短信等操作,也不能访问那些短信应用能访问的资源。 在Android系统中,对文件(包括应用程序文件和系统文件)的访问都要遵循Linux许可机制。在Android中的每一个文件都会被赋予用户和组群ID,还有能代表其属性的三元组-rwx。在三元组中,第一个元素代表拥有人的权限,第二个元素代表同组群的权限,第三个代表其他非本组群的权限。一般来说Android的系统文件的所有者都是系统或者root用户,而应用程序文件的所有者都是应用程序指定的用户。对不同文件的访问权限是有Linux的用户管理机制所制订的,换句话说,对同一个文件的访问权限,不同的用户是不相同的。同样的道理,由于用户ID不同,普通用户不能像操作应用程序一样操作系统文件,这样也就保护系统文件免受破坏。而由应用程序所创建的文件,由于用户ID不同,其

文档评论(0)

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

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

1亿VIP精品文档

相关文档