- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于改进人工鱼群算法的网络异常入侵检测
摘 要网络入侵检测算法的效率直接影响到检测的正确率,针对特征选择问题,提出一种改进人工鱼群算法选择特征的异常入侵检测方法。仿真结果表明,改进后的算法降低了特征子集的维数和检测误报率,加快了异常入侵检测的速度。
【关键词】人工鱼群算法 特征选择 混沌机制 入侵检测 反馈机制
1 引言
伴随着网络技术的发展,网络攻击也日趋呈现出方式多样、手法隐蔽等特点,传统的防火墙属于被动防御技术,已经不能满足网络用户的安全需求,上世纪80年代,anderson等人就已提出网络入侵检测的概念。网络入侵检测分为误用检测和异常检测两种类型,由于异常检测能够通过学习来发现新的攻击方式,属于主动防御技术,因此成为当前主要的研究方向。
网络入侵检测需要对入侵的数据包进行特征提取和分析。由于特征存在冗余性,因此需要在大量的特征中提取出最优的特征,才能降低特征的维数,提高检测效率。文献中研究了当前主流的特征选择算法,包括:顺序选择法、粗糙集方法、遗传算法、粒子群算法、蚁群算法和支持向量机(SVM)等。支持向量机因其泛化能力强,成为当前主要的网络检测算法,但其存在检测性能与参数相关度过高的弊端。
为改进该算法的弊端,本文提出一种改进的异常入侵检测方法,该方法采用wrapper特征选择模型,利用改进的人工鱼群算法进行入侵特征选择,改进的人工鱼群算法在原有AFA(Artificial Fish Swarm algorithm)算法的基础上,引入混沌搜索,利用其遍历性、随机性、规律性等特点,提高了算法的全局收敛性。之后采用SVM分类器对选择的特征性能进行分类、判断,最后再对选择的特征进行更新,以找到最优特征组合。最后通过KDD99数据集对算法的性能进行验证,证明了本文算法的可靠性和准确性。
2 异常入侵检测模型
本文设计的入侵检测模型结构框架如图1所示。首先采用wrapper特征选择模型,利用改进的人工鱼群算法(IAFA)进行入侵检测特征选择,之后,采用SVM分类器对选择的特征性能进行判断,因为特征来自训练集和测试集两个方面,因此还要先进行分类,然后再对选择的特征进行更新,以找到最优特征组合。
3 改进人工鱼群算法及特征选择
3.1 改进人工鱼群算法
算法借用混沌搜索的思想,混沌变量选用Tent映射:
(1)
根据上述映射公式,依照如下步骤将人工鱼i在可行域中产生混沌点列:
步骤1:依照公式(2)将人工鱼状态Xi的所有维度 Xik (k=1,…,n),映射到[0,1]这个区间内
(2)
其中ak表示第k维变量Xik的最小值,bk表示Xik的最大值。
步骤2:将Tent映射公式(1)进行M次迭代后,产生一个序列。
步骤3:依照公式(3)将上一步骤中产生的混沌序列的状态值映射回原空间
(3)
步骤4:通过上述混沌序列,得到人工鱼Xi经过Tent映射后产生的混沌点列:
(4)
步骤5:对人工鱼状态的优劣进行再次评估。
步骤6:如果状态比状态Xi优,那么就以作为混沌局部搜索的结果,否则令s=s+1,然后重新回到步骤2执行。
算法设计了一个公告牌,公告牌中记录了当前人工鱼群的最优状态,人工鱼按照某一概率向此状态移动,为了能保证改进后的算法能够有更高的精度和执行效率,我们设计让人工鱼按照Pfb的概率执行随机行为,按概率1-Pfb执行反馈行为,并且让Pfb=θPfb,其中 θ(0, 1)。
3.2 入侵特征选择
入侵特征选择按照如下步骤完成:
步骤1:收集网络中的状态信息,完成学习样本的组成及预处理。
步骤2:提取网络中的状态特征。
步骤3:人工鱼参数初始化,具体包括:最大步长Max_Step、视野半径Visaul、反馈概率Pfb、初始迭代次数passed_iterate、最大迭代次数max_iterate等;
步骤4:初始化完成后,随机生成n条人工鱼。
步骤5:计算得到所有人工鱼的适应度,并与当前公告牌中的值进行比较,若当前的值优于公告牌的值,则将当前的值记入公告牌。
步骤6:对人工鱼执行觅食、追尾等行为,然后评价其结果,若执行某行为以后,人工鱼的状态落后于当前状态,则该人工鱼不动,反之则人工鱼向前移动一步。
步骤7:根据式(1)~(3),执行混沌搜索,得到当前解域范围内的最好的人工鱼状态,并将最好人工鱼状态记入公告牌;
步骤8:根据式(5)更新反馈概率;
步骤9:如果达到了精度要求或者是到达了最大迭代次数,则算法结束,同时输出公告牌中的人工鱼状态,否则转到步骤(5)执行。
4 支持向量机的网络入侵分类器
SVM的
文档评论(0)