本发明涉及一种能源互联网网络威胁检测方法,属于网络攻击检测。
背景技术:
1、在生产活动中,通常需要多个能源互联网协作以实现高效生产和控制。例如,国家能源互联网公司的业务和设施遍布各省、市,需要在各省公司、市公司建立多级能源互联网,以提高能源互联网运行效率和故障定位能力。然而,分布式的结构在给能源互联网带来高效计算、通信、远程控制等方面好处的同时,也引入了安全风险,大量的测量和控制数据在各级网络汇聚、转发,使得这些网络成为攻击者的重要目标。为实现能源互联网的入侵检测,通常采用集中式的入侵检测方法实现,然而,集中式的入侵检测方法需要收集大量的流量数据以训练模型,数据收集过程中经过多个网络和中间设备,容易造成数据泄露。
2、为解决现有技术中集中式入侵检测方法出现的数据隐私问题,现有技术中,一些学者提出基于联邦学习的协同式入侵检测方法。例如,2021年,li b等人面向工业cps(cyber-physical systems,信息物理系统)提出了一种基于深度联邦学习的入侵检测方案(li b,wu y,song j,et al.deepfed:federated deep learning for intrusiondetection in industrial cyber–physical systems[j].ieee transactions onindustrial 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 federatedlearning empowered architecture to mitigate ddos in industrial iot[j/ol].ieeetransactions 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 forwearable healthcare[j].ieee intelligent systems,2020,35(4):83–93.),其中包含两个卷积层、两个池化层、两个全连接层和一个softmax(神经网络的最后一个激活单元)层,这些方法在建立模型的同时可以有效保护数据隐私。
3、但是,在使用现有技术过程中,发明人发现现有技术中至少存在如下问题:
4、上述现有技术通常建立在各个网络可以提供充足标记样本的基础上,然而,现实的能源互联网环境中,并不总能捕获充足的常见攻击样本,更有甚者,所有能源互联网捕获的样本总和仍不能为模型训练提供充足的先验知识,此时使用现有的技术不能有效建立入侵检测模型。此外,由于缺少标记的小样本,导致现有基于联邦学习的方法不能针对这类攻击建立有效的入侵检测模型。
技术实现思路
1、为了解决上述现有技术中存在的问题,本发明提出了一种能源互联网网络威胁检测方法。
2、本发明的技术方案如下:
3、一方面,本发明提供了一种能源互联网网络威胁检测方法,包括以下步骤:
4、构建初始机器学习模型,并获取公共数据集,然后使用所述公共数据集的随机子集对所述初始机器学习模型进行预训练,得到预训练特征嵌入模型;
5、获取能源互联网本地的能源互联网数据集,并使用所述能源互联网数据集对所述预训练特征嵌入模型进行联邦训练,得到联邦训练特征嵌入模型;
6、获取正常样本数据集和指定网络入侵类型的小样本攻击数据集,并将所述正常样本数据集和所述小样本攻击数据集输入所述联邦训练特征嵌入模型,并根据所述联邦训练特征嵌入模型的输出结果,生成最终的入侵检测模型;
7、获取能源互联网的实时运行数据,并对所述能源互联网运行数据进行预处理,得到预处理后数据;
8、将所述预处理后数据输入所述最终的入侵检测模型,得到能源互联网入侵预测结果。
9、作为本发明的优选实施方式,所述初始机器学习模型采用fe-net模型。
10、作为本发明的优选实施方式,在本地客户端上对所述初始机器学习模型进行预训练,训练好的模型参数上传至云服务器存储;
11、在各工业代理上对所述预训练特征嵌入模型进行联邦训练,并通过云服务器对所述预训练特征嵌入模型的参数采用fedavg方法进行聚合。
12、作为本发明的优选实施方式,所述预训练特征嵌入模型具体构建步骤为:
13、首先将公共数据集设为
14、其中,表示第i个公共数据样本,为第i个公共数据样本的特征向量(xi1,xi2,…,xit),为第i个样本的标签,i为公共数据样本的序号,nnet为公共数据样本总数;
15、所述公共数据集携带有标签类型集,所述标签类型集为:lnet={0,1,...,lnet},标签类型0,1,...,lnet中,0代表正面标签,1,...,lnet代表不同类型的负面标签;
16、根据所述公共数据集中的负面标签的标签类型,获取预训练任务,并使用所述公共数据集构建所述预训练任务的预训练数据集;
17、使用所述预训练任务的预训练数据集对所述初始机器学习模型进行预训练,得到所述预训练任务对应的损失函数;
18、利用所述预训练任务对应的损失函数,对所述初始机器学习模型中的模型参数进行更新,得到预训练特征嵌入模型。
19、作为本发明的优选实施方式,使用所述公共数据集构建所述预训练任务的预训练数据集的具体步骤为:
20、当所述预训练任务是负面标签为atk对应的预训练任务时,将所述公共数据集中,标签类型为0的所有公共数据构成的数据集合设为第一数据集合将标签类型为atk的所有公共数据构成的数据集合设为第二数据集合
21、从所述第一数据集合和所述第二数据集合中,分别选取k个公共数据样本,得到支持数据集dsnet;其中,所述支持数据集dsnet={(x1,y1),...,(x2k,y2k)};
22、从所述第一数据集合中除选取的k个公共数据样本外的剩余公共数据样本和所述第二数据集合中除选取的k个公共数据样本外的剩余公共数据样本中,分别选取k’个公共数据样本,得到查询数据集dqnet;其中,所述查询数据集dqnet={(x1′,y1′),…,(x2k′,y2k′)};
23、将所述支持数据集dsnet和所述查询数据集dqnet组合构成所述预训练任务的预训练数据集tnet;其中,所述预训练数据集tnet={dsnet,dqnet}。
24、作为本发明的优选实施方式,使用所述预训练任务的预训练数据集tnet对所述初始机器学习模型进行预训练,得到所述预训练任务对应的损失函数,具体步骤为:
25、从所述预训练数据集tnet的支持数据集dsnet中的样本数据(xs,ys),提取得到所有标签为0的第一样本数据集将所有非0标签转换为1,然后再提取得到所有标签为1的第二样本数据集
26、根据所述第一样本数据集得到第一正类代表向量,根据所述第二样本数据集得到第一负类代表向量;
27、其中,所述第一正类代表向量为:
28、
29、所述第一负类代表向量为:
30、
31、式中,为所述初始机器学习模型的预设参数;xs为特征向量;为xs对应的模型代表向量;
32、根据所述预训练数据集tnet的查询数据集dqnet中的样本数据(xq,yq)、所述第一正类代表向量和所述第一负类代表向量,得到所述查询数据集dqnet中的样本数据被正确预测的概率值:
33、
34、其中:d(a,b)为数据a与数据b之间的欧式平方距离,x′q和y′q均为常数;为yq对应的代表向量;
35、根据所述查询数据集dqnet中的样本数据被正确预测的概率值,得到所述初始机器学习模型对xq的损失值:
36、
37、其中:表示xq由所述初始机器学习模型产生的预测分布,p(xq)表示样本真实分布;
38、根据所述预训练数据集tnet的查询数据集dqnet中所有样本数据xq的损失值,得到所述预训练任务对应的损失函数:
39、
40、
41、其中:α是用于调节损失函数权重的参数。
42、作为本发明的优选实施方式,利用所述预训练任务对应的损失函数,对所述初始机器学习模型中的模型参数进行更新后,得到的更新后的模型参数为:
43、
44、其中:γ为防止过度拟合的权重衰减率;η为学习率;为所述损失函数的梯度,
45、作为本发明的优选实施方式,所述联邦训练特征嵌入模型的具体构建步骤为:
46、冻结所述预训练特征嵌入模型的前nfrz层参数,得到参数冻结后的特征嵌入模型;
47、根据所述能源互联网数据集的负面标签的标签类型,获取协同训练任务,并使用所述能源互联网数据集构建所述协同训练任务的协同训练数据集,具体步骤为:
48、首先对能源互联网数据集进行特征对齐,只保留多项特征中重合的特征,得到对齐后的小样本数据集:
49、
50、其中:表示第i个能源互联网数据样本;为第i个能源互联网数据样本的特征向量(xi1,xi2,…,it),为第i个能源互联网数据样本的标签,i为能源互联网数据样本的序号,nind为能源互联网数据样本的总数;
51、所述能源互联网数据集携带有标签类型集,所述标签类型集为:lind={0,1,...,lind},标签类型0,1,...,lind中,0代表正面标签,1,...,lind代表不同类型的负面标签;
52、当所述协同训练任务包括的标签有负面标签时,将能源互联网数据集中标签类型为0的所有能源互联网数据样本构成的数据集合设为第三数据集合将标签类型为负面标签的所有能源互联网数据样本构成的数据集合设为第四数据集合
53、从所述第三数据集合和所述第四数据集合中,分别选取k个能源互联网数据样本,得到支持数据集dsind;其中,所述支持数据集dsind={(x1,y1),...,(x2k,y2k)};
54、从所述第三数据集合中除选取的k个小样本数据样本外的剩余小样本数据样本和所述第四数据集合和除选取的k个能源互联网数据样本外的剩余能源互联网数据样本中,分别选取k’个能源互联网数据样本,得到查询数据集dqind;其中,所述查询数据集dqind={(x1′,y1′),…,(x2k′,y2k′)};
55、将所述支持数据集dsind和所述查询数据集dqind组合构成所述协同训练任务的协同训练数据集tind;其中,所述协同训练数据集tind={dsind,dqind};
56、使用所述协同训练任务的协同训练数据集对所述参数冻结后特征嵌入模型进行协同训练,得到所述协同训练任务对应的损失函数,具体步骤为:
57、从所述协同训练数据集tind的支持数据集dsind中的小样本数据样本(xs,ys),提取得到所有标签为0的第三样本数据集将所有非0标签转换为1,然后再提取得到所有标签为1的第四样本数据集
58、根据所述第三样本数据集得到协同训练正类代表向量,根据所述第四样本数据集得到协同训练负类代表向量;
59、其中,所述协同训练正类代表向量为:
60、
61、所述协同训练负类代表向量为:
62、
63、式中,为所述初始机器学习模型的预设参数;xs为特征向量;为xs对应的模型代表向量;
64、根据所述协同训练数据集tind的查询数据集dqind中的样本数据(xq,yq)、所述协同训练正类代表向量和所述协同训练负类代表向量,得到所述查询数据集dqind中的样本数据被正确预测的概率值;
65、
66、其中:d(a,b)为数据a与数据b之间的欧式平方距离,x′q和y′q均为常数;为yq对应的代表向量;
67、根据所述查询数据集dqind中的样本数据被正确预测的概率值,得到所述初始机器学习模型对xq的损失值:
68、
69、其中:表示xx由所述初始机器学习模型产生的预测分布,p(xq)表示样本真实分布;
70、根据所述协同训练数据集tind的查询数据集dqind中所有样本数据xq的损失值,得到所述协同训练任务对应的损失函数:
71、
72、
73、其中:α是用于调节损失函数权重的参数;
74、利用所述协同训练任务对应的损失函数,对所述参数冻结后特征嵌入模型中的模型参数进行更新,得到联邦训练特征嵌入模型。
75、作为本发明的优选实施方式,所述最终的入侵检测模型的具体构建步骤为:
76、将所述正常样本数据集和所述小样本攻击数据集输入所述联邦训练特征嵌入模型,得到第三正类代表向量和第三负类代表向量;
77、根据所述第三正类代表向量、第三负类代表向量和所述联邦训练特征嵌入模型,生成最终的入侵检测模型。
78、作为本发明的优选实施方式,所述能源互联网入侵预测结果的具体获取步骤为:
79、将所述预处理后数据输入所述最终的入侵检测模型,得到特征嵌入向量x′;
80、获取所述特征嵌入向量x′与预设的正类代表向量的相似度以及所述特征嵌入向量x′与预设的负类代表向量的相似度
81、根据相似度和相似度得到能源互联网入侵预测结果;其中,所述能源互联网入侵预测结果为:
82、本发明具有如下有益效果:
83、1、本发明提供了一种能源互联网网络威胁检测方法,借鉴联邦学习和迁移学习思想,由各工业代理使用各自的工业能源互联网数据对预训练后的模型进行联邦训练,训练过程中各个能源互联网的数据始终保存在本地,有效避免了隐私泄露等问题,保证能源互联网的数据安全。
84、2、本发明提供了一种能源互联网网络威胁检测方法,通过正常样本数据集和所述小样本攻击数据集生成最终的入侵检测模型,使得仅需少量的能源互联网常见攻击样本以提供先验知识。