基于云端服务器的android恶意软件检测方案
2017-11-28卞勇
卞勇
摘 要: 为了解决android系统的安全问题,提出采用客户端加云端服务器合作的方案,客户端主要负责轻量级检测、数据上传、检测结果的反馈[1];云端服务器主要负责样本学习、IP地址和时间戳提取、异常IP地址的定位、结果的评定和验证,这样一部分恶意软件在客户端就被快速地检测出来,另一部分复杂的处理过程安排在云端服务器上,减轻了客户端数据处理的压力,提高了方案实施的稳定性和效率[2]。
关键词: 云端服务器;轻量级;样本学习;验证
中图分类号: TP309 文献标识码: A 文章编号: 2095-8153(2017)05-0103-03
目前Android 已然成为市场占有量最大的移动智能设备平台,据业界人士估计,今年Android在全球智能手机市场上的份额由去年的85%增长至90%。同时也成为了移动恶意应用最大的温床,Android 恶意软件成为当今主流安全威胁之一。2016年全年,360互联网安全中心累计截获Android平台新增恶意程序样本1 403.3万个,平均每天新增3.8万恶意程序样本。2016年全年,从手机用户感染恶意程序情况看,360互联网安全中心累计监测到Android用户感染恶意程序2.53亿,平均每天恶意程序感染量约为70万人次[3],可见android系统存在很大的安全隐患。
目前主流的惡意软件检测技术主要有静态检测和动态检测技术以及混合检测,静态检测技术主要通过匹配病毒库信息,检测速度快,准确率高,但是无法识别变异病毒和新型病毒;动态检测技术可以识别变异病毒和新型病毒,但是检测技术复杂,而且准确率低;混合检测技术就是将静态检测技术和动态检测技术融合起来,实现起来相当困难。鉴于以上情况,本文提出一种基于网络行为的对目标IP地址进行检测为核心的恶意软件检测技术,本方法将检测的主要模块安排在云端服务器,这样减轻了客户端的压力,提高了检测速度,重点是该方法是基于目标软件行为的检测方法[4],可以准确识别新型恶意软件和变异的恶意软件。
1 检测方案框架概述
本方案提出的android平台恶意软件检测方案是客户端加云端服务器端的模式,客户端安装一款基于android平台的轻量级检测软件,云端服务器负责较复杂的恶意软件检测过程,客户端主要负责轻量级的静态扫描和数据的上传,检测结果的反馈,客户端静态扫描时可以识别的恶意软件,检测软件会直接将检测结果反馈给用户,如果遇到不能确定的目标软件,客户端就会提取该软件的名称、版本、运行的时间以及该软件通信时的DNS响应数据包[5],并将这些信息上传到云端服务器,云端服务器有丰富的硬件和软件资源以及庞大的样本数据库,将对上传的数据作进一步的检测,如果发现异常,云端服务器将直接将数据传到客户端,客户端将结果反馈给用户,并存入自己的恶意软件病毒库。系统框架如图1所示。
2 客户端方案设计
2.1 客户端方案设计
客户端检测系统的设计就是将基于android系统的检测软件安装在客户端。首先,客户端会定期向云端服务器发送大量正常的应用程序样本配合云端服务器正常样本的学习[6];其次,利用客户端的恶意软件病毒库对目标软件进行静态的扫描,发现异常直接将结果反馈给用户,一些常见的恶意病毒会很快检测出结果,节约了时间,提高了效率,如果遇到无法识别的目标软件,系统将提取该软件信息以及通信时的DNS响应数据包,将这些信息打包上传至云端服务器进一步检测;最后,对云端服务器反馈回来的结果除了反馈给用户外,客户端自己也会将其存储到自己的病毒库,以备下次用于恶意软件的轻量级检测。
2.2 DNS数据包的收集过程
当客户端对目标软件无法检测的时候,客户端就会将目标软件的信息包括软件的名称、版本号、已运行的时间以及该软件在通信时的DNS响应数据包一并上传至云端服务器,DNS数据包的信息收集工作主要借助于Wireshark软件来实现,具体就是将数据包在传输过程中的目标IP地址和时间戳截获,并且将目标软件运行态的相关信息一起发送至云端服务器。
3 云端服务器方案设计
3.1 云安全技术简述
云安全(Cloud Security)技术是网络时代信息安全的最新体现,包含了未知病毒行为判断的新兴技术和概念,通过网络上的大量客户端对网络中软件行为的异常监测,获取网上恶意程序的最新信息,上传到云端服务器进行自动分析和处理,并将结果反馈给每一个客户端,云端服务器也会根据客户端定期上传的正常软件的信息更新自己的样本学习数据库[7]。
3.2 云端服务器检测流程
整个检测方案的核心就是云端服务器检测部分,主要功能就是正常软件样本的学习、IP地址和时间戳获取、确定异常IP和目标软件的关系、异常IP的定位及比对验证,最终得出检测结果。整个流程如图3。
3.3 云端服务器检测具体步骤
正常软件样本的学习就是客户端会定期上传一些正常软件,并且记录这些软件通信时涉及的IP地址,这样就形成了一个个软件对IP地址的一对多的集合[8],存储到云端服务器的正常IP地址的集合中,正常软件的学习过程需要大量的应用程序以及他们对应正常IP的样本,云端服务器的硬件优势完全可以满足方案的设计。
云端服务器接收到客户端上传的DNS数据包后,利用Wireshark软件提取DNS数据包的目标IP和对应时间戳[9],并将其统一存储,以便和样本库中的正常IP地址作比较。如果比较后正常,则退出检测,反之将异常IP存储。
出现异常IP后,首先要对其定位,及通过之前一并提取的时间戳,查看哪些软件在这一时间段运行,查出异常IP涉及的软件,如果同一时间出现多个软件运行,则根据软件运行时间的总体的分布来确定检测结果,当然这样的检测要反复的验证,只有当异常IP出现在同一款软件运行多次才会最终确认该软件为恶意软件,这样有效的提高了恶意软件检测的准确性[10]。endprint
4 结束语
笔者设计的基于云端服务器的恶意软件检测方案,是在借鉴前人检测方案优点的基础上设计出来的,优势有:(1)将检测的主要模块安排在云端服务器,减轻了客户端检测的压力,提高了整个系统的稳定性;(2)在检测时事先在客户端进行轻量级的检测,随着整个方案运行的深入,云端模块会源源不断将恶意软件样本传到客户端,客户端恶意软件样本资源也会越来越丰富,很多常见的恶意软件在客户端就可以轻松检测出来,加快了整个方案的检测速度。不足之处在于:在进行异常IP软件定位时,出现同一时间多个软件,目前是通过总体分布规律来判断的,这样过程比较复杂,准确性也不高,这是笔者以后需要提高和研究的重点方向。
[参考文献]
[1]张玉清,王 凯,杨 欢. Android 安全综述[J]. 计算机研究与发展,2015,51(7):1385-1396.
[2]李 挺,董 航,袁春阳. 基于Dalvik指令的Android 恶意代码特征描述及验证[J]. 计算机研究与发展,2015,51(7):1458-1466.
[3]楊 欢,张玉清,胡予濮. 基于权限频繁模式挖掘算法的Android 恶意应用检测方法[J].通信学报,2013,34(1):106-115.
[4]张 锐,杨吉云. 基于权限相关性的Android 恶意软件检测[J]. 计算机应用,2014,34(5):1322-1325.
[5]吕晓庆. Android软件动态行为监测系统的设计和实现[D]. 北京: 北京邮电大学,2013.
[6]彭国军,李晶雯,孙润康,等.Android恶意软件检测研究与进展[J].武汉大学学报(理学版),2015,61(1):21-33.
[7]张叶慧,彭新光,蔡志标. 基于类别以及权限的Android 恶意程序检测[J]. 计算机应用研究,2014, 35(5):1568-1571.
[8]周裕娟,张红梅,张向利,等. 基于Android 权限信息的恶意软件检测[J].计算机应用研究,2015, 32(10):3036-3040.
[9]文伟平,梅 瑞,宁 戈,等.Android恶意软件检测技术分析和应用研究[J].通信学报,2014,8:78-94.
[10]侯勤胜,曹天杰,秀 清.基于网络行为的Android恶意软件检测方案[J].安徽大学学报(自然科学版),2015(9):32-36.
Android Malware Detection Scheme based on Cloud Server
BIAN Yong
(Department of Information Electronics,Jiangsu Institute of Tourism and Hospitality,Yangzhou 225000,China)
Abstract: In order to solve the security problem of android system,it is proposed to adopt the client-side cloud server cooperation scheme,in which the client is mainly responsible for lightweight detection,data uploading,test results feedback,and cloud server is mainly responsible for sample learning,IP address and timestamp Extraction,abnormal IP address location,result assessment and verification,so that some of the malicious software in the client can be quickly detected to save some time,and another part of the complex processing is arranged in the cloud server,which can reduce the client data processing pressure,and improve the stability and efficiency of program implementation.
Key words: cloud server;lightweight;sample study;validationendprint