微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 模块化免疫神经网络模型在计算机病毒分类检测中的应用

模块化免疫神经网络模型在计算机病毒分类检测中的应用

时间:05-29 来源:兵工自动化 点击:
0 引言

随着信息技术的发展和互联网应用的普及,计算机系统受到计算机病毒的威胁。计算机病毒分类检测,指将可疑文件作为输入,执行某病毒检测算法后输出结果(无毒、带毒/带何种毒)的过程,实质上是对文件的分类。病毒分类检测应属于模式识别范畴。由于单一的技术无法有效地对抗计算机病毒,技术的融合并用及智能化,将是未来计算机病毒检测的趋势。故采用免疫算法和神经网络的新型网络模型,对计算机病毒分类检测进行研究。

1 模块化免疫神经网络模型的提出

人工神经网络和人工免疫系统都是受生物学的启发发展而来的理论和技术,两者在生物学原理和人工原理上各有异同。研究表明,免疫原理可以应用到神经网络中,以提高神经网络的性能;反之,神经网络理论也可以应用到人工免疫系统中,从而产生一个相互之间可以受益的研究领域。

图1中,抗原(Ag)表示神经网络中输入神经元到输出神经元的权向量Wk(由抗体Ab和自体库集S共同作用后,基本调节好的权向量),基于计算机病毒的入侵检测中,代表一类网络数据包,以二进制串表示。抗体(Ab)表示神经网络中的输入样本。S代表自体库集合。权值及输入样本和输出单元都使用二进制,即只使用0和1表示,如图2。

首先抗体库中的向量都会和白体库的向量进行识别。如果抗体库中的向量一旦和自体库中的向量匹配,则会进行剪枝操作。

沿用传统的抗体网络特征,规定ξj表示网络中抗体j的抗原浓度,即抗体j所能识别的抗原个数。1个抗体细胞k与某种抗原细胞的亲和力,由权向量与该抗体的汉明距离(Hamming)决定,可由式(1)得到与Ag可能性的最大状态序列δ:

亲和力δ越大,说明这种抗体能够对此抗原进行较好的应答,保留。相反,通过剪枝的方式,从网络中删掉。把不与自身反应的抗体保留,进行对抗原的识别,进行后续的工作。

否定选择后的抗体与抗原进行神经网络的作用,规则如上,如果抗体不匹配,按照已有的神经网络的权值算法的改进步骤进行权值的调整,以达到在给定抗体空间中拥有最大的解空间度,即2个抗体之间有最大的不相同度。

更新抗体种群,经过若干次的叠代运算,把抗体种群训练收敛于一个较稳定的集合,即学习过程完毕。学习完成后,可以用于计算机病毒检测中。

2 模型设计思路

整个网络的竞争学习步骤分为2部分:

第1部分:首先从抗体库里根据概率密度P(Ab)选择出1个抗体进行输入。并和自体库S进行运算,并设定阈值ε,当满足式(2)时:

抗体经过了自体耐受,变为成熟的检测器,且不与自体发生免疫应答,是合格的检测器。如果超过阈值ε,则从网络中删除此抗体节点。抗体Ab1和自体集S中的S1产生了免疫应答。

第2部分:经过自体耐受的抗体分别和某个抗原Agk进行作用,在抗体内部设定1个ξi,一旦抗原的权向量和抗体的汉明距离超过阈值ε,ξj增加1,如果ξj长时间等于0,将此抗体从网络中删去。当ξj增加到1个常值M时,不再继续增加,启动1个计时器,按一定的间隔时间t递减ξj,避免了长时间未产生应答的抗体继续残留在抗体库中。新模型中的神经网络处理单元如图3。

在该模型中,每个神经元的基本性质相同,但具体形式不同。因此,每个神经元的激活函数被设计成可变形式,也就是说,激活函数的基本性质保持不变,但具体的形式应该可以通过调整函数的参数来改变,任一神经元i的激活函数可设计成:

3 抗体自体库的建立

随机获取一组输入向量抗原X,按照式(1)产生与X最匹配的中心序列k,把k添加到抗体群中。由于计算机病毒入侵检测中在某段时间出现相同的入侵行为的概率较高,可根据网络使用情况,进行最快速度的匹配运算,而不需要进行学习功能。

抗体自体库主要由选择抗体集、交叉抗体集和变异抗体集组成。

1)选择抗体集的设计:是保证免疫算法种群优胜劣汰的重要抗体集,且有较多的实现。

2)交叉抗体集的设计:交叉就是把2个父个体的部分结构加替换重组而生成新个体的操作,其目的是能在下一代产生新的优化抗体集。

3)变异抗体集的设计:因免疫算法中变异抗体集以辅助手段出现,故采用本位变异的方法即可。

4 仿真实验

其训练方法如图4。

4.1 仿真训练初始数据的收集

目前世界上很多研究机构和研究人员致力于计算机病毒入侵检测方面的研究和系统开发,提供了一些测试资料集合,包括网络资料、基于主机的审计资料和系统调用序列。

网络传输协议/网络协议(TCP/IP)对需要组织传输的资料包进行打包。TCP层在包中加入了头信息如:源埠、目的埠、序列号、ACK确认号、偏移量、SYN、FIN、窗口和紧急指针等。含有TCP头信息的包被送到IP层,加IP资料包头如:包头长度、服务类型、资料包长度、分段偏移量、生存期、协议类型、源地址和目标地址等。而正常和异常的数据包都在网上传输,其特征是有差别的。

为测试改进后的网络在病毒入侵检测应用中的效果,采用了具有30万条数据记录的测试数据集,每条数据包括了网络数据包的包头信息、网络连接信息和数据信息等,每条数据包含96位的二进制代码。其中前32位二进制为源IP地址,32-64位二进制为目标IP地址,64-96位二进制表示了一些数据信息,每个数据被标记为异常或者正常。该数据源由MATLAB利用random()函数产生一组随机的小数,因为考虑到是二进制运算,规定:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top