Android系统安全增强方案的设计与实现
2016-01-18丁汨于琳
丁汨++于琳
摘要:针对Android手机越来越多的安全威胁,该文介绍了一种基于远程服务控制Binder通信机制的安全增强方案,本方案中所有应用程序只能根据管理端安全策略规定运行,对于权限不允许的操作,Android安全增强模块将进行拦截,并将违规操作上报到管理后台,供管理员进行审核。最后实验证明,Android系统的安全性得到了明显提高。
关键词:Android系统;binder服务;安全增强
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)33-0019-02
Design and Implementation of Android OS Security Enhancement Scheme
DING Mi, YU Lin
(Zhengzhou Shuqing Medical College, Zhengzhou 450064,China)
Abstract: With more and more security threats of Android mobile phone, this paper aims to introduce a security enhancement scheme based on remote service control ,Binder communication mechanism. The program can only run according to the security policy of the management. The illegal operations will be intercepted by Android security enhancement module, and will be reported to the management for auditing by administrators. The experimental results show that the security of Android system is improved obviously.
Key words: android system; binder service; security enhancement
随着3G和4G通信时代的到来,移动互联网迎来了新的发展机遇,智能终端已经成为人们工作和生活的必需品,其中Android操作系统的用户量远超苹果的IOS系统以及微软的Windows Phone系统的用户量。随着Android生态系统的逐步成熟,使得人们对Android终端的依赖性越来越高,人们日常生活、娱乐到业务办公,都能看到Android系统的身影。但是移动智能终端自身的便携性/移动性、内置Android系统的开放性、个人数据与业务数据的混合存储、应用的多样性,也为移动智能终端信息安全埋下了诸多隐患。为了有效解决Android系统的安全问题,本文设计了一套Android操作系统增强方案。
1 Android操作系统安全增强原理
1.1 Android操作系统面临的安全风险
虽然Android操作系统的安全机制(如应用程序权限机制、组件封装、签名机制以及Dalvik虚拟机)能尽量保护Android设备的安全性,但Android由于开源性和开放的权限机制的原因,Android操作系统总是不可避免地受到来自应用程序等方面的安全威胁。
Android操作系统目前面临的攻击包括:窃取用户的隐私资料(如:通讯录、短信、通话记录、照片、视频、电子支付账号和密码等),自动收发短信消耗用户资费、定制一些套餐,自动联网下载软件消耗用户的网络流量以及利用手机浏览器漏洞来执行恶意程序等。
1.2 Android操作系统安全风险分析
通过对Android系统所面临的攻击类型进行分析可知,Android系统所面临的风险如下所示:
1) 非法应用通过底层服务调用,窃取终端上短信记录、联系人、通话记录、定位信息、手机识别码等隐私数据。
2) 非法用户在未经授权的情况下操作应用,窃取或篡改合法用户的隐私数据。
3) 非法行为主体(用户或应用)通过Android系统数据通道非法传输合法用户的隐私数据,甚至一些恶意软件还会自动安装木马病毒,(偷发短信、偷播电话)吸费,通话录音,拍照/摄像,偷3G/2G/4G数据流量等
因此,为了规避安全风险的发生,就要从风险源头(应用或非法用户)、传播途径(数据通道)、保护对象(数据)以及Android系统本身入手,对Android系统进行全方位安全增强。
1) 只要控制好了应用对隐私数据的访问权限,就可以保证用户数据不被非法应用所获取。
2) 只要控制好了Android系统的数据传输通道,既可以保证非法应用无法向外传输所获取到的隐私数据。
1.3 Android 安全增强系统的模块组成
Android 安全增强系统可以划分为两大的模块:
应用行为模块:Android安全增强系统对应用进行控制和管理,主要包括:应用启动控制、应用防停止、应用防卸载、应用私有数据防清理、应用保护设置、ROOT权限控制、定位控制、相机控制、录音控制、通讯录控制、短信控制、电话呼叫控制和应用数据流量限制。
数据通道模块:智能终端在数据传播的途径上进行控制和管理,主要包括:WIFI通道控制、蓝牙通道控制、数据连接通道控制和USB连接控制。
2 Android安全增强方案实现
2.1 Android核心通信机制
Binder是Android特有的轻量级跨进程通讯机制,由用户空间的libbinder.so和内核的binder驱动协作构成。一次完整的Binder调用的流程是从用户进程到用户进程加载的libbinder.so到ioctl到binder驱动并阻塞,Service端在等待时通过libbinder.so收到驱动传上来的调用请求,把数据整好后通过libbinder.so再通过ioctl返回给驱动,之前用户端阻塞的ioctl收到应答而返回,回到libbinder.so再回到用户进程,从而完成了一次完整的调用请求。Binder进程间通信机制如下图所示:
在Android系统中,Binder进程间通信机制的使用是相当广泛的,可以说,控制了binder,即控制了整个Android操作系统的行为。
2.2 Android安全增强方案
根据上文分析,对Android系统安全增强可通过对Binder行为拦截进行实现,具体拦截思想如下图所示:
非法应用访问Android系统隐私数据时,先将应用的所有关键行为(访问数据,读取数据、传输数据)的binder请求拦截下来,发送给Android安全增强模块进行审查,如果是合法应用的合法请求,则准予放行,如果为非法请求,则中断该请求,不予响应。本方案可以对应用的所有行为进行审核,并且向管理端上报审计日志,以供管理员审查。
3 实验
本方案的验证基于Android4.2系统源码,安全增强模块使用java以及c语言开发,其中ioctrl拦截的关键代码如下:
4 结论
使用以上方式对Android系统进行安全增强后,Android系统的安全性得到明显提高,由于管理端安全策略的限制,所有应用程序只能按照策略规定的行为运行,对于权限不允许的操作,Android安全增强模块有效地进行了拦截,并且将违规操作上报到管理后台,供管理员进行审核。但是以上方案仅仅提供了针对应用风险源头的安全增强方案,而在现实使用中,用户本身也是一个风险来源,所以还需要在用户身份鉴别上以及隐私数据本身的加密上进行进一步的研究,才能达到对Android全方位的安全增强,这也是本文以后的研究目标。
参考文献:
[1] 丁国旗.手机媒体带来的问题与挑战[J].学习与探索,2012(12):137-142.
[2] 何嘉荣. Android系统安全增强方案的设计与实现[D].广州:华南理工大学,2013.
[3] 李凡. Android系统安全机制的分析与增强[D].武汉:华中科技大学,2012.
[4] 张文波.Craig Heath. Symbian OS 平台安全:用Symbian OS 安全架构进行软件开发 [M].北京:人民邮电出版社,2009.