Android安全机制分析与解决方案初探

Android安全机制分析与解决方案初探
预览:

26期廖明华,等:Android 安全机制分析与解决方案初探6353

序的生命期间,它将不会被移除,即使声明此权限的源程序被删除。

(3)一个系统内两个不同的权限可以共用相同的名字,以至于他们中的其中一个权限可以在未声明的前提下正常使用2.1.2

组件包装

[5]

用等。

3安全解决方案

1]文献[提出许多减轻恶意软件损害移动设备

的方法。根据这些方法在Google Android 上被实施我们优先选取SELinux 访问控制机和评估的结果,

aware 访问控制,制、入侵检测和Context-而次要选垃圾邮件过滤、可选择性的Android 权取数据加密、

限机制、远程管理,虚拟专用网络(VPN )和身份验证等方案。以下将从基于主机的入侵检测框架(HIDS ),SELinux 在Android 上的实施两个方面探讨Android 的安全解决方案。3.1

HIDS (Host-based intrusion-detection system )6—9]创新地提出一个在移动设备上在文献[

检测恶意软件的基于主机的入侵检测系统(Host-based intrusion-detection system ),且对其进行评估。该框架(如图4)依靠一个轻型的代理(依据CPU 、内存和电池消耗量)在设备上持续对各种各样的特征采用机器学习(machine learning )和时序推理取样,

(temporal reasoning )的方法分析采集的数据,进而推断设备的状态。发送信息、打电话和应用程序等通过框架提供的A-的特征属于应用程序框架类别,

PIs 提取;而键盘、触感屏幕、时序安排和内存等属于Linux 内核类别。下面介绍处理器分别为异常检测和KBTA 的入侵检测系统

Android 应用程序(假设它们拥有不同的用户ID )把组件包装在程序内容内,阻止其他应用程序属性访问它们。这主要通过定义组件的“exported ”,来实现。如果“exported ”属性被设置为“false ”这个组件只能被拥有它的应用程序访问(和其它通过sharedUserID 属性共用同一个用户ID 的应用程“true ”,该组件便可以被其它外部程序)。如果设为

序调用。这些程序的调用受到前面章节提到的权限机制的控制。开发者应该手动地设置“exported ”属性值,因为属性的默认值可能与期望的值不一致。2.1.3

数字签名

Android 系所有的应用程序都必须有数字证书,

统不会安装一个没有数字证书的应用程序。An-droid 程序包使用的数字证书可以是自签名的,不需要一个权威的数字证书机构签名认证。如果要正式发布一个Android 应用程序,必须使用一个合适的私钥生成的数字证书来给程序签名。数字证书Android 只是在应用程序安装的时都是有有效期的,

候才会检查证书的有效期。如果程序已经安装在系统中,即使证书过期也不会影响程序的正常功能。sharedUserId 机制和权限机制都用到签名方法来执行signature 和signatureOrSystem 权限。2.3

其它保护

周围的技术环境(如硬件设备、编程语言、手机载体的基础设施)也提供了一些加强Android 设备安全性的机制。如内存管理单元(MMU )保障每个用户进程都拥有自己的独立的地址空间,减少了特lege Escalation )的可能性;编程语言的权升级(Privi-类型安全特性能使编写的程序不易受到专制的代码执行(arbitrary code execution )的影响;电话系统tion ,authorization 和ac-的AAA 系统(authentica-counting )用于识别用户,监控操作,和向客户收取费

图4基于主机的入侵检测系统框架

3.1.1异常检测(Anomaly Detection )

6]文献[中的入侵检测系统框架持续采样各种