一种基于免疫原理的云平台病毒检测方法

2015-06-09 14:21傅龙天陈腾林
黑龙江工程学院学报 2015年1期
关键词:病毒检测检测法检测器

傅龙天,徐 戈,陈腾林

(闽江学院,福建福州 350011)

一种基于免疫原理的云平台病毒检测方法

傅龙天,徐 戈,陈腾林

(闽江学院,福建福州 350011)

伴随着快速发展的信息技术,病毒日益成为广大网民的安全威胁,云平台及其客户端遭受病毒侵害更为严重,每年病毒给世界各国带来了巨大的损失,并为此投入了巨大的人力物力。借鉴生物对异体的识别能力,提出一种基于人工免疫原理的病毒检测模型,通过自体耐受学习获得成熟检测器,利用成熟检测器检测非自体抗原。仿真实验证明此方法病毒检测率高,误检率低,并且具备很强的自适应能力。

病毒检测;人工免疫;云平台;非自体抗原

随着计算机的普及,病毒也越来越流行,每年遭受病毒破坏的计算机越来越多,所造成的后果越来越严重。大量用户在云平台中获得相关服务的同时,病毒也获得了更多更容易的入侵机会,因此,针对云平台的病毒检测显得尤为重要。目前,主流的病毒检测方法主要有特征码检测法、行为检测法和启发式监测法等[1-2]。其中特征码的检测方法对已知病毒识别率较高[3],对于病毒的变异体、未知病毒等束手无策;行为检测法虽可监测未知病毒,但误检率高[4],如果病毒处于“潜伏期”或未运行,则该方法将陷入困境;启发式监测法主要针对多态性病毒,误报率也很高,工作量较大[5]。针对传统监测方法的不足,本文借鉴生物对异体的识别能力,提出一种基于人工免疫原理的病毒检测模型。

人工免疫技术的研究应用是目前国内外专家学者的重要热点之一。1974年丹麦学者Jeme提出了第一个人工免疫数学模型;后来Forrest等提出了否定选择算法和计算机免疫学概念;Lee等人通过从程序入口点开始提取一系列字符串区分自体与非自体,以实现病毒检测,推动了计算机免疫系统的全面发展。国内学者王琴琴等[6]提出了基于免疫理论的服务自适应策略;高超等[7]在邮件网络提出了基于介数的免疫策略;王维等[8]提出了基于免疫原理的病毒特征提取方法。上述学者在计算机的不同应用领域都进行了积极探索,对传统病毒防治方法提供了更多改进,并且取得良好成效。但针对云平台的病毒检测较少,云计算技术在大数据应用越来越广泛,因此,本文关于云平台病毒检测研究具有一定的现实应用价值和重要意义。

1 免疫检测模型原理

大量客户访问云平台服务器时,部分客户端不可避免地“夹杂”了各种不可预知的病毒,如果云平台服务器一旦染毒,则访问该平台的所有客户端都有被病毒入侵的风险,为此本文拟在平台服务器上搭建免疫病毒检测器,模型体系结构如图1所示。为了有效检测病毒,首先定义检测器(分成未成熟检测器和成熟检测器),未成熟检测器初次由系统随机生成,以后由成熟检测器不断变异进化形成,未成熟检测器经过提呈(获取特征值的过程)后形成自体抗原集合Sag,正常程序经过提呈后得到抗体集合Ab,Ag和Ab经过阴性选择,即与抗体集合Ab匹配的抗原集合Ag被淘汰,存活的(不匹配的)形成成熟检测器,这个过程即为自体耐受学习过程,也是初次应答过程。当成熟检测器遭遇非自体抗原Nag时,则检测器通过检测算法执行检测操作,如果匹配成功,则识别了该抗原,即为免疫二次应答。当检测器经历若干次迭代进化后,成熟检测器的规模将不断扩大,能识别的非自体抗原将更多,意味着识别能力越来越强。另外,为了提升效率,减轻系统负担,采用LRU(最近最少使用)算法把部分成熟检测器“淘汰”到记忆检测器中,如果将来还需使用,则直接从记忆检测器中调入,省去耐受学习过程。

图1 病毒检测模型体系结构

2 免疫检测模型

2.1 模型定义

借鉴生物免疫识别原理,把云平台服务器中正常程序定义为自体,从客户端上来的程序或数据作为有待检测的非自体抗原,定义一组检测器,通过检测匹配算法识别外来数据是否是病毒。

定义1(定义域) 计算机的程序代码(包括病毒程序)都是由二进制字符组成的字符串序列构成的,设定义域I为长度为L的二进制字符集,描述为

定义2(自体集)计算机所有正常程序,即未被病毒感染的程序代码序列称为自体集(S),描述为

定义3(非自体集)除正常程序外,即病毒代码序列或已被病毒感染的非正常程序代码序列称为非自体集(NS),描述为

定义4(抗原集)由自体抗原集合(Sag)和非自体抗原集合(Nag)(即抗原有可能是正常程序或者是被病毒感染的非正常程序)经过提取其特征,形成抗原集合。本文采用文献[8-9]提供的提呈方法,描述为

函数fObtain(k,L)表示对进入检测器的程序进行特征提取,长度为L。

定义5(抗体集)正常程序在未被病毒感染前,经过提呈后得到抗体集合(Ab),描述为

定义6(检测器)检测器分成未成熟检测器和成熟检测器,主要用于对非自体抗原的检测。设检测器为D,未成熟检测器为Dn,成熟检测器为Dm,描述为

其中:fmatch(g,b)为匹配函数,表示耐受过程,描述n个抗体与m个抗原进行匹配,β为自体耐受匹配程度阈值,如果函数返回1表示匹配成功,将被淘汰,否则耐受成功,成为成熟检测器。

定义7(检测函数)引用匹配函数实现对抗原的检测操作,当抗原进入检测器,激发二次应答,成熟检测器对其进行检测,描述为

上述函数表示n个成熟检测与m个抗原匹配,如果匹配成功,返回结果1,表示检测器识别了该抗原,即发现病毒。

2.2 算法实现

本研究模型涉及两个算法,自体耐受算法和检测算法。自体耐受过程通过未成熟检测器与抗体集的匹配,产生成熟检测器。在实际应用中经过连续迭代产生足够数量的成熟检测器,再利用成熟检测器来检测非自体抗原。

2.2.1 自体耐受算法

根据本文定义的定义域随机生成一串二进制字符,作为初始的未成熟检测器,把未成熟检测器与抗体集循环匹配,如果匹配不成功则存活,成为成熟检测器。成熟检测器经过进化变异形成未成熟检测器,然后再经历耐受学习,这是一个迭代过程。当成熟检测器数量超过预设值,则根据LRU原则“淘汰”到记忆检测器中,其流程如图2所示,伪代码描述如下。

图2 自体耐受流程

2.2.2 检测算法

从自体耐受算法获得了足够多(数量可根据精度需求自定)的成熟检测器后,才能进行病毒检测,如果成熟检测器数量较少则检测效果很弱,漏检的概率较高,例如成熟检测器集中只有一个或者为空集。经过多次迭代产生足够的成熟检测器,则识别能力显著增强。其伪代码描述如下。

3 仿真实验

为了验证本模型的性能,本文设计了一个模拟仿真试验,以收集的真实实验数据为基础,并与传统的病毒检测方法进行对比,来分析免疫模型的性能。

3.1 实验环境

使用IBM服务器X3650M4作为实验机,主要配置:CPU为Intel至强E5-2600,内存4GB,500GB硬盘,操作系统为Microsoft Windows 2003,云平台使用Google Compute Engine,开发工具为Visual Studio 2010。为了保证实验机纯净环境,除操作系统自带软件外,不再安装其它软件。

3.2 实验数据

本文选取美国哥伦比亚大学的数据测试集(2D Synthetic Data)[9],从中选取500个病毒样本,其中250个样本包含其特征码(即认为是已识别的病毒),另250个样本不包含特征码(即认为是未知病毒),300个正常程序样本。从两种病毒样本中各随机抽取200个作为非自体集,从正常程序样本中随机抽取250个作为自体集。设置成熟检测器数量n=1000,为了使成熟检测器更具有代表性,耐受过程需要更为严格的匹配,本实验自体耐受匹配程度阈值β=0.03,而在病毒检测过程中匹配程度阈值高一些意味着检测精度更高,减低误检率,但如果设置过大误检率也会提高,经过试验,成熟检测器匹配程度阈值设为β=0.9较为合适。首先随机生成未成熟检测器,随机选取正常程序样本200个生成抗体,经过自体耐受后生成若干成熟检测器。本文为了方便比较,行为特征检测法采用文献[10]所介绍的基于行为特征的检测方法。

3.3 实验结果

通过实验得到3种检测方法的比较结果(见图3)可以看出,免疫检测模型在成熟检测器数量较少时检测率较低,这是因为当成熟检测器较少时识别能力比较有限。特征码检测法和行为特征检测法两条曲线受成熟检测器数量的影响较小,这两种检测方法的检测率维持在80%左右;当成熟检测器逐渐增多后免疫检测模型有明显优势,最高可达到98%。这得益于不断的学习耐受,以获取越来越多的成熟检测器。云平台是一个大数据量平台环境,免疫检测模型在这种环境下能够得到充分的学习,不断壮大成熟检测器的规模,因此,能够获得很高的检测率。

图3 检测率比较

本实验还特别测试了误检率问题,由图4可以发现,开始时免疫检测模型误检率较高,在成熟检测器较多时下降很快,甚至低于5%,而其他两种检测方法的误检率相对较高,原因在于特征码检测法针对已知病毒收集其特征码,并进行比较,这种情况下检测率很高,碰到随机抽取的未知病毒就会出现误检的情况;行为特征检测法存在的问题是病毒行为和正常程序行为难以界定,并无明显的界线,这是其误检率较高的原因。

图4 误检率比较

4 结束语

云平台网络环境复杂,随时都可以遭遇病毒,本文针对性地提出了一种基于人工免疫检测模型,通过自体不断学习耐受,获取越来越多的成熟检测器,不断提高病毒的识别能力,仿真实验证明免疫模型明显优于另外两种检测方法,误检率较低;并且模型具备学习能力,迭代学习的次数越多,识别能力越强,因此,能适应不断变化的云平台环境。

[1]AYDIN I,KARAKOSE M,AKIN E.An adaptive artificial immune system for fault classification[J].Journal of Intelligent Manufacturing,2012,23(5):1489-1499.

[2]Shiow-Yun Chang;Tsung-Yuan Yeh.An artificial immune classifier for credit scoring analysis[J].Applied Soft Computing,2012,12(2):611-618.

[3]WONG N,RAY P,STEPHENS G,et al.Artificial immune systems for the detection of credit card fraud:an architecture,prototype and preliminary results[J].Information Systems Journal,2012,22(1):53-76.

[4]BINH L N,HUYHN T L,PANG K K.Combating Mobile Spam through Botnet Detection using Artificial Immune Systems[J].Journal of Universal Computer Science,2012,18(6):750-774.

[5]SAMIGULINA G A.Development of decision support systems based on intellectual technology of artificial immune systems[J].Automation and Remote Control,2012,73(2):397-403.

[6]王琴琴,何青松,曾剑平,等.一种基于服务自适应的系统可生存性策略[J].计算机应用与软件,2010,27(8):226-228.

[7]高超,刘际明,钟宁,等.邮件网络中基于介数的免疫策略研究[J].计算机工程,2010,36(5):18-20.

[8]王维,张鹏涛,谭营,等.一种基于人工免疫和代码相关性的计算机病毒特征提取方法[J].计算机学报,2011,34(2):205-215.

[9]李超,刘以泓,邢丹丹.一种基于人工免疫的计算机病毒提取方法[J].青岛大学学报:自然版,2011,24(4):62-64.

[10]刘帅,吴艳霞,马春光,等.采用Win32API相关行为分析的未知病毒检测方法[J].计算机工程与应用,2011,47(27):119-121.

[责任编辑:刘文霞]

A method of virus detection on cloud platform based on immune mechanism

FU Long-tian,XU Ge,CHEN Teng-lin

(Minjiang University,Fuzhou 350011,China)

With the rapid development of information technology,the virus has become the security threat of the majority of internet users,of which cloud platform and client have suffered from viruses more seriously.Every virus has caused many countries a great loss in the world,and also wasted a lot of manpower and material resources.By using the biological recognition ability for allogeneic,it proposes a detection model based on artificial immune principle to obtain a mature detector by self-tolerance study,which can detect the non self antigens.Simulation results show this method of virus detection with low false detection rate has a strong adaptive capacity.

virus detection;artificial immune;cloud platform;nonself antigens

TP3

A

1671-4679(2015)01-0032-04

2014-07-30

国家青年基金资助项目(61300156);福建省教育厅资助项目(JB10119)

傅龙天(1976-),男,讲师,硕士,研究方向:信息安全.

猜你喜欢
病毒检测检测法检测器
2021下半年加州鲈病毒检测总结与建议
基于WinPcap的校园网ARP病毒检测防御系统设计与实现
基于二次否定剪切选择的入侵检测方法*
车道微波车辆检测器的应用
一种柱状金属物质量检测器的研究
T-SPOT.TB检测法和荧光定量PCR检测法在诊断结核病中的应用价值
一种针对噪声不确定性的顽健循环特征检测法
GeXP多重RT-PCR技术在呼吸道病毒检测中的应用
一种雾霾检测器的研究与设计
HIV感染者血浆、尿液巨细胞病毒检测的临床分析