一种能源互联网网络威胁检测方法与流程

未命名 08-07 阅读:71 评论:0


1.本发明涉及一种能源互联网网络威胁检测方法,属于网络攻击检测技术领域。


背景技术:

2.在生产活动中,通常需要多个能源互联网协作以实现高效生产和控制。例如,国家能源互联网公司的业务和设施遍布各省、市,需要在各省公司、市公司建立多级能源互联网,以提高能源互联网运行效率和故障定位能力。然而,分布式的结构在给能源互联网带来高效计算、通信、远程控制等方面好处的同时,也引入了安全风险,大量的测量和控制数据在各级网络汇聚、转发,使得这些网络成为攻击者的重要目标。为实现能源互联网的入侵检测,通常采用集中式的入侵检测方法实现,然而,集中式的入侵检测方法需要收集大量的流量数据以训练模型,数据收集过程中经过多个网络和中间设备,容易造成数据泄露。
3.为解决现有技术中集中式入侵检测方法出现的数据隐私问题,现有技术中,一些学者提出基于联邦学习的协同式入侵检测方法。例如,2021年,li b等人面向工业cps(cyber-physical systems,信息物理系统)提出了一种基于深度联邦学习的入侵检测方案(li b,wu y,song j,et al.deepfed:federated deep learning for intrusion detection in industrial cyber

physical systems[j].ieee transactions on industrial informatics,2020,17(8):5615-5624),该方案设计了一个由门控循环单元、cnn(convolutional neural networks,卷积神经网络)模块和mlp模块构成的检测模型;同年,li j等人设计了一种用于缓解工业互联网ddos(distributed denial of service,分布式阻断服务)攻击的联邦学习架构(li j,lyu l,liu x,et al.fleam:a federated learning empowered architecture to mitigate ddos in industrial iot[j/ol].ieee transactions on industrial informatics,2021.http://dx.doi.org/10.1109/tii.2021.3088938.),通过结合联邦学习和边缘计算,建立了一个分布式协作的ddos攻击缓解系统;2020年,chen y等人提出了一种基于cnn的联邦学习框架用于数据分类(chen y,qin x,wang j,et al.fedhealth:a federated transfer learning framework for wearable healthcare[j].ieee intelligent systems,2020,35(4):83

93.),其中包含两个卷积层、两个池化层、两个全连接层和一个softmax(神经网络的最后一个激活单元)层,这些方法在建立模型的同时可以有效保护数据隐私。
[0004]
但是,在使用现有技术过程中,发明人发现现有技术中至少存在如下问题:
[0005]
上述现有技术通常建立在各个网络可以提供充足标记样本的基础上,然而,现实的能源互联网环境中,并不总能捕获充足的常见攻击样本,更有甚者,所有能源互联网捕获的样本总和仍不能为模型训练提供充足的先验知识,此时使用现有的技术不能有效建立入侵检测模型。此外,由于缺少标记的小样本,导致现有基于联邦学习的方法不能针对这类攻击建立有效的入侵检测模型。


技术实现要素:

[0006]
为了解决上述现有技术中存在的问题,本发明提出了一种能源互联网网络威胁检测方法。
[0007]
本发明的技术方案如下:
[0008]
一方面,本发明提供了一种能源互联网网络威胁检测方法,包括以下步骤:
[0009]
构建初始机器学习模型,并获取公共数据集,然后使用所述公共数据集的随机子集对所述初始机器学习模型进行预训练,得到预训练特征嵌入模型;
[0010]
获取能源互联网本地的能源互联网数据集,并使用所述能源互联网数据集对所述预训练特征嵌入模型进行联邦训练,得到联邦训练特征嵌入模型;
[0011]
获取正常样本数据集和指定网络入侵类型的小样本攻击数据集,并将所述正常样本数据集和所述小样本攻击数据集输入所述联邦训练特征嵌入模型,并根据所述联邦训练特征嵌入模型的输出结果,生成最终的入侵检测模型;
[0012]
获取能源互联网的实时运行数据,并对所述能源互联网运行数据进行预处理,得到预处理后数据;
[0013]
将所述预处理后数据输入所述最终的入侵检测模型,得到能源互联网入侵预测结果。
[0014]
作为本发明的优选实施方式,所述初始机器学习模型采用fe-net模型。
[0015]
作为本发明的优选实施方式,在本地客户端上对所述初始机器学习模型进行预训练,训练好的模型参数上传至云服务器存储;
[0016]
在各工业代理上对所述预训练特征嵌入模型进行联邦训练,并通过云服务器对所述预训练特征嵌入模型的参数采用fedavg方法进行聚合。
[0017]
作为本发明的优选实施方式,所述预训练特征嵌入模型具体构建步骤为:
[0018]
首先将公共数据集设为
[0019]
其中,表示第i个公共数据样本,为第i个公共数据样本的特征向量(x
i1
,x
i2
,

,x
it
),为第i个样本的标签,i为公共数据样本的序号,n
net
为公共数据样本总数;
[0020]
所述公共数据集携带有标签类型集,所述标签类型集为:l
net
={0,1,...,l
net
},标签类型0,1,...,l
net
中,0代表正面标签,1,...,l
net
代表不同类型的负面标签;
[0021]
根据所述公共数据集中的负面标签的标签类型,获取预训练任务,并使用所述公共数据集构建所述预训练任务的预训练数据集;
[0022]
使用所述预训练任务的预训练数据集对所述初始机器学习模型进行预训练,得到所述预训练任务对应的损失函数;
[0023]
利用所述预训练任务对应的损失函数,对所述初始机器学习模型中的模型参数进行更新,得到预训练特征嵌入模型。
[0024]
作为本发明的优选实施方式,使用所述公共数据集构建所述预训练任务的预训练数据集的具体步骤为:
[0025]
当所述预训练任务是负面标签为atk对应的预训练任务时,将所述公共数据集中,
标签类型为0的所有公共数据构成的数据集合设为第一数据集合将标签类型为atk的所有公共数据构成的数据集合设为第二数据集合
[0026]
从所述第一数据集合和所述第二数据集合中,分别选取k个公共数据样本,得到支持数据集ds
net
;其中,所述支持数据集ds
net
={(x1,y1),...,(x
2k
,y
2k
)};
[0027]
从所述第一数据集合中除选取的k个公共数据样本外的剩余公共数据样本和所述第二数据集合中除选取的k个公共数据样本外的剩余公共数据样本中,分别选取k’个公共数据样本,得到查询数据集dq
net
;其中,所述查询数据集dq
net
={(x1′
,y1′
),

,(x
2k

,y
2k

)};
[0028]
将所述支持数据集ds
net
和所述查询数据集dq
net
组合构成所述预训练任务的预训练数据集t
net
;其中,所述预训练数据集t
net
={ds
net
,dq
net
}。
[0029]
作为本发明的优选实施方式,使用所述预训练任务的预训练数据集t
net
对所述初始机器学习模型进行预训练,得到所述预训练任务对应的损失函数,具体步骤为:
[0030]
从所述预训练数据集t
net
的支持数据集ds
net
中的样本数据(xs,ys),提取得到所有标签为0的第一样本数据集将所有非0标签转换为1,然后再提取得到所有标签为1的第二样本数据集
[0031]
根据所述第一样本数据集得到第一正类代表向量,根据所述第二样本数据集得到第一负类代表向量;
[0032]
其中,所述第一正类代表向量为:
[0033][0034]
所述第一负类代表向量为:
[0035][0036]
式中,为所述初始机器学习模型的预设参数;xs为特征向量;为xs对应的模型代表向量;
[0037]
根据所述预训练数据集t
net
的查询数据集dq
net
中的样本数据(xq,yq)、所述第一正类代表向量和所述第一负类代表向量,得到所述查询数据集dq
net
中的样本数据被正确预测的概率值:
[0038][0039]
其中:d(a,b)为数据a与数据b之间的欧式平方距离,x
′q和y
′q均为常数;为yq对应的代表向量;
[0040]
根据所述查询数据集dq
net
中的样本数据被正确预测的概率值,得到所述初始机器学习模型对xq的损失值:
[0041][0042]
其中:表示xq由所述初始机器学习模型产生的预测分布,p(xq)表示样本真实分布;
[0043]
根据所述预训练数据集t
net
的查询数据集dq
net
中所有样本数据xq的损失值,得到所述预训练任务对应的损失函数:
[0044][0045][0046]
其中:α是用于调节损失函数权重的参数。
[0047]
作为本发明的优选实施方式,利用所述预训练任务对应的损失函数,对所述初始机器学习模型中的模型参数进行更新后,得到的更新后的模型参数为:
[0048][0049]
其中:γ为防止过度拟合的权重衰减率;η为学习率;为所述损失函数的梯度,
[0050]
作为本发明的优选实施方式,所述联邦训练特征嵌入模型的具体构建步骤为:
[0051]
冻结所述预训练特征嵌入模型的前n
frz
层参数,得到参数冻结后的特征嵌入模型;
[0052]
根据所述能源互联网数据集的负面标签的标签类型,获取协同训练任务,并使用所述能源互联网数据集构建所述协同训练任务的协同训练数据集,具体步骤为:
[0053]
首先对能源互联网数据集进行特征对齐,只保留多项特征中重合的特征,得到对齐后的小样本数据集:
[0054][0055]
其中:表示第i个能源互联网数据样本;为第i个能源互联网数据样本的特征向量(x
i1
,x
i2
,

,
it
),为第i个能源互联网数据样本的标签,i为能源互联网数据样本的序号,n
ind
为能源互联网数据样本的总数;
[0056]
所述能源互联网数据集携带有标签类型集,所述标签类型集为:l
ind
={0,1,...,l
ind
},标签类型0,1,...,l
ind
中,0代表正面标签,1,...,l
ind
代表不同类型的负面标签;
[0057]
当所述协同训练任务包括的标签有负面标签时,将能源互联网数据集中标签类型为0的所有能源互联网数据样本构成的数据集合设为第三数据集合将标签类型为负面标签的所有能源互联网数据样本构成的数据集合设为第四数据集合
[0058]
从所述第三数据集合和所述第四数据集合中,分别选取k个能源互联网数据样本,得到支持数据集ds
ind
;其中,所述支持数据集ds
ind
={(x1,y1),...,(x
2k
,y
2k
)};
[0059]
从所述第三数据集合中除选取的k个小样本数据样本外的剩余小样本数据样本和所述第四数据集合和除选取的k个能源互联网数据样本外的剩余能源互联网数据
样本中,分别选取k’个能源互联网数据样本,得到查询数据集dq
ind
;其中,所述查询数据集dq
ind
={(x1′
,y1′
),

,(x
2k

,y
2k

)};
[0060]
将所述支持数据集ds
ind
和所述查询数据集dq
ind
组合构成所述协同训练任务的协同训练数据集t
ind
;其中,所述协同训练数据集t
ind
={ds
ind
,dq
ind
};
[0061]
使用所述协同训练任务的协同训练数据集对所述参数冻结后特征嵌入模型进行协同训练,得到所述协同训练任务对应的损失函数,具体步骤为:
[0062]
从所述协同训练数据集t
ind
的支持数据集ds
ind
中的小样本数据样本(xs,ys),提取得到所有标签为0的第三样本数据集将所有非0标签转换为1,然后再提取得到所有标签为1的第四样本数据集
[0063]
根据所述第三样本数据集得到协同训练正类代表向量,根据所述第四样本数据集得到协同训练负类代表向量;
[0064]
其中,所述协同训练正类代表向量为:
[0065][0066]
所述协同训练负类代表向量为:
[0067][0068]
式中,为所述初始机器学习模型的预设参数;xs为特征向量;为xs对应的模型代表向量;
[0069]
根据所述协同训练数据集t
ind
的查询数据集dq
ind
中的样本数据(xq,yq)、所述协同训练正类代表向量和所述协同训练负类代表向量,得到所述查询数据集dq
ind
中的样本数据被正确预测的概率值;
[0070][0071]
其中:d(a,b)为数据a与数据b之间的欧式平方距离,x
′q和y
′q均为常数;为yq对应的代表向量;
[0072]
根据所述查询数据集dq
ind
中的样本数据被正确预测的概率值,得到所述初始机器学习模型对xq的损失值:
[0073][0074]
其中:表示xx由所述初始机器学习模型产生的预测分布,p(xq)表示样本真实分布;
[0075]
根据所述协同训练数据集t
ind
的查询数据集dq
ind
中所有样本数据xq的损失值,得到所述协同训练任务对应的损失函数:
[0076][0077][0078]
其中:α是用于调节损失函数权重的参数;
[0079]
利用所述协同训练任务对应的损失函数,对所述参数冻结后特征嵌入模型中的模型参数进行更新,得到联邦训练特征嵌入模型。
[0080]
作为本发明的优选实施方式,所述最终的入侵检测模型的具体构建步骤为:
[0081]
将所述正常样本数据集和所述小样本攻击数据集输入所述联邦训练特征嵌入模型,得到第三正类代表向量和第三负类代表向量;
[0082]
根据所述第三正类代表向量、第三负类代表向量和所述联邦训练特征嵌入模型,生成最终的入侵检测模型。
[0083]
作为本发明的优选实施方式,所述能源互联网入侵预测结果的具体获取步骤为:
[0084]
将所述预处理后数据输入所述最终的入侵检测模型,得到特征嵌入向量x


[0085]
获取所述特征嵌入向量x

与预设的正类代表向量的相似度以及所述特征嵌入向量x

与预设的负类代表向量的相似度
[0086]
根据相似度和相似度得到能源互联网入侵预测结果;其中,所述能源互联网入侵预测结果为:
[0087]
本发明具有如下有益效果:
[0088]
1、本发明提供了一种能源互联网网络威胁检测方法,借鉴联邦学习和迁移学习思想,由各工业代理使用各自的工业能源互联网数据对预训练后的模型进行联邦训练,训练过程中各个能源互联网的数据始终保存在本地,有效避免了隐私泄露等问题,保证能源互联网的数据安全。
[0089]
2、本发明提供了一种能源互联网网络威胁检测方法,通过正常样本数据集和所述小样本攻击数据集生成最终的入侵检测模型,使得仅需少量的能源互联网常见攻击样本以提供先验知识。
附图说明
[0090]
图1为本发明的流程图;
[0091]
图2为本发明中fe-net模型的模块框图;
[0092]
图3为本发明进行联邦训练过程中,对所述预训练特征嵌入模型的前n
frz
层参数进行冻结,且n
frz
=4时的结构示意图;
[0093]
图4为本发明系统的模块框图;
[0094]
图5为本发明电子设备的模块框图。
具体实施方式
[0095]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0096]
应当理解,文中所使用的步骤编号仅是为了方便描述,不对作为对步骤执行先后顺序的限定。
[0097]
应当理解,在本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0098]
术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0099]
术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0100]
实施例一:
[0101]
参见图1,一种能源互联网网络威胁检测方法,包括以下步骤:
[0102]
构建初始机器学习模型,并获取公共数据集,然后使用所述公共数据集的随机子集对所述初始机器学习模型进行预训练,得到预训练特征嵌入模型;
[0103]
获取能源互联网本地的能源互联网数据集,并使用所述能源互联网数据集对所述预训练特征嵌入模型进行联邦训练,得到联邦训练特征嵌入模型;
[0104]
获取正常样本数据集和指定网络入侵类型的小样本攻击数据集,并将所述正常样本数据集和所述小样本攻击数据集输入所述联邦训练特征嵌入模型,并根据所述联邦训练特征嵌入模型的输出结果,生成最终的入侵检测模型;
[0105]
获取能源互联网的实时运行数据,并对所述能源互联网运行数据进行预处理,得到预处理后数据;
[0106]
将所述预处理后数据输入所述最终的入侵检测模型,得到能源互联网入侵预测结果。
[0107]
具体地,在本实施例中:
[0108]
s1.构建初始机器学习模型,并获取公共数据集s1.构建初始机器学习模型,并获取公共数据集然后使用所述公共数据集对所述初始机器学习模型进行预训练,得到预训练特征嵌入模型;具体地,本实施例中的初始机器学习模型采用fe-net模型。需要说明的是,考虑到能源互联网数据中的常见入攻击样本数量稀少,可能不足以为初始机器学习模型的训练提供先验知识,在预训练阶段使用网络上已公开的公共数据集对所述初始机器学习模型进行预训练,以便完成模型的初始训练阶段。
[0109]
作为本实施例的优选实施方式,参见图2,所述初始机器学习模型采用fe-net模型。
[0110]
作为本实施例的优选实施方式,将公共数据集设为作为本实施例的优选实施方式,将公共数据集设为任一公共数据中,为第i个样本的特征向量(x
i1
,x
i2
,...,x
it
),为第i个样本的标签;所述公共数据集携带有标签类型集,所述标签类型集为:l
net
={0,1,...,l
net
},标签类型0,1,...,l
net
中,0代表正面标签,1,...,l
net
代表不同类型的负面标签;作为举例,所述标签类型集中,1为简单的恶意响应注入攻击、2为复杂的恶意响应注入攻击,3为恶意状态命令注入攻击等,此处不予限制。
[0111]
作为本实施例的优选实施方式,使用所述公共数据集对所述初始机器学习模型进行预训练,得到预训练特征嵌入模型,包括:
[0112]
s101.根据所述公共数据集中的负面标签的标签类型,获取预训练任务,并使用所述公共数据集构建所述预训练任务的预训练数据集;
[0113]
当所述预训练任务是负面标签为atk对应的预训练任务时,将所述公共数据集中,标签类型为0的所有公共数据构成的数据集合设为第一数据集合将标签类型为atk的所有公共数据构成的数据集合设为第二数据集合具体地,本实施例中,负面标签为atk对应的预训练任务根据所述公共数据集中负面标签为atk的标签类型得到;使用所述公共数据集构建所述预训练任务的预训练数据集t
net
,包括:
[0114]
s101a.从所述第一数据集合和所述第二数据集合中,分别选取k个样本数据,得到支持数据集ds
net
;其中,所述支持数据集ds
net
={(x1,y1),...,(x
2k
,y
2k
)};
[0115]
s101b.从所述第一数据集合涂k个样本数据外的剩余公共数据和所述第二数据集合除k个样本数据外的剩余公共数据中,分别选取k’个样本数据,得到查询数据集dq
net
;其中,所述查询数据集dq
net
={(x1,y1),...,(x
2k

,y
2k

)};
[0116]
为便于后续的初始机器学习模型的预训练,以及损失函数的计算,本实施例中,在得到所述支持数据集ds
net
和所述查询数据集dq
net
后,将所述支持数据集ds
net
和所述查询数据集dq
net
中的公共数据重塑为二维形式,此时的支持数据集和查询数据集表示如下:
[0117]
ds
net
[0118]
={(x
11
,x
12


,x
1t
,y
′1),

,(x
i1
,x
i2


,x
it
,y
′i),

,(x
2k1
,x
2k2


,x
2kt
,y

2k
)}
[0119]
dq
net
[0120]
={(x
11
,x
12


,x
1t
,y
′1),

,(x
i1
,x
i2


,x
it
,y
′i),

,(x
2k
′1,x
2k
′2,

,x
2k

t
,y

2k

)}
[0121]
根据所述支持数据集ds
net
携带的标签类型集和所述查询数据集dq
net
携带的标签类型集,将所述支持数据集ds
net
和所述查询数据集dq
net
中为负面标签的所有标签均重置为1;其中,所述支持数据集ds
net
和所述查询数据集dq
net
中,第i个公共数据对应的重置后的标签为:
[0122][0123]
s101c.将所述支持数据集ds
net
和所述查询数据集dq
net
组合构成所述预训练任务的预训练数据集t
net
;其中,所述预训练数据集t
net
={ds
net
,dq
net
}。
[0124]
应当理解的是,此时,所述预训练任务的预训练数据集t
net
携带的任务标签类型集为其中,atk为1,...,l
net
中的任一负面标签。
[0125]
s102.使用所述预训练任务的预训练数据集对所述初始机器学习模型进行预训练,得到所述预训练任务对应的损失函数;
[0126]
使用所述预训练任务的预训练数据集t
net
对所述初始机器学习模型进行预训练,得到所述预训练任务对应的损失函数,包括:
[0127]
s102a.从所述预训练数据集t
net
的支持数据集ds
net
中的样本数据(xs,ys),提取得
到所有标签为0的第一样本数据集以及所有标签为1的第二样本数据集
[0128]
s102b.根据所述第一样本数据集得到第一正类代表向量,根据所述第二样本数据集得到第一负类代表向量,由此实现所述初始机器学习模型输入与输出之间的映射;其中,所述第一正类代表向量为:所述第一负类代表向量为:式中,为所述初始机器学习模型的预设参数,为xs对应的模型代表向量;
[0129]
此时,所述第一正类代表向量、所述第一负类代表向量和所述初始机器学习模型共同构成了所述预训练任务的预测模型;
[0130]
s102c.根据所述预训练数据集t
net
的查询数据集dq
net
中的样本数据(xq,yq)、所述第一正类代表向量和所述第一负类代表向量,得到所述查询数据集dq
net
中的样本数据被正确预测的概率值;其中,所述查询数据集dq
net
中的样本数据被正确预测的概率值为:
[0131][0132]
其中:d(a,b)为数据a与数据b之间的欧式平方距离,x
′q和y
′q均为常数;为yq对应的代表向量;
[0133]
s102d.根据所述查询数据集dq
net
中的样本数据被正确预测的概率值,得到所述初始机器学习模型对xq的损失值;其中,所述初始机器学习模型对xq的损失值为:
[0134][0135]
其中:表示xq由所述初始机器学习模型产生的预测分布,p(xq)表示样本真实分布;
[0136]
s102e.根据所述预训练数据集t
net
的查询数据集dq
net
中所有样本数据xq的损失值,得到所述预训练任务对应的损失函数;其中,所述损失函数为:
[0137][0138][0139]
其中:α是用于调节损失函数权重的参数。
[0140]
s103.利用所述预训练任务对应的损失函数,对所述初始机器学习模型中的模型参数进行更新,得到预训练特征嵌入模型。
[0141]
具体地,在本实施例中,利用所述预训练任务对应的损失函数,对所述初始机器学习模型中的模型参数进行更新后,得到的更新后的模型参数为:
[0142][0143]
其中:γ为防止过度拟合的权重衰减率;η为学习率;为所述损失函数的梯度,
[0144]
本实施例中,构建有多个预训练任务,在使用多个预训练任务对的预训练数据集t
net
分别对所述初始机器学习模型进行预训练,且得到的损失函数的值达到阈值时,即可得到收敛的预训练特征嵌入模型,即收敛的fe-net模型。
[0145]
s2.获取能源互联网本地的能源互联网数据集并使用所述能源互联网数据集对所述预训练特征嵌入模型进行联邦训练,得到联邦训练特征嵌入模型;具体地,对所述预训练特征嵌入模型进行联邦训练借鉴了横向联邦学习和迁移学习思想。需要说明的是,尽管公共数据集为模型训练提供了一定的先验知识,使得预训练特征嵌入模型具备一定的特征嵌入能力,但由于使用了大量公共互联网数据进行训练,预训练特征嵌入模型可能会更倾向于拟合公共互联网的数据特性,使得其在能源互联网入侵检测任务上还不能达到最佳效果。因此,本实施例对预训练特征嵌入模型,进一步采用横向联邦学习和迁移学习思想,由能源互联网本地的能源互联网数据集来对所述预训练特征嵌入模型进行联邦训练,即通过使用能源互联网数据集来迁移模型知识,以便进一步得到联邦训练特征嵌入模型,由此可提升联邦训练特征嵌入模型针对能源互联网入侵的检测能力。
[0146]
具体地,在本实施例中,联邦训练特征嵌入模型为适用于能源互联网入侵检测任务的全局模型。
[0147]
使用所述能源互联网数据集对所述预训练特征嵌入模型进行联邦训练,得到联邦训练特征嵌入模型,包括:
[0148]
s201.冻结所述预训练特征嵌入模型的前n
frz
层参数,得到参数冻结后特征嵌入模型,以便使前n
frz
层参数不参与梯度下降,进而保证模型的稳定性;
[0149]
本实施例中,图3给出了联邦训练过程中,对所述预训练特征嵌入模型的前n
frz
层参数进行冻结,且n
frz
=4时的结构示意图。
[0150]
s202.对所述能源互联网数据集中的所有数据进行特征对齐处理,得到预处理后的能源互联网数据集,以便根据预处理后的能源互联网数据集的负面标签的标签类型,获取协同训练任务;需要说明的是,对所述能源互联网数据集中的所有数据进行特征对齐处理,即只保留多项特征中重合的特征。
[0151]
s203.根据所述能源互联网数据集的负面标签的标签类型,获取协同训练任务,并使用所述能源互联网数据集构建所述协同训练任务的协同训练数据集t
ind
;具体地,本实施例中,根据所述能源互联网数据集和其携带的标签类型集l
ind
={0,...,l
ind
},可构建得到所述预训练任务的协同训练数据集t
ind
={ds
ind
,dq
ind
};其中,ds
ind
和dq
ind
分别代表建立在能源互联网数据集中工业数据上的支持数据集和查询数据集;
[0152]
s204.使用所述协同训练任务的协同训练数据集t
ind
对所述参数冻结后特征嵌入模型进行协同训练,得到所述协同训练任务对应的损失函数;
[0153]
s205.利用所述协同训练任务对应的损失函数,对所述参数冻结后特征嵌入模型中的模型参数进行更新,得到联邦训练特征嵌入模型。应当理解的是,对所述参数冻结后特征嵌入模型中的模型参数进行更新时,所述参数冻结后特征嵌入模型中的模型参数即为所述预训练特征嵌入模型中最新的模型参数。
[0154]
具体地,本实施例中,根据支持数据集ds
ind
和查询数据集dq
ind
可计算出第二正类
代表向量和第二负类代表向量对于查询数据集dq
ind
中的每个样本数据(xq,yq),(xq,yq)∈dq
ind
,使用和计算所述参数冻结后特征嵌入模型对样本数据的嵌入损失,并可进一步得到所述协同训练任务对应的损失函数。最后,根据所述协同训练任务对应的损失函数,对所述参数冻结后特征嵌入模型中的模型参数进行更新,即可得到联邦训练特征嵌入模型。上述计算过程均与预训练步骤中的计算过程一致,此处不再予以赘述。
[0155]
s3.获取正常样本数据集和指定网络入侵类型的小样本攻击数据集并将所述正常样本数据集和所述小样本攻击数据集输入所述联邦训练特征嵌入模型,并根据所述联邦训练特征嵌入模型的输出结果,生成最终的入侵检测模型,具体地,,该最终的入侵检测模型由正常样本数据集中的正常代表向量、小样本攻击数据集中的攻击代表向量与所述联邦训练特征嵌入模型共同构成;
[0156]
将所述正常样本数据集和所述小样本攻击数据集输入所述联邦训练特征嵌入模型,并根据所述联邦训练特征嵌入模型的输出结果,生成最终的入侵检测模型,包括:
[0157]
s301.将所述正常样本数据集和所述小样本攻击数据集输入所述联邦训练特征嵌入模型,得到第三正类代表向量和第三负类代表向量;
[0158]
s302.根据所述第三正类代表向量、第三负类代表向量和所述联邦训练特征嵌入模型,生成最终的入侵检测模型。
[0159]
作为举例,使用工业代理ai持有的小样本攻击数据集生成最终的入侵检测模型时,小样本攻击数据集包含k个正类样本和k个负类样本,将该k个正类样本和k个负类样本分别输入所述联邦训练特征嵌入模型,可得到相应的第三正类代表向量和第三负类代表向量
[0160]
s4.获取能源互联网的实时运行数据,并对所述能源互联网运行数据进行预处理,得到预处理后数据;
[0161]
本实施例中,当所述能源互联网运行数据为连续型数据时,对所述能源互联网运行数据进行预处理,得到预处理后数据,包括:
[0162]
使用归一化方法将所述能源互联网运行数据中的所有特征转换至统一量度,得到预处理后数据;其中,所述预处理后数据中第j列特征的第h个特征值为:
[0163][0164]
其中:为所述能源互联网运行数据中第j列特征的第h个特征值,为所述能源互联网运行数据中第j列特征的最大特征值,为所述能源互联网运行数据中第j列特征的最小特征值;
[0165]
当所述能源互联网运行数据为离散型数据时,对所述能源互联网运行数据进行预
处理,得到预处理后数据,包括:
[0166]
使用独热编码对所述能源互联网运行数据进行处理,得到预处理后数据。需要说明的是,假设所述能源互联网运行数据的某列离散型特征中包含n种不同取值,经过独热编码处理后,所述能源互联网运行数据的每种取值都被编码为由n-1个“0”和一个“1”组成的唯一向量。
[0167]
s5.将所述预处理后数据输入所述最终的入侵检测模型,得到能源互联网入侵预测结果。
[0168]
将所述预处理后数据输入所述最终的入侵检测模型,得到能源互联网入侵预测结果,包括:
[0169]
s501.将所述预处理后数据输入所述最终的入侵检测模型,得到特征嵌入向量x


[0170]
s502.获取所述特征嵌入向量x

与预设的正类代表向量的相似度以及所述特征嵌入向量x

与预设的负类代表向量的相似度具体地,本实施例中,预设的正类代表向量可以但不仅限于为第一正类代表向量或第二正类代表向量,预设的负类代表向量可以但不仅限于为第一负类代表向量或第二负类代表向量;进行相似度计算时,可以但不仅限于采用所述查询数据集dq
net
中的样本数据被正确预测的概率值的计算公式进行计算。
[0171]
s503.根据相似度和相似度得到能源互联网入侵预测结果;其中,所述能源互联网入侵预测结果为:
[0172][0173]
需要说明的是,能源互联网入侵预测结果nomal即指代能源互联网的实时运行数据为正常数据,即表明能源互联网未遭受入侵攻击,能源互联网入侵预测结果abnomal即指代能源互联网的实时运行数据为非正常数据,即表明能源互联网遭受入侵攻击。
[0174]
本实施例中,获取所述公共数据集、所述能源互联网数据集、所述正常样本数据集和所述小样本攻击数据集后,对各数据集中的特征向量均进行预处理,数据预处理包括如下步骤:
[0175]
使用one-hot编码对所述特征向量进行处理,得到编码后数据。具体地,使用one-hot编码对离散型特征进行预处理,即将离散型特征转换成二进制one-hot向量。如:一台电脑有开机、关机和待机三种状态,编码后变成[1,0,0]、[0,1,0]和[0,0,1];
[0176]
对编码后数据进行归一化处理,得到预处理后数据。具体地,为使模型正常收敛以及减少计算资源消耗,对连续型特征进行归一化,以统一不同特征之间的量纲,处理后的数据取值在[0,1]之间。
[0177]
本实施例中,对所述初始机器学习模型进行预训练时,在客户端本地上执行,在此过程中,由于使用数据的数据不出本地,因此不存在数据泄露问题;
[0178]
对所述预训练特征嵌入模型进行联邦训练时,在各工业代理上执行,并通过云服务器对所述预训练特征嵌入模型的参数进行聚合;其中,通过云服务器对所述预训练特征嵌入模型的参数进行聚合时,采用fedavg方法来聚合模型的参数。
[0179]
具体地,参与当前通信轮次训练的a个工业代理都将其最优参数上传后,在云服务
器上使用以下公式对模型参数进行聚合:
[0180][0181]
其中:a为每轮通信参与训练的工业代理的个数,a为当前通信轮次参与训练的工业代理集合,a={ai|i=1,2,...,a};表示工业代理ai上传的本地模型参数;当c个通信轮次结束后,将生成一个全局模型,可用于在小样本条件下快速建立最终的入侵检测模型。
[0182]
需要说明的是,工业代理指代本地客户端,联邦训练在本地客户端上进行,数据不出本地,只交换模型参数。在此过程中,由于对所述预训练特征嵌入模型进行联邦训练在各工业代理上执行,使得训练数据始终保存在本地,各工业代理仅与所述云服务器进行模型参数的传输,因此也可以认为各工业网络的数据是安全的。
[0183]
本实施例公开了一种基于联邦学习的协同式入侵检测方法,具体地,首先使用公共互联网数据在云服务器上预训练生成预训练特征嵌入模型;再借鉴联邦学习和迁移学习思想,由各工业代理使用各自的工业数据对预训练后的模型进行联邦训练;在此基础上,部署在各网络的ids使用极少量的小样本攻击样本就可构建相应的检测模型,进而生成最终的入侵检测模型,从而使得最终的入侵检测模型可针对小样本攻击进行有效的入侵检测。
[0184]
基于本实施例设计的联邦学习框架,以实现在模型构建时保证能源互联网的数据安全,使用这个联邦学习框架可协同训练一个全局模型,训练过程中各个能源互联网的数据始终保存在本地,有效避免了隐私泄露等问题。此外,通过正常样本数据集和所述小样本攻击数据集生成最终的入侵检测模型,使得仅需少量的能源互联网常见攻击样本以提供先验知识。
[0185]
实施例二:
[0186]
参见图4,一种能源互联网网络威胁检测系统,用于实现实施例一中能源互联网网络威胁检测方法,包括以下模块:
[0187]
预训练模块,用于构建初始机器学习模型,并获取公共数据集,然后使用所述公共数据集对所述初始机器学习模型进行预训练,得到预训练特征嵌入模型;
[0188]
联邦训练模块,与所述预训练模块通信连接,用于获取能源互联网本地的能源互联网数据集,并使用所述能源互联网数据集对所述预训练特征嵌入模型进行联邦训练,得到联邦训练特征嵌入模型;
[0189]
最终模型生成模块,与所述联邦训练模块通信连接,用于获取正常样本数据集和指定网络入侵类型的小样本攻击数据集,并将所述正常样本数据集和所述小样本攻击数据集输入所述联邦训练特征嵌入模型,并根据所述联邦训练特征嵌入模型的输出结果,生成最终的入侵检测模型;
[0190]
结果预测模块,与所述最终模型生成模块通信连接,用于获取能源互联网的实时运行数据,并对所述能源互联网运行数据进行预处理,得到预处理后数据;还用于将所述预处理后数据输入所述最终的入侵检测模型,得到能源互联网入侵预测结果。
[0191]
本技术实施例中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示单独存在a、同时存在a和b、单独存在b的情况。其中a,b可以是单数或者复数。字符“/”一般表示
前后关联对象是一种“或”的关系。“以下至少一项”及其类似表达,是指的这些项中的任意组合,包括单项或复数项的任意组合。例如,a,b和c中的至少一项可以表示:a,b,c,a和b,a和c,b和c或a和b和c,其中a,b,c可以是单个,也可以是多个。
[0192]
本领域普通技术人员可以意识到,本文中公开的实施例中描述的各单元及算法步骤,能够以电子硬件、计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0193]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0194]
在本技术所提供的几个实施例中,任一功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory;以下简称:rom)、随机存取存储器(random access memory;以下简称:ram)、磁碟或者光盘等各种可以存储程序代码的介质。
[0195]
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

技术特征:
1.一种能源互联网网络威胁检测方法,其特征在于,包括以下步骤:构建初始机器学习模型,并获取公共数据集,然后使用所述公共数据集的随机子集对所述初始机器学习模型进行预训练,得到预训练特征嵌入模型;获取能源互联网本地的能源互联网数据集,并使用所述能源互联网数据集对所述预训练特征嵌入模型进行联邦训练,得到联邦训练特征嵌入模型;获取正常样本数据集和指定网络入侵类型的小样本攻击数据集,并将所述正常样本数据集和所述小样本攻击数据集输入所述联邦训练特征嵌入模型,并根据所述联邦训练特征嵌入模型的输出结果,生成最终的入侵检测模型;获取能源互联网的实时运行数据,并对所述能源互联网运行数据进行预处理,得到预处理后数据;将所述预处理后数据输入所述最终的入侵检测模型,得到能源互联网入侵预测结果。2.根据权利要求1所述的一种能源互联网网络威胁检测方法,其特征在于,所述初始机器学习模型采用fe-net模型。3.根据权利要求1所述的一种能源互联网网络威胁检测方法,其特征在于,在本地客户端上对所述初始机器学习模型进行预训练,训练好的模型参数上传至云服务器存储;在各工业代理上对所述预训练特征嵌入模型进行联邦训练,并通过云服务器对所述预训练特征嵌入模型的参数采用fedavg方法进行聚合。4.根据权利要求1所述的一种能源互联网网络威胁检测方法,其特征在于,所述预训练特征嵌入模型具体构建步骤为:首先将公共数据集设为其中,表示第i个公共数据样本,为第i个公共数据样本的特征向量(x
i1
,x
i2
,

,x
it
),为第i个样本的标签,i为公共数据样本的序号,n
net
为公共数据样本总数;所述公共数据集携带有标签类型集,所述标签类型集为:l
net
={0,1,...,l
net
},标签类型0,1,...,l
net
中,0代表正面标签,1,...,l
net
代表不同类型的负面标签;根据所述公共数据集中的负面标签的标签类型,获取预训练任务,并使用所述公共数据集构建所述预训练任务的预训练数据集;使用所述预训练任务的预训练数据集对所述初始机器学习模型进行预训练,得到所述预训练任务对应的损失函数;利用所述预训练任务对应的损失函数,对所述初始机器学习模型中的模型参数进行更新,得到预训练特征嵌入模型。5.根据权利要求4所述的一种能源互联网网络威胁检测方法,其特征在于,使用所述公共数据集构建所述预训练任务的预训练数据集的具体步骤为:当所述预训练任务包括的标签有负面标签时,将所述公共数据集中标签类型为0的所有公共数据样本构成的数据集合设为第一数据集合将标签类型为负面标签的所有公共数据样本构成的数据集合设为第二数据集合
从所述第一数据集合和所述第二数据集合中,分别选取k个公共数据样本,得到支持数据集ds
net
;其中,所述支持数据集ds
net
={(x1,y1),...,(x
2k
,y
2k
)};从所述第一数据集合中除选取的k个公共数据样本外的剩余公共数据样本和所述第二数据集合中除选取的k个公共数据样本外的剩余公共数据样本中,分别选取k’个公共数据样本,得到查询数据集dq
net
;其中,所述查询数据集dq
net
={(x1′
,y1′
),...,(x
2k

,y
2k

)};将所述支持数据集ds
net
和所述查询数据集dq
net
组合构成所述预训练任务的预训练数据集t
net
;其中,所述预训练数据集t
net
={ds
net
,dq
net
}。6.根据权利要求5所述的一种能源互联网网络威胁检测方法,其特征在于,使用所述预训练任务的预训练数据集t
net
对所述初始机器学习模型进行预训练,得到所述预训练任务对应的损失函数,具体步骤为:从所述预训练数据集t
net
的支持数据集ds
net
中的样本数据(x
s
,y
s
),提取得到所有标签为0的第一样本数据集将所有非0标签转换为1,然后再提取得到所有标签为1的第二样本数据集根据所述第一样本数据集得到第一正类代表向量,根据所述第二样本数据集得到第一负类代表向量;其中,所述第一正类代表向量为:所述第一负类代表向量为:式中,为所述初始机器学习模型的预设参数;x
s
为特征向量;为x
s
对应的模型代表向量;根据所述预训练数据集t
net
的查询数据集中的样本数据(
q
,
q
)、所述第一正类代表向量和所述第一负类代表向量,得到所述查询数据集dq
net
中的样本数据被正确预测的概率值:其中:d(a,b)为数据a与数据b之间的欧式平方距离,x

q
和y

q
均为常数;为y
q
对应的代表向量;
根据所述查询数据集dq
net
中的样本数据被正确预测的概率值,得到所述初始机器学习模型对x
q
的损失值:其中:表示x
q
由所述初始机器学习模型产生的预测分布,p(x
q
)表示样本真实分布;根据所述预训练数据集t
net
的查询数据集dq
net
中所有样本数据x
q
的损失值,得到所述预训练任务对应的损失函数:训练任务对应的损失函数:其中:α是用于调节损失函数权重的参数。7.根据权利要求6所述的一种能源互联网网络威胁检测方法,其特征在于,利用所述预训练任务对应的损失函数,对所述初始机器学习模型中的模型参数进行更新后,得到的更新后的模型参数为:其中:γ为防止过度拟合的权重衰减率;η为学习率;为所述损失函数的梯度,8.根据权利要求1所述的一种能源互联网网络威胁检测方法,其特征在于,所述联邦训练特征嵌入模型的具体构建步骤为:冻结所述预训练特征嵌入模型的前n
frz
层参数,得到参数冻结后的特征嵌入模型;根据所述能源互联网数据集的负面标签的标签类型,获取协同训练任务,并使用所述能源互联网数据集构建所述协同训练任务的协同训练数据集,具体步骤为:首先对能源互联网数据集进行特征对齐,只保留多项特征中重合的特征,得到对齐后的小样本数据集:其中:表示第i个能源互联网数据样本;为第i个能源互联网数据样本的特征向量(x
i1
,x
i2
,

,
it
),为第i个能源互联网数据样本的标签,i为能源互联网数据样本的序号,n
ind
为能源互联网数据样本的总数;所述能源互联网数据集携带有标签类型集,所述标签类型集为:l
ind
={0,1,...,l
ind
},标签类型0,1,...,l
ind
中,0代表正面标签,1,...,l
ind
代表不同类型的负面标签;当所述协同训练任务包括的标签有负面标签时,将能源互联网数据集中标签类型为0的所有能源互联网数据样本构成的数据集合设为第三数据集合将标签类型为负面标签的所有能源互联网数据样本构成的数据集合设为第四数据集合
从所述第三数据集合和所述第四数据集合中,分别选取k个能源互联网数据样本,得到支持数据集ds
ind
;其中,所述支持数据集ds
ind
={(x1,y1),...,(x
2k
,y
2k
)};从所述第三数据集合中除选取的k个小样本数据样本外的剩余小样本数据样本和所述第四数据集合中除选取的k个能源互联网数据样本外的剩余能源互联网数据样本中,分别选取k’个能源互联网数据样本,得到查询数据集dq
ind
;其中,所述查询数据集dq
ind
={(x1′
,y1,),...,(x
2k

,y
2k

)};将所述支持数据集ds
ind
和所述查询数据集dq
ind
组合构成所述协同训练任务的协同训练数据集t
ind
;其中,所述协同训练数据集t
ind
={ds
ind
,dq
ind
};使用所述协同训练任务的协同训练数据集对所述参数冻结后特征嵌入模型进行协同训练,得到所述协同训练任务对应的损失函数,具体步骤为:从所述协同训练数据集t
ind
的支持数据集ds
ind
中的小样本数据样本(x
s
,y
s
),提取得到所有标签为0的第三样本数据集将所有非0标签转换为1,然后再提取得到所有标签为1的第四样本数据集根据所述第三样本数据集得到协同训练正类代表向量,根据所述第四样本数据集得到协同训练负类代表向量;其中,所述协同训练正类代表向量为:所述协同训练负类代表向量为:式中,为所述初始机器学习模型的预设参数;x
s
为特征向量;为x
s
对应的模型代表向量;根据所述协同训练数据集t
ind
的查询数据集dq
ind
中的样本数据(x
q
,yq)、所述协同训练正类代表向量和所述协同训练负类代表向量,得到所述查询数据集dq
ind
中的样本数据被正确预测的概率值;其中:d(a,b)为数据a与数据b之间的欧式平方距离,x

q
和y

q
均为常数;为y
q
对应的代表向量;根据所述查询数据集dq
ind
中的样本数据被正确预测的概率值,得到所述初始机器学习模型对x
q
的损失值:
其中:表示x
q
由所述初始机器学习模型产生的预测分布,p(x
q
)表示样本真实分布;根据所述协同训练数据集t
ind
的查询数据集dq
ind
中所有样本数据x
q
的损失值,得到所述协同训练任务对应的损失函数:协同训练任务对应的损失函数:其中:α是用于调节损失函数权重的参数;利用所述协同训练任务对应的损失函数,对所述参数冻结后特征嵌入模型中的模型参数进行更新,得到联邦训练特征嵌入模型。9.根据权利要求1所述的一种能源互联网网络威胁检测方法,其特征在于,所述最终的入侵检测模型的具体构建步骤为:将所述正常样本数据集和所述小样本攻击数据集输入所述联邦训练特征嵌入模型,得到第三正类代表向量和第三负类代表向量;根据所述第三正类代表向量、第三负类代表向量和所述联邦训练特征嵌入模型,生成最终的入侵检测模型。10.根据权利要求1所述的一种能源互联网网络威胁检测方法,其特征在于,所述能源互联网入侵预测结果的具体获取步骤为:将所述预处理后数据输入所述最终的入侵检测模型,得到特征嵌入向量x

;获取所述特征嵌入向量x

与预设的正类代表向量的相似度以及所述特征嵌入向量x

与预设的负类代表向量的相似度根据相似度和相似度得到能源互联网入侵预测结果;其中,所述能源互联网入侵预测结果为:

技术总结
本发明涉及一种能源互联网网络威胁检测方法,具体步骤为:首先使用公共互联网数据在客户端本地上预训练特征嵌入模型;再借鉴联邦学习和迁移学习思想,由各工业代理使用各自的工业数据对预训练后的模型进行联邦训练;在此基础上,部署在各网络的IDS使用极少量的小样本攻击样本就可构建相应的检测模型,进而生成最终的入侵检测模型,从而使得最终的入侵检测模型可针对小样本攻击进行有效的入侵检测。模型可针对小样本攻击进行有效的入侵检测。模型可针对小样本攻击进行有效的入侵检测。


技术研发人员:傅杰 林思辰 王怡婷 郭蔡炜 郑嘉明 纪文 高董英 张坤三 刘宇轩 林晨晗 倪文书 吕智垒 吉眉颖 方志坚 李铮 李少杰 陈昕昊
受保护的技术使用者:国网福建省电力有限公司信息通信分公司
技术研发日:2023.05.29
技术公布日:2023/8/6
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐