基于IHGS-SVM算法的网络入侵检测方法
2023-10-11高倩
高 倩
(河南警察学院 网络安全系,郑州 450046)
近年来,网络安全引发了人们的高度关注。网络入侵检测系统在出现外部网络入侵时,可以第一时间拦截并提醒用户。因此,怎样提升网络入侵检测系统的防护效率一直是网络安全领域的重点[1-2]。
目前,互联网入侵检测算法繁多,具有代表性的包括模式匹配算法、博伊尔-摩尔算法、快速搜索算法等。上述算法只能识别出单类型的网络入侵行为,已经无法适应目前网络安全检测的需要[2]。近几年,随着网络技术的更新,出现了马尔可夫、支持向量机(Support Vector Machine,SVM)、人工神经网络(Artificial Neural Networks,ANN)等入侵检测算法。其中,SVM算法对比ANN等算法有着更强的参数拟合能力[3]。对于维度高、信息少的网络入侵行为,具有很好的检测效果[4-6]。许多研究结果显示,SVM算法的检测效果与其算法中参数(惩罚因子C和核函数等)紧密相关。因此,为了得到更好的SVM参数,许多研究人员提出采用遗传算法(Genetic Algorithm,GA)、蚁群算法(Ant Colony Optimization,ACO)、粒子群算法等智能算法去寻找SVM的最佳参数值,提升其入侵检测效率[7-8]。
但是,上述方法对网络入侵攻击的辨别效率低、精确度不高。为解决这些问题,本文提出了一种融合改进的饥饿游戏搜索算法(Improved Hunger Games Search, IHGS)和SVM的网络入侵检测新方法。首先利用混沌初始化和动态进化策略对饥饿搜索算法进行改进,然后将改进后的算法与SVM算法融合,并对网络入侵行为进行检测,从而提升网络入侵检测模型的效率及准确性。
1 算法基本原理
1.1 饥饿游戏搜索算法
饥饿游戏搜索(Hunger Games Search,HGS)算法是Yang等[9]提出的一种新型优化算法。该算法概念源于“饥饿”,是生命周期中负责不同行为的最关键因素。HGS中的全局搜索和局部搜索过程具体描述为:
S(i+1)=Si·(1+rn(1)),r1 (1) (2) (3) (4) 式中,h是在0和2之间的变量。 (5) 式中:Fi和F*代表当前解和最优解的适应度,sech是双曲正割函数,其表达式为: (6) ω1和ω2是利用种群的饥饿水平为每个个体计算的自适应权重,其表示式为: (7) (8) (9) 每个个体的饥饿水平(Fi)是不同的,h值的计算如下: (10) (11) 式中:Fw为本次迭代评估的最差适应度值;lb和ub为搜索空间的上下限;Fi-F*用于评价个体不再感到饥饿所需的食物量;Fw-F*表示当前迭代的整个狩猎范围;r6是介于[0,1]之间的随机数;lh和th为判别参数。 SVM算法采用了统计思想,利用数学表达式描述网络入侵行为如下: yi(w·xi+b)-1≥0。 (12) 式中:xi表示输入值;yi取1或者-1,两者表示不同的类型;w在Rn的范围内;b代表误差;i为自然数。 结合实际网络入侵情况设计目标函数为: IUI因操作简单、并发症少、易被患者接受等原因,已成为最具代表性的辅助生殖技术之一。IUI的适应证包括因男方因素、宫颈因素、免疫因素及不明原因等造成的不孕不育。本研究中的IUI临床周期妊娠率为11.93%,较文献中报道的约20%IUI总临床妊娠率较低[4]。IUI成功率受多因素影响,本研究重点从男方年龄、女方年龄、不孕年限、女方BMI、女方基础内分泌(FSH、LH、E2)、不孕类型、精子浓度、活力、总数、TMS、PTMS等方面对511对夫妇(1 090个周期)进行分析,探讨对宫腔内人工授精妊娠率的影响。 (13) 利用动态进化(Dynamic Evolution Strategy,DES)策略改进HGS算法,该策略基本上是基于自组织临界性理论。表明种群中的局部变化可能会影响整个种群,而无须任何外部干预。DES的目的是通过从当前迭代的解中移除最差的解,并通过生成最优解周围的新个体来取代最差的解,从而提高解的质量。 与其他元启发式优化算法一样,HGS也使用随机初始化,但这种方法对种群的多样性不利。因此,使用Tent混沌映射对种群进行初始化,使种群尽可能平均地覆盖整个解空间。 (14) 式中:xt+1为更新后位置;xt为上一代位置。 IHGS-SVM算法是在SVM算法的基础上引入IHGS算法,具体过程如下: 步骤1:用混沌映射初始化的方法处理饥饿游戏算法中各参数的初始值。 步骤2:根据实际情况对个体的适应度进行评估。 步骤4:对种群中个体位置进行网络入侵检测,并不断更新检测对象。 步骤5:判断IHGS算法寻优结果参数是否满足结束迭代条件。如果满足,停止IHGS算法寻优并输出最佳参数。否则,返回步骤2,直至满足条件。 步骤6:从SVM算法中提取最佳参数,并应用于IHGS-SVM算法模型中。 引入用于多分类的检测模型,通过新的分类机制,对n/(2(n-1))个样本进行分类。设a和b为2种检测类型,样本训练模型设计如下: (15) (16) (17) 通过此训练模型,可以对n/(2(n-1))个样本进行分类,并且判断每个样本的具体类型。采用改进的投票策略作为判断方法。首先,在训练集中任意选择2个样本,利用SVM算法进行比较,最终得出满足条件的样本。然后,将此次选出的样本作为下一次训练的样本,并且和本轮迭代中的其余样本进行对比,得出此次迭代的最优样本。接着,不断进行训练,直到整个训练集中的样本都完成对比。最后,辨别各个样本对应的网络入侵行为,提升入侵检测的准确度。IHGS-SVM检测模型框架如图1所示。 图1 检测模型框架 首先对网络入侵数据集进行预处理,并将其划分为训练集和测试集。该模型中设置多个代理响应单元(Agent)进行入侵检测,并将检测后的数据最终反馈给响应单元。所有的网络访问行为信息都被保存到系统数据库中,通过框架结构的系统数据库,获取有关信息并加以处理,形成待检测数据,从而符合IHGS-SVM算法检测要求。另外,所采用的训练集和测试集都必须先经过数据预处理,而不是未经处理过的网络入侵行为信息,这样可以大大提升检测效率。 IHGS-SVM算法检测网络入侵信息的具体过程如下: 步骤1:收集初始的数据,获取互联网端口的入侵行为信息。 步骤2:采用归一化方法,对步骤1中采集的访问数据进行预先处理,均匀划分各样本,使得样本快速收敛。 步骤3:选择确定在SVM中的学习样本。利用步骤2得到数据样本作为学习样本,并采用IHGS算法优化SVM中各参数值,从而得到模型的最佳参数。 步骤4:基于步骤3中得到的参数对训练集样本进行训练,最终得出IHGS-SVM模型。 步骤5:基于系统设定的网络侵入行为特征进行判定,查看网络上的数据信息。假设当前的数据特征和网络侵入行为特征相符,即可判定当前数据中的访问行为是侵入行为,并马上发出报警信息[10]。 步骤6:按照上述过程,分别对各网络连接终端的样本数据进行检测,找出具有攻击行为的样本,并得出测试结果。 本实验采用Windows 11操作系统,实验运行平台为Matlab R2018a,其他硬件条件为AMD R7-5800H,运行内存为16 GB。网络环境与各个接口间的通信连接,可以模拟网络入侵接入条件。在此条件下,用本文提出的IHGS-SVM模型来判断网络终端的侵入情况,主要有3种不同的入侵攻击行为,分别是扫描攻击(Scanning)、远程网络攻击(Remote network)和本地超级访问攻击(Local super access)。 本实验选取传统SVM算法和IHGS-SVM算法分别对5个样本进行对比实验,通过比较2种算法的检测结果和入侵攻击行为来检验IHGS-SVM入侵检测模型性能,如表1所示。 表1 入侵类型识别的检测结果 从表1可知,SVM算法有2个样本检测的结果与实际不一致,对样本1中Scanning攻击与样本3中Remote network攻击,均判定为无入侵攻击,检测错误。而本文提出的IHGS-SVM模型的准确率更高,5个样本的检测结果均与实际情况一致。基于上述结果可知,本文设计的IHGS-SVM入侵检测模型具有良好的性能,且较传统SVM算法在准确度方面有显著提升。 基于不同的模型在验证集上的检测时间进行仿真和比较,并使用遗传算法优化的支持向量机(Genetic Algorithm-Support Vector Machine,GA-SVM)和蚁群算法优化的支持向量机(Ant Colony Optimization-Support Vector Machine,ACO-SVM)作为比较模型。从图2可以看出,与GA算法和ACO优化算法相比,本文提出的IHGS算法可以帮助找到更优的SVM参数,搭建性能更佳的网络入侵检测模型,从而更加快速地对入侵攻击行为进行检测,提升检测效率。结果表明:利用IHGS优化SVM的参数是可行且有效的,有助于提升网络入侵检测模型的各项性能,快速、高效地实现网络入侵行为检测。 图2 不同模型的运行时间 本实验分别基于传统SVM和IHGS-SVM进行,具体的入侵行为检测结果指标对比如表2所示。 表2 不同模型的入侵检测结果 % 从表2可知,SVM模型具体表现为5个样本的准确率为81.91%~83.04%,漏检率为16.96%~18.09%,误检率6.08%~6.45%。而本文的IHGS-SVM模型的准确率为93.78%~95.32%,漏检率为4.68%~6.22%,误检率为0.78%~1.11%。相较于传统SVM模型,IHGS-SVM模型检测平均准确率提升约14.74%,平均漏检率降低约69.62%和平均误检率降低约85.50%。IHGS-SVM模型更适应目前网络入侵行为检测场景。 本文设计了一种IHGS-SVM算法用于网络入侵行为检测,以提升检测准确率。基于传统SVM和IHGS-SVM进行实验。结果表明,所提出的IHGS-SVM模型可以快速准确地辨别出网络入侵行为,准确率超过93%,漏检率低于7%,误检率低于2%,均优于传统SVM算法。该方法虽然能有效地识别入侵信号,但仍存在误识别和漏检的问题。在未来,将尝试引入前沿的算法模型,例如深度学习、强化学习等技术,建立入侵检测模型,从而适应越来越复杂的网络场景。1.2 SVM算法
2 IHGS-SVM算法
2.1 DES策略
2.2 种群初始化混沌改进
2.3 IHGS-SVM算法流程
3 网络入侵检测模型构建
3.1 网络入侵检测模型体系架构
3.2 网络入侵检测过程
4 实验与结果分析
4.1 实验环境
4.2 入侵类型检测结果分析
4.3 不同模型的入侵检测时间
4.4 不同算法的入侵检测
5 结论