云计算下手机人工免疫恶意代码检测模型
武斌1, 林幸1, 李卫东2, 芦天亮3, 张冬梅1    
1. 北京邮电大学 信息安全中心, 北京 100876;
2. 国网滑县供电公司发展策划部, 河南 安阳 456400;
3. 中国人民公安大学 网络安全保卫学院, 北京 100038
摘要

提出一种适用于云计算环境的基于人工免疫的手机恶意代码检测模型.提出扩展阴性选择算法, 提取恶意代码的特征编码生成抗原, 增加针对高亲和度检测器的克隆和变异算子, 提高成熟检测器的生成效率, 在特征检测和检测器生成阶段引入MapReduce并行处理机制, 提高计算效率.仿真结果表明, 检测模型对未知手机恶意代码具有较高的检测率和计算效率.

关键词: 人工免疫     阴性选择     手机恶意代码     检测     云计算    
中图分类号:TP393.08 文献标志码:A 文章编号:1007-5321(2015)04-0033-05 DOI:10.13190/j.jbupt.2015.04.008
Smartphone Malware Detection Model Based on Artificial Immune System in Cloud Computing
WU Bin1, LIN Xing1, LI Wei-dong2, LU Tian-liang3, ZHANG Dong-mei1    
1. Information Security Centre, Beijing University of Posts and Telecommunications, Beijing 100876, China;
2. Development Planning Department, State Grid Huaxian Power Supply Company, Henan Anyang 456400, China;
3. School of Network Security Defense, People’s Public Security University of China, Beijing 100038, China
Abstract

A smartphone malware detection model based artificial immune system(AIS) on the cloud was proposed. In this model, the extended negative selection algorithm is put forward and the antigens are generated by encoding the malwarecharacteristics. With addition of cloning with higher affinity detector and hyper-mutation, the detectors are generated efficiently. The computing rate is then improved significantly by parallel computing mechanism MapReduce during the feature coding and detector generation. Experiment shows that the detection modelhas a high detection rate and computing rate for unknown smartphone malware.

Key words: artificial immune system     negative selection     smartphone malware     detection     cloud computing    

恶意代码程序作为手机安全的首要威胁,给用户造成多种危害,手机系统的杀毒软件产品应运而生.手机杀毒软件主要通过匹配手机病毒的静态特征码进行检测查杀,对已知的恶意代码具有较高的检测率,对未知的恶意代码程序不能有效检测.

云计算作为一种新型的计算服务模式,在资源高效利用、可扩展性、灵活性及节约成本方面具有优势.云服务的可扩展性、可远程交互特性,有助于解决手机恶意代码检测中存在的诸多问题.

借鉴人工免疫系统[1-2]的机理,在云计算环境下提出基于人工免疫的手机恶意代码检测模型(SP-MDM, smartphone malware detection model),提取恶意代码的特征向量编码生成抗原,设计云计算平台下扩展阴性选择算法,提高成熟检测器的生成效率,实现对未知恶意代码的检测.

1 云计算下的人工免疫检测模型

云计算下基于人工免疫的手机恶意代码检测模型如图 1所示.

图 1 云计算下基于人工免疫的手机恶意代码检测模型

用该模型进行恶意代码检测主要包括3个关键步骤.

1) 特征提取与编码:基于静态分析[3]和动态分析[4]技术提取样本特征库存储于云存储中,利用并行的编码器对其进行实值向量编码,生成人工免疫算法可处理的数据格式.

2) 检测器生成:在检测器生成器中利用扩展阴性选择算法生成成熟检测器和记忆检测器,并引入克隆变异机制对检测器进行优化.

3) 样本检测:终端用户上传样本到云检测服务端,服务端提取待检测样本的静态、动态特征,通过计算检测器与待检测样本特征之间的距离识别出恶意特征,结合数据挖掘等算法及判定策略对样本分类.

2 特征编码

下面重点对市场份额较大且恶意代码程序数目最多的Android系统的恶意代码检测技术进行分析.提取6类静态特征、7类动态特征.

样本特征表示为1个7维的初始向量F=(f1, f2, …, f7).其中:f1为特征类型;f2为特征子类型;f3~f7共5个维度为对样本特征的数据信息等进行编码.详细编码方式如表 1所示.

表 1 样本特征编码方式
3 阴性选择算法3.1 阴性选择

通过模拟生物免疫过程,Forrest等[5]提出阴性选择算法.在阴性选择过程中,未成熟检测器依次与自我集合中的元素匹配,不匹配所有自我元素的检测器成熟.检测器生成过程如图 2所示.

图 2 检测器生成过程

笔者对阴性选择算法进行改进,除了随机生成的未成熟检测器外,增加另外3个来源,包括:

1) 编码后的恶意代码样本特征,该类检测器更能代表已知恶意代码的特性;

2) 高亲和度成熟检测器克隆变异,可进化生成更加优良的检测器后代;

3) 记忆检测器拆分后的基因片段拼接,保留记忆检测器中的有用信息.

3.2 云计算下的阴性选择

采用变长实值阴性选择算法V-Detector[6],未成熟检测器x的成熟过程首先需计算其与自我元素集合各元素的欧几里得距离Ed,最后将其与检测器半径和自我元素半径相比较而得.

欧几里得距离的计算公式为

(1)

其中:d=〈(x1, x2, …, xn), rd〉为检测器,n为检测器的维度,rd为检测器的半径,s=(y1, y2, …, yn)为自我元素.

通过MapReduce[7]机制实现阴性选择算法,提高检测器生成的计算效率.检测器成熟过程由欧几里得距离并行计算单元及成熟化并行计算单元完成.第1个MapReduce过程负责欧几里得距离并行计算.第2个MapReduce过程负责成熟化并行计算.

4 克隆变异优化

为体现恶意代码样本的衍生传播特性,提高扩展阴性算法生成的成熟检测器对抗原的亲和力,利用克隆和变异对成熟检测器集合进行优化.

定义检测器优化的衡量标准——检测器亲和度为

(2)

其中:V(di)为覆盖空间体积,O(di, D)为重叠空间,δ为重叠惩罚因子,D为成熟检测器集合,检测器di可看作半径为rdn维超球体.

覆盖空间体积为

(3)

其中:Γ(n/2+1) 为体积计算因子,若n为偶数,Γ=(n/2+1)!,若n为奇数,Γ=((n+1)/2+1)!.重叠空间[8]

(4)
(5)

其中:cd为检测器超球体中心点.

通过式(3) 计算检测器的亲和度,选择P个具有较高亲和度的检测器进行克隆,克隆的后代数目与亲和度成正比.检测器di的克隆数目N(di)为

(6)

其中:α为克隆系数.

为增加全局搜索能力,采用柯西变异,通过增加变异步长防止陷入局部最优.

检测器di在柯西变异算子δj作用下生成新的检测器di,变异过程为

(7)

其中:ηi(j)为ηi的第j维向量,τ为迭代参数,τa=

对变异后的检测器利用式(3) 计算亲和度,具有较高亲和度的个体作为未成熟检测器经历自我耐受过程,耐受成功后加入成熟检测器,并删除亲和度较低的检测器.

5 样本判定方法

提取待检测手机样本的静态特征和动态特征,对特征编码后生成抗原,若抗原与检测器(抗体)的距离小于检测半径rd,则将该抗原判定为非恶意特征.

统计每种特征类型包含的恶意特征数目,归一化后生成特征描述向量F={f1, f2, …, f13}.设定特征描述向量F中的每个特征类型的危险权重为ωi,采用加权评分法作为恶意代码判定策略.

对于待检测样本S,计算样本的恶意系数为

(8)

令恶意系数的阈值为CT,当C(S)≥CT时,待检测样本判定为恶意代码程序,否则判定为正常程序.

6 仿真实验

实验采用15个典型手机恶意代码样本和15个正常程序作为测试样本集合.

1) 检测器成熟化时间对比

实验中的未成熟检测器数目为100 000,基础串行及改进并行2种方式的检测器成熟时间消耗如图 3所示.串行过程需耗时13 700 s,并行的成熟化时间最低只需69 s,大大缩短了成熟检测器的生成时间.

图 3 检测器成熟化时间对比

2) 检测器成熟并行处理加速比

图 4所示,随着并行节点数目增加,加速比提升,在处理数据规模一定的情况下,存在最优的并发处理节点数使并行性能达到最佳.

图 4 检测器成熟并行处理加速比

3) 克隆代数和检测器数目对检测效果的影响

克隆代数对检测率及误报率的影响如图 5图 6所示.随着检测器数目Nd的增加,检测率Rd上升,误报率Rf下降,最终趋于平稳.当Nd相同时,随着克隆代数Nc的增加,检测率Rd上升,随着克隆代数Nc的增加,误报率Rf下降.由于测试样本数目有限,部分节点有交叉和重叠现象.通过增加NdNc能获得更好的检测性能,但也会带来计算和存储的开销.

图 5 克隆代数对检测率的影响仿真

图 6 克隆代数对误报率的影响仿真

图 5图 6可以看出,随着检测器数目Nd的增加,检测率Rd上升,误报率Rf下降.

4) 检测效果对比

重复运行10次,取SP-MDM对每个恶意代码样本检测率的平均值,在线多引擎查毒网站www.virustotal.com的检测效果对比,如图 7所示.

图 7 检测效果对比

图 7可以看出,对于大多数样本,SP-MDM的平均检测率高于VirusTotal.对于个别样本,由于危险系数较低,检测率低于VirusTotal.

7 结束语

提出云计算下基于人工免疫系统的手机恶意代码检测模型SP-MDM,相比已有的检测模型,具有如下优势:1) 提出扩展阴性选择算法,缩短检测器成熟化的时间开销,具有较好的扩展性;2) 特征采用实值向量编码,利用变长检测器,降低检测器数目,有效减少黑洞,提高检测率;3) 引入克隆变异机制,通过多代优化获得更好的检测性能;4) 手机恶意代码动态特征和静态特征相结合的检测方法,能有效识别部分未知恶意代码.

参考文献
[1] Dasgupta D, Yu Senhua, Nino F. Recent advances in artificial immune systems: models and applications[J].Applied Soft Computing, 2011, 11(2): 1574–1587. doi: 10.1016/j.asoc.2010.08.024
[2] Harmer P K, Williams P D. An artificial immune system architecture for computer security applications[J].IEEE Transactions on Evolutionary Computation, 2002, 6(3): 252–280. doi: 10.1109/TEVC.2002.1011540
[3] Schmidt A D, Bye R, Schmidt H G, et al. Static analysis of executables for collaborative malware detection on android[C]//Proceedings of the 2009 IEEE International on Ference on Communications. Dresden, Germany, 2009: 1-5.
[4] Blasing T, Batyuk L, Schmidt A D, et al. An android application sandbox system for suspicious software detection[C]//Proceedings of the 5th IEEE International Conference on Malicious and Unwanted Software, Malware. Nancy, Lorraine, 2010: 55-62.
[5] Forrest S, Perelson A S, Allen L, et al. Self-nonself discrimination in a computer[C]//Proceedings of IEEE Symposium on Research in Security and Privacy. Los Alamitos, CA, USA, 1994: 202-212.
[6] Zhou Ji, Dasgupta D. Real-valued negative selection algorithm with variable-sized detectors[C]//Proceedings of GECCO, 2004: 287-298.
[7] Gunarathne T, Wu Taklon, Qiu Judy, et al. MapReduce in the clouds for science[C]//IEEE Second International Conference on Cloud Computing Technology and Science, 2010: 565-572.
[8] Wang Huimin, Huang Xianlin, et al. PSO-optimized negative selection algorithm for anomaly detection[J].Applications of Soft Computing, 2009: 13–21.