基于焦点损失函数的物联网入侵检测深度学习方法

2023-10-01 16:53:25陈傲晗杜建斌景鑫淼
互联网周刊 2023年18期
关键词:卷积神经网络

陈傲晗 杜建斌 景鑫淼

摘要:物联网有望革命性地改变医疗、能源、教育、交通、制造、军事、农业等多个行业。然而,要在各行业成功部署物联网,需要设计和实施检测安全漏洞的方法。近年来,虽然许多学者和工业界研究者已经利用机器学习技术设计和实施了计算机网络入侵检测系统,但在物联网领域的研究相对较少。为解决物联网中的入侵检测问题,我们采用了专门的损失函数,能够自动降低简单样本的权重,从而有效地训练模型。我们利用两种深度学习神经网络架构实现了这一方法。在三个不同物联网领域的数据集上进行的广泛实验评估结果显示,相较于使用交叉熵损失函数,我们的方法在准确度、精确度、F1和MCC指标上均有显著提升,分别高出24%、39%、39%和60%。

关键词:焦点损失函数;卷积神经网络;基线模型

引言

物联网(the internet of things,IoT)是通过有线和无线网络相互连接的设备网络。该技术可能彻底改变医疗、能源、教育、交通、制造、军事、农业等多个行业[1]。IoT设备不仅在工业领域,还在个人生活中扮演着重要角色。然而,与任何其他网络信息系统一样,IoT也容易受到网络攻击的影响。例如,2016年10月21日,利用Mirai恶意软件,一系列利用IoT设备漏洞的分布式拒绝服务(DDoS)攻击在美国全境爆发。因此,保护IoT中可能收集和处理敏感私人数据的设备免受各种网络攻击的威胁变得必不可少[2]。

1. 基于焦点损失函数的深度学习模型

1.1 任务建模

模型的输入数据是一个二维的矩阵,其中为一个D维的向量。标签yi与xi相对应且,为标签类别。对于每个数据集来说,有N个样本,其中每个样本有L个攻击类别。神经网络将使用这些数据进行训练以得到一个函数,被称为估计函数,对于任意一个样本xi,优化的目标是希望与真实的函数在某些特定的损失(如交叉熵损失函数)下距离最小。

1.2 深度学习模型

1.2.1 深度前馈神经网络

一般来说,DFNN具有至少3层,即输入层、输出层和至少一个隐藏层。这里仅介绍具有一个隐藏层的网络计算方式,具有多个隐藏层的网络同理。令,分别为隐藏层和输出层的可训练权值矩阵,则从输入层到隐藏层的计算可以表示为:

其中,为输入数据集,bh表示偏置,为非线性激活函数,例如Sigmod函数。容易知道隐藏层的输出。最终,输出层的计算可以表示为:

其中,M应与数据集中类别个数相同,例如在二分类问题中,M=2。

1.2.2 卷积神经网络

CNN的优势在于,由于在计算过程中存在卷积核,可以学习到某一样本xi的邻域信息并将卷积核大小之内的信息采用某种方式进行融合,比如常见的最大池化或平均池化。一个卷积神经网络有若干卷积层和一个深度前馈神经网络构成,其中卷积层的输出作为深度前馈神经网络的输入。卷积层通常由两部分操作完成,分别为卷积操作和池化操作。对于数据集矩阵来说,卷积核为一个自定义大小的矩阵C,不妨令,在进行卷积操作时,C中的元素与X中的元素按照从左到右从上到下的顺序,以自定义的步长移动C,做逐元素(element-wise)乘法。池化操作将按照某种规则做逐元素乘法得到的矩阵进行压缩,比如最大池化会选择4个数字中最大的作为代表参与之后的计算。

1.3 焦点损失函数

在各个领域中,许多数据集普遍存在类别不平衡问题。交叉熵损失是一种传统的损失函数,在分类任务中被广泛使用。首先考虑最简单的二分类问题中的交叉熵损失函数,

在二分类问题中,样本xi对应的标签,分别表示正类和负类。上式表示模型对样本xi的标签yi=1做出的概率估计。基本上,交叉熵损失试图通过使用负对数似然来减少整个数据集上的平均损失。因此,任何使用这种损失函数(如交叉熵损失)来训练模型的深度学习模型都能够准确地预测多数类别,但无法正确地预测少数类别,因为其目标是最小化训练集上的平均损失。近年来,针对计算机视觉中的类别不平衡问题,提出了专门的损失函数(如Dice损失和焦点损失)。例如,Dice损失使用Dice系数来解决这个问题,如下所示:

其中表示样本xi所属类别的估计值。然而,在类别极度不平衡且分母较小的情况下,比如入侵检测任务的数据集,Dice损失的梯度本质上是不稳定的。因此,少数样本的错误分类可能会导致Dice系数显著降低,这对于少数类别不利,因此在入侵检测任务中表现不佳。为了解决入侵检测任务中的这个问题,本文使用了最初用于目标检测场景的焦点损失函数。焦点损失函数的关键思想是重新塑造损失函数,使得简单的示例权重降低,而训练集重点放在难以正确分类的负例上。令

则焦点损失函数定义为:

其中可以被视为调整因子来平衡类别权重。进一步地,可以令

其中at加入可以更大程度上解决数据集中的类别不平衡问题。在γ选取过大的情况下,少数类别将会获得比多数类别更大的权重,反之亦然。

2. 实验

2.1 模型实现

在模型的实现上,本文使用了深度学习模型DFNN和CNN。实现的DFNN包含三个隐藏层,分别包含50、30和20个神经元;输出层包含与攻击类型数量相匹配的神经元。对于WUSTL-EHMS-2020数据集,使用了一个包含50个神经元的单隐藏层。最终的分类是通过softmax函数执行的。使用了ReLU激活函数和Adam优化器。loT入侵检测的数据集由一系列一维数据组成,因此本文使用了一维卷积神经网络(conv1D)进行实验。对于conv1D,本文使用了32个滤波器,核大小为3。池化操作上使用了最大池化。与DFNN类似,对于conv1D,我们应用了relu激活函数和Adam优化器。每个网络训练了100个epoch,并使用了提前停止技术。在基线模型中,本文使用了交叉熵作为要对比的损失函数。而在本文提出的模型实现中,使用了焦点损失函数作为一种专门的损失函数。焦点损失函数有两个超参数,即焦點因子和平衡因子。在Bot-IoT数据集的训练中,对于DFNN,我们将焦点因子设置为2,平衡因子设置为1;对于 conv1D,我们将这些参数分别设置为5和5。在WUSTL-IIoT-2021数据集上的训练中,对于DFNN,我们将焦点因子和平衡因子分别设置为 2.5 和 0.15;对于 conv1D,我们将焦点因子和平衡因子分别设置为 2.0 和 0.3。最后,在WUSTL-EHMS-2020数据集上的训练中,对于 FNN,我们将焦点因子γ和平衡因子α分别设置为 2 和 2;对于 conv1D,我们将焦点因子γ和平衡因子α分别设置为 2 和 0.2。

2.2 评价指标

本文使用以下定量指标来评估各种ML分类器的性能:准确率(Acc)、精确度(Pre)、召回率(Rec)、F1-Score。在我们的实验中,我们计算了所有四个参数的宏平均,这是评估不平衡数据集方法的期望度量标准。Acc表示算法预测特定事件发生的准确程度;Pre指算法预测的不同类型入侵的频率。Rec表示算法预测为入侵且实际为入侵的比例。精确度和召回率的调和平均的倒数称为F1-Score。最近,Matthew's Correlation Coefficient(MCC)在评估分类性能时被证明比准确率和F1-Score产生更真实的评估。MCC只有在四个类别( 真正例TP、假反例FN、真反例TN和假正例FP)中都取得良好结果时才会产生高分。此外,MCC不受数据集不平衡的影响。本文还将MCC作为评估指标之一。各个指标的计算方法如表1所示。

2.3 数据集

2.3.1 WUSTL-lloT-2021数据集

WUSTL-IIoT-2021数据集包含工业物联网(IIoT)相关的数据。该数据集是使用IIoT测试平台中描述的监控控制和数据采集架构生成的。该测试平台旨在尽可能真实地模拟实际的工业系统,并允许进行实际的网络攻击。作者已经收集了约2.7GB的数据并对收集到的数据集进行了预处理和清洗过程(删除缺失值和损坏值,即无效条目)。该数据集具有45个属性,包含与以下四种不同类型的攻击相关的数据:DoS、命令注入、侦察和后门。需要强调的是,该数据集没有单独的测试和训练数据集。因此,我们根据数据项的时间戳对数据集进行了排序,然后将前80%的样本用于训练,剩余的用于测试。

2.3.2 WUSTL-EHMS-2020数据集

WUSTL-EHMS-2020数据集是使用实时增强型医疗监测系统(EHMS)生成的。测试平台收集了网络流量指标和患者生物指标。EHMS测试平台包括四个组件:医疗传感器、网关、网络和控制与可视化。在该测试平台中,数据流从连接到患者身体的传感器开始,然后继续传输到网关。使用交换机和路由器,网关将数据传输到服务器以进行可视化。数据在到达服务器之前可以被攻击者截取。这个数据集包含了关于中间人攻击的数据,包括欺骗和数据注入。在这个数据集中,数据项具有43个特征:其中35个是网络流量指标,另外8个是患者生物特征。该数据集中的样本有两种类型的标签:正常和攻击。根据源MAC地址特征,作者将攻击者电脑的MAC地址标记为1,其余的标记为0。WUSTL-EHMS-2020数据集与WUSTL-IIoT-2021数据集类似,没有单独的测试和训练数据集。由于它不包含时间戳特征,我们随机地将数据集分割为训练和测试数据集。

3. 基线模型

OriM:模型是使用原始数据集(即未进行平衡处理的数据集)进行训练的。我们使用数据集中的原始训练样本,使用传统的损失函数,即交叉熵损失函数,来训练分类器。BalM:模型是在经过平衡处理的数据集上使用随机过采样进行训练的。我们使用随机过采样来平衡三个训练数据集。随机过采样涉及在少数类别中随机复制样本,以平衡数据集。在整个采样过程中,从每个类别中独立地选择样本。经过随机过采样平衡训练数据集后,在Bot-IoT、WUSTL-IIoT-2021和WUSTL-EHMS-2020数据集中,各类别的训练样本数量分别约为1233052、797261和10275。Dice:模型是使用Dice损失函数进行训练的。在处理图像分割中的数据不平衡问题时,通常会使用Dice损失函数。Dice损失是基于Dice系数计算的。一般情况下,Dice系数可以通过将实际值和预测值的总和除以实际值和预测值的交集的两倍来计算。本文在所有三个原始训练数据集上使用Dice损失函数来训练DL模型,用于多类别和二分类任务。本文将上述三种控制变量得来的处理方法,分别与DFNN和CNN进行组合,并在对应的数据集上进行实验,以探究本文提出方法的有效性。

3.1 结果分析

3.1.1 Bot-loT数据集

表2包含了我们使用Bot-IoT数据集评估的各种模型的性能结果。DFNN-Focal和CNN-Focal在准确性、精确率、F1分数和MCC分数方面明显优于设定的基线方法。具体地,就MCC而言,DFNN-Focal和CNN-Focal相对于FNN-OriM和CNN-OriM分别提升了10%和29%。另外,可以看到,DFNN-Focal和CNN-Focal在所有比较的方法中表现最佳。同样,DFNN-Focal和CNN-Focal的准确率分别比DFNN-OriM和CNN-OriM提高了3%和17%;在F1-Score方面,DFNN-Focal和CNN-Focal分别提高了3%和16%。这种性能上的提升可以归因于DFNN-Focal和CNN-Focal中使用的焦点损失所实现的动态缩放梯度更新。

3.1.2 WUSTL-lloT-2021数据集

表3包含了不同模型在WUSTL-IIoT-2021数据集上的性能结果。总体而言,所有方法在该数据集上的性能与它们在Bot-IoT数据集上的性能相似。在所有同类方法中,DFNN-Focal和CNN-Focal具有最高的准确性、精确度、F1-Score和MCC。在所有基于DFNN的方法中,DFNN-Focal的MCC比最接近的FNN-OriM高出25%;尽管CNN-Focal的MCC仅比CNN-OriM高2%,但它在所有基于CNN的方法中具有最高的MCC。相对于DFNN-OriM和CNN-OriM,DFNN-Focal和CNN-Focal的F1-Score分别提高了18%和5%。

3.1.3 WUSTL-EHMS-2020数据集

表4描述了基线模型和本文提出的方法在WUSTL-EHMS-2020数据集上的结果。可以看到,无论是在准确性、精确度、F1-Score还是MCC方面,DFNN-Focal和CNN-Focal都表现得比其他基线DL分类器要好。综合来看,与本文方法最接近的是OriM基线方法,其中,DFNN-Focal的性能分别提高了0.002,2,0.001,0.003和1.1。类似地,与CNN-OriM相比,CNN-Focal在准确性、精确度、F1-Score和MCC方面的性能分别提高了0.019,2,0.004和0.012。因此,无论是DFNN-Focal还是CNN-Focal都只表现出了微小的改善。从这些结果中可以得出结论,使用焦点损失函数的方法在F1分数和MCC方面始终优于所有竞争模型,并且在准确性、精确率和召回率方面也更好。在所有数据集上,DFNN-Dice和CNN-Dice的MCC分数都为零。这是因为Dice损失在少数类上表现不佳。

结语

在过去的十年中,研究人员已经使用机器学习技术设计和实现了计算机网络的入侵检测系统,但在物联网领域的入侵检测方面,还没有做太多的工作。本文填补了这一空白,提出了一种新的基于深度学习的物联网入侵检测方法,即使用焦点损失函数,并在物联网的三个不同领域中使用三个不同的数据集进行了性能评估。通过广泛的实验评估将本文提出的方法的性能与几个基线模型进行了比较。我们的评估结果表明,相对于基线模型,加入焦点损失函数的方法在多個数据集上的准确性、精确度、F1-Score和MCC分别提高了多达24%、39%、39%和60%。

参考文献:

[1]樊琳娜,李城龙,吴毅超,等.物联网设备识别及异常检测研究综述[EB/OL].(2023-5-26)[2023-08-30].https://doi.org/ 10.13328/j.cnki.jos.006818.

[2]刘云,郑文凤,张轶.代价约束算法对入侵检测特征提取的优化研究[J].计算机工程与科学,2022,44(3):447-453.

作者简介:陈傲晗,本科,研究方向:物联网网络安全领域;杜建斌,本科,研究方向:计算机网络安全领域;景鑫淼,本科,研究方向:威胁防御、网络安全标准化。

猜你喜欢
卷积神经网络
基于深度神经网络的微表情识别
卷积神经网络中减少训练样本时间方法研究
卷积神经网络语言模型研究
基于卷积神经网络的车辆检索方法研究
基于卷积神经网络温室智能大棚监控系统的研究
基于深度卷积神经网络的物体识别算法
深度学习算法应用于岩石图像处理的可行性研究
软件导刊(2016年9期)2016-11-07 22:20:49
基于深度卷积网络的人脸年龄分析算法与实现
软件工程(2016年8期)2016-10-25 15:47:34
深度学习技术下的中文微博情感的分析与研究
软件(2016年5期)2016-08-30 06:27:49
基于卷积神经网络的树叶识别的算法的研究