本发明涉及海洋物联网入侵检测,特别涉及一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法。
背景技术:
1、近年来物联网技术的快速发展对海上运输系统(mts)的智能化、信息化、数字化起到了重要的推动作用,随着物联网技术的发展和物联网设备的增多,需要实时监测的网络流量激增,入侵检测系统是抵御网络入侵的有效手段之一。为了处理这些数据,边缘计算受到很多学者的广泛关注,越来越多的研究引入边缘计算以满足低延迟和实时检测的要求。然而,边缘计算在带来高交互性的同时,由于数据交换的高频率,在数据上传过程中更容易受到攻击者的恶意攻击造成数据中毒,数据交换的高频率增加了单点故障风险,带来了额外的网络安全威胁。此外,物联网设备的异构性、各个客户端间的non-iid数据导致难以针对不同的船舶设计一种通用的入侵检测系统。
2、虽然有些现有技术考虑到了在物联网场景下进行入侵检测的数据隐私安全问题,将入侵检测模型与联邦学习框架结合。但传统联邦学习算法并不能解决物联网设备的数据异构问题,无法克服数据异构对入侵检测准确率的影响,更不适用于海洋物联网这种特殊应用场景。
3、目前流行的入侵检测方法主要分为基于特征的检测和基于异常的检测两大类。基于签名的检测方法通过对比检测到的攻击和数据库中现有攻击行为的签名,识别潜在的攻击。该方法的缺点是对未知攻击类型的识别能力较弱。现阶段基于异常的入侵检测主要用深度学习技术实现,包括遗传算法、支持向量机、决策树、人工神经网络及其衍生品cnn、rnn等。基于异常的检测通过将检测到的网络流量行为与正常行为进行比较,以确定该行为是否属于攻击性行为。该方法解决了基于签名的异常检测不能识别零日攻击的局限,但该方法无法识别加密流量包,且基于统计方法难以为海量网络流量数据创建精准的正常行为模型,导致误报率高。且这些方法都是集中式训练模型,要求客户端把自己的隐私数据上传到中央服务器后再进行统一训练,会泄露用户的数据隐私。集中式训练模型默认设备的计算资源无限,显然这种假设对于船舶这种低资源设备来说是不成立的。当网络中需要监控的数据量超过了单个系统的能力时,集中式训练模型会发生丢包率高、高延迟等问题,甚至导致系统的崩溃。
4、为了解决集中式训练模型中的数据隐私和高延迟问题,联邦学习框架出现在大众的视野中。
5、然而,考虑到海上运输系统的特殊性,传统的联邦学习算法如fedavg、fedsgd、fedprox、异步联邦学习并不适用。由于海洋通信环境恶劣,各参与方客户端(船舶)很可能出现无法及时将局部模型参数上传至中央服务器的情况,该情况被定义为掉队问题,当有大量掉队者出现时,全局模型聚合过程中会丢失很多必要的局部模型参数信息,加之各客户端间数据非独立且同分布,不同客户端间的数据分布方差较大,使得聚合得到的全局模型方差过大,对局部模型的泛化能力差。传统的联邦学习算法并没有解决掉队问题。
6、传统的联邦学习还面临一个严重的问题,就是物联网设备的异构性导致的数据非独立且同分布(non-independent and identically distributed,non-iid),该问题也被称为数据异质性。该问题对最终全局入侵检测模型的性能造成了极大影响。
7、为了解决non-iid数据问题,基于个性化思想的联邦学习算法被提出,如fedamp、fedprox、fedfomo、per-fedavg。然而,这些算法依旧存在不足:传统的基于个性化的联邦学习算法通过引入元学习、注意诱导函数、权重策略等概念,选择对本地任务有用的信息。但是这些策略单一考虑全局模型信息,忽略了本身局部模型信息的重要性。并且这种选择策略本身是粗略的,不能细粒度感知全局模型在聚合过程中所需要的信息,导致模型性能下降,还会带来过大的计算和通信代价。
技术实现思路
1、为了解决现有技术中传统集中式训练方式泄露用户敏感数据隐私的问题,以及现有基于联邦学习的入侵检测系统中的掉队者、全局模型对本地任务泛化能力差、通信和计算代价大,从而不适用于海洋物联网这种特殊应用场景的技术问题,本发明提出了一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法,将机器学习中的联邦学习框架与基于深度学习技术实现的入侵检测模型相结合,使单个全局模型能够执行多个分类任务,保护客户端数据隐私,通过批量联邦聚合算法fedbatch通过动态调整保留因子的值来调整全局模型历史信息的保留量,解决由于通信环境不稳定导致存在较多掉队者对全局模型的聚合过程产生较大影响,改进后的联邦学习算法更适应于海上通信环境。
2、具体技术方案如下所述:
3、一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法,包括以下步骤:
4、s1:基于cnn-mlp模型构建入侵检测系统,对原始数据进行预处理和攻击类型标注后的流量数据作为cnn-mlp模型的输入;首先将转换后的流量数据输入到卷积神经网络cnn中提取特征,将提取到的特征送入前馈神经网络mlp中对网络流量进行分类;各客户端利用本地数据在本地进行局部模型的训练并记录各局部模型的损失函数值;
5、s2:服务器在接收到所有客户端上传的局部模型的损失函数值以及模型参数后,根据全局模型ft的损失函数值进行全局模型参数的更新,对全局模型ft进行参数初始化,使wt=0;
6、s3:中央服务器将全局模型的参数信息广播给所有客户端;
7、s4:各客户端接收广播的全局模型的参数信息,并按照个性化联邦学习算法(fedala)对局部入侵检测模型进行参数初始化,引入基于注意力诱导机制的聚合选择算法(asaa)选择参与训练的各个船舶客户端c1,…,ci,…,cm′,根据注意力机制计算出的各个局部模型和全局模型的相似度进而筛选出得分较高的客户端参与训练,各客户端局部模型利用本地数据进行迭代训练,直至局部模型收敛;
8、s5:将s4中各参与方训练得到的局部模型收敛参数上传给中央服务器,中央服务器以批量联邦聚合算法(fedbatch)对各局部模型进行聚合得到全局模型ft;
9、s6:迭代步骤s3-s5,直到训练误差达到误差容限或者到达设定的最大训练轮次,最终得到全局网络流量入侵检测模型,客户端将需要实时监控的网络流量输入模型进行入侵检测得到网络攻击类型(包括normal正常攻击类型和dos、probe、u2r、r2l四种攻击类型)的分类结果,这五种网络攻击均来源于被广泛使用的用于评价入侵检测模型性能的公开数据集nsl-kdd。
10、优选地,所述的数据预处理和攻击类型标注的具体步骤如下:
11、s11,对客户端本地的网络流量数据进行筛选,用均值替换原数据集中的异常数据,用图神经网络gan处理数据缺失空值;
12、s12,将类别标签非数值型数据转换成数值型数据;利用编码方式将原始数据中除“标签”外其他字段的非数值型数据转换成数值型数据;
13、s13,采用递归式特征消除方法进行特征选择,从各客户端数据集原始特征中筛选出对网络流量分类有重要影响的特征,剔除不重要的特征;
14、s14,对原始网络流量数据中的各属性字段值分别进行最大-最小归一化,表示为:
15、其中,
16、表示数据集中第i个样本的第q维特征,xi表示数据集x的第i个样本,表示第i个样本的第q维特征中的最小值,xmin是由q个最小维特征组成的特征向量表示,xmax与xmin类似。
17、s15,将归一化后的一维数据转换成二维数据,使其满足cnn-mlp模型的输入要求;
18、s16,将原始数据根据客户端数量划分成non-iid数据,采用实际的异构设置方法来模拟不同物联网设备(客户端)的异构设置;此种异构设置方法受dirichlet分布控制,记为dir(θ),θ值越小,表示分布越不均匀,设置θ=0.1作为默认的异构设置,以模拟实际场景中不同客户端间数据非独立且同分布。
19、优选地,所述基于cnn-mlp模型的构建入侵检测系统,包括一个完成全局模型聚合的中央服务器和若干参与联邦学习的客户端,各客户端从中央服务器接收cnn-mlp入侵检测模型,并在本地利用本地数据进行训练,训练完毕后各个客户端再将更新后的模型参数以及模型损失函数值上传至服务器,协同更新全局模型。
20、优选地,所述cnn-mlp模型的输出分类包括正常流量和异常流量数据,且异常流量数据中进一步细分的网络入侵攻击类型包括dos、probe、u2r、r2l。
21、优选地,所述s15中,采用特定方式将原始一维数据转换成适合cnn处理的二维数据,具体转换方式为:
22、转换目的:原输入数据xi∈rq转换成xi∈rw×w,
23、变换方式为a,b的计算方式表示为:
24、
25、其中,w是正方形的宽度,q是输入样本的维度即每个样本对应的特征数,且满足:要求正方形宽度的平方至少覆盖输入样本的所有维度;pad表示需要填充的数量,默认情况下填充0,计算方式为:npad=w*w-q。的参数含义同是把样本i的第x个一维特征转换成了(a,b)二维特征,具体转换过程参考附图5,转换的目的是为了把原数据的一维特征转换成二维特征以满足cnn对于输入数据的维度要求。
26、优选地,s1中进行局部模型训练的方法为:
27、客户端收到中央服务器广播的全局模型信息后,开始局部模型的训练,客户端数据集中每条网络流量样本构成一个训练样本,将各训练样本输入cnn-mlp模型中,计算各样本的预测标签与真实标签的交叉熵损失,以所有样本的交叉熵损失均值作为损失函数值,根据损失函数值采用梯度下降算法对模型参数进行迭代训练至其收敛;所述局部模型的损失函数表示为:
28、
29、其中,是样本xj的交叉熵损失;是客户端i在t次迭代时的数据集中的样本总量,u是攻击类型的总数量,表示模型输出的样本j属于第u种攻击类型的概率(预测值),表示样本j属于第u种攻击类型的概率(真实值);
30、局部模型参数的更新公式:
31、
32、其中,η为局部模型的学习率,是从客户端i对应的数据集中随机抽取的样本数量,表示客户端i在第t次迭代时的局部模型参数,表示客户端i的xj样本经过t次局部模型迭代后对应的损失值。
33、优选地,s2所述的全局模型ft的损失函数值计算方式为:
34、
35、其中,n表示参与训练的所有客户端的数量,是客户端i在t次迭代时的数据集中的样本总量,|dt|是在t次迭代时所有成功上传局部模型参数的客户端的总样本数量。
36、优选地,s2所述的全局模型参数的更新公式:
37、
38、其中,η为全局模型的学习率,|zt|是从所有客户端对应的所有数据集|dt|中随机抽取的所有样本数量。
39、优选地,s4中所述的参数初始化方式为:
40、
41、其中,表示客户端i在第t次迭代时的局部入侵检测模型参数,wt-1表示在第t-1次迭代时以批量联邦聚合算法(fedbatch)聚合得到的全局模型参数,⊙表示哈达玛积,p代表将ala模块应用于网络中较高的p个层,表示应用了ala模块的网络层的权重参数;|wi|表示第t轮迭代时客户端i对应的局部入侵检测模型网络的总网络层数,|wi|-p表示没有应用ala模块的较低层的网络层数。
42、优选地,s5所述的批量联邦聚合算法表示为:
43、
44、其中,wt表示第t次迭代时全局模型参数,表示第t次迭代时客户端i对应的局部模型参数,ai是基于注意力机制计算得到的客户端i与全局模型间的权重(重要性)系数,b(ns,β)是动态调整全局模型信息保留量的自适应函数,表示为:
45、
46、其中,n表示参与训练的所有客户端的数量,ns为按时成功将局部模型参数和梯度信息上传给中央服务器的客户端数量;β为保留因子,β∈(0,1],要求每轮聚合中至少有一个客户端参与训练,-1000(ns-1)∈[-1000,0],称为散乱子,它反映了掉队者(即没有按时成功将自己的局部入侵检测模型信息上传至中央服务器的客户端)的比例,自适应函数根据散乱子通过保留因子动态调整过去时刻全局模型信息的保留量;
47、当几乎没有掉队者存在时,b(ns,β)≈0,这种情况下全局模型的聚合完全依赖于当前时刻各局部模型上传的信息;
48、当有较多掉队者存在,即由于海洋通信环境不稳定导致很多参与方客户端都没有成功将自己的模型参数上传至中央服务器时,散乱子此时,b(ns,β)=β。
49、技术效果
50、本发明提出了一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法,通过将机器学习中的联邦学习框架与基于深度学习技术实现的入侵检测模型相结合,使单个全局模型能够执行多个分类任务,保护客户端数据隐私。引入联邦学习框架的优势还包括:在单个数据集样本量不够的情况下,联邦学习中客户端通过利用其他客户端的经验知识进行协同训练,使得数据量较少的设备通过联合训练获得有效的入侵检测模型。
51、(2)本发明提出的批量联邦聚合算法fedbatch通过动态调整保留因子的值来调整全局模型历史信息的保留量,解决由于通信环境不稳定导致存在较多掉队者对全局模型的聚合过程产生较大影响。改进后的联邦学习算法更适应于海上通信环境。
52、(3)引入基于个性化联邦学习的自适应局部聚合算法fedala,改变了传统联邦学习算法中对局部模型的初始化方式,使得在对局部模块进行初始化时能细粒度感知所需的全局模型信息和自身所含的对本地任务有益的信息,加快局部模型的收敛。对比当前研究中的现有方法,结合上述两种联邦学习算法有效克服了数据异质性,极大地缓解了联邦学习中大量客户端不同数据分布造成的模型收敛困难、精度低等问题,使全局模型对本地任务泛化能力更强,实现个性化的入侵检测。
53、(4)此外,本发明还在全局模型和局部模型通信进行参数传输过程中引入了注意力机制。在聚合过程中重点关注对全局模型聚合影响较大的局部模型信息,减少了偏离目标的本地任务的影响,减少了因不必要的参数传输造成的通信成本过大问题。
54、最后,本发明基于轻量化模型cnn-mlp构建的入侵检测系统可以在保证聚合轮数尽可能小的情况下有效实现对网络流量攻击类型的细粒度分类。
1.一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法,其特征在于:所述的数据预处理和攻击类型标注的具体步骤如下:
3.根据权利要求1所述的一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法,其特征在于:所述基于cnn-mlp模型的构建入侵检测系统,包括一个完成全局模型聚合的中央服务器和至少一个参与联邦学习的客户端,各客户端从中央服务器接收cnn-mlp入侵检测模型,并在本地利用本地数据进行训练,训练完毕后各个客户端再将更新后的模型参数以及模型损失函数值上传至服务器,协同更新全局模型。
4.根据权利要求1所述的一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法,其特征在于,所述cnn-mlp模型的输出分类包括正常流量和异常流量数据,且异常流量数据中进一步细分的网络入侵攻击类型包括拒绝服务攻击dos、监视和其他探测活动probe、普通用户对本地超级用户特权的非法访问u2r、来自远程机器的非法访问r2l。
5.根据权利要求2所述的一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法,其特征在于:所述s15中,采用特定方式将原始一维数据转换成适合cnn处理的二维数据,具体转换方式为:
6.根据权利要求1所述的一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法,其特征在于:s1中进行局部模型训练的方法为:
7.根据权利要求1所述的一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法,其特征在于,s2所述的全局模型ft的损失函数值lt(w)计算方式为:
8.根据权利要求1所述的一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法,其特征在于,s2所述的全局模型参数的更新公式:
9.根据权利要求1所述的一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法,其特征在于,s4中所述的参数初始化方式为:
10.根据权利要求1所述的一种基于联邦学习和深度学习的智慧海洋物联网入侵检测方法,其特征在于,s5所述的批量联邦聚合算法表示为:
