一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种分布式物联网入侵检测方法及系统

2022-06-01 01:24:13 来源:中国专利 TAG:


1.本发明属于物联网入侵检测技术领域,尤其涉及一种分布式物联网入侵检测方法及系统。


背景技术:

2.目前,工业物联网(iiot)系统面临着严峻的安全挑战,主要是其资源受限的传感器系统易于受到来自网络的攻击和僵尸网络(例如mirai botnet)的入侵。iiot数据的灵敏度、隐私性和高价值的性质也阻碍了共享内部数据用于训练高性能入侵检测机器学习模型。因此,亟需设计一种新的分布式物联网入侵检测方法及系统,以弥补现有技术存在的缺陷。
3.通过上述分析,现有技术存在的问题及缺陷为:
4.(1)现有的资源受限的传感器系统易于受到来自网络的攻击和僵尸网络(例如mirai botnet)的入侵。
5.(2)现有iiot数据的灵敏度、隐私性和高价值的性质阻碍了共享内部数据用于训练高性能入侵检测机器学习模型。
6.解决以上问题及缺陷的难度为:
7.工业物联网(iiot)系统正面临着严峻的安全挑战,因为它们连接的低成本和资源有限的传感器可能容易受到不断增加的入侵攻击,如mirai僵尸网络。iiot数据的敏感性、隐私性和高价值性也阻碍了训练高性能入侵检测模型的数据共享。
8.解决以上问题及缺陷的意义为:
9.本专利基于实例的迁移学习确保了局部训练的效果,并且还提出了私有化模型聚合的排名和最终模型输出的加权投票方法,该方法能够在不违反数据隐私和保持设备独立的情况下实现入侵检测。


技术实现要素:

10.针对现有技术存在的问题,本发明提供了一种分布式物联网入侵检测方法及系统,尤其涉及一种基于联邦学习的分布式物联网入侵检测方法及系统。
11.本发明是这样实现的,一种分布式物联网入侵检测方法,所述分布式物联网入侵检测方法包括以下步骤:
12.步骤一,安全云服务器使用ids的公共数据初始化轻量级的机器学习模型,安全云服务器向所有客户端分发公共数据和模型;
13.步骤二,在基于实例的迁移学习中,每个客户端使用所述模型作为基础分类器,构建本地分类训练算法进行本地分类训练;
14.步骤三,在完成整个本地化训练过程后,客户端将更新后的分类器发送回安全云服务器,而不是其传输学习策略;
15.步骤四,当服务器从客户端接收到所有更新时,采用fedavg进行模型聚合,并提出
生成最终输出的加权投票算法;
16.步骤五,安全云服务器将最终输出分发回客户端,客户端根据更新的模型启动本地化入侵检测系统ids。
17.进一步,所述步骤二中,将来自公共数据集中的实例作为源域传输,每个客户端均设置自己的实例重用策略适应检测任务,但所有客户端均共享相同的基分类器,并遵循基于实例的迁移学习。
18.进一步,所述步骤二中的本地分类训练算法包括:
19.利用来自公众的数据协助训练,从目标实例和实例初始化实例权重因子,x是特征,y是真正的标签;同时使用ds和d
t
来训练和返回预测的标签为hk,加权错误率εk为:
[0020][0021][0022]
其中,βs和β
t
在获得预测的标签后进行更新;β
t
是与εk相关的该迭代的权重因子,而βs是源域的静态因子。
[0023][0024][0025]
根据结果hk和迭代错误率εk,对训练数据的权重因子ωs和ω
t
进行更新;开始训练过程的下一次迭代,以β
t
作为权重因子返回预测的标签。
[0026][0027][0028]
进一步,所述训练策略包括:
[0029]
准备工作:
[0030]
公开数据集ds,私有数据集测试数据集d
test
,初始化模型f0;
[0031]
目标:预测标签pred;
[0032]
(1)本地训练算法:
[0033]
1)初始化源数据集ds的样本权重ωs和目标数据集d
t
的样本权重ω
t

[0034]
2)for k=1,2,3...k执行:
[0035]
3)使用ds和训练模型fk获得样本权重ωs和ω
t
,返回预测值pk;
[0036]
4)使用公式(2)计算错误率εk和使用公式(3)和公式(4)计算
[0037]
5)根据公式(5)和公式(6)更新样本权重ωs和ω
t

[0038]
6)end for;
[0039]
7)整合结果pk和
[0040]
8)返回更新的模型fi。
[0041]
(2)联邦平均算法:
[0042]
1)获取更新的模型中fi,i=1,2,3...r;
[0043]
2)返回总体模型f0。
[0044]
(3)加权投票方法
[0045]
1)排序整合:
[0046]
2)使用更新的模型fi根据不同攻击aj,j=1,2,3...p的二进制数据集;
[0047]
3)上的聚合攻击分类器fj。
[0048]
(4)权重投票:
[0049]
1)使用公式(7)计算mmd距离mmd[d
test
,aj]以及使用公式(8)计算权重wts[d
test
,aj],j=1,2,3...p;
[0050]
2)设置权重对于攻击分类fj以及生成预测标签d
test

[0051]
3)返回pred。
[0052]
进一步,所述步骤四中的加权投票方法包括:
[0053]
模型训练部分由云模型初始化和局部化模型训练两个步骤组成;安全云平台基于公共数据初始化模型,并将模型发送给客户端;客户使用数据训练模型;安全云平台从客户端接收到所有更新后,安全云执行算法,对所有聚合参数进行平均;使用以决策树为基础分类器的自适应增强算法adaboost,通过结合输出获得最终的预测结果;其中,所述自适应增强算法adaboost是一种使用多个机器学习模型实现基础估计器的增强算法。
[0054]
利用公共数据实现聚合方法,评估精度分数,并对所有基估计器进行排序;选择具有高强度的估计量排名和形成新的adaboost分类器;安全云服务器将更新后的模型返回给客户端,以进行另一次迭代。
[0055]
进一步,利用加权投票算法生成最终输出;服务器为来自公共数据的每次攻击创建二进制数据集yi(i=1、2、

p);用不同的数据训练分类器;服务器评估测试数据和二进制攻击数据集之间的特征分布的差异,作为投票的权重;使用最大平均差异mmd计算核希尔伯特空间中两个数据集之间的统计距离:
[0056][0057]
wts(x,yi)=-log(2*mmd[f,x,yi])(i=1,2,

p)
ꢀꢀ
(8)
[0058]
其中,代表两个数据集的期望差异的上限;f(
·
)是针对特征空间的映射函数;m和n为源域和目标域中的样本数量;mmd作为损失函数量化传输源域和目标域之间的差异;投票权值wts(x,y)为对应的mmd距离的负对数。
[0059]
本发明的另一目的在于提供一种应用所述的分布式物联网入侵检测方法的分布式物联网入侵检测系统,所述分布式物联网入侵检测系统包括安全云服务器和客户端。
[0060]
其中,所述安全云服务器拥有大量的公共数据和高性能硬件,用于模型初始化和聚合;所述服务器用于连接和管理所有的物联网客户端,将初始化的模型分配给客户端,并从客户端和流程模型聚合中收集更新;
[0061]
所述客户端是与安全云连接的各种独立的物联网端点,不允许每个客户端与其他物联网端点共享信息;安全云中的机器学习模型是轻量级模型,适用于低成本的物联网设备。
[0062]
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如下步骤:
[0063]
安全云服务器使用ids的公共数据初始化轻量级的机器学习模型,服务器向所有客户端分发公共数据和模型;在基于实例的迁移学习中,每个客户端使用所述模型作为基础分类器,构建本地分类训练算法进行本地分类训练;
[0064]
在完成整个本地化训练过程后,客户端将更新后的分类器发送回服务器,而不是其传输学习策略;当安全云服务器从客户端接收到所有更新时,采用fedavg进行模型聚合,并提出生成最终输出的加权投票算法;安全云服务器将最终输出分发回客户端,客户端根据更新的模型启动本地化入侵检测系统ids。
[0065]
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如下步骤:
[0066]
安全云服务器使用ids的公共数据初始化轻量级的机器学习模型,服务器向所有客户端分发公共数据和模型;在基于实例的迁移学习中,每个客户端使用所述模型作为基础分类器,构建本地分类训练算法进行本地分类训练;
[0067]
在完成整个本地化训练过程后,客户端将更新后的分类器发送回安全云服务器,而不是其传输学习策略;当服务器从客户端接收到所有更新时,采用fedavg进行模型聚合,并提出生成最终输出的加权投票算法;安全云服务器将最终输出分发回客户端,客户端根据更新的模型启动本地化入侵检测系统ids。
[0068]
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述的分布式物联网入侵检测系统。
[0069]
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的分布式物联网入侵检测方法,具体涉及一种基于联邦学习的机器学习模型训练和网络入侵检测框架,适用于未来工业物联网基于数据隐私保护的网络入侵检测和防护。本发明采用加权投票方法的秩聚合算法,对fedavg方法进一步改进,提高了检测性能,解决了在联邦学习中使用非独立同分布(iid)数据训练局部模型的关键问题。
[0070]
为了评估模型的性能,本发明建立了一个物理测试平台来模拟物联网网络入侵检
测系统。本发明选择了cic-ids20171和cic-ids20182这两个数据集作为攻击数据库。在实验中,本发明在多个树莓派芯片上实现了联邦学习模型训练过程来模拟工业物联网设置。
[0071]
本发明模拟了客户连接来自不同工业环境的场景,如智能工厂和由微控制器支持的智能电网。硬件和操作系统不同,本地采集的入侵样本也不同。在这里,本发明使用5个树莓派(3个pi3btm和2个pi4btm)来呈现不同的iiot硬件。所有的树莓派都使用cortex-atm系列微处理器,本发明将用于本地化训练过程的可用内存的大小限制在100mb。本发明使用两个基于debian的和三个基于archc的linux操作系统。高性能桌面机运行ubuntulinux20.04,使用coretmi9-9900kcpu@3.60ghz和64gb内存,可作为中央服务器连接所有客户端并执行模型聚合。
[0072]
本发明模拟了本地化数据集保持隐私、数据集大小有限的场景。同时,这些数据集很可能是不完整的,并且只包含特定的攻击。本发明使用cic-ids网络流量数据集,从入侵发生时收集的真实网络数据集。cic-ids数据集记录具有79个特征的数据包,并用特定类型标记。本发明选择了2017年三种最常见的攻击类型(ddos、botnet和portscan)和2018年的四种攻击类型(ddos、botnet、野蛮部队和渗透)进行模型训练和评估;中央服务器和5台客户端机器具有不同的数据配置,其中公共数据(ds)和5个具有非iid设置的客户端数据集(d
t
)的数据配置。本发明设置了5个不同的迷你数据集作为本地存储的目标域;源域(ds)由cic-ids2017数据集组成。在硬件测试系统上测试时,本发明的联邦学习策略达到了91.57%的准确率。
附图说明
[0073]
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
[0074]
图1是本发明实施例提供的分布式物联网入侵检测方法流程图。
[0075]
图2是本发明实施例提供的分布式物联网入侵检测方法原理图。
[0076]
图3是本发明实施例提供的分布式物联网入侵检测系统结构框图;
[0077]
图4是本发明实施例提供的算法训练流程图。
[0078]
图5是本发明实施例提供的在硬件测试系统上测试时,本发明的联邦学习策略达到了91.57%的准确率。
具体实施方式
[0079]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0080]
针对现有技术存在的问题,本发明提供了一种分布式物联网入侵检测方法及系统,下面结合附图对本发明作详细的描述。
[0081]
如图1所示,本发明实施例提供的分布式物联网入侵检测方法包括以下步骤:
[0082]
s101,安全云服务器使用ids的公共数据初始化轻量级的机器学习模型,安全云服
务器向所有客户端分发公共数据和模型;
[0083]
s102,在基于实例的迁移学习中,每个客户端使用所述模型作为基础分类器,并通过构建本地分类训练算法进行本地分类训练;
[0084]
s103,在完成整个本地化训练过程后,客户端将更新后的分类器发送回安全云服务器,而不是其传输学习策略;
[0085]
s104,当安全云服务器从客户端接收到所有更新时,采用fedavg进行模型聚合,并提出生成最终输出的加权投票算法;
[0086]
s105,安全云服务器将最终输出分发回客户端,客户端根据更新的模型启动本地化入侵检测系统ids。
[0087]
本发明实施例提供的分布式物联网入侵检测方法原理图如图2所示。
[0088]
如图3所示,本发明实施例提供的分布式物联网入侵检测系统包括安全云服务器和客户端。
[0089]
其中,所述安全云服务器拥有大量的公共数据和高性能硬件,用于模型初始化和聚合;所述安全云服务器用于连接和管理所有的物联网客户端,将初始化的模型分配给客户端,并从客户端和流程模型聚合中收集更新;
[0090]
所述客户端是与安全云连接的各种独立的物联网端点,不允许每个客户端与其他物联网端点共享信息;安全云中的机器学习模型是轻量级模型,适用于低成本的物联网设备。
[0091]
下面结合具体实施例对本发明的技术方案作进一步描述。
[0092]
本发明提出了一种基于联邦学习的机器学习模型训练和网络入侵检测框架,适用于未来工业物联网基于数据隐私保护的网络入侵检测和防护。
[0093]
本发明为了解决在联邦学习中使用非独立同分布(iid)数据训练局部模型的关键问题。本发明提出了一种采用加权投票方法的秩聚合算法,对fedavg方法进一步改进,提高了检测性能。
[0094]
1、系统框架
[0095]
图3显示了该结构是由两个主要成分组成的:安全云服务器和客户端。安全云服务器拥有大量的公共数据和高性能硬件,用于模型初始化和聚合。该服务器有三个任务:(1)连接和管理所有的物联网客户端;(2)将初始化的模型分配给客户端;(3)它从客户端和流程模型聚合中收集更新。客户端是与安全云连接的各种独立的物联网端点。不允许每个客户端与其他物联网端点共享信息。安全云中的机器学习模型应该是轻量级模型,其适用于低成本的物联网设备。
[0096]
训练过程有六个主要步骤,如图3所示。每个步骤的详细信息如下:(1)安全云服务器使用ids的公共数据初始化一个轻量级的机器学习模型;(2)服务器向所有客户端分发公共数据和模型;(3)在基于实例的迁移学习中,每个客户端都使用这个模型作为基础分类器。它将来自公共数据集中的实例作为源域传输,以克服类不平衡或有限的训练数据问题。该方法等价于二进制迁移学习算法tradaboost,但可扩展到多类分类。每个客户端都可以设置自己的实例重用策略来适应检测任务,但所有客户端都共享相同的基分类器,并遵循基于实例的迁移学习;(4)在完成整个本地化训练过程后,客户端将更新后的分类器发送回服务器,而不是其传输学习策略;(5)当服务器从客户端接收到所有更新时,它可以处理模
型聚合。本发明采用fedavg进行模型聚合,并提出了生成最终输出的加权投票算法;(6)服务器将最终输出分发回客户端,客户端可以根据更新的模型启动本地化入侵检测系统(ids)。
[0097]
2、加权投票方法
[0098]
该框架采用联邦学习来解决数据隐私问题。模型训练部分由云模型初始化和局部化模型训练两个关键步骤组成。安全云平台基于公共数据初始化模型,并将模型发送给客户端。客户使用其数据来训练模型。安全云平台从客户端接收到所有更新后,安全云可以执行算法,对所有聚合参数进行平均。这里本发明使用以决策树为基础分类器的自适应增强算法adaboost,其是一种使用多个机器学习模型来实现基础估计器的增强算法,通过结合它们的输出来获得最终的预测结果。
[0099]
考虑到adaboost分类器由多个不同的基估计量组成,本发明利用公共数据实现了另一种聚合方法,使用公共数据评估精度分数,并对所有这些基估计器进行排序。该方法选择具有高强度的估计量排名和形成一个新的adaboost分类器。安全云服务器可以将更新后的模型返回给客户端,以进行另一次迭代。
[0100]
为了充分利用联邦学习中所有客户端返回的模型,本发明提出了一种加权投票算法来生成最终输出,其结构如图4所示。首先,服务器为来自公共数据的每次攻击创建二进制数据集yi(i=1、2、

p)。然后用不同的数据相应地训练分类器。最后,服务器评估测试数据和二进制攻击数据集之间的特征分布的差异,作为投票的权重。在这里,本发明使用最大平均差异(mmd)来计算核希尔伯特空间中两个数据集之间的统计距离:
[0101][0102]
wts(x,yi)=-log(2*mmd[f,x,yi])(i=1,2,

p)
ꢀꢀ
(2)
[0103]
其中,代表两个数据集的期望差异的上限。f(
·
)是一个针对特征空间的映射函数。m和n为源域和目标域中的样本数量。mmd作为一个损失函数来量化传输源域和目标域之间的差异。投票权值wts(x,y)为对应的mmd距离的负对数。
[0104]
3、本地分类训练算法
[0105]
联邦学习实现了保护隐私的机器学习框架,这意味着安全云服务器无需并且不能访问存储在本地的数据。然而,该本地模型可能表现不佳,因为非iid联邦学习的公共数据和私人数据之间的分布可能会有所不同。本地预处理和标记数据集的大小也可能受到限制,不能支持训练过程。因此,有必要利用来自公众的数据来协助训练。在本方法中采用如下算法:
[0106]
主要步骤如下:首先,从目标实例和实例初始化实例权重因子,x是特征,y是真正的标签。然后同时使用ds和d
t
来训练和返回预测的标签为hk。加权错误率εk为:
[0107]
[0108][0109]
βs和β
t
可以在获得预测的标签后进行更新。β
t
是与εk相关的该迭代的权重因子,而βs是源域的静态因子。
[0110][0111][0112]
根据结果hk和迭代错误率εk,可以对训练数据的权重因子ωs和ω
t
进行更新。最后,开始训练过程的下一次迭代,以β
t
作为权重因子返回预测的标签。
[0113][0114][0115]
4、训练策略:
[0116]
准备工作:
[0117]
公开数据集ds,私有数据集测试数据集d
test
,初始化模型f0[0118]
目标:预测标签pred
[0119]
1.本地训练算法:
[0120]
2.初始化源数据集ds的样本权重ωs和目标数据集d
t
的样本权重ω
t
[0121]
3.for k=1,2,3...k执行:
[0122]
4.使用ds和训练模型fk获得样本权重ωs和ω
t
,返回预测值pk[0123]
5.使用公式(4)计算错误率εk和使用公式(5)和公式(6)计算
[0124]
6.根据公式(7)和公式(8)更新样本权重ωs和ω
t
[0125]
7.end for
[0126]
8.整合结果pk和
[0127]
9.返回更新的模型fi[0128]
10.
[0129]
11.联邦平均算法:
[0130]
12.获取更新的模型中fi,i=1,2,3...r
[0131]
13.返回总体模型f0[0132]
14.
[0133]
15.加权投票方法
[0134]
16.排序整合:
[0135]
17.使用更新的模型fi根据不同攻击aj,j=1,2,3...p的二进制数据集
[0136]
18.上的聚合攻击分类器fj[0137]
19.
[0138]
20.权重投票:
[0139]
21.使用公式(1)计算mmd距离mmd[d
test
,aj]以及使用公式(2)计算权重wts[d
test
,aj],j=1,2,3...p
[0140]
22.设置权重对于攻击分类fj以及生成预测标签d
test
[0141]
23.返回pred
[0142]
流程图如图2所示。
[0143]
为了评估模型的性能,本发明建立了一个物理测试平台来模拟物联网网络入侵检测系统。本发明选择了cic-ids20171和cic-ids20182这两个数据集作为攻击数据库。在实验中,本发明在多个树莓派芯片上实现了联邦学习模型训练过程来模拟工业物联网设置。
[0144]
本发明模拟了客户连接来自不同工业环境的场景,如智能工厂和由微控制器支持的智能电网。硬件和操作系统不同,本地采集的入侵样本也不同。在这里,本发明使用5个树莓派(3个pi3btm和2个pi4btm)来呈现不同的iiot硬件。所有的树莓派都使用cortex-atm系列微处理器,本发明将用于本地化训练过程的可用内存的大小限制在100mb。本发明使用两个基于debian的和三个基于archc的linux操作系统。高性能桌面机运行ubuntulinux20.04,使用coretmi9-9900kcpu@3.60ghz和64gb内存,可作为中央服务器连接所有客户端并执行模型聚合。
[0145]
本发明模拟了本地化数据集保持隐私、数据集大小有限的场景。同时,这些数据集很可能是不完整的,并且只包含特定的攻击。本发明使用cic-ids网络流量数据集,从入侵发生时收集的真实网络数据集。cic-ids数据集记录具有79个特征的数据包,并用特定类型标记。本发明选择了2017年三种最常见的攻击类型(ddos、botnet和portscan)和2018年的四种攻击类型(ddos、botnet、野蛮部队和渗透)进行模型训练和评估。中央服务器和5台客户端机器具有不同的数据配置,其中公共数据(ds)和5个具有非iid设置的客户端数据集(d
t
)的数据配置。本发明设置了5个不同的迷你数据集作为本地存储的目标域。源域(ds)由cic-ids2017数据集组成。
[0146]
如图5所示,在硬件测试系统上测试时,本发明的联邦学习策略达到了91.57%的准确率。
[0147]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一
个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
[0148]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献