Android-安全架构及权限控制机制剖析.pdf
文本预览下载声明
Android 安全架构及权限控制机制剖析
洋, 信息安全顾问
简介:Android 是业界流行的开源移动平台,受到广泛关注并为多个手机制造商作为手机的操作系统平台,因
此,研究其安全架构及权限控制机制具有非常的重要性。本文从 Android 层次化安全架构入手,详细地介绍
Android 平台的安全架构及其权限控制机制,涵盖 Android 应用程序权限申请方法等,并从源代码实现层面来
解析该机制。
标记本文!
发布日期:2012 年 8 月 14
级别:初级
Android 层次化安全架构
Android 作为一个移动设备的平台,其软件层次结构包括了一个操作系统 (OS ),中间件(MiddleWare )和应
用程序 (Application )。根据 Android 的软件框图,其软件层次结构自下而上分为以下几个层次:
操作系统层 (OS )
各种库(Libraries )和 Android 运行环境(RunTime )
应用程序框架 (Application Framework )
应用程序 (Application )
以下分别介绍 Andoid 各个层次的软件的重点及其相关技术:
(1)操作系统层(OS )
Android 使用 Linux2.6 作为操作系统,Linux2.6 是一种标准的技术,Linux 也是一个开放的操作系统。Android
对操作系统的使用包括核心和驱动程序两部分,Android 的 Linux 核心为标准的 Linux2.6 内核,Android 更多
的是需要一些与移动设备相关的驱动程序。主要的驱动如下所示:
显示驱动 (Display Driver ):常用基于 Linux 的帧缓冲(Frame Buffer )驱动
Flash 内存驱动 (Flash Memory Driver )
照相机驱动 (Camera Driver ):常用基于 Linux 的 v4l (Video for )驱动。
音频驱动 (Audio Driver ):常用基于 ALSA (Advanced Linux Sound Architecture,高级 Linux 声音体
系)驱动
WiFi 驱动 (Camera Driver ):基于 IEEE 802.11 标准的驱动程序
键盘驱动 (KeyBoard Driver )
蓝牙驱动 (Bluetooth Driver )
Binder IPC 驱动:Andoid 一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能。
Power Management (能源管理)
(2 )各种库(Libraries )和 Android 运行环境(RunTime )
本层次对应一般嵌入式系统,相当于中间件层次。Android 的本层次分成两个部分一个是各种库,另一个是
Android 运行环境。本层的内容大多是使用 C++ 实现的。 在其中,各种库包括:
C 库:C 语言的标准库,这也是系统中一个最为底层的库,C 库是通过 Linux 的系统调用来实现。
多媒体框架 (MediaFrameword ):这部分内 是 Android 多媒体的核心部分,基于 PacketVideo (即
PV )的 OpenCORE ,从功能上本库一共分为两大部分,一个部分是音频、视频的回放(PlayBack ),另
一部分是则是音视频的纪录 (Recorder )。
SGL:2D 图像引擎。
SSL:即 Secure Socket Layer 位于 TCP/IP 协议与各种应用层协议之间 , 为数据通讯提供安全支持。
OpenGL ES 1.0 :本部分提供了对 3D 的支持。
界面管理工具 (Surface Management ):本部分提供了对管理显示子系统等功能。
SQLite:一个通用的嵌入式数据库
WebKit:网络浏览器的核心
FreeType :位图和矢量字体的功能。
Android 的各种库一般是以系统中间件的形式提供的,它们均有的一个显著特点就是与移动设备的平台的应用
密切相关。 Android 运行环境主要指的虚拟机技术—— Dalvik 。Dalvik 虚拟机和一般 JAVA 虚拟机 (Java
VM )不同,它执行的不是 JAVA 标准的字节码 (bytecode )而是 Dalvik 可执行格式(.dex )中执行文件。在
执行的过
显示全部