标题 | 基于改进人工免疫算法的入侵检测算法研究 |
范文 | 宋海波++陆正福++刘仕云 摘 要:传统的入侵检测方法对于实时性网络中未知攻击的检测率比较低,为了提高对未知攻击的检测,将改进的采用二进制与实数混合编码的人工免疫算法应用到入侵检测中。 关键词:入侵检测;人工免疫;检测率 DOIDOI:10.11907/rjdk.1511280 中图分类号:TP312 文献标识码:A 文章编号文章编号:1672-7800(2015)012-0067-02 0 引言 入侵检测是一种能检测任何企图破坏资源完整性、保密性和可用性等入侵行为,并能采取对抗措施的技术。它作为一种主动防御技术,弥补了传统安全技术的不足,但也存在面对大规模的新型攻击,传统的检测方法检测效率不高的问题[1]。本文将改进的人工免疫算法用到入侵检测中,从而提高对未知类型攻击的检测率。 1 人工免疫 1.1 人工免疫系统 人工免疫系统[2]是模仿生物免疫系统所建立的一种新方法,它根据生物免疫系统,模拟生物免疫系统的相关机制,提出新的算法和系统架构解决目前的实际问题。 1.2 人工免疫系统通用框架 人工免疫系统的通用框架如图1所示。首先利用目标函数产生初始化抗体;然后进行亲和力计算;再次抗体通过学习增加群体个数;最后如果满足条件则结束,否则继续学习。 1.3 人工免疫系统综述 文献[3]中提到,Kim在实验过程中证明只有在被检测对象是网络通信数据的一个非常小的子集或者数量很少的子集时,NSA(Negative Selection Algorithm)才有效。NSA的随机搜索特性导致其仅仅只能应用于有限的网络入侵识别。同时,Kim认为RCMF (R-contiguous Matching Function)作为一种连续位匹配函数, 在连续特征区间 图1 人工免疫系统的通用框架 的网络通信数据进行匹配程度判定时作用才明显。文献[4]中提出了基于粗糙集的反向选择算法,建立了基于粗糙集和人工免疫的入侵检测算法,但是其不足在于抗体的种类不多,因此导致了漏报率偏高。针对反向选择算法在面对大量的网络通信数据,或具有多个分离特征区间网络通信数据时的无效性,文献[5]中提出了基于模糊控制及遗传算法的人工免疫入侵检测算法,利用模糊控制原理对抗体进行浓缩,并通过遗传算法进化种群,使得抗体的数量得到控制且在很大程度上提高了检测效率,但是也同样导致了种群数量不多和漏报率偏高的问题。文献[6]中提出了用一种基于神经网络的自组织映射,将非正常的连接带上记号,作为一个集合体,同时拥有更高级的信息。 2 人工免疫算法的具体流程 Step1 利用目标函数产生初始化抗体; Step2亲和力的计算一般采用r-连续位法。 r-连续位法是一种部分匹配规则,即对于两个字符串 x和y,如至少存在连续r位相同,则它们就是r-连续位匹配; Step3抗体通过学习增加群体个数; Step4满足条件结束,否则跳转到Step2 继续。 3 改进人工免疫算法设计及应用 3.1 改进方面 为了在计算机上模拟生物免疫系统的工作模式,必须将免疫系统中的抗体、抗原、B 细胞等对象符号化,并定义它们之间的亲和度计算方法。虽然二进制编码方式广为采用,但是本文采用二进制与浮点数混合编码,二进制编码部分采用r-连续位匹配,实数编码部分采用欧式距离的测量方法,当某条记录同时满足r-连续位匹配和欧式距离小于给定的阈值d时,就是一条正常记录,否则是一条异常记录。 3.2 人工免疫算法 输入:免疫个体 输出:自己和非己个体 算法步骤: Step1 连接数据库,输出抗体; Step2 利用r-连续位匹配进行非己个体的识别,并输出检测效果。 /* 15000个个体数进行自我和非我的识别*/ 实验平台是Java_8.0.600.27,微软公司的access数据库。 用Java语言对人工免疫算法伪码描述如下: public class AI { /*种群的数目是100*/ public static final int Pop_SIZE=100; /*待检测群体*/ public static String[][] d=new String[][11]; /*种群存放数组*/ public static String[]pop=new String[100]; public static String[]result=new String[]; /*连接数据库,初始化第一代抗体*/ database_connection(); /*输出第一代抗体*/ Print_firstgeneration(); /*人工免疫算法中个体的编码方法*/ public void encoding(); /* 检测函数,并输出检测结果*/ public void deteting_start(); { /*检测率*/ double averageDetectRata; /*误报率*/ double averageErrorRata; /*漏报率*/ double averageFallNegRata; /*检测的记录数*/ int M; for (int i = 0; i <100; i++) {int N=i+1; /*第N个抗体*/ System.out.println("第"+N+"个抗体检测结果:"); for (int j= 0; j public static void main(String args[]) { AI detecting_pop=new AI(); detecting_pop.database_connection(); detecting_pop.printfirstgeneration(); detecting_pop. encoding(); detecting_pop.detecting_start(); } } 4 结果比较 如表1所示,将改进后的人工免疫算法用到入侵检测系统中,对于新型攻击的检测,混合编码的人工免疫算法高出二进制编码的人工免疫算法。 5 结语 实验结果表明,本文设计的基于混合编码的人工免疫入侵检测算法对新型攻击具有较高的检测率,检测性能良好。 参考文献参考文献: [1] 钟将.基于人工免疫的入侵分析研究[D].重庆:重庆大学,2005. [2] 杨孔雨.免疫进化理论与应用[M].北京:社会科学文献出版社,2008. [3] 符海东,赵建峰. 基于决策树及遗传算法的人工免疫入侵检测算法[J].微计算机应用,2008,29(3):11-15. [4] 符海东,赵建峰.基于模糊控制及遗传算法的人工免疫入侵检测算法[J].计算机应用与软件,2008,25(7):83. [5] 符海东,赵建峰. 基于粗集理论和人工免疫的入侵检测方法[J].计算机工程,2008,34(3):194-195. [6] SIMON T POWERS,JUN HE.A hybrid artificial immune system and self organising mapfor network intrusion detection [J]. Information Sciences, 2008(178): 3024-3042. [7] UCI KDD ARCHIVE [EB/OL] http://kdd.ics.uci.edu/. (责任编辑:陈福时) |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。