基于PSO-KM聚类分析的通信网络恶意攻击代码检测方法

2024-02-04 04:34朱明宇
计算机测量与控制 2024年1期
关键词:误报率攻击行为识别率

李 梅,朱明宇

(苏州高博软件技术职业学院 信息与软件学院,江苏 苏州 215163)

0 引言

在信息技术飞速发展的势态下,以互联网为代表的信息网络发生了巨大变化,直接影响人们的生产和生活习惯。与此同时微电子和传感器以及无线通信技术的快速发展,也不断地推动互联网的迅速发展,从而产生了严重的网络安全问题。由于通信网络中包含有大量的数据节点,在数据存储和数据处理中容易受到恶意节点的攻击,当通信网络的性能减低时会引发网络崩溃[1],造成通信网络的大面积瘫痪,因此通信网络的运行需要在极大地保障下完成工作,通信网络恶意攻击代码检测方法对恶意攻击代码的检测和防御研究具有重要意义。国内外众多相关领域的专家非常注重恶意代码检测的研究,现阶段恶意攻击代码的分析和检测已经成为被广泛讨论的话题,并从不同的角度给出了多种应对策略,为实现通信网络的安全运行提供了多种技术支持。传统通信网络安全问题研究中通常使用硬件进行入侵防御,文献[2]研究了基于被动分簇算法的即时通信网络协议漏洞检测,其引入了被动分簇算法,采用该算法中先声明者优先机制挑选簇首,结合均衡原则明确网关节点,并且结合前向反馈网络和支持向量机,构建通信网络协议漏洞检测方法,实现检测。但对于通信网络的内部攻击没有任何防御效果,且不能适用于通信网络的动态变化,其正确识别率较低,无法保障通信网络安全。文献[3]研究了一种基于多特征集成学习的恶意代码静态检测框架,该方法通过提取恶意软件的非PE结构等特征,构建特征相匹配模型,通过集成算法提升模型稳定性,实现恶意代码检测。但也只能对一部分数据进行保护,无法完全辨别不同类型的恶意代码,恶意代码正确识别率低。

针对上述方法存在的问题,本文选择PSO-KM聚类分析技术作为支撑,借助该技术的动态特征提取优势确定网络中是否存在恶意入侵,设计通信网络的恶意攻击代码检测方法,以期通过该检测方法提高通信网络的安全性。

1 确定通信网络流动轨迹中恶意攻击行为特征

随着通信能力的逐渐增强网络中各个节点的功能发生巨大转变,通信节点从单纯的信息采集扩展到网络系统的数据处理以及存储等更多任务,因此用于通信网络系统数据处理的节点经常受到恶意攻击引起网络故障。为保证数据不被窃取和篡改以及丢失等要求,需要对通信网络数据的流动轨迹的行为特征进行分析,以无线传感器节点为通信网络的数据处理主模块,主要监测通信网络数据流转区域内的数据采集和转换,对其基本体系结构进行分析,如图1所示。

根据图1内容所示,通信网络中的无线传感器体系结构可以分为网络通信协议、网络数据管理和应用支撑3个部分,其中最主要的网络通信协议层级,该层包含数据的链路层和传输层,由于数据链路和传输在该层,则此处是恶意攻击重点关注位置,因此容易产生恶意攻击行为[4]。对其进行具体功能划分:网络通信协议中物理层,其主要借助无线电和红外线等传输媒介,完成节点信号的调制和数据的收发。数据链路层实现数据信息的成帧检测以及错误控制,网络层是对路由的控制和维护,传输层用来控制通信数据信息流的传输,应用层则是连接网络平台中的对应软件。

针对通信网络的基本体系结构,将其放置于在MFAB-NB框架内具体分析恶意攻击的具体类型,可以大体上划分为:对网络协议层的攻击、对机密性和认证性数据的攻击、以及对数据服务完整性的攻击,由于网络协议层为主要的数据流动轨迹,直接对网络协议层进行分析,将其受到的恶意攻击行为特征进行类型划分,按照物理层恶意攻击、链路层恶意攻击、网络层恶意攻击以及传输层恶意攻击进行展示,具体如表1所示[5]。

表1 网络协议层中流动轨迹恶意攻击行为特征分类

根据表中内容所示对不同的层级攻击行为进行分析,如以物理层来讲拥塞攻击主要是在通信网络链路中不间断的发送干扰信号,造成通信节点不能正常进行数据传输从而破坏网络,物理攻击则是将正常节点进行伪装,从正常节点的位置中发起攻击对网络安全造成威胁[6]。其他协议层中的攻击手段也不尽相同,基本上都是在链路中直接对节点产生攻击,消耗网络通信量的基础上造成正常节点的死亡,以此攻击方能够在数据融合过程中导入虚假数据。在此基础上选择归一化算法对特征归类,计算不同恶意攻击行为的特征值,判断链路中出现攻击行为的可能性。

2 归一化处理通信网络恶意攻击行为特征

无论哪一种通信网络攻击均含有多重身份ID,其ID数据可以是伪造的,也可以直接盗用正常节点,一旦恶意攻击代码形成,则通信网络中的数据运行机制会遭受严重破坏,对数据的存储和处理以及分配均会产生影响[7]。在有限条件下对恶意攻击代码进行特征计算,将恶意攻击行为进行归一化处理,通过恶意攻击代码的接受信号强度指标,对不同的攻击行为进行信道监测[8]。信号强度指标能够比较节点接收数据的功率大小,通过功率比值对信号源节点进行监测,计算节点中是否存在大于其自身的能力优势。利用普通节点m和n进行比较,设定被恶意攻击代码选择的节点为簇头节点b,则:

(1)

公式中:节点m的接收信号强度为RSSIm。节点n的接收信号强度为RSSIn。簇头节点b的接收信号强度为RSSIb[9]。阈值为v。强度比例为χ。簇头距离为c。以公式可知恶意攻击代码的节点选择原则,只与其到簇头的距离相关。假定恶意节点中存在良好总身份ID,分别为x1和x2,与其相关的存在有4组普通节点为z1、z2、z3、z4,则形成判断公式如下:

(2)

若公式中x1和x2到z1、z2、z3、z44组节点的距离相等,则可以得出x1和x2同时处于同一物理位置,即x1和x2为同一个节点,但由于身份ID不同,则说明在该节点处存在有恶意攻击代码[10],并且不同的信号强度下消耗节点资源也不同,一般情况下,恶意攻击的主要目的是消耗服务器的资源。在完成节点位置初步确定后,为进一步提高位置确定的准确性,以归一化处理方式假定攻击原理,设定不同的攻击行为特征进行初始位置,kl={kl1,kl2,...,klj}表示为代码初始位置,l表示初始位置,hl={hl1,hl2,...,hlj}表示初始攻击速度,代码的个体极值可表示为gf={gf1,gf2,...,gfj},能够被找到的全局极值表示为gd={gd1,gd2,...,gdj}[11]。结合PSO算法,确定代码恶意攻击行为特征的攻击速度以及位置,计算公式如下:

hls(a)=δhls(a-1)β1rand(a)(gf(a)-kls(a))+

β2rand(a)(gf(a)-kls(a))

(3)

kls(a)=kls(a-1)+hls(a)

(4)

上式种(3)为恶意攻击代码的速度更新方式,公式(4)表示恶意攻击代码位置的更新方式[12]。其中s=1,2,...,j、l=1,2,...,p,p为攻击代码数量。δ表示攻击代码飞行过程中的惯性系数,当δ越大时表示攻击代码的运行速度就越大,产生的破坏能力就越强,反之当δ值越小说明其搜索能力越弱,并且δ可以为定值也可以为变值。系数β1和β2表示攻击代码的学习因子,学习因子描述代码对整个攻击过程的认知程度,在β1取值较小时,即β1≤0.1,代码会偏移向攻击区域,β2较大时,即β2≥1.0,代码可以迅速到达指定目标区域。rand(a)表示随机函数,a表示(0,1)之间的数值[13]。kls(a)表示攻击代码目前的位置。kls(a-1)表示历史攻击中寻找到的最优位置。hls(a)表示恶意攻击代码目前的攻击速度。

至此完成归一化处理通信网络恶意攻击行为特征,确定了通信网络恶意攻击行为的攻击速度和位置。但是在多个变量的影响下攻击代码会逐渐靠近正常节点,此时,需要采用适用度函数计算其最优解,预先判断其最佳攻击位置。

3 粒子群优化算法寻找恶意攻击代码更新最优解

在第2章节通过归一化处理通信网络恶攻击意行为特征,获取高质量特征数据后,引入粒子群优化算法(PSO),寻找恶意代码更新最优解。在获取攻击节点与正常节点距离关系的基础上,分类不同攻击行为,由攻击行为组成的特征集合远离正常特征集合,通过不同的特征类型区分攻击行为和正常行为[14]。划分通信网络中的若干组行为为i个类型,各组类型中的特征相似度较高,而不同类特征之间的相似度较低。随机将i个类型作为初始中心,分别计算剩余类与设定中心的距离,将距离较近的类规划为一个族群,并重新计算初始中心,在不断地收敛过程中以均方误差作为标准函数,获取最佳的中心搜索位置:

(5)

(6)

公式中:fit为粒子群优化算法适用度函数[17]。当mse,mse′值越小时表示攻击代码粒子的适用度值越大,则其寻找到的粒子位置就越容易攻击正常节点,即可将其确定为攻击代码的优先选择的位置,否则当适用度值越小,则表示该粒子位置比攻击代码经过的所有位置都不适合攻击,即该粒子当前位置为安全位置,代码重新选择位置进行攻击,因此,可以通过计算恶意攻击代码的适用度值来确定其攻击的最佳粒子位置,获得最优解。具体最优解寻找过程如图2所示。

图2 粒子群优化算法的最优解寻找过程示意图

根据图2内容所示,将粒子群优化算法与攻击原理相结合,通过该算法中的适用度函数能够判断恶意攻击代码的粒子个体极值与全局极值,并且随着适用度函数的不断变化,粒子的两个极值会进行更新,最后得到的粒子最优解即为恶意代码确定的攻击位置[18]。以恶意攻击代码的适应度数值判断攻击粒子的位置,能够有效区分正常行为代码粒子位置和恶意攻击代码粒子位置,

(7)

(8)

以公式(7)和公式(8)获取的恶意攻击代码粒子的攻击速度和粒子位置为基础,构建恶意攻击代码特征集,即最终的最优解,公式为:

(9)

至此实现恶意攻击代码更新最优解获取,为检测恶意攻击代码奠定基础。

4 基于PSO-KM聚类分析检测恶意攻击代码

上述完成了PSO算法寻找恶意攻击代码更新最优解,但是此时判断出的恶意攻击代码粒子位置和速度仍存在一定的误差,直接应用的话,无法达到最佳效果,因此,为了进一步提高恶意攻击代码检测的准确性,在上述PSO算法寻找恶意攻击代码更新最优解的基础上,引入KM聚类分析,检测恶意攻击代码。在检测过程中,外在网络行为特征提取是检测重点,将上文划分的网络通信协议层存在的攻击代码按照4种形式进行划分,划分后的恶意攻击代码可以表示为活跃代码、故障代码、扫描代码以及页面代码。通过4种网络代码特征对恶意代码进行聚类分析,将其作为检测前提记录原始数据层的网络数据流[19]。

由于网络数据流具有粒度特性,在记录和存储通信数据时,其操作包含传输时间、IP源地址、IP目的地址、IP端口和故障信号这5个属性。不同数据处理过程中均可以确定IP地址的分类情况,将局域网的IP地址定义为审计地址,对可疑的外网位置定义为检测地址。以连接信号确定地址的所属关系类型,如下:

(10)

式中,φ表示孤立判断阈值。wanIPfail表示不活跃的外网IP地址[20]。wanIPact表示活跃的外网IP地址。wanIP表示所有可疑的外网IP地址。根据网络行为特性类型设定特征提取模块,分别为数据获取模块和网络行为特征提取模块,对IP地址是否为攻击源头进行判断。

(11)

(12)

式中,Y表示特征集合中的数据的中位数[21]。上式(8)表示W为奇数时的排序方式,否则通过公式(9)计算。在聚类中心的排序为|R1|<|R2|<|R3|<,...,<|RT|情况下,设定恶意代码惯性系数的动态权重,平衡恶意代码的全局检测:

(13)

式中,惯性系数的动态权重上下限分别为δmax和δmin。U表示孤立点样本。Umax表示样本最大值。基于此对IP地址中的恶意代码网络行为特征进行跟踪,结合PSO算法寻找恶意攻击代码更新最优解,实现恶意代码最终位置I的检测:

(14)

式中,HTG表示第T条流量中第G个网络行为的特征集合。RT为第T个聚类中心。DIS(RT,HTG)表示数据矢量HTG和RT之间的距离。FT为单个数据集合数目。A为集群的数目。γ为转换系数。FC为单个恶意攻击代码数据集合数目。RC为第C个聚类中心。根据聚类结果区分恶意攻击代码和正常数据,即检测出恶意攻击代码。至此,基于PSO-KM聚类分析方法实现通信网络恶意攻击代码检测方法设计。该方法为了确保检测数据准确性,确定了通信网络流动轨迹中恶意攻击行为特征,并且归一化处理通信网络恶意攻击行为特征,在此基础上,引入了PSO算法,通过该算法寻找恶意攻击代码更新最优解,为了提高检测准确性和效率,再次引入了KM聚类分析算法,通过KM聚类优化PSO算法,构建了PSO-KM聚类分析方法的恶意攻击代码检测方法。该方法具备了多个算法的优点,有效提高了检测准确性,降低检测误报率。

5 实验测试分析

5.1 实验方案

为了验证设计方法的有效性和应用性能,设计对比分析实验。考虑实验的有效性,设计实验方案,具体方案如下所示:

1)选择恶意攻击数据。明确研究对象,即恶意代码攻击样本集,并且给出训练集合和测试集合分类信息;

2)实验参数设置。实验参数的不同有可能影响实验结果,因此,为了避免实验参数的影响,提前设置设计方法的实验参数具体数值;

3)实验性能指标。验证设计方法的性能,需要具体的实验性能指标,通过具体指标反映方法的性能,该实验以恶意代码检测个数统计结果和检测效果为性能指标,其中,检测效果分为识别率和误报率,并且给出具体计算公式;

4)分析恶意代码检测结果。通过上述指标,以择基于遗传算法的检测方法、基于灰狼算法的检测方法以及基于规则库的检测方法作为对照组,与本文方法进行对比分析。

按照上述设计的实验方案开展实验。

5.2 选择恶意攻击数据

上文中通过PSO-KM聚类分析方法设计了一个新的检测方法,为验证该方法能够完成通信网络恶意攻击代码的有效检测,采用对比测试方法进行论证。分别选择基于遗传算法的检测方法、基于灰狼算法的检测方法以及基于规则库的检测方法作为对照组,分别与本文方法进行比较,在不同类型的数据包样本中完成测试。

为保证测试的准确性和真实性,以通信网络中实时采集的数据作为测试样本,选择20 000组正常数据作为请求集合,43 008组数据作为攻击样本请求集合,对43 008条攻击样本训练集中的代码进行统计,恶意攻击代码具体情况如表2所示。

表2 恶意代码攻击样本集合

根据表2内容所示,不同类型恶意攻击代码的数量有所不同,对恶意攻击样本集合中的攻击代码进行分词,提取关键的攻击代码构建词组集合,并将其放置在ACUNETIX-VULNERABILITY-SCANNER漏洞扫描器进行跟踪,建立一个纯度较高的训练样本集合。通过SKLEARN.

CROSS-VALIDATION模块随机选择10 000组样本分类样本集合(14类恶意攻击代码),训练集合和测试集合的随机分类情况如下:

1)A1分类:70%的训练样本集合,30%的测试样本集合。

2)A2分类:90%的训练样本集合,10%的测试样本集合。

3)A3分类:10%的训练样本集合,90%的测试样本集合。

4)A4分类:30%的训练样本集合,70%的测试样本集合。

将上述分类完毕的样本集合导入至Matlab测试平台中,分别连接选择的四组检测方法,按照两个阶段完成测试:第一阶段验证不同方法的识别量,即每组检测方法在对恶意代码攻击检测时识别出的具体数量,一般情况下认定能够在较少识别个数下完成恶意攻击代码识别,则表明该检测方法的检测效率高。并统计检测方法未识别出的恶意代码数量,其未识别的恶意代码数量越少,则说明检测方法更加有效。第二阶段验证不同方法的识别率和误报率,即对所有识别出来的代码进行对照,验证在所有识别出来的代码中,是否为真正的攻击代码,当识别率越高说明检测方法的准确率就越高,误报率越低也能够说明检测方法的准确性越好。按照不同的测试阶段完成检测,验证不同方法的有效性。

5.3 实验参数设置

实验参数的设置在实验中占据重要位置,这是因为实验参数数据可能影响实验结果,导致实验分析不准确,因此,为了避免影响,设置准确的实验参数,具体如表3所示。

表3 实验参数

按照上述数据设置实验过程的参数。

5.4 实验性能指标

实验过程选择恶意代码检测个数统计结果和检测效果作为具体的实验性能指标,其中恶意代码检测个数统计结果按照不同的分类情况对各组检测方法下识别的恶意代码个数和未识别的代码个数进行统计,对比分析不同方法的识别个数与未识别个数,该指标通过计算机自带软禁直接统计。检测效果分为识别率和误报率,计算公式为:

1)识别率:

(15)

式中,q表示识别率;w表示正确识别的代码数量;e为恶意攻击代码的总计数量。

2)误报率:

(16)

式中,r表示误报率;t表示将正常数据判断为恶意攻击代码的数量。

上述实验指标中,恶意代码检测个数统计结果的恶意代码个数和检测效果的识别率越高,则说明检测方法的性能越好,恶意代码检测个数统计结果的未识别个数和检测效果的误报率越低,则说明检测方法的应用效果越佳。

5.5 分析恶意代码检测结果

根据上文中设定的内容,按照不同的分类情况对各组检测方法下识别的恶意代码个数和未识别的代码个数进行统计,如图3所示。

图3 恶意代码检测个数统计结果

根据表中内容所示应用不同的检测方法后,对恶意代码的识别结果各不相同,其中本文方法只需要较少的时间就可以完成较多恶意攻击代码的识别,在5中分类中,基本在30 s内完成恶意攻击代码检查,并且识别的总恶意攻击代码数量最多,其中A2分类下,恶意攻击代码检测数量基本达到了1 000个,其他分类下,检测出来的数量与实际数量基本一致。而对比另外3种方法可知,其他方法均与实际需要识别的恶意攻击代码数量差距较大,仅本文方法的识别数量与实际数量趋近,甚至全部识别出所有恶意攻击代码,3种方法的识别时间大概在60 s左右,60 s以后识别出的恶意攻击代码数量基本不在增加。综合比较下,本文方法的效率更佳,并且识别恶意攻击代码的数量最多。

在此基础上,分析各组检测方法的恶意代码识别率和误报率。以图3中给出的识别个数计算各组方法的识别率和误报率,结果如图4所示。

图4 不同方法下检测效果

根据图4内容所示,仅本文方法的识别率在95.0%以上,且识别率最高值接近99.7%,而检测的误报率可以控制在0.4%之内,并且综合图3中的识别数量,说明本文方法更具有泛化能力,能够在较少的识别数据量中完成恶意代码的检测,具有较高精确度。基于规则库检测方法和基于遗传算法检测方法包含有非攻击代码,两者的误报率较大,均在20%以上,并且最高识别率仅为80.0%,基于灰狼算法检测方法由于识别的个数较多,在进行样本训练和获取中概率值范围变宽,则误报率也较低,但与本文方法相比仍存在一定差距,其识别率最高仅为88.2%,并且误报率最低为12.7%。对比4种方法,本文方法的识别率提高了6.0%以上,并且误报率降低了10.0%以上,由此可知,本文方法有效提高了恶意攻击代码的识率,降低了误报率,从而提高了应用性能。

综合结果可知:本文方法能够对恶意攻击代码进行特征分析,将同属于某个类型的恶意攻击代码进行识别和分类。在对安全测试中的恶意攻击代码进行关联分析后获取特征集合,加强了恶意代码的特征描述,提高了恶意攻击行为检测的识别率,降低了恶意攻击行为代码的误报率,从而保证了检测效果,具有应用价值,应用价值主要体现在电力通信网络、航海导航、广播电视等领域。

6 结束语

为了提高通信网络的恶意代码检测效果,并且考虑PSO-KM聚类分析的优异性和适用性,本文引入了PSO-KM聚类分析,设计了一种新的通信网络恶意攻击代码检测方法。该方法在引入PSO-KM聚类分析前,为了提高检测准确性,确定了通信网络流动轨迹中恶意攻击行为特征,归一化处理通信网络恶意行为特征,并且通过适应度函数寻找攻击代码更新最优解,结合PSO-KM聚类分析实现恶意代码检测。同时,在实验论证的基础上检验了新方法应用的效果,具有高度准确性和较低的误报率,其中识别率达到了95.0%以上,误报率最高值仅为0.4%,与对比方法相比,本文方法的识别率提高了6.0%以上,误报率降低了10.0%以上,该方法有效提高了识别率和降低了误报率。但由于本文研究时间有限,在测试过程中仍存在少许不足之处,主要是恶意代码的特征数量选取有限,对比测试中的数据准备不够充足,后续研究中会设定更多的恶意代码,为检测方法的全面性应用提供理论支持。

猜你喜欢
误报率攻击行为识别率
基于SSA-SVM的网络入侵检测研究
原始数据动态观察窗法在火灾特征信号融合提取中的应用研究
住院精神病人暴力攻击行为原因分析及护理干预
基于人工蜂群算法的无线网络攻击行为的辨识研究
家用燃气报警器误报原因及降低误报率的方法
基于类图像处理与向量化的大数据脚本攻击智能检测
基于真耳分析的助听器配戴者言语可懂度指数与言语识别率的关系
提升高速公路MTC二次抓拍车牌识别率方案研究
高速公路机电日常维护中车牌识别率分析系统的应用
神经网络技术在网络入侵检测模型及系统中的应用