基于ReLASL算法的网络入侵检测模型
作者: 程磊 满颖慧
摘要:互联网技术的不断发展,网络攻击手段层出不穷,导致网络数据样本呈现变化快、数据小且分布不均衡的特点,为进一步提高入侵检测模型对异常数据的检测能力,将ReLSL算法应用于网络入侵检测之中,并对ReLSL算法参数进行了自适应改进,提出了一种基于ReLASL算法的网络入侵检测模型,首先需对处理后的入侵数据集进行特征提取与标签传染,而进行再学习与重标定,最后进行训练,该算法在KDD99数据集上测试表明,在训练数据极少时也能够保证较好的检测性能。
关键词:ReLASL入侵检测;小样本;半监督学习
中图分类号:TP393 文献标识码:A
文章编号:1009-3044(2023)30-0071-03
开放科学(资源服务)标识码(OSID)
0 引言
深度学习是机器学习领域的一个分支[1],相较于传统机器的学习技术,深度学习可以更加高效地学习样本数据的内在规律,当其应用于入侵检测系统时能够充分地挖掘流量数据中蕴含的各种信息,大幅提高系统检测精度,降低系统的检测成本。常用深度学习算法有卷积神经网络(Convolutional Neural Network,CNN) ,循环神经网络(Recurrent Neural Network,RNN) ,深度信念网络(Deep Belief Network,DBN) 等。通常入侵检测系统训练深度学习模型时对样本数据的规模以及分布情况都有一定的要求,而当前网络攻击手段变化较快,且网络数据中正常样本数据较多,异常样本数据较少,样本数据分布不平衡,导致可用训练样本较少,这就需要入侵检测系统能够具备小样本训练的能力。
可靠标签选择与学习的半监督学习算法Reliable Label Selection and Learning Base Algorithm for Semi-Supervised Learning,ReLSL) 可以进一步降低半监督算法对标记数据的依赖,避免由于初始信息量较少导致的模型启动困难以及伪标签噪声比困难导致的模型崩溃等情况,提高检测准确率[2]。本文对ReLSL算法进行了研究,并通过自适应的方法对ReLSL算法中部分超参数进行了优化,提出了一种基于可靠标签选择与学习的自适应半监督学习算法的网路入侵检测模型(Reliable Label Selection and Learning Base Algorithm for Adaptive Semi-Supervised Learning,ReLASL) ,相较于入侵检测系统常用的深度学习模型,该模型能够适应网络数据分布不均衡的特点,可以通过较少的训练样本标签实现快速、准确地识别网络行为。
ReLSL算法将半监督学习(Semi-Supervised Learning,SSL) 问题转化为在数据集[Α]上训练深度学习神经网络[ϕ(⋅)],用于C分类问题[2],数据集[Α]包括无标签数据集[ΑN=(xNi)KNi-1]与标签数据集[ΑM=(xMi,yMi)KMi-1],其中,[yMi]为标签,通过one-hot向量表示,维度为C,在极少标签样本情况下,即KM<<KN时,ReLSL算法主要分三步:特征提取与基于图的标签传染;基于均值与一致性的伪标签学习与标定;使用标签平滑策略(Lable Smoothing Strategy,LS) 与均值偏移校正策略(Mean Shifting Correction Strategy,MSC) 进行半监督学习。
特征提取与基于图的标签传染主要目的对无标签样本进行标定,主要分三个步骤,一是特征提取,即使用(Anchor Neighborhood Discovery,AND) 算法提取数据集[Α]特征[ei=φ(xi)],其中[φ(⋅)]为AND网络,采用了ResNet50结构;二是计算相似度,即采用式(1) 根据提取特征计算样本相似度矩阵[S],并通过式(2) 对[S]进行规范化处理。
[Si,j=(eTiejeiej)α,若i≠j,且ei∈kNN(ej)0,其他] (1)
其中,[α]为超参数,值越大代表样本特征距离越大,相似度越小。
[S'=Q-12SQ-12] (2)
其中,[Q]为对角矩阵,对角线的值为[eiKN+KMi-1]节点的度。
三是标签样本标定,即通过式(3) 获取伪标签隶属度向量。
[Y'=(I-γS)-1Y] (3)
其中,[γ]表示跳向相邻节点概率,[I]为单位矩阵,[Y]与[Y']是维度相同的初始化标签矩阵,当获得[Y']后,还需将其彻底转化为one-hot向量,最终处理得到标签样本矩阵[Y']。
由于初始的训练标签样本不足,仅通过标签传染的方式还无法保证伪标签标定的准确率,因此需要对伪标签样本[Y']进行再学习与重新标定,ReLSL算法应用WRN-28-2网络结构训练模型[φ(⋅)],并引入一致性惩罚项对[φ(⋅)]损失函数进行优化,如式(4) 所示:
[lossce+=-c-1CY'i,clog(φ(xi)c)+β||φ(xi)-φ(xi')||2] (4)
其中,[Y'i,c]表示样本[xi]所对应的标签隶属于类别c的概率,而[φ(xi)c]则表示[xi]经过[φ(⋅)]网络后输出为c的概率,[φ(xi)]与[φ(xi')]表示为相同样本进行两次数据增强后的结果,[β]表示对模型输出与样本标签一致性的关注度,[β]越小则表示损失函数越关注模型输出与样本标签一致性程度。
为进一步准确挑选正确标记样本,算法通过记录样本训练后期的输出损失,综合训练损失的均值与方差,确定最终的标签样本,即由式(5) 确定标签样本。
[chi=mean(lossce(-h:)i)+std2(lossce(-h:)i)] (5)
其中,[lossce(-ep:)]表示样本[xi]在模型训练最后h次迭代获得的损失。
ReLSL算法计算每个训练样本的[chi]值后,以此为依据,对[φ(⋅)]输出的one-hot标签进行排序,并保留前m个样本,其余样本重新标定为未标记样本,则最终标定训练数据集记为[Α']标签数据集为[Α'M=(xMi,yMi)KM+K~Mi-1],无标签数据集为,[ΑN=(xNi)KN-K~Mi-1],在极少标签条件下,[KM≪K~M]。
ReLSL算法使用LS与MSC策略进行半监督学习,LS策略是为缓解由错误标记导致的无法修正问题,即对[Α'M]样本中标签[yi]进行等比例平滑,如式(6) 所示。
[yi=[ηi(1-λi)λiC+yi]λi] (6)
其中:
[λi=1-(η-1)ε,若yi<1-(η-1)ε1,其他]
[ε]为平滑系数,随迭代逐渐变小,[η]为0到1之间的均匀采样随机数,[λ]为平滑因子,[λ]值越小,则输出的向量越平滑。针对[yi],ReLSL算法则是采用了指数加权平均操作,即对样本每次的输出结果进行了加权平均:
[u∼i(t)=δu∼i(t-1)+(1-δ)ϕ(xi)],[yi=u∼i(t)1-δt] (7)
其中,[ϕ(xi)]表示样本[xi]在模型[φ(⋅)]训练时第t-1次迭代时的输出向量,[u∼i(t)]为样本[xi]在第t-1次迭代时的移动平均值,[δ]为动量权重,主要用于控制更新力度。MSC策略主要为降低错误标签以及扰动对模型训练的影响,首先通过式(8)对数据集[Α']中每个样本在Softmax的输入向量进行指数加权平均操作。
[G∼i(t)=δG∼i(t-1)+(1-δ)ϕlogitt-1(xi)],[ρi=G∼i(t)1-δt] (8)
其中,[ϕlogitt-1(xi)]表示样本[xi]在模型[φ(⋅)]训练中第t-1次迭代时Softmax的输入向量。
进而对每一虚拟类中的输出进行平均操作,而对于无标签数据[xNi∈ΑN]的输出向量[ϕlogitt-1(xNi)],ReLSL算法采用了损失函数式(9) 进行了偏移校正。
[lossmsc=ς||ϕlogitt(xNi)-([ϕt(xNi)]Center)||2] (9)
其中,[ϕt(xNi)]表示固定且不参加参数更新的模型输出概率向量,[ς]为权重因子,控制校正比例,其值随着训练的进行不断减小。
1 ReLASL入侵检测模型
ReLASL入侵检测模型充分利用ReLSL算法小样本训练的优势的同时根据网络样本数据分布情况,改进了ReLSL算法超参数设置方法,保证能够快速、高效地检测网络异常数据。
相对于ReLSL,ReLASL仅对特征提取与标签传染、伪标签学习与标定进行了改进,因此仅对改动部分做具体介绍。
1.1 特征提取与标签传染
本文特征学习方法同样选用AND算法,采用ResNet50结构提取训练样本特征值,获取特征[eiKM+KNi-1]。由于网络样本数据量较大,相同类型的数据特征值之间的距离差较大,无法通过简单的特征值距离计算相似度矩阵[S],因此引入样本特征值平均距离的概念改进式(1) 超参数[α]取值,通过该样本特征值与其他样本特征值平均距离决定对远距离样本的敏感程度,当样本特征值距离小于样本平均特征距离时,特征距离相差较大样本相似度越小,反之,特征距离相差较大样本相似度越大。如式(10) 所示。
[Si,j=(eTiejeiej)α,若i≠j,且ei∈kNN(ej)0,其他] (10)
[α=q≠i||ei-eq||||ei-ej||(KM+KN-1)]
而后通过式(2) 与式(3) 获取稳定的标签矩阵[Y'],并按照原方法将其处理生成标签样本[Y']。
1.2 伪标签学习与标定
为进一步提高伪标签标定的准确率,同样采用WRN-28-2网络结构训练模型[φ(⋅)],并引入一致性惩罚项对[φ(⋅)]损失函数进行优化,通常网络异常数据占比较小,噪声数据较多,增加了训练的不确定性,因此在伪标签学习与标定阶段,通过构建的异常数据集[xiLi-1],以降低噪声样本的影响。异常数据集主要通过不断积累历史训练样本中的异常数构建而成,因此对式(4)中超参数[β]赋值如下:
[β=Lq=1L||xi-xq||] (11)
当样本[xi]与[xiLi-1]平均距离较大,表示[xi]为噪声样本可能性较大,则损失函数需更加关注对标签的一致程度,反之,则更应关注其对样本的输出稳定性。
为进一步提高模型训练的效率,缩短模型收敛的时间,对损失函数中的超参数[ς]进行了进一步的优化,如式(12) 所示:
[ς=Maxepoch⋅exp(Currentepoch)] (12)
其中,[Maxepoch]为训练最大迭代次数,[Currentepoch]为当前迭代次数,从而引导损失函数先进行大幅度偏移校正快速接近收敛区域,再进行小幅度偏移校正保证损失函数能够更快地达到收敛状态。
基于ReLASL网络入侵检测模型训练过程如下所示:
输入:网络入侵数据集:[Α],包括无标签数据集[ΑN=(xNi)KNi-1]与标签数据集[ΑM=(xMi,yMi)KMi-1]