欢迎来到天天文库
浏览记录
ID:25535465
大小:53.00 KB
页数:6页
时间:2018-11-20
《android操作系统的安全机制研究》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、Android操作系统的安全机制研究Android操作系统的安全机制研究 Android是一个开源的移动平台操作系统,占据中国智能手机80%市场份额,主要用于便携式设备。作为一个运行于实际应用环境中的终端操作系统,Android操作系统在其体系结构设计和功能模块设计上就将系统的安全性考虑之中。与此同时,它又改造开发了原有的Linux系统内核和Java虚拟机。在这种前提下,Android操作系统在利用系统安全机制方面就会与原系统安全机制的设计目的有所不同。由于Android平台的开放和脆弱性,开发其上的隐私保护系统显得非常重要
2、,其面临的安全威胁在所有手机操作系统中也是最大的。 1Android安全机制 Android的安全机制是在Linux安全机本文由.L.收集整理制基础上的发展和创新,是传统的Linux安全机制和Android特有的安全机制的共同发展。Android安全机制中的主要出发点是,在默认的情况下,应用程序任何能够给用户、系统或者其他应用程序带来负面影响的操作是不可以执行的。Android是一个支持多任务的系统,其安全机制依托于数字签名和权限,系统中的应用程序之间一般是不可以互相访问的,每一个应用程序都有独立的进程空间。 1.1用户
3、ID Android系统是基于Linux内核的,对应用程序文件和系统文件的访问都要遵循Linux的许可机制,并将这种机制用于管理应用程序。在Android应用程序安装成功后,系统就为其指定了一个唯一的用户名,对应着系统中唯一的UID,每个用户可以属于一个或者多个组。如果在应用程序执行期间有越轨或超越权限操作的行为时,用户将会得到Android的警告信息。 1.2应用程序数字签名 数字签名是过某种密码运算生成一系列符号及代码组成电子密码进行签名,来代替书写签名或印章。签名的主要作用是身份认证、完整性验证和建立信任关系。
4、Android系统不会安装没有进行签名的应用程序,所有应用程序进行签名认证是必须的,但签名认证是第三方证书认证机构可以不参与的。Android系统对签名证书的过期时间检查是在应用程序安装时进行的,这就意味着如果一个应用程序在安装后才发现其签名证书过期,就不会影响应用程序的运行。需要注意的是,应用程序必须使用同一个证书进行签名才可以升级到新的版本,两个应用程序使用同一个数字签名才可以相互授予权限来访问彼此的资源。 1.3Permission机制 Android是一个权限分离的系统,它利用Linux已有的权限管理机制,为每一个
5、应用程序分配不同的UID和GID,使不同的应用程序之间的私有数据和访问达到隔离的目的。如果使不同的应用程序之间的私有数据和访问达到共享,就需要声明对应的权限。为此,Android在原有的基础上进行了扩展,提供了permission机制,它主要是用来对应用程序可以执行的某些具体操作进行权限细分和访问控制。在manifest文件中添加一个permission标签,就定义一个permission。另外,Android为了对某些特定的数据块进行ad-hoc方式的访问,还提供了per-URIpermission机制。 一个权限主要包含
6、权限名、权限组和保护级别,若干个具体权限构成一个权限组,权限组是根据权限的功能划分出来的,每个权限有不同的保护级别(普通级别、危险级别、签名级别和系统/签名级别四类),不同的保护级别代表了应用程序使用此权限时的认证方式。 1.4沙箱隔离 Android引入沙箱的概念来实现应用程序之间的分离,具有允许或拒绝一个应用程序访问另一个应用程序资源的权限。 每个应用程序在安装后都有一个UID号,且一直不会改变。系统根据UID号为每个应用程序建立一个沙箱,不同的进程空间中运行着不同应用程序的代码,且不能随意的互访彼此的进程空间。如果
7、两个应用程序的UID不同,运行在基本沙箱进程中的应用程序默认情况下是没有被分配权限,因此它们无法交互彼此的数据,此类应用程序要想访问系统文件、资源文件等变得不太可能,这种相互隔离的沙箱模式保证了数据的安全性。那么,不同的应用之间需要共享资源该怎么办,可以通过请求权限来解决,即设置应用的sharedUserld属性,或者是与其他受信任的应用程序运行在同一进程中,从而共享对其数据资源的访问。如此一来,相同用户的应用程序的资源和数据就如同使用应用程序自身的资源一样可以互相访问和使用。但是,若想两个应用程序分配同样的UID,那么必须使
8、用相同的签名,且请求设置了同一个sharedUserld。 2Android的安全隐患 Android系统的开源性势必会给我们带来一系列的安全隐患,有Linux内核安全漏洞造成的,有Android自身权限机制不健全造成的,也有基于硬件损伤造成的,但也正因为开源性才可以让我
此文档下载收益归作者所有