基于云计算的移动终端安全架构研究与设计
2015-11-30陈明忠
陈明忠
(汕头职业技术学院计算机系,广东汕头515078)
基于云计算的移动终端安全架构研究与设计
陈明忠
(汕头职业技术学院计算机系,广东汕头515078)
通过对移动终端安全现状及安全产品的研究,提出一种基于云计算的移动终端安全架构,并对安全架构进行机制研究和详细设计。针对移动终端当前面临的各种威胁,对安全架构进行安全性分析。该架构不仅节省终端的CPU、内存资源,同时提升了终端安全性。
云计算;移动终端;安全架构;透明代理
近几年,随着移动终端(主要包括智能手机和平板电脑)的普及和发展,移动终端的应用几乎涵盖了人们生活的各个方面,比如聊天、文档处理、手机支付、导航、收发邮件以及娱乐等。随着移动终端用户的增多,安全问题越来越突出,移动终端面临着多种攻击和威胁,包括恶意应用、恶意网站、终端丢失、网络数据泄密等。
恶意应用是指当终端用户启动本地某些应用时,可能会泄露用户的位置、通讯录等私人信息;非法扣除用户的手机费用;或者不由自主地下载网上其他恶意应用。恶意网站是指某些网站包含较多的恶意应用或不良信息,有些恶意应用甚至可能远程操纵终端。终端丢失是指当移动终端丢失时,终端上的数据随之丢失或泄露。网络数据泄密指当移动终端使用WIFI上网时,其网络数据可能受到攻击者的监听与篡改[1-2]。
由于移动终端与PC机相比有其自身的特点,即处理速度慢、存储空间小,因而,不能将现有的PC机安全措施直接迁移到移动终端上。但现有专为移动终端设计的安全产品存在一定的缺陷,例如,在应对恶意应用和恶意网站方面,现有安全产品多数在终端或云端维护一个特征库,用来匹配恶意应用的特征码。这种方式漏报率高,尤其是对新出现的还未广泛流行的恶意应用无能为力;不能阻止终端的恶意应用下载安装其他恶意应用;不能阻止恶意应用向指定网址发送敏感信息。在应对终端丢失方面,现有安全产品多数使用短信对终端实施锁屏、定位以及报警等功能,并不能保护SD卡上的数据,对于一些没有短信功能的移动终端,如平板电脑等,就无能为力了。在网络数据泄密方面,现有安全产品一般没有应对措施,只要用户连接上一个不可信任的无线热点,攻击者使用某种攻击手段即可窃取到用户的账户、邮件等隐私信息。
为了克服现有安全产品的缺陷,本文研究并设计一种基于云计算的移动终端安全架构(简称云安全架构),以便高效、彻底解决移动终端当前面临的各种安全问题。
1 云安全架构的设计
1.1 整体设计
云安全架构的设计思路是:将全部安全检查移到云端,使整个互联网为终端服务,从而节省终端的CPU、内存资源,同时提升终端的安全性[3]。根据这一思路,将云安全架构划分为终端、云端、连接三大部分,如图1所示。
图1 总体框架
在终端上,包含操作逻辑、终端安全保护两个子系统,操作逻辑为用户提供一个与云端安全通信的界面。终端安全保护负责对终端锁屏、隐私信息加密、SD卡文件加密;当终端丢失时,还可通过云端远程对终端进行数据收集、数据擦除等操作,以避免终端丢失时终端数据的外泄。
在云端上,包含透明代理、管理服务器两个子系统,透明代理负责对进出终端的数据包内容进行细致地检查。管理服务器负责对客户端、过滤策略的管理以及未知应用的检测。
终端通过VPN连线与透明代理连接,使终端和云端之间形成一条临时的、安全的通道,避免了终端的网络数据受到监听或篡改[4]。终端与管理服务器保持长连接,当云端有消息需要通知用户时,云端可以立即推送给用户,而不必在终端与云端之间先建立连接。
1.2 终端设计
1.2.1 操作逻辑设计
操作逻辑包含用户登录、应用扫描、添加策略、数据备份、消息管理等5个模块,如图2所示。
(1)用户登录。首先弹出登录界面,让用户输入自己的用户名和密码,当用户确认后,系统检验该用户是否已注册,若已注册,系统继续判断用户是否在线,若在线则直接登录。若未在线,则向用户发送提醒信息,并通知用户连接VPN,建立终端与云端的长连接,并将用户信息发往管理服务器,完成一些数据表的读写操作。
(2)应用扫描。用户首先扫描本地所有已安装的应用,然后扫描SD卡获取所有未安装应用(即安装包),并将两类应用的名称和特征码传送到云端的管理服务器。云端将接收到的特征码与特征库进行比较,如果某应用为恶意应用,则提醒用户删除该应用,若不存在相应的特征码,即为未知应用,则通知客户端上传该未知应用的安装包,并将该安装包提交给管理服务器做进一步检测,并提醒用户该应用为未知应用,需谨慎使用。
(3)添加策略。为用户提供一个网络数据过滤策略的设置界面,用户可以设置允许或禁止哪些数据包进出终端,包括恶意应用过滤、隐私数据过滤、设置网址黑白名单等,并将过滤规则上传到云端的管理服务器中[5]。
(4)数据备份。用户平时使用终端时,要定时提取终端的通讯录、短信息、多媒体文件等重要数据,将其压缩并上传到云端备份,以便在终端数据丢失时对数据进行还原。
图2 操作逻辑框架
(5)消息管理。负责接收云端的管理服务器传送过来的消息,并交给相应的模块处理。
1.2.2 终端安全保护设计
当终端丢失时,得到终端的人很容易获取终端上的应用数据或SD卡上的数据。为了避免这种情况下终端数据的外泄,需要在移动终端上设置一些安全保护措施。
(1)自定义锁屏。虽然每个终端都内置了锁屏功能,但得到终端的人可以绕过内置锁屏来对终端操作。因此,本系统禁用终端内置的锁屏功能,自行定义强密码锁屏,要求用户设置的密码长度至少为8位,包含大、小写字母和数字,并且要定期更改。每当屏幕关闭时就启动自定义锁屏程序,当用户开启屏幕时,都会自动调用自定义锁屏程序,使未知密码的人无法使用终端。
(2)隐私信息加密。系统首先显示终端已安装的应用列表,用户从中选择一些隐私应用,对它们启用应用锁,输入应用锁的密码。当用户打开带锁的应用时,必须首先输入正确的密码,否则无法将该应用打开。
(3)SD卡文件加密。SD卡(Secure Digital Memory Card)是一种基于半导体闪存工艺的拓展内存卡,用来存放文件和文件夹,类似于U盘,利用读卡器就可在台式机和SD卡之间进行文件的读写操作。对SD卡中的某些文件或文件夹加密以后,不知道密码的人就无法打开该文件或文件夹。
加密过程:用户首先选择要加密的文件或文件夹,并利用zip将文件夹压缩,然后将文件或压缩文件进行加密,同时将原文件夹删除。解密过程:先解密,若得到压缩文件,则需利用zip解压成文件夹。
(4)数据收集。当终端丢失时,用户可以通过云端收集终端的实时位置信息、通讯录、通话记录、短信息等,从而判断得到终端的人是否对终端进行非法操作,从而避免终端数据的丢失,为终端的追回提供可能。
(5)数据擦除。当终端丢失时,在用户收集终端数据之后,还可以通过云端擦除终端全部的用户数据,将终端恢复到出厂状态,避免终端数据的外泄。
1.3 云端设计
1.3.1 透明代理设计
透明代理由VPN服务器和代理服务器组成。VPN服务器负责与客户端建立安全通道,并将客户端发出的数据包导向代理服务器,代理服务器代替客户端访问互联网资源[6]。进入代理服务器的数据包有从客户端发出的,也有外网返回的,代理服务器根据过滤策略将这些数据包的内容进行细致地检查。若检查正常,则发往外网或发往客户端。若发现客户端发出的是隐私数据,或外网返回的是恶意应用,则代理服务器会将数据包拦截下来,并通过管理服务器将提示信息发送给用户,使用户停止对数据包的下载。
特别的,若数据包只是客户端要请求的网址,管理服务器会检查该网址是否存在黑白名单中,若在黑名单中则拦截,若在白名单中则通过,若没有在黑白名单中则将网址送往管理服务器做进一步检测。
透明代理与正向代理的共同点:都是作为用户的代理去访问网络。不同点:正向代理需要用户在客户端手动配置,如在浏览器中配置http、ftp、socks代理等,但透明代理不需要用户在客户端做任何配置,用户不会感觉到代理的存在。
透明代理一般需要使用NAT(Network Address Translation)或VPN技术来实现内、外网地址的转换。NAT是将内网地址映射为外网的一个地址,而VPN是将外网地址映射为内网的一个地址。本系统采用VPN技术,终端用户在连入云端以后,就取得云端内部一个IP地址。下面以终端用户使用http代理访问Web服务器www.AAA.com为例,阐述透明代理的工作过程,如图3所示。
(1)终端首先向DNS服务器查询www.AAA.com的IP地址,并向该地址发出TCP连接请求;
(2)VPN服务器截获到该TCP连接请求,并使用DNAT(目的地址转换)修改该请求的目的地址,将其导向至代理服务器,使终端与代理服务器建立TCP连接;
图3 透明代理网络拓扑
(3)终端通过TCP连接发出http请求,http头部如下:
GET:/HTTP/1.1
Accept∶*/*
Accept-Language∶zh-cn
UA-CPU:x86
Accept-Encoding∶gzip,deflate
User-Agent∶Mozilla/4.0(compatible;MSIE 6.0;Windows NT 5.2;SVl;.NET
CLR 1.1.4322;.NET CLR 2.0.50727)
Host∶www.AAA.com
(4)代理服务器开启透明代理选项,根据http头的host域(这里为www.AAA.com)查询DNS服务器,获取Web服务器的IP地址;
(5)代理服务器向Web服务器发送请求,Web服务器处理请求并将响应数据包发回代理服务器;
(6)VPN服务器截获代理服务器返回的数据包,并将数据包的源IP地址修改为www.AAA.com的IP地址,并重新发回代理服务器;
(7)代理服务器检查响应数据包,若正常则转发给终端,终端误认为一直在与目的服务器通信。
1.3.2 管理服务器设计
管理服务器负责对客户端、过滤策略的管理以及未知应用的检测。因此,将管理服务器中的软件系统划分为3个模块:客户端管理、过滤策略管理、应用检测器[7]。
(1)功能模块设计。
1)客户端管理:接收客户端发送过来的用户信息、应用信息和备份数据,判断应用的性质(正常应用、恶意应用、未知应用),并向客户端推送提醒信息。若某应用被判为未知应用,则提交给应用检测器做进一步检测。
2)过滤策略管理:接收并保存客户端发送过来的过滤策略和黑白名单,并转发给透明代理。
3)应用检测器:接收客户端管理和透明代理发送过来的未知应用,对其实施基于行为的检测:提取恶意应用和正常应用的行为特征;对行为特征作相应的预处理;对未知应用进行分析判定;根据判定结果进行自学习。
假设应用A的行为特征序列为a1、a2、a3、a4、a5,应用B的行为特征序列为b1、b2、b3、b4、b5,应用C的行为特征序列为a1、a2、a3、a4、a5、b1、b2、b3、b4、b5。若应用A为恶意应用,那么无论应用B为正常应用还是恶意应用,应用C必是恶意应用,即当一个应用的部分行为特征能够判定为恶意应用时,那么该应用必为恶意应用。若应用A为正常应用,应用B为恶意应用,则应用C也为恶意应用,即当一个应用的部分行为特征序列判定为正常应用时,不能判定该应用是否为正常应用。
(2)数据库设计。一个设备可安装多个应用,一个应用可安装到多个设备中;一个设备有多个备份文件,一个备份文件只属于一个设备;一个设备有多个过滤策略,一个过滤策略只属于一个设备。根据分析可画出E-R图(如图4所示),并转化为表结构。
设备:设备ID,设备名,与服务器的连接状态,锁定状态,锁定码,用户名,密码。
图4 E-R图
应用:应用ID,应用文件名,特征码,应用包名,应用性质(正常应用、恶意应用、未知应用)。
设备应用:设备ID,应用ID,是否安装。
过滤策略:策略ID,策略类型,检测内容,数据方向,服务端IP,设备ID。
黑白名单:网址ID,URL,网址性质(黑网址、白网址)。
备份:备份ID,备份文件,备份时间,设备ID。
1.4 连接设计
(1)VPN连接。使用VPN,每个终端在确认设备和用户身份之后,通过密钥交换、加解密技术和隧道技术,就可以在云端上架设一条自己专用的通讯隧道,避免终端发出的数据遭受监听或篡改。
(2)长连接。终端有两个IP地址,一个是动态分配的公网IP,随时可能改变,另一个是私有地址。终端使用私有地址访问外网,云端无法知道终端的私有地址,因而不能直接访问终端。若云端需要将消息实时地传送到终端,就必须使用push(推送)的方法,本文通过长连接方式实现push。
长连接与短连接是相对的,所谓短连接,就是连接建立之后,每当完成一次数据交互,服务器就会关闭连接,如http为短连接。所谓长连接,是在完成一次数据交互之后,连接双方并不立即断开连接,而是等待双方的下一次数据交互。长连接能够实现push,基本原理是:终端发送一个请求到管理服务器,管理服务器并不立即响应,而是保留该请求,并且每隔一定时间(10~20 s)向终端发送心跳数据包(非响应数据包),以便保持与终端的长连接。作为终端,也会时刻检查自己是否与管理服务器保持连接,一旦发现连接中断,就立即启动一个新连接。
2 云安全架构的安全性分析
本文设计的基于云的安全架构把全部安全检查移到云端,不但彻底解决当前终端面临的安全问题,而且节省终端的CPU、内存资源。下面分别从应对恶意应用、恶意网站、终端丢失、网络数据泄密四个方面,分析云安全架构的安全性。
在应对恶意应用方面,云安全架构使用多引擎扫描技术,不同引擎使用不同的特征库,因此,在云端维护多个特征库,用来匹配恶意应用的特征码,这种方式能降低漏报的概率。若透明代理检测到恶意应用,则提醒用户删除;若检测到一些新发布的未知应用,则将其传送给管理服务器,让管理服务器中的应用检测器实施行为检测,将检测结果存入应用表中,并提醒用户谨慎使用。
在应对恶意网站方面,云安全架构保存着一个网址黑白名单,若用户访问的网址在黑名单中,则提醒用户并终止访问,若在白名单中,则允许用户访问。若某网址没有在黑白名单中,则将网址送往管理服务器,让管理服务器中的应用检测器访问该网址,若未发现异常则允许访问,若发现异常,则将其放入黑名单中。
在应对终端丢失方面,云安全架构采用自定义锁屏、隐私信息加密、SD卡文件加密技术,当用户开启屏幕时,都会自动调用自定义锁屏程序,从而使不知道密码的人无法使用终端。由于终端上的隐私信息、SD卡的文件已经加密,即使捡到终端的人也无法读取这些信息的内容。由于终端与云端保持长连接,当终端丢失时,云端直接对终端推送指令,用于对终端进行定位、报警等操作,而不再使用短信对终
端进行远程控制。
在应对网络数据泄密方面,终端通过VPN连线与透明代理连接,使终端和云端之间形成一条临时的、安全的通道,而云端是直接连接互联网的,一般不会受到攻击者的攻击,避免了终端的网络数据受到监听或篡改。
3 结语
本文设计的云安全架构不但能够彻底解决当前终端面临的安全问题,而且还能节省终端的CPU、内存资源。随着智能移动终端安全问题的妥善解决,终端用户没有了后顾之忧,人们更喜欢使用终端存储个人信息、收发邮件、浏览网页、处理公文、网上支付以及娱乐等,促使智能移动终端业务持续、快速发展,使人们生活得更加幸福。
[1]BIASING T,SCHMIDT A D,BATYUK L,et al.An android application sandbox system for suspicious software detection[C]//5th International Conference on Malicious and Unwanted Software.Nancy,France:[s.n.],2010.
[2]PORTOKALIDIS G,HOMBURG P,ANAGNOSTAKIS K,et al.Paranoid Android:versatile protection for smartphones[C]//Proceedings of the 26th Annual Computer Security Applications Conference.Austin,Texas:[s.n.],2010.
[3]高林,宋相倩,王洁萍.云计算及其关键技术研究[J].微型机与应用,2011,30(10):5-8.
[4]李辰.主机入侵防御中行为监控技术的研究与实现[D].北京:北京邮电大学,2009.
[5]徐海浪.面向云计算的手机应用安全研究[D].南京:南京航空航天大学,2011.
[6]张海望,杨波.云计算在手机通信中的应用研究[J].计算机安全,2011(1):49-51.
[7]张云勇,陈清金.云计算安全关键技术分析[J].电信科学,2010(9):64-69.
【责任编辑:王桂珍foshanwgzh@163.com】
Research and design of mobile terminal security architecture based on cloud computing
CHEN Ming-zhong
(Department of Computer,Shantou Polytechnic,Shantou 515078,China)
Through the researches of security status and security products in mobile terminal,a kind of mobile terminal security architecture based on cloud computing is put forward,and the mechanism study and detailed design on the security architecture are carried out.Finally,safety analysis on the security architecture is carried out in view of a variety of current threats that faced with mobile terminals.Analysis shows that the architecture not only saves terminal CPU and memory resources,but also improves the terminal security.
cloud computing;mobile terminal;security architecture;trans parent proxy
TN929.5
A
1008-0171(2015)05-0038-06
2015-01-21
陈明忠(1968-),男,广东汕头人,汕头职业技术学院副教授。