1. 引言
主流的异常流量检测方法是利用大量网络流量特征训练深度学习模型,以区分异常流量和正常流量 [1] 。随着云服务的发展,网络攻击产生的流量比以往更多,特征也越来越多。这增加了模型的训练耗时,并降低了模型的检测速度。特征筛选是降维网络流量特征的常用方法,其原理是基于某种评价准则从原始特征空间中选择最优特征子集,是数据预处理阶段的重要工作 [2] [3] 。
特征筛选方法可分为三大类:过滤排序式、过滤式和包裹式 [4] 。过滤排序式方法根据特征和标签之间的相关性对特征排序。过滤式方法和包裹式方法均直接评价特征子集,前者无需训练分类器,而后者需要根据特征子集训练分类器,进而根据分类器的准确率等指标评价子集。很多文献的结果表明,在过滤排序式的方法中,以对称不确定性(Symmetrical Uncertainty, SU)为评价准则效果最好 [4] [5] [6] ,但排序后特征子集维数确定难。且该类方法仅考虑特征与标签之间的相关性,而未考虑特征之间的冗余度 [7] 。包裹式方法直接以分类器性能作为评价准则,特征筛选效果最佳。但需额外训练多次分类器,计算耗时大,只能适用于浅层机器学习分类器,不适用于深度学习 [8] 。我们在之前的研究中提出了基于SU的过滤排序式算法,并通过异常流量识别检测DDOS攻击 [9] 。但该方法仅采用过时的遗传算法,导致筛选精度低下。故此,本文提出以SU为评价准则的过滤式算法,设计目标函数兼顾特征与标签之间的相关性和特征之间的冗余度,并改进用于寻优目标函数的灰狼优化算法(Gray Wolf Optimizer, GWO),以提高网络流量特征筛选精度。
2. 背景知识
2.1. 灰狼优化算法
GWO是通过模仿自然界中灰狼群体的社会等级和捕食行为衍生出的一种基于种群的启发式算法 [10] 。灰狼群体的社会等级分别为
狼(最优解)、
狼(次优解)、
狼(第三优解)和
狼。GWO通过模拟狼群捕食时的包围、捕猎和攻击行为来寻优目标函数。在此过程中,三匹领导狼
、
、
将引导其余的狼到最有希望找到全局最优解的区域。狼群捕食时的包围行为的数学模型为:
(1)
(2)
其中,
为候选狼当前的位置向量,
为猎物的位置向量,
为迭代次数,
为灰狼个体与猎物之间的距离。
和
称为系数向量,计算公式如下:
(3)
(4)
其中,
为(0, 1]的随机数。
为距离控制参数,随迭代次数的增加,
将从2到0线性递减,即
(5)
狼群捕猎行为的数学模型为:
(6)
(7)
(8)
是第
代的前三个最佳解。
的计算同公式(3),三匹领导狼
、
、
和候选狼的距离计算如下:
(9)
(10)
(11)
的计算同公式(4)。每匹狼围绕着三匹领导狼
、
、
移动,即
(12)
当猎物停止移动时,狩猎过程将终止,狼群开始攻击。算法实现时,需首先在解空间内随机生成初始灰狼个体,通过适应度函数计算灰狼的位置。原始GWO算法的详细流程如图1所示。
2.2. 对称不确定性
SU是一种基于信息熵的相关性指标,常用于机器学习领域衡量特征与标签的相关性。假设特征集为
,则F的信息熵
表达式如下:
(13)
越高,意味着F携带的信息越多。此时,相对条件熵
可表示为:
(14)
不同特征间共享的信息可由互信息
表示。更详细地说,
表示
中包含的关于
的信息量或
由于已知
而减少的不确定性。
的表达式如下:
(15)

Figure 1. Flowchart of original GWO algorithm
图1. 原始GWO算法流程图
直接采用
作为评价指标筛选特征会使算法更倾向于选取取值较大的特征。SU将互信息作为分子,对互信息进行了归一化,纠正了使用互信息时产生的偏差。故此SU又称标准化互信息。SU的计算方式为:
(16)
当
为0时,
和
完全独立。当
为1时,
和
完全相关。在本文的场景中,特征和网络流量标签之间的SU越高,意味着特征对异常流量的分类能力越强。
3. 方法
本文提出的网络流量特征筛选方法的整体流程如图2所示。
本文方法首先对特征进行二进制编码,然后对所有特征归一化。利用高斯混沌映射随机初始化灰狼群后,利用改进后的GWO进行特征筛选。最后将筛选的结果解码,得到最优特征子集。本文方法与原始GWO算法应用于网络流量特征筛选的不同之处主要在于三点:初始狼群生成、适应度函数设计以及个体搜索策略。
3.1. 初始狼群生成
除网络流量特征的筛选问题实质上是二元优化问题。求解该问题时,解空间为
。若
,表示特征
被选入当前特征子集;若
,表示特征
未被选入当前特征子集。
本文采用高斯混沌映射(Gaussian Chaotic Map)生成初始解,即初始特征子集。混沌映射相比其他随机方法能够生成分布更均匀的初始解,进而增强算法在全局搜索过程中的种群多样性。高斯混沌映射的表达式如公式(17)所示。

Figure 2. Flowchart of our network flow feature filtering method
图2. 本文的网络流量特征筛选方法流程图
(17)
高斯混沌映射相比其他常用混沌映射(如Logistic混沌映射 [11] 和Tent混沌映射 [12] )能够均匀地生成更多<0.5的
,更少≥0.5的
。换句话说,该映射能一定程度上减少初始解中的特征数,进而提高算法在初始阶段的计算速度。高斯混沌映射和随机初始化生成的初始解如图3所示。
3.2. 适应度函数设计
为了获得特征与标签之间相关性高且特征彼此之间冗余度低的特征子集,本文为网络流量特征筛选问题提出如下适应度函数。
(18)

Figure 3. Initial solution generated by Gaussian chaotic map and random initialization
图3. 高斯混沌映射和随机初始化生成的初始解
其中,n为特征子集包含的特征数;
为特征
和标签之间的对称不确定性;
为特征
和
之间的对称不确定性。公式(18)的分子衡量相关性,分母衡量冗余度。显然,
越高,特征和标签之间的相关性越高,特征彼此之间冗余度越低,对应的特征子集越好。
为了提高计算适应度函数的效率,在筛选特征前先计算两两特征之间的SU,构建对称不确定性矩阵
。在计算灰狼个体对应的适应度函数时,直接从
中调用
,避免重复计算的耗时。生成
的伪代码如下所示:
3.3. 个体搜索策略
公式,在原始GWO中,
狼只受三匹领导狼的引导,如公式(12)所示。这种搜索策略会降低GWO后期的种群多样性,导致GWO极易陷入局部最优。在真实世界中,除了群体狩猎,灰狼个体还拥有另一个狩猎模式——个体狩猎。本文通过模拟个体狩猎行为,辅助群体搜索策略,增加GWO后期的种群多样性。
在个体狩猎行为中,灰狼将向相近的灰狼个体学习狩猎经验并独自搜索猎物。这两种搜索策略的示意图如图4和图5所示。
假设第t次迭代第i只
狼的位置为
。其中,D是问题的维数,即变量个数。N为狼群中个体数量。则整个狼群可记为一个N行D列的矩阵
。
表示灰狼
的相近的灰狼个体,如公式(19):
(19)
其中,
表示
和
之间的欧几里得距离;
为灰狼个体的狩猎半径,计算公式为:
(20)
其中,
为根据公式(12)计算的群体狩猎的结果。
个体狩猎行为的数学模型为:
(21)
其中,
随机选取自
;
随机选取自
;
为(0, 1]的随机数。
灰狼个体通过公式(21)向狩猎半径内的其他个体学习狩猎经验。个体搜索结束后,个体搜索的结果需和群体狩猎的结果比较,即
(22)
4. 实验
4.1. 实验设置
本文采用KDD-NSL作为实验数据集,共有Protocol_type、Service、Src_bytes等41个网络流量特征。KDD-NSL是KDD数据集的改进版,删除了重复数据,并平衡了正常流量和异常流量的比例,其涉及5个大类网络攻击和40多个小类网络攻击,是异常流量检测领域中被广泛使用的数据集。在本文实验中,计算信息熵等数据时标签按小类网络攻击类型处理。
分类器均采用异常流量检测领域常用的随机森林 [13] [14] [15] 。检测率是最直观因素,计算方法如下。检测率越高,意味着特征筛选方法越有效 [16] 。
(23)
TPR和FPR也是检测精度的两个重要指标。TPR表示正确检测到异常流量的百分比。FPR是错误分类为异常流量的正常流量的百分比。其计算方法如下:
(24)
(25)
4.2. 特征筛选方法收敛分析
由于优化算法的No Free Lunch定理 [17] ,无法直接确定一个启发式算法是否适用于网络流量特征筛选。故此,我们将本文提出的改进灰狼算法与GA、GWO、多元宇宙优化算法(Multi-Verse Optimizer, MVO) [18] 和樽海鞘群算法(Salp Swarm Algorithm, SSA) [19] 进行对比。五个算法的种群大小均为10;MaxIter均为40;GA的突变概率为0.1;GA的交叉概率为0.5;MVO的虫洞存在概率从0.2到1线性递增;MVO的穿梭距离比从0.6到0线性递减;SSA的递减系数从2到0线性递减;GWO的距离控制参数从2到0线性递减。每个算法运行5次计算各指标平均值。算法实现时,适应度函数采用公式(18)的倒数并利用算法寻找适应度函数的最小值。实验结果如表1所示。

Table 1. Convergence performance comparison of heuristic algorithms
表1. 启发式算法收敛性能对比
如表1所示,本文提出的改进GWO算法在KDD-NSL上取得了最小的最优适应度、最低的标准差和最低的平均特征维数。相比性能最接近的GWO,本文的方法取得的最优适应度降低了20%,平均适应度降低了26.19%。更低的标准差说明我们提出的改进方法提高了特征筛选的稳定性。各算法最优结果对应的适应度曲线如图6所示。

Figure 6. Fitness curve corresponding to the best result of each algorithm
图6. 各算法最优结果对应的适应度曲线
由图6所示,所以算法均在30代之前收敛。而得益于个体搜索策略,本文提出的改进GWO在15代左右就已经收敛,收敛速度最快,且精度最高。在收敛过程中,本文提出的改进GWO在2代之内可突破局部最优,收敛能力显著优于其他算法。若提高种群大小或应用更复杂的数据集,本文提出的改进GWO的收敛能力优势将更加明显。
图7和图8展示了KDD-NSL数据集特征经本文方法筛选后的交叉熵矩阵和SU矩阵。图7中特征之间的交叉熵差异过大。显然,图8中SU弱化了这种偏置。此外,图8中多数特征之间的SU小于0.5。这与公式(18)最小化特征–特征之间冗余度的思路相吻合。
4.3. 特征筛选性能对比
我们将本文提出的方法与现有网络流量特征筛选方法进行对比,对比方法包括FMIS [20] 、IGA [21] 、SU-Genetic [9] 。作为分类器的随机森林的超参数均采用默认值。实验结果如表2所示。

Figure 7. Cross-entropy matrix of KDD-NSL dataset features selected by our method
图7. KDD-NSL数据集特征经本文方法筛选后的交叉熵矩阵

Figure 8. SU matrix of KDD-NSL dataset features selected by our method
图8. KDD-NSL数据集特征经本文方法筛选后的SU矩阵
如表2所示,与SU-Genetic相比,本文方法在训练时间最短的情况下得到了最高的检测率,且TPR和FPR与其他方法近似。由于本文方法筛选得到了特征维数更少的特征子集,模型的训练时间从0.42 s下降到0.29 s,证明了本文方法的特征筛选性能。

Table 2. Performance comparison of feature filtering methods
表2. 特征筛选方法性能对比
5. 结论
本文针对网络流量特征筛选问题提出了一种筛选精度更高的过滤式特征筛选算法。该算法以SU为评价准则,设计了兼顾相关性和冗余度的特征筛选目标函数,并从初始化和搜索策略两方面改进了GWO,以提高寻优特征筛选目标函数的能力。实验结果表明,本文提出的特征筛选算法效果最佳,在KDD-NSL上检测率可达到99.832%,且所用特征维数最少。未来可研究该算法在高维网络流量特征降维中的效率问题,进一步降低整体异常流量检测的耗时。
基金项目
天津理工大学大学生创新创业训练项目(202210060104)。
NOTES
*通讯作者。