基于深度神经网络和联邦学习的网络入侵检测

2023-01-27 08:27刘金硕詹岱依邓娟王丽娜
计算机工程 2023年1期
关键词:编码器联邦准确率

刘金硕,詹岱依,邓娟,王丽娜

(武汉大学国家网络安全学院空天信息安全与可信计算教育部重点实验室,武汉 430072)

0 概述

在高速网络环境下,网络安全问题层出不穷,网络入侵检测作为监控网络潜在攻击的重要措施[1],需要在海量数据环境下快速且准确地识别攻击事件。因此,提高网络入侵检测技术的准确率与检测速度具有十分重要的现实意义。

近年来,机器学习与深度学习算法在图像和文本识别、语言翻译等方面都取得了较大突破,于是很多研究人员也将其运用于网络入侵检测领域。MA等[2]提出一种基于生成对抗网络和双向长短期记忆(Bidirectional Long Short-Term Memory,Bi-LSTM)网络的方法,该方法解决了数据集冗余的问题。LI等[3]提出基于卷积神经网络的入侵检测系统,该系统将文本数据处理转换为图像数据处理,准确率达到79.14%,虽然其效果不如其他深度学习算法,但是为入侵检测方法设计提供了一种新思路。此外,ZARAI 等[4]利用长短期记忆(Long Short-Term Memory,LSTM)网络来缓解循环神经网络(Recurrent Neural Network,RNN)的梯度消失问题,从而改进入侵检测系统的特征选择,实验结果表明,3 层LSTM 架构的入侵检测模型对异常攻击检测更有效。SUWANNALAI 等[5]提出基于强化学习的网络入侵检测系统,与递归神经网络相比,该系统在数据集中某些类型的攻击上有优异表现。ZHAO 等[6]提出一种基于轻量级深度神经网络(Deep Neural Network,DNN)的网络入侵检测方法,该方法能有效减轻入侵检测时所面临的内存负担。

虽然深度学习[7]与机器学习算法在网络入侵检测领域取得了较好的效果[8-10],但是仍然存在如下问题:1)数据安全与数据隐私,在大数据时代,数据安全与数据隐私[11]一直是网络入侵检测所面临的一大难题,且在模型训练以及数据传输过程中往往存在许多隐私泄露等安全问题;2)准确率与效率,在处理海量数据时,较高的准确率往往伴随着较大的时间成本,如何同时提高数据处理效率[12]与模型准确率也是目前的研究重点。

联邦学习[13]是2016 年谷歌公司提出的一种分布式机器学习框架,它在服务器之间通信时可以实现数据安全,很好地保障了参与方的终端数据隐私。同时,还可以使用各种不同的通用模型在多个参与方之间开展高效率的特征提取与学习。FRIHA 等[14]结合联邦学习提出一种物联网入侵检测系统,该系统利用混合集成的方法结合联邦学习来执行局部训练并只聚合模型参数,实现了较高的召回率。CIREGAN 等[15]使用基于GPU 的加速训练深度神经网络算法进行图像分类和字符识别,结果表明,深度神经网络的并行计算能力能够大幅减少训练所需时间。

本文基于深度神经网络和联邦学习建立一种网络入侵检测模型DFC-NID。该模型融合联邦学习框架,通过基于自动编码器优化的深度神经网络算法对多个子服务器节点的网络入侵数据进行模型训练。最后通过实验验证DFC-NID 模型在耗时和数据安全保障方面的性能。

1 相关理论

1.1 KDDCup99 与NSL-KDD数据集

网络入侵检测数据集包括部分自制数据集和一些常用的公测数据集。目前,大多数入侵检测研究使用的标准公共数据集为KDDCup99[16-17]和NSLKDD[18-20]。

NSL-KDD 数据集是KDDCup99 数据集的改进版 本。2009 年,TAVALLAEE 等[21]对KDDCup99 数据集进行统计分析,发现该数据集中存在大量冗余记录,其中,训练数据集中就有高达78%的冗余数据,测试数据集中有75%的冗余数据,如此大量的重复记录会导致分类器偏向于学习更频繁出现的记录,从而造成评估结果偏差。TAVALLAEE 等[21]删除了原始KDDCup99 数据集中的这些冗余记录,创建了一个更简洁高效的入侵检测数据集NSL-KDD。NSL-KDD 数据集包含41 个正常或特定攻击类型的特征,表1 汇总了NSL-KDD 数据集中的数据类型以及属于该特定数据类型的数据集中的特征编号。

表1 NSL-KDD 数据集的数据类型及特征编号Table 1 Data type and feature number of NSL-KDD dataset

表2 归纳了NSL-KDD 数据集中4 种不同攻击类型的属性值,分别为DoS(Denial of Service)、Probe、R2L(Root to Local)、U2R(Unauthorized to Root):

表2 NSL-KDD 数据集的攻击类型属性值Table 2 Attack type attribute value of NSL-KDD dataset

1)DoS。拒绝服务攻击,攻击者通过使计算内存资源变得过于繁忙或拒绝合法用户访问,使其暂时或无限期地对用户不可用。

2)Probe。攻击者通过扫描计算机(主机)的网络,收集有关Web 应用程序、操作系统、数据库、网络以及与其连接的设备的信息,从而找到威胁或漏洞并加以利用。

3)R2L。攻击者从远程设备到本地设备进行未授权访问,通过利用一些漏洞来向设备发送数据包。

4)U2R。攻击者可以访问攻击目标中的user,且攻击者在访问计算机时可以获得root 权限的攻击,如木马、勒索软件等。

上述4 种攻击类别中共包含22 种不同的子类,这22 个子类加上normal 共同组成了KDDCup99 中的23 个标签。在KDDCup99 的41 个特征中,有38 个数字特征和3 个字符特征,3 个字符特征分别为protocol_type、service 和flag。

1.2 深度神经网络

深度神经网络在处理NSL-KDD、KDDCup99 等规模庞大数据集时具有较好的并行计算能力。如图1 所示,用于入侵检测数据处理的DNN 由输入层、隐藏层、输出层组成[22],各个层之间的神经元完全连通。图1 的输入层使用来自NSL-KDD 数据集的所有41 个特征作为神经元,经过多个隐藏层之后对攻击数据和正常数据进行分类。

图1 深度神经网络结构Fig.1 Deep neural network structure

1.3 联邦学习

联邦学习的核心思想是基于分布在多个设备上的数据集建立机器学习模型,同时防止数据泄露[23]。在联邦学习框架下,每个设备不发送原始数据进行处理,仅发送更新后的模型参数进行聚合,其参数聚合原理类似于分布式机器学习[24]。

如图2 所示,在联邦学习框架中,每个服务器之间相对独立、互不干预,对本地数据的处理权限不受中心服务器控制。每个子服务器通过下载通用模型来对本地数据进行独立训练与测试,然后通过上传将本地参数更新传输至中心服务器。每个数据拥有方都可以在不给出己方数据的条件下进行训练,从而有效保障数据所有者的数据安全。在联邦学习机制下,多个子服务器能够共同维持一个最新的全局模型,这个全局模型是联邦学习框架中最重要的组成模块,本文DFC-NID 模型中联邦学习框架所使用的通用模型是DNN。

图2 联邦学习框架Fig.2 Federated learning framework

2 DFC-NID 模型

本文所提网络入侵检测模型DFC-NID 的总体流程如图3 所示。

图3 DFC-NID 流程Fig.3 The procedure of DFC-NID

DFC-NID 总体架构分为数据预处理、DNN 通用模型搭建、联邦学习框架建立3 个部分。对于输入的数据集,首先进行符号预处理以及数据归一化;然后建立DNN 通用模型模块,利用其对数据集进行特征学习;接着搭建联邦学习框架,使得多个服务器协作并不断迭代优化参数;最后通过Softmax 层输出分类预测结果。

2.1 数据预处理

由于在使用DNN 进行分类时数据只能用数值来训练和测试,而NSL-KDD 与KDDCup99 数据集包含许多不同的数据类型,因此需要对初始数据进行预处理。预处理过程主要分为以下2 个步骤:

1)符号数据预处理,即将非数值数据转换成数值数据。在数据集中通常存在非数值数据,如表1中的特征2、3 和4(TCP、UDP 和ICMP)。给每个变量分配特定的值(如TCP=1、UDP=2、ICMP=3),可以将训练数据集和测试数据集中的这些特征转换为数值类型。在预处理时,将数据集的攻击类与正常类转换为数字类,如将1、2、3、4分别分配给DoS、Probe、R2L、U2R,将5 分配给normal。

2)数据归一化。NSL-KDD 数据集的特征是离散值或连续值,如果特征值的范围不同,则它们之间将无法直接进行比较。通过使用最小-最大归一化[25]对这些特征进行处理,将每个特征的所有不同值都映射到[0,1]范围。

2.2 深度神经网络通用模型建立

通用模型是基于联邦学习的入侵检测框架的核心模块,DFC-NID 选择深度神经网络作为该框架的通用模型。

如图4 所示,输入层使用来自NSL-KDD 数据集的所有41 个特征作为神经元。第一隐藏层是一个包含20 个神经元的自动编码器,其从输入数据的41 个特征中选择20 个特征;第二隐藏层是一个包含10 个神经元的自动编码器;第三隐藏层是Softmax层,通过Softmax 层后可以将数据分为正常类与4 种不同的攻击类。

图4 深度神经网络通用模型Fig.4 General model of deep neural network

2.2.1 自动编码器

自动编码器[26]是一种可以用于特征降维[27]的无监督神经网络模型,DFC-NID 采用自动编码器作为“预训练”DNN 的一种方式。自动编码器结构如图5所示。

图5 自动编码器结构Fig.5 Auto-encoder structure

自动编码器在对训练数据进行预训练的过程中不使用标签,且自动编码器在输出处复制其输入。在通常情况下,x的数量与x′相同,当隐藏层中的神经元数量h小于x的数量时,自动编码器会学习x的压缩表示,下一个自动编码器再使用这些从训练数据中提取生成的特征集进行训练。综上所述,首先通过无监督学习技术对自动编码器进行训练,然后利用训练后的自动编码器提取特征。

2.2.2 训练方式

为了使训练过程更加有效,模型一次训练一层DNN,即通过自动编码器来对每个隐藏层进行训练与微调。

在第一个自动编码器训练后,再对第二个自动编码器进行训练。与训练第一个自动编码器不同的是,第二个自动编码器使用的是从第一个自动编码器中提取的特征,而不是训练集。在这一层中,20 个特征被进一步压缩为10 个特征集。经过训练后,再从第二个自动编码器中提取特征。

2.3 入侵检测联邦学习框架建立

联邦学习能够在保持高效率通信的情况下很好地保护数据隐私。本文DFC-NID 模型构建的入侵检测联邦学习框架如图6 所示。由于同步加载的通信方式具有更高的预测精度且使模型收敛更稳定,因此本文联邦学习中心服务器与子服务器的通信过程选用同步加载的调度方式。对于图6 中的N个子服务器,每个服务器都有自己的数据集Di,每间隔时间t展开一轮通信,每一轮通信包括以下4 个步骤:1)发送通用模型;2)训练子服务器;3)上传子服务器模型参数;4)模型聚合,生成新的通用模型。

图6 DFC-NID 模型的联邦学习框架Fig.6 Federated learning framework for DFC-NID model

中心服务器将DNN 通用模型发送到每个子服务器,子服务器使用各自本地的数据集进行训练,训练完毕后再将得到的训练参数上传。在通信时间t期间,中心服务器获得了各个子服务器的训练参数,通过式(1)更新模型权重并进行模型聚合:

其中:ni为每个子服务器数据集的大小;n为所有子服务器数据集ni之和。随着W值的不断更新,可以得到一个新的DNN 通用模型文件Mt+1。最后,将新的DNN 通用模型立即重新分配到每个子服务器上,并进行迭代处理直到模型收敛,结束训练。算法1为入侵检测系统联邦学习过程的完整伪代码。

算法1入侵检测系统的联邦学习算法

DFC-NID 在第一轮通信时使用一个小规模的测试集对训练后的子服务器进行性能测试,若测试结果小于设定的阈值,则该服务器本轮通信停止上传参数,从而增强通用模型的聚合效果。除此之外,DFC-NID 还在聚合算法中设置启动阈值,当中心服务器接收到的参数个数大于阈值时,模型聚合开始,从而有效提高联邦学习模型的聚合效率。

3 实验结果与分析

3.1 数据集

本文实验使用NSL-KDD 与10%的KDDCup99作为数据集,其中,619 994 条数据作为训练集,311 094 条数据作为测试集。各个特征类别所对应的训练集与测试集数据量如表3 所示。

表3 实验数据集信息Table 3 Experimental dataset information

3.2 实验评价指标

实验使用如下指标对DFC-NID 进行入侵检测性能评估:

1)准确率,计算公式如下:

2)精确率,计算公式如下:

3)召回率,计算公式如下:

4)F1 分数,计算公式如下:

3.3 结果分析

3.3.1 先进性与有效性实验

表4 比较了本文DFC-NID 与众多常用的深度学习模型在检测性能上的表现。从表4 可以看出,DFC-NID 在准确率和F1 分数上均优于其他模型,其中,准确率平均提升了3.1%。

表4 不同模型的实验结果对比Table 4 Comparison of experimental results of different models

表5 对比了DFC-NID 与近两年提出的网络入侵检测模型[28-30]的准确率。从表5 可以看出,与现有模型相比,本文DFC-NID 模型在入侵检测中取得了更高的准确率。

表5 网络入侵检测模型准确率对比Table 5 Comparison of accuracy of network intrusion detection models

结合表4 与表5 可以得出,本文所提DFC-NID模型在网络入侵检测中具有先进性和有效性。

3.3.2 模型鲁棒性实验

为了验证DFC-NID 的鲁棒性,实验针对不同的攻击类别对不同数据集进行多分类实验,其中包括正常类与DoS、Probe、U2R、R2L 这4 个攻击类。实验结果如表6、表7 所示,从中可以看出,在NSLKDD 数据集上DoS、Probe 与正常类的准确率均在0.946~0.977范围内,在KDDCup99数据集上DoS、Probe 与正常类的准确率均在0.987~0.998 范围内,即在不同数据集上DFC-NID 对于DoS、Probe 与正常类的检测都有较高的准确率,证明DFC-NID 具有良好的鲁棒性。

表6 NSL-KDD 数据集的五分类结果Table 6 Five classification results of NSL-KDD dataset

表7 KDDCup99 数据集的五分类结果Table 7 Five classification results of KDDCup99 dataset

从表6、表7 中还可以看出,当只考虑2 类(正常类和攻击类)时,检测精确率较高。由于R2L 和U2R可供训练的样本有限(如表3 所示,R2L 和U2R 的数据量都太过稀疏),因此在实验中取得的结果不太稳定。尽管如此,从实验结果中还是可以明显看出,DFC-NID 模型对于数据量大的攻击类别能够取得很高的准确率、精确率、召回率和F1 分数。

3.3.3 联邦学习对比实验

为了验证DFC-NID 所使用的联邦学习框架在网络入侵检测中的优越性,实验将DFC-NID 与不使用联邦学习框架而只使用DNN 通用模型的情况(称为NO-FC 模型)进行对比。其中,DFC-NID 中设置5 个子服务器作为参与方,并将数据集随机分为5 个部分分别发送给子服务器用于各自的本地训练。在网络入侵检测模型评估中,时间效率也是体现模型性能的一个重要因素,因此,实验还测量了DFC-NID模型与对比模型所需的训练时间,实验结果如表8所示。

表8 联邦学习对比实验结果Table 8 Comparative experimental results of federated learning

由表8 可以看出,相比不使用联邦学习框架的NO-FC 模型,DFC-NID 模型在测试集上的准确率与召回率有所提升,且DFC-NID 减少了83.9%的训练时间。因此,DFC-NID 模型可以在保持高准确率的同时大幅缩短训练时间。另外,由于DFC-NID 模型在训练时只需要传输模型参数,数据集仅在子服务器上进行训练,因此DFC-NID 模型能更好地保障数据的安全性。

4 结束语

为在复杂网络环境中对多样化的网络入侵方式进行快速准确的检测,本文提出一种基于深度神经网络和联邦学习的入侵检测模型DFC-NID。利用联邦学习框架使多服务器协作参与,在缩短训练时间的同时确保数据的安全性。使用DNN 作为通用模型自动提取并高效学习数据特征,最后通过Softmax分类器得到预测结果。实验结果表明,DFC-NID 的准确率达到94.1%,高于MFO-ENSEMBLE、LSTM-GRU等分类模型,在攻击类DoS与Probe上,DFC-NID 的准确率最高达到99.8%与98.7%,取得了很好的检测效果。与此同时,相较不使用联邦学习的对照模型,DFC-NID 减少了83.9%的训练时间并能保持较高的准确率与召回率。在联邦学习机制下,每个参与方之间数据不互通,因此,DFC-NID 能够很好地保证数据的安全与隐私。下一步将对小样本入侵检测问题进行研究,提升针对稀疏数据的攻击类别检测效果。

猜你喜欢
编码器联邦准确率
融合CNN和Transformer编码器的变声语音鉴别与还原
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
一“炮”而红 音联邦SVSound 2000 Pro品鉴会完满举行
303A深圳市音联邦电气有限公司
高速公路车牌识别标识站准确率验证法
基于双增量码道的绝对式编码器设计
应用旋转磁场编码器实现角度测量
基于数字信号处理的脉冲编码器