基于AI学习的白流量过滤与恶意流量检测
2022-05-12郭嘉涛朱敏杰汪菲霞
郭嘉涛,朱敏杰,汪菲霞
(南华大学计算机学院,衡阳 421000)
0 引言
随着互联网的发展,应用层业务变得很复杂。网络不仅包括CDN 内容分发,还包括P2P业务。当传统的安全装置进行安全防范时,他们必须在所有流量上执行安全检测。这种完整的业务检测模式是设备处理性能瓶颈问题的根本原因。全部检测意味着流量是否是异常的都需要设备来检测它,而这显著地消耗设备的性能。在实际情况下,由于攻击流量所占的比例不会超过全部流量的千分之一,所以实际上大量的检测任务是毫无意义的。另外,互联网的发展虽然给予了我们很大地方便,但也因此带来了很多隐患。随着网络的参与人数增多,网络恶意攻击等原因引起的网络流量异常,对网络性能有很大影响。一些异常流量的攻击性干扰导致正常网络的操作次序和网络安全受到了严重威胁。在这种情况下,为了确保网络的正常运行,并为用户提供良好的网络环境,也成为一个备受关注的问题。因此,本文基于AI 学习识别和过滤掉网络中大量的白流量,并对恶意和可疑流量进行检测。
1 研究内容
传统机器学习对流量分类特征的提取十分繁琐,而且效率并不高效。所以本文采用卷积神经网络进行流量分类与检测任务。
1.1 对于流量特征提取方向的研究
由于流量实际上为一串二进制比特序列,且其前784字节能够较好的映射出流量的内在特征,故而可以将流量限制为784字节的长度,并进一步转化为28×28的灰度图。
1.2 对于优化模型分析设计的研究
传统的CNN 网络模型通常为串行结构,即卷积-池化-全连接,但为了进一步利用原始图像(流量)的信息,在输入层与输出层的Full Connection 之间建立跳层连接。另一方面传统CNN 的池化操作可能会丢失些许图像域的信息,故而使用卷积步长为2的卷积操作去代替池化操作。
1.3 对于全流量分类的指标研究
针对上述两点,并搭建好平台后,将数据传入模型进行训练,在模型中建立一个正常流量与异常流量的特征库,以达到全流量分类的目的。
1.4 对于异常流量分类识别和检测的研究
基于全流量分类的基础,再对异常流量进行分类识别,以达到快速检测的目的。
2 收集数据
训练模型,首先要拥有数据。如果没有数据,那么也就无法训练模型。所以第一步就是收集所需的训练数据。从网上收集数据,数据来源于USTC-TK2016数据集。其包含十类恶意流量与十类正常流量。训练集数据的类型、数量及比例如表1所示。
表1 训练集数据类型、数量及比例
3 特征工程
本次研究使用的数据压缩类型为pcap,采用SplitCap(开源pcap 文件分割器)按流对pcap切割,获取到每个Flow 的pcap 文件。进一步将每一条数据的长度处理为784字节,对于数据长度小于784 字节的pcap 文件,在数据末尾进行零填充至784 字节的长度,再处理为28×28 的灰度图(如图2 所示),最后将数据保存为pickle 的数据格式,以便训练时读取数据。
图2 各类流量的灰度图
4 数据归一化处理
使用CNN 实现流量分类,将输入数据转化为图像后,需进一步消除不同类型网络流量之间的量纲关系,则需对流量进行归一化处理。具体计算流程如下:
假设每一条数据对于表示为行列的矩阵:
求解出矩阵中的最大值:
最后得出归一化的灰度图:
图1 特征工程处理流程
5 使用传统CNN网络训练
根据卷积神经网络中卷积层、池化层以及全连接层的特性,决定在多个卷积层之间加入池化层,采用传统CNN网络结构图(如图3)。
图3 传统CNN网络模型
卷积层中使用的卷积核大小为常用的[3,3]与[5,5],并设置步长为2,填充方式采用SAME,激活函数采用整流线性激活函数RELU。其中[3,3]与[5,5]的较小卷积核利于提取到图像域中更细化的特征,而激活函数RELU是对卷积后的输出做一个非线性变换,可以缓解过拟合的问题,如图4所示。
图4 卷积计算原理
全连接层(fully connected layers,FC)在整个结构中是作为“分类器”来使用。如果说卷积层、池化层和激活函数层等操作的作用是为了把原始数据映射到隐层特征空间的话,全连接层则是把学到的“分布式特征表示”映射到样本标记空间。
6 使用Skip connection CNN 网络进行训练
在传统CNN 网络的基础上,在输入层与输出层的fully connection 之间建立跳跃连接。可以进一步利用原始图像的特征,以达到更优的效果,如图5所示。
图5 Skip connection CNN 模型结构
7.1 CNN网络训练结果
7.2 Skip connection CNN网络训练结果
8 结语
针对传统CNN 网络训练的结果(表2、图6、图7)所得结果可知,传统的CNN 在流量分类任务方面可达到较好的效果,但有些许不足,例如Neris、Virut、Gmail、Outlook 等 流量 预测 指标与其余流量之间有较大的差距,而在输入层与输出层的Full connect 之间加入skip connec⁃tion,可以进一步利用原始图像特征信息,达到更优的分类效果(见表3、图8、图9)。
表2 传统CNN网络预测效果展示
表3 Skip connection CNN 网络预测效果展示
图6 传统CNN预测指标recall/f1/precision
图7 传统CNN预测的整体效果
图8 Skip connection CNN 预测指标recall/f1/precision
图9 Skip connection CNN 预测的整体效果