基于卷积神经网络的运载火箭测发网络流量异常检测技术
2023-03-15徐洪平马泽文
徐洪平,马泽文,易 航
(北京宇航系统工程研究所,北京 100076)
0 引言
随着全球新一轮信息科技革命和产业变革,网络空间和现实世界越来越深地融合在一起,网络空间已经成为继领土、领海、领空和太空之后的“第五疆域”,确保我国的网络空间安全具有重大的战略意义。近年来,中国航天取得了举世瞩目的成就,各型号运载火箭相继实验成功并正式投入使用。同时,我国各型号运载火箭信息化程度越来越高,指令信息发布传递、火箭测试发射控制等功能日趋自动化。随着运载火箭测发网络功能的拓展,其网络规模越来越大、结构越来越复杂。为了便于实验人员操作,在测发网络内部也增加了类似于互联网中服务器和客户端间通信的应用模式[1],运载火箭测发网络的常见网络拓扑结构如图1 所示。测发网络前后端之间,以及双端的各个分系统设备之间都通过核心交换机进行数据传递。除了上述特点以外,远距离、长时间测试通信等众多新功能使得运载火箭测发网络可能存在的安全漏洞越来越多,所面临的网络安全威胁也越来越严重。
图1 运载火箭测发网络拓扑Fig.1 Topological diagram of the measurement and control network for launch vehicles
反观当前运载火箭测发网络的网络安全防护现状,主要依赖于物理隔离策略[2]和传统的入侵检测技术[3-4]。尽管目前我国各型号运载火箭测发网络是与互联网等外界网络完全物理隔离的网络,但这并不代表其处于一个完全安全的环境。完全物理隔离网络仍然面临人为病毒带入和侧信道攻击等安全威胁,在测发网络系统的全寿命周期内,部分子系统设备的返厂检修、非法接入等问题也会给整个网络系统带来巨大的安全隐患。而传统入侵检测的主要特点是通过异常特征库匹配的方式对网络中的异常流量进行检测,如果异常特征库不能及时升级和更新,系统不能及时安装补丁,则在面对一些异常特征库中没有出现过的新型攻击时将严重缺乏有效的检测能力。相较于互联网或其他普通局域网,运载火箭测发网络作为极其重要的国防基础设施,对网络安全有着极高的要求。然而其面临的攻击威胁很可能是针对性极强、有组织性、隐蔽性极强的未知威胁或新型攻击,当前的安全防护和异常检测手段已然无法满足应用需求,运载火箭型号承载的重大国家战略意义也决定了其不能接受安全问题发生后的“事后补救”。在这样的现实背景下,针对我国的运载火箭测发网络系统,亟须研究一种不依赖于异常特征库匹配的网络流量异常检测方法,除了对针对服务器的拒绝服务攻击、针对客户端的身份验证攻击或针对数据库的SQL 注入攻击等已知的常见网络攻击进行全面检测外,还应该具备一定的能够发现未知网络攻击的能力,以缓解测发网络系统面临的网络安全威胁。
近年来,基于经典机器学习的网络流量分类方法已经成为进行网络流量异常检测的主流方法之一[5]。使用经典机器学习方法解决网络流量异常检测问题,需要设计包含多种网络流量统计特征对网络流量样本进行描述和表示,使用统计特征进行检测能够摆脱基于异常特征库匹配方法进行异常检测的限制,并对未知攻击有一定的检测能力。但是这种方法的检测效果在很大程度上取决于网络流量特征集的设计,而设计合适的网络流量特征集仍然是一个很难解决的问题[6-7],特别是针对运载火箭测发网络,缺乏相关网络流量特征选择方面的研究。
为了克服基于异常特征库匹配的检测方式的固有缺陷以及经典机器学习方法需要设计合适的特征集的困境,首先,针对测发网络的实际特点,提出一种不同颗粒度的测发网络流量样本生成方法;其次,使用深度学习中的卷积神经网络,将生成的不同颗粒度的测发网络流量样本作为输入,依靠卷积神经网络自动提取特征对测发网络流量进行表征,进而对正常/异常的网络流量进行分类;最后,通过搜集某型号运载火箭测发网络实验时生成的真实流量数据,设计实验验证该方法具有较好的检测效果。
1 运载火箭测发网络流量异常检测
1.1 相关工作
如前文所述,使用经典机器学习方法对网络流量进行分类从而实现异常检测,已经成为该领域的主流研究方向之一。迄今为止,研究者们提出了很多的流量特征。MOORE 等[8]使用朴素贝叶斯方法训练机器学习模型对流量进行分类,共使用了248 种特征对流量进行描述;经典的KDD99 网络流量数据集中含有41 种流量特征,而较新的CICIDS-2017 数据集则包含数据包大小、数据包间隔时间、标志位是否置位等80 项流量特征[9];而在之前针对运载火箭测发网络的流量异常检测研究中,XU 等[1]利用混合策略算法,设计20 种特征对网络流量进行描述,实现对网络流量的异常检测。虽然上述研究在一些特定的网络流量数据集上取得了较好的检测效果,但是一旦选出的特征对于某些异常流量的区分度不好,其检测结果就会大打折扣,如何针对各个型号运载火箭测发网络选择最合适的特征集仍是一个很难解决的问题。
近年来,随着深度学习中的卷积神经网络在图像识别、图像分类等方面取得巨大成功,研究者开始使用卷积神经网络对网络流量进行异常检测[6,10-12]。使用深度学习中的卷积神经网络进行流量异常检测可以直接从原始网络流量中提取特征,从而避免了人工特征选择困难的问题。相关的典型研究包括:WANG 等[6]构建USTC-TFC2016 数据集,使用类似经典LeNet-5[13]的卷积神经网络结构,将原始网络流量数据作为输入,取得了非常高的检测精度;为了解决深度学习容易出现的过拟合问题,HANG 等[11]提出了一种改进的一维卷积神经网络,减少网络的训练参数,在保证检测精度的同时,减少了训练时间,避免过拟合的发生;ZHANG 等[12]使用卷积神经网络对工业控制网络流量进行异常检测,得到了97.88%的检测精度。上述使用卷积神经网络进行流量异常检测的研究有一个共同点,即均将“网络流”[5]作为流量样本划分的标准,但是这种样本划分对以用户数据报协议(User Datagram Protocol,UDP)数据为主的运载火箭测发网络流量数据并不合适,会造成数据量小、检测效果差等问题。
综合以上分析,有理由推测在运载火箭测发网络背景下,对流量数据提出合理的样本划分方法后,充分利用卷积神经网络的特征提取能力,可以避免人工设计特征集的问题,取得较好的检测效果。
1.2 不同颗粒度的测发网络流量样本生成方法
基于深度学习的网络流量异常检测方法,首先需要按照一定的颗粒度将连续的网络流量切分为多个离散单元,每个离散单元作为深度学习输入的一个样本进行异常检测。在以往的研究中,大部分研究均以五元组(源IP 地址、目的IP 地址、源端口、目的端口、传输层协议)对网络中的数据包进行划分,将属于同一五元组的数据包划为一类,之后再根据这些数据包是否属于同一个连接进行样本划分,传输控制协议(Transmission Control Protocol,TCP)网络流生成如图2 所示。
图2 TCP 网络流生成Fig.2 Schematic diagram of the TCP network flow generation
然而对运载火箭测发网络而言,其他研究中广泛使用的样本划分方法有一定缺陷。首先,测发网络中绝大部分数据包使用UDP 协议,没有连接的概念,有大量的数据包分别属于不同的五元组,难以进行进一步划分;其次,如果仅凭五元组进行样本划分,由于测发网络的拓扑结构是确定的,会导致产生的样本数据量小,而且每个样本数据冗长,真正的异常数据包还可以混在每个样本中,导致无法实现有效的异常检测。为了克服上述缺陷,提出一种针对运载火箭测发网络的流量样本生成方法,其流程如图3所示。
图3 样本流量图片生成Fig.3 Schematic diagram of the traffic sample image generation
步骤1 中,以五元组为依据将数据包分组后,每组内依次选定固定数目N个数据包作为一个样本;步骤2 中,由于运载火箭测发网络拓扑结构的确定性,有大量数据包有相同的MAC 地址和IP 地址,为消除这些因素对分类可能造成的影响,需去除这部分数据,称为样本的匿名化处理;步骤3 中,将匿名化后的样本按照固定的字节长度M进行统一长度处理(M的选取和N以及卷积神经网络结构相关)。如果N个数据包的字节个数多于M则对该样本进行截断处理,如果少于M个则以0x00 进行字节填充,最终生成适合作为深度神经网络输入的灰度图。
1.3 基于卷积神经网络的测发网络流量异常检测算法
近年来,卷积神经网络在图像分类及目标识别问题上取得了优异的效果[14-16]。相较于一般的深层神经网络,卷积神经网络具有局部连接、权值共享以及池化操作等特点,具有很强的空间特征学习能力。对运载火箭测发网络流量异常检测问题,可以将网络流量数据经图3 中的流程成为灰度图,通过卷积神经网络提取空间特征并进行分类,从而实现异常检测,其算法实现过程如下:
输入:T组具有相同五元组的流量数据包F1,F2,…,FT,卷积神经网络结构及输入尺寸s,每个样本中数据包数目N,学习率l,学习轮次e,学习批量b,验证集比例p1,测试集比例p2。
输出:训练集、验证集分类准确率、精度、召回率,测试集分类准确率。
1)构建卷积神经网络,计算标准输入大小M0=s*s;
2)For 每组五元组相同的数据包FiinF1,F2,…,FTdo;
3)每N个数据包划分为一个样本,得到h=|Fi|/N个样本;
4)Forh个样本中的每一个 do;
5)计算样本的总字节长度M(此N个数据包的字节数);
6)IfM>M0将样本截断至M0字节 else 在结尾补充0xff 至M0字节;
7)按照p1、p2划分训练集、验证集和测试集;
8)While 没有达到训练轮次edo;
9)准备批量b个样本作为模型输入;
10)二分类交叉熵损失函数Hp为
式中:yi为第i个样本的标签;p(yi)为第i个样本属于正类的预测概率;
11)使用RMSprop 梯度下降优化算法更新神经网络参数,学习率设置为l;
12)使用验证集验证模型;
13)end;
14)使用测试集数据测试得到的模型;
15)return 训练集、验证集分类准确率、精度、召回率,测试集分类准确率。
2 实验验证
为验证算法在运载火箭测发网络中的实际效果,首先需要通过核心交换机网络流量镜像以及异常流量混合的方式构建原始流量数据集。在得到原始数据集后,实验分为两个部分,充分验证本文提出算法在运载火箭测发网络环境中应用的合理性和有效性。第一部分实验对比以一定时间窗口划分的流数据作为样本输入与以一定数目数据包作为样本输入分类效果的差异性;第二部分实验探究样本中数据包数目对实验结果的影响。
2.1 实验数据集
使用的原始数据集包括正常、异常两部分数据。正常部分的数据为某型号运载火箭测发网络实验过程中经由核心交换机的关键正常流量数据,通过测发安全检测设备以流量镜像的方式进行提取,测发网络流量提取过程的简要示意图如图4所示。
图4 运载火箭测发网络流量提取示意图Fig.4 Schematic diagram of the traffic extraction from networks
通过这种方式,在运载火箭测发网络实验过程中3 h 内共计10.2 GB 正常网络流量数据。异常部分流量共11 GB,其数据来源于加拿大网络安全研究所构建的CIC-IDS-2017 数据集中的恶意攻击部分,攻击种类包括拒绝服务(Denial of Service,DoS)攻击、针对客户端身份验证的攻击、针对数据库的SQL 注入攻击等,由于实际的运载火箭测发网络在每一个控制中心也分别包含服务端、客户端、数据库等基本网络组件,CIC-IDS-2017 数据集中包含的多数攻击在测发网络中同样可能出现。由于正常流量和异常流量来源于不同的网络环境,为消除数据包中MAC 地址、IP 地址对异常检测结果的影响,在继续进行实验前,还需进行数据匿名化的处理,消除上述因素带来的影响。
在对正常和异常的网络流量数据进行匿名化处理后,按照提出的不同颗粒度测发网络流量样本生成方法,将网络流量转化为灰度图,得到可视化结果,如图5 所示。由图5 可知,经过流量匿名化与图像化处理后,正常网络流量与异常网络流量呈现出了明显不同的纹理模式,且相同类别的流量样本图像之间具有较高的相似性,可视化结果直观表明了提出的样本生成方法对与运载火箭测发网络流量的异常检测具有一定的可行性。
图5 匿名化网络流量可视化结果Fig.5 Visualization results of the anonymized network traffic
2.2 评价指标
使用分类准确率faccuracy、精度fprecision、召回率frecall作为运载火箭测发网络流量异常检测的实验评价指标。其计算公式如下:
式中:fTP为真正类,表示将异常网络流量正确预测为异常的样本数量;fFP为假正类,表示将正常网络流量错误预测为异常的样本数量;fTN为真负类,表示将正常网络流量正确预测为正常的样本数量;fFN为假负类,表示将异常网络流量错误预测为正常的样本数量。在异常检测问题中,通常将异常样本视为正类,而将正常样本视为负类。
2.3 实验结果
2.3.1 不同形式数据样本划分分类结果
本小节实验对比传统的按“网络流”的网络流量样本划分方法与提出的样本划分方法在运载火箭测发网络流量异常检测问题上的实验结果。传统的网络流量样本划分方法将网络数据包按照五元组(源IP 地址、目的IP 地址、源端口、目的端口、传输层协议)将数据分组后,将TCP 协议下的数据包按照图2 的方法将同组数据包划分为不同的样本,将UDP 协议下的同组数据包按照发出时间排序后,取相同的时间窗口将同组数据包划分为不同样本,本小节实验选定时间窗口为30 s,而提出的流量样本划分方法按照固定的数据包个数将同组数据包划分为不同样本。使用2 种样本划分方法,对相同数据集进行操作,获得的样本数见表1。
表1 不同样本划分方法获得的样本数Tab.1 Sample numbers obtained by different sample division methods
在按照不同的样本划分方法得到2 份样本数据集后,本小节实验对2 份样本数据集作相同处理,均按照7∶2∶1 的比例划分训练集、验证集、测试集,均使用卷积神经网络结构,如图6 所示。为了降低过拟合,在网络的全连接层前使用比例为0.5 的dropout[17-18],卷积层均使用ReLU 激活函数,最后使用sigmoid 激活函数对网络流量进行正常/异常的二分类,实验中使用RMSprop 梯度下降优化算法,设置学习率为10-4,N为3,数据批量为64,所有流量数据进行归一化处理,使其分布在0 和1 之间。
图6 卷积神经网络结构Fig.6 Schematic diagram of the convolutional neural network structure
分别经过30 轮模型训练,对相同数据集使用传统的网络流量样本划分方法与使用提出的按包数目样本划分得到的实验结果,如图7 所示。使用传统样本划分方法得到的结果如图7(a)所示,使用提出的样本划分方法得到的实验结果如图7(b)所示。详细的实验结果数据见表2。
表2 不同样本划分方法获得的详细实验结果Tab.2 Detailed test results obtained by different sample division methods
图7 不同样本划分方法实验结果Fig.7 Graphical test results of different sample division methods
综上所述,使用所提出的样本划分方法,可以取得更高的精度、召回率和准确率,并且从第15轮左右开始收敛,花费的训练时间也更短。可以证明针对运载火箭测发网络流量异常检测问题,使用提出的基于数据包数目的样本划分方法,结合卷积神经网络方法,可以取得较高的分类精度、召回率和准确率,且无需进行手工特征集设计。
2.3.2 不同数目数据包样本划分分类结果
为了进一步探究N的取值对实验结果的影响,在相同数据集上进行实验验证,当N取不同值时实验结果见表3、图8。需要说明的是,由于N的取值会影响所得样本的字节数,为了充分提取每个样本中的流量特征,根据不同的N取值调整图片的尺寸及卷积神经网络接收输入尺寸的大小(图8 中输入尺寸),每组实验均训练30 轮,神经网络结果及其他参数设置均与前述实验相同。
表3 不同N 和输入尺寸的实验结果Tab.3 Test results with different N and input_size
图8 不同N 和输入尺寸的实验结果Fig.8 Graphical test results of different N and input_size
由表3、图8 可知,当N=10,input_size=48*48时,分类取得了最高的精度、召回率和准确率,并且约在训练的第7 轮开始收敛。由此可见,若样本中数据包太少时,导致信息不足,使异常检测变得相对困难;而样本中数据包太多时,较简单的卷积神经网络结构拟合能力不足,需要更多的数据、更复杂的网络结构,所需的模型训练时间也会相对变长。
3 结束语
针对运载火箭测发网络异常检测问题,提出了一种适应于测发网络流量特点的样本生成方法,使用卷积神经网络自动提取网络流量特征,利用真实测发网络数据进行实验,在特定条件下取得了极高的正常/异常分类精度、召回率和准确率。在保证优秀检测结果的同时,所提方法可以避免大量专家经验的人工特征集的设计,很大程度上减少人工分析,理论上具备检测出新型未知种类攻击的能力。根据测发网络流量数据的变化情况,可以进一步不断更新优化网络结构与参数,逐步实现运载火箭测发网络流量的透明化,确保其正常、稳定运行。