APP下载

基于PSO-FCM智能算法的计算机网络入侵检测方法 ①

2022-01-14许彩芳

关键词:智能算法粒子聚类

许彩芳

(宿州职业技术学院计算机信息系,安徽 宿州 234101)

0 引 言

随着互联网中的网络行为与数据量的日益增加,互联网时刻影响着人们日常学习与生活,“互联网+”行业也在日益增多,人类社会对互联网的依赖性已变得越来越大[1-3]。由于当前计算机网络中信息量增长迅猛,使得入侵检测的准备率较低,以致缺乏适用性与有效性,许多学者已经开始在智能计算与数据挖掘领域对入侵方法进行新的研究。芶继军等人提出了一种基于随机森林的网络入侵检测模型[4]。Vasant P等人开发了一套入侵检测系统,通过检测模型将攻击类型分为H-IDS和N-IDS两类[5]。虽然当前对网络入侵检测技术研究方法较多,但基于PSO-FCM智能算法的入侵检测方法仍然很少,研究旨在探索基于PSO-FCM算法的网络入侵检测方法的有效性。

1 基于PSO-FCM智能优化的入侵检测算法

1.1 基于PSO-FCM的入侵检测算法

将PSO算法引入FCM算法,研究分析聚类个数的不确定性,并对数据样本集中的数据进行降等预处理操作,以优化FCM算法。对于FCM算法中存在的不足,采用了优化聚类的方式改进FCM局部最小值问题,以优化聚类的效果。在FCM中引入PSO的全局搜索性能,综合相互之间的优势,将FCM中聚类中心与更新迭代采用PSO优化算法进行替代计算,最后得到PSO-FCM改进算法。为了防止目标函数在局部进行极小化过程,优化后的PSO-FCM聚类算法要进一步的将搜索空间扩大,因为该算法迭代的过程不同于单一的模糊聚类算法,使FCM搜索方向变得具有多样性,全局搜索的能力更强。

由于PSO中的任意粒子均有可能成为更新过程中的最优解。所以,基于PSO-FCM的思路是将聚类中心的空间采用粒子来进行表示,也可以理解为粒子编码问题。假设样本集合Z中有n个样本,表达式为Z=(z1,z2,z3,…,zn),zi表示任意向量。在样本集合中找到异常类与正常类以检测Z的有效性,并找到适合的聚类中心,若Z的类有c个,那么各个类中心表示为x1,x2,x3,…,xc,xi(1≤i≤c),且分别与Z是同纬度的向量。因此,一个粒子X是由这c个聚类中心组成的。根据这个思路,一个可行的解对应这一个编码,若样本数据维度表示为d,粒子长度表示为c×d,那么矩阵式(1)可以表示为单个粒子。若一个初始粒子群是由s个式(1)中矩阵组成,那么群体的规模为s。

(1)

在PSO搜索时,需要记录各个粒子的个体与全局极值,并不断评价粒子的适应度。在评价粒子适应度时,通常会应用到目标评价函数,并在J(U,V)基础上优化适应度,见式(2):

(2)

式(2)中,U在FCM中表示隶属度矩阵,而在PSO-FCM中表示为n×c矩阵,μij表示类中心j中数据样本i的隶属度。若改进后的优化算法效果越优,则个体适应度f值越大,评价值J越小。

由于PSO受到粒子最佳位置、速度以及群体最佳位置的影响,因此粒子在位置更新与速度计算上也受到了相应的影响。如果w相对较大,粒子跳出局部最小点的几率较大,能够提高全局搜索能力,反之则利于收敛,能够提高局部搜索能力。对惯性权值w进行了优化改进,在迭代的过程中,w在初期较大,后期则逐渐变小。如式(3)所示。

(3)

式(3)中,iter表示当前次数,iter_max表示算法最大迭代次数,w0表示初始惯性权值。若w0为0.9,iter_max为1000,进行迭代计算的进行,惯性权值w会越来越小,直到取值接近于0。

1.2 入侵检测算法工作流程

基于PSO-FCM聚类算法最后的关键流程是通过计算结果来分析标记类中心与数据的一致性,从而对入侵行为进行判断。最后对入侵检测方法流程进行了设计,包括训练、检测、数据库和报警四大模块。训练模块是聚类处理数据库中导出的数据,再将聚类处理结果导入数据库,同时在检测模块中导入对应的标类信息,将标类信息与读取的数据集进行匹配,并在数据库中写入检测信息。若入侵数据被匹配,就将信息传递给报警模块并启动处理程序。基于PSO-FCM计算机网络入侵检测算法的具体流程,如图1所示。

该算法流程主要分为训练、标类以及检测阶段,首先聚类训练数据集,再统计类中的样本量,并通过标类的方法对类中的样本量进行统计,从而识别异常类与正常类,测试样本集中的记录的最短距离是判断类归属的依据,并判断行为是否为入侵行为,如果是,则输出报警信息。

2 实验设计与分析

研究采用MATLAB对PSO-FCM智能算法的计算机网络入侵检测方法进行仿真测试。在测试中引入检测率与误检率指标,其中误检率为被误检查为攻击样本的例数与所有正常例数的比值,检测率为被检测为攻击样本的例数与全部攻击例数的比值。通常情况,入侵检测算法的指标应有较低的FR与较高的DR。将实验分为两个部分,一是进行实验对比操作以对实验完整性进行提升,其过程主要是对最优聚类数目c进行确定;二是对比PSO-FCM智能算法与常规FCM算法、随机森林(RF)算法以及Adaboost方法的误检率与检测率。

图1 基于PSO-FCM计算机网络入侵检测算法的具体流程

图2 测试不同聚类c值下的结果

设定最大迭代次数为1000,学习因子c1,c2的值均为1.49,惯性权重因子取值为0.9,模糊指数m的值为2。首先,探讨检测结果受到初始聚类数目影响程度,在实验中,观测并改变参数c的值,观察c值在不同取值的情况下,误检率与检测率的变化趋势。若实验过程采用样本集1,结果见图2。

由图2可以看出,当检测率最高时,聚类数量c值在[35,40]之间;当聚类数量c值为40时,对应的误检率也随之上升。因此,认为当聚类数量c值为35时,能够获得最低误检率和较高检测率。在下文的实验中,将聚类数量c值设定为35来进行。运行FCM,RF,Adaboost以及PSO-FCM智能算法,采用四种算法分别测试数据样本集,并对比运行后的检测率,结果见表1。

表1 对比FCM算法与PSO-FCM智能算法检测率

由表1可以看出,基于FCM算法的未知攻击检测率均值低于65%,已知攻击检测率均值低于70%;同时,说明了FCM算法与PSO-FCM智能算法在检测率上,已知攻击均优于未知攻击。在计算机网络入侵检测方法上,设计的基于PSO-FCM智能算法优于传统FCM、RF、Adaboost算法。由于各个算法在检测与标类阶段具有较好的相似性,仅具有训练数据聚类效果的差异性。因此,优化后的PSO-FCM智能算法具有更好的聚类效果。对于误检率的对比,试验在相同的样本集上对比4种算法的误检率,结果见表2。

表2 对比FCM算法与PSO-FCM智能算法误检率

3 结 语

利用基于PSO-FCM智能算法来实现信息网络的入侵检测功能,建立基于PSO-FCM计算机网络入侵检测算法的具体方法流程。结果表明,在聚类数量c值为35时,四种算法在检测率上,已知攻击均优于未知攻击。优化后的PSO-FCM智能算法在已知与未知攻击的检测中均显著优于传统FCM、RF、Adaboost算法,具有更好的聚类效果。优化后的PSO-FCM智能算法入侵检测误检率显著优于其他算法,证实了算法的有效性。误检率与检测率相对于同一算法而言,在不同数据集中,检测率升高的同时,误检率也会随之升高,实验中的误检率均在可以接受的范围内。研究也存在一些不足之处,未对真实网络环境中的数据采集与实时检测予以充分的考虑,在今后的研究中,会更关注模型影响因素的选择。

猜你喜欢

智能算法粒子聚类
碘-125粒子调控微小RNA-193b-5p抑制胃癌的增殖和侵袭
基于膜计算粒子群优化的FastSLAM算法改进
Conduit necrosis following esophagectomy:An up-to-date literature review
数种基于SPSS统计工具的聚类算法效率对比
面向WSN的聚类头选举与维护协议的研究综述
改进K均值聚类算法
从鸡群算法看群体智能算法的发展趋势
改进的多目标快速群搜索算法的应用
烟草香级智能集成分类方法
基于Robocode的智能机器人的设计与实现