智能手机在普适计算中的作用及安全研究
报告,2014年,Android操作系统的全球市场份额已达84.6%。而正是由于Android系统是开源系统,Android手机也成为黑客的攻击目标。据360发布的《2014年中国手机安全状况报告》称,2014年恶意程序样本较2013年增长近4倍,达326万个之多,全年感染用户达3.2亿人次[3]。
目前,Android系统安全研究主要集中在内核层安全、架构层安全和用户认证机制安全方面。本文提出,即使Android手机的操作系统是安全的,且手机中安装的所有应用程序都是良性程序,也会因为手机用户的安全意识薄弱,使用未知的wifi接入点让自己深陷威胁之中。
1 普适计算系统与智能手机
1.1 普适计算概念
普适计算术语是1991年首次被Mark Weiser提出的,后被多个研究员和机构重新定义。Friedemann Matter重新定义它为日常物品的综合计算和互连。在普适计算系统中,人们周围都是计算设备,人们可以随时随地利用这些设备访问信息。普适计算主要指一种无处不在的计算。应用中的计算设备不是传统“电脑”,而是嵌入微处理器的各种设备,如:手机、智能电饭煲、冰箱、电视等等。这些设备不仅具备计算能力,还具有通信能力。它们成为一个整体而互相协作。
1.2 普适计算的组成
与分布式计算不同,普适计算主要包括:上下文感知计算、环境和普适智能以及记录、跟踪与监控,其中最重要的特征是上下文感知计算[4]。因为服务提供商希望普适计算可以在最适合的时刻给需要服务的人提供合适的服务,而无需用户干预。为了提供这种服务,普适计算系统就必需具有理解关于用户个人和环境的上下文信息的计算能力。为了收集上下文环境信息,在普适计算领域需要传感器设备来收集信息并将收集的信息传递到基站,由基站完成上下文感知计算。上下文感知计算被用来推断情况并决定下一步操作。这个过程是很重要的,因为如果推理结果与实际用户的期望不匹配,那么普适计算将失去用户的信任。
普适计算系统的核心需求与环境和无处不在的智能密切相关,因为普适计算需要精确的接口。例如,当用户想要调节音频的音量或改变电视频道时,他需要精确的接口与普适计算系统通信。一般来说,语音识别和手势识别技术在这一领域经常使用;然而,出错率仍然很高。因此,需要技术研究来提高其准确性。
普适计算系统需要记录、跟踪和监控。根据这些需求开发通过传感和提醒来辅助人类生活的应用。普适计算需要跟踪与监控上下文环境来获得足够的信息,因为上下文感知计算的传感器设备向它定期报告个人和环境上下文信息。如果普适计算跟踪并监视弱势群体,比如老年人、儿童、病人,普适计算就可以应对突发紧急情况。然而,普适计算系统也遇到一些问题。①很难记录、跟踪和监视发生在普适计算中的所有交互,因为交互量大。普适计算由收集上下文信息的设备或等待用户输入的大量传感器组成,因此,大量的交互发生在短时间内。②记录、跟踪和监控个人信息与保护个人信息是冲突的。用户在体验新科技给生活带来便捷的同时,也深陷各类恶意软件带来的威胁之中。
1.3 智能手机在普适计算中的作用
智能手机的发展极大地改变了人们的生活方式。从早上叫醒服务到远程控制汽车服务,智能手机为用户提供各种各样的服务。就像可穿戴设备,人们随时随地携带智能手机,利用智能手机接收和发送电子邮件、分享文件等。
智能手机有交互功能的各种接口,如相机、触摸面板、陀螺仪和上下按钮。各种技术已经被用于人类和智能手机的设备之间交互。例如,智能手机通过识别用户的眼睛,可以自动调整屏幕亮度, web浏览器的滚动可以通过倾斜装置来控制。智能手机可以满足普适计算的核心需求。智能手机可以在上下文感知计算中起部署的传感器设备的角色,因为,智能手机可以收集上下文信息,并通过无线通信将收集的信息传输到基站。而且,智能手机可以用于人类接口。使用通用的用户身份模块(USIM)信息,可以利用智能手机作为主人身份识别。所以,智能手机可以作为人类和普适计算系统之间的接口。
普适计算中的智能手机有许多资源,比如隐私信息(日程安排、联系人等等),内置的传感器设备(如,GPS模块、陀螺仪、加速器等等),以及用户选择安装的普适计算应用程序。图1说明了智能手机与普适计算系统之间的交互。
2 Android 安全机制分析
Android系统安全包括内核层安全、架构层安全和用户认证机制安全三个方面[5]。然而,由于智能手机上的许多应用都需要联网功能,一般通过使用移动网络或无线网络随时来与互联网连接,访问存储在设备或网络上的用户信息。尽管智能手机的功能有显著增强,但是其安全技术仍低于人们的期望。
智能手机与普适系统的交互如图1所示。
[传感器:GPS][传感器:陀螺仪][传感器:加速器][用户手势][上下文信息][用户信息][跟踪信息][智能手机资源][普适计算的核心组件][普适计算
应用\&] [敏感信息] [环境
普适计算][上下文
感知计算][记录、跟踪和监视]
图1 智能手机与普适系统的交互
2.1 Android操作系统安全漏洞
一般所有安装在智能手机上的应用程序都运行在自己的沙箱里,没有应用程序可以逃离这个沙箱。然而,这种强制限制削弱了智能手机应用程序的大部分功能。所以,Android平台允许使用经手机用户授权的API。每个Android应用程序都有申请权限的详细信息,包含在AndroidManifest.xml文件中,在安装时向手机用户请求批准[6,7]。这些权限自应用程序安装后从不改变,直到应用程序重新安装。在AdoidManifest.xml文件中,需要为每个被调用的有风险的API分别定义权限。然而,只有当用户应用程序调用有风险的API时,Android操作系统才开始检验权限是否授权。例如,某个应用程序申请了“INTERNET”权限,安装时获得了授权,但运行时并没有调用相应的API,Android操作系统就不会检查权限“INTERNET”是否授权。
Android操作系统的基于权限的安全模型有以下安全漏洞。①Android操作系统将安全责任留给普通用户承担,这是非常危险的。大多数用户不理解应用程序申请的权限,不知道批准后带来的风险。此外,手机用户对应用程序申请的权限只有两种选择:授权或不授权。所以,用户通常看轻权限授权的过程。②Android系统基于权限的安全模型易受到特权提升的攻击[8]。多个应用程序为了获得他们的目的而共享信息。例如,恶意应用程序A有访问内部敏感数据的权限,如联系人,但是它没有通过因特网发送消息的权限。恶意应用程序B没有访问敏感内部数据的权限,但是它有访问因特网的权限。在这个情况下,恶意程序A通过内部通信路径将联系人信息传送给恶意应用程序B,恶意应用B通过网络流出联系人信息。③基于权限的安全模型只能覆盖底层的和API调用相关的行为。如果Android应用程序应用层有缺陷,那么Android操作系统将不能保护它自己。
2.2 接入未知无线接入点的威胁
无线通信技术已成为连接智能设备的最重要的通信手段。无线通信的发展有助于实现普适计算。然而,在无线通信迅速增长的情况下,也存在着安全威胁。
无线接入点(Access Point,AP)是一个无线网络的接入点,俗称“热点”。我们周围有许多无线AP,数量超过实际需求。事实上,我们手机搜索到的所有AP并不一定都是良性的。如不加选择地尝试连接到未知AP,会使人与设备处于危险之中。
一般来说,智能手机用户希望其智能机总是连接到互联网,因为安装在智能手机的应用程序通常需要互联网连接上传或下载实时信息。因此,智能手机用户经常搜索开放的无线网络。在有线网络中,MITM攻击(Man-in-the-Middle Attack,中间人攻击,简称“MITM攻击”)是非常困难的。因为,一个对手物理地闯入一个终端用户和ISP之间,这是很困难的。然而,在无线网络中,一个对手可以很容易地闯入一个终端用户和ISP之间,因为无线网络中消息的传输是在空气中进行。因此,无线网络比有线网络更加脆弱。如果对手安装开放的AP,他可以很容易地获得智能手机的连接。为了实施MITM攻击,安装开放AP的方式主要有两种类型。第一种是对手在公共场所安装伪装的AP,如机场、银行、商场。在这些地方,对手很容易找到攻击目标,因为当人们在一个地方呆很长时间时,使用智能手机的概率会增加。第二种是使用伪装的AP。伪装的AP安装在对应良性AP范围以外,并伪装成这个良性AP。由于伪装AP使用良性AP的SSID(Service Set Identifier,服务集标识),所以终端用户很容易受骗。
为了验证上述情况,我们进行了实验。实验设备包括一个Android 手机、一台笔记本电脑和一个服务器。笔记本电脑用作伪装的AP,服务器作为DNS欺骗服务器和Web代理服务器,用来发起MITM攻击。通常一个含有广告的应用程序会与多个服务器通信。第一个是数据服务器,数据服务器检查应用程序用户身份、应用程序版本、完整性等。如果应用程序无法测试通过,这个应用将立即终止。第二个服务器是广告服务器,这是一个可选对象。广告服务器提供事件通知的html文件和图像文件,通过HTTP的商业广告。广告服务器的连接不影响启动的程序,不同于数据服务器的连接。实验中发起MITM攻击的冒充为广告服务器。
智能手机用户需要更多地关注这类未知AP,因为智能手机已成为用户的信息安全的关键点。一般来说,所有的信息都包含在他的智能手机里,从隐私照片到业务文档。因此,如果智能手机内的信息被对手破坏,那么用户将在社会或经济上遭受不可挽回的损失。
3 安全解决方案
在第2节对Android安全机制分析的基础上,从Android操作系统和网络两个方面给出安全解决方案。
在Android操作系统方面,Android安全机制主要有签名机制、权限机制和沙盒机制来保证Android系统安全。细化权限[9]、安装时让用户可以选择性授权、API安全实现和规范的使用都是保证Android安全的极为重要手段。
在网络方面,针对MITM攻击,以下措施是非常必要的:①智能手机用户避免连接到未知的AP;②注意弹出式广告,即使它是知名的应用程序的弹出消息;③应用程序开发人员避免使用脆弱的API;④阻止嵌入式链接的执行;⑤当应用程序与外部设备通信时,必须使用相互身份验证过程和安全协议,如SSL。这些措施可以大大减少MITM攻击的威胁。
4 结束语
智能手机是普适计算系统中的重要组成部分,满足普适计算的核心需求:上下文感知计算、环境和普适智能以及记录、跟踪和监测环境。然而,智能手机的增长足以吸引对手的注意。Android系统平台的安全模型也存在着安全漏洞:①Android操作系统将安全的重大责任留给无知的用户应对;②基于权限的安全模型易受到特权升级的攻击;③基于权限的安全模型不能覆盖应用程序级别的漏洞。即使是良性的应用程序,若连接到伪装的AP上,也会使手机用户陷入危险之中。为了减轻这MITM攻击,开发人员必须使用相互身份验证使应用程序与外部设备通信,禁止嵌入式链接的执行。在未来的工作中,还将继续研究发现智能手机平台的脆弱性,找到针对这些威胁的解决方案。
参考文献:
[1] 李世群.普适计算中的安全问题研究[D].上海交通大学,2007.
[2] 杨帆.普适计算安全协议的模块设计及CSP分析[D].东华大学,
2008.
[3] 360互联网安全中心.2014年中国手机安全状况报告[Z].奇虎360,
2015.
[4] 吴怀广,姬厚灵,毋国庆等.普适环境中上下文感知的带演算的
Bigraphs描述[J].计算机科学,2012.39(1):109-114
[5] 张玉清,王凯,杨欢等.Android 安全综述[J].计算机研究与发展,
2014.51(7):1385-1396
[6] 沈晨,张凯,吕伟鹏等.基于Android平台的课程学习系统的设计与实
现[J].重庆工商大学学报(自然科学版),2014.31(1):56-60
[7] 肖远东.基于Android平台的智能操控终端的设计与实现[J].重庆工
商大学学报(自然科学版),2014.31(7):70-76
[8] 方喆,刘奇旭,张玉清.Android应用软件功能泄露漏洞挖掘工具的设
计与实现[J]中国科学院大学学报,2015.32(1):127-135
[9] 张锐,杨吉云.基于权限相关性的Android恶意软件检测[J].计算机应
用,2014.34(5):1322-1325