Android安全技术分析.doc

上传人:吴起龙 文档编号:1578484 上传时间:2018-12-25 格式:DOC 页数:5 大小:15.54KB
返回 下载 相关 举报
Android安全技术分析.doc_第1页
第1页 / 共5页
Android安全技术分析.doc_第2页
第2页 / 共5页
Android安全技术分析.doc_第3页
第3页 / 共5页
亲,该文档总共5页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Android安全技术分析.doc》由会员分享,可在线阅读,更多相关《Android安全技术分析.doc(5页珍藏版)》请在三一文库上搜索。

1、Android安全技术分析Android操作系统以其强大的功能,目前已经应用于众多智能设备,像智能手机,智能手表,电脑等。廉价和开源的特征,在带来便利实用等的同时,也带来了安全隐患。 1 Android系统架构 Android系统架构由如下图所示的应用程序层、应用程序框架层、Android系统运行库层以及Linux内核层,四层结构。 2 Android安全机制 Android安全机制中由于传统的Linux安全机制、Dalvik虚拟机的安全机制和Goolge设计了Android特有的安全机制。 2.1 应用程序签名机制 2.1.1 签名的说明 开发者数字签名对每一个应用程序都必不可少。为了标志代

2、码作者和监测应用程序的改变,开发者需要拥有私有秘钥。从而可以在应用程序之间安全的共享资源。不同的应用程序通过相同的签名可以相互授权访问API。可以相互访问代码和数据是因为程序共享UID,运行在同一进程。 2.2 沙箱 2.2.1 进程沙箱概述 一个操作系统级别的应用程序“沙箱”是UID不同的应用程序形成隔离,独立运行于各自的进程。Android将多用户操作系统的隔离机制运用于应用程序之上。 2.2.2 Linux安全中的UID Linux中的每个进程都关联一个用户UID。Linux中的每个文件都有Read、Write和Execute三种权限,这三种权限划分为三组Owner、Group和Othe

3、r用户属性。 因此,由于主用户组和补充用户组的存在,每一个进程除了有一个对应的UID之外,还对应有一个主GID,以及若干个Supplementary GIDs。 2.2.3 Android安全中的UID (1)Android中UID的生成。 Android的APK都是运行在由init进程fork出来的Zygote进程,再由Zygote进程fork出来的独立的应用程序进程里面。Zygote进程的UID仍是ROOT。然而,他们的UID会被修改为APK的UID。 (2)Android中的UID的安全。 如果要让两个APK共享同一个UID,那么就需要在AndroidManifest中配置android

4、:sharedUserId属性。 2.3 权限机制 2.3.1 权限机制简述 Android通过相当于Linux的安全机制的安全机制,采用为每一个应用程序分配不同的 UID和GID,使得应用程序之间因为权限的不同产生隔离。此外Android还添加了特有的一种permission 机制,可以针对具体操作进行权限细分和访问控制,同时提供了 per-URI permission 机制,用来提供对某些特定的数据块进行 ad-hoc 方式的访问。Permission本质上是一种访问控制机制。 权限主要包括以下信息:权限的名称;属于的权限组;保护级别。Android权限等级划分为normal,danger

5、ous,signature,signatureOrSystem,system,development,不同的权限表示不同的认证方式。 2.3.2 权限申明源码分析 在linux启动成功后,init进程根据init.rc配置文件启动Android系统,启动了ServiceManager。接下来启动创建了Dalvik虚拟机的Android程序的孵化器zygote,同时启动了systemserver。Systemserver启动ActivityManager和PackageManager等一系列的服务。ActivtyManager会负责启动一个应用程序,安卓编程里startActivity就是通过A

6、ctivtyManager来实现的。PackageManager会负责应用程序的安装。 Android权限机制的实现贯穿应用层、框架层、系统层。 AndroidManifest.xml对应应用层。 /data/system/packages.xml对应框架层。 Android系统并不将应用程序的GIDS保存起来,而是在启动的时解析这些信息,并且保存到了静态变量里面。这个静态变量就是mPackages。 frameworks/base/data/etc/platforms.xml也对应于框架层。 system/core/include/private/android_filesystem_con

7、fig.h对应着系统层。 在源码里面有PackageManger和PackageManagerService。PackageManger是PackageManagerService的对外接口,PackageManagerService才是真正的实现。它负责处理各种应用程序安装、卸载、管理。 2.4 组件的可访问性 应用程序组件可以被分为公共的和私有的,一个公共的组件可以被其他的应用程序访问,然而它仍然要求检查访问的应用程序是否具有要求的权限,才可以被应用程序访问。另一方面,一个私有的组件只能被包含它的应用程序访问。 3 总结及展望 Android安全研究的热点有手机与内核漏洞挖掘利用、Android应用与系统框架的漏洞挖掘、支付安全、和企业安全BYOD等。本文分析了Android系统提供了安全机制,然而在巨大利益的驱动下,Android系统已经暴露出了巨大的安全威胁,严重的威胁着用户的使用安全,并且随着Android系统市场份额的增加,安全威胁也必将进一步增强。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1