基于联邦学习的系统安全漏洞检测方法及设备

文档序号:28813500发布日期:2022-02-09 04:52阅读:267来源:国知局
基于联邦学习的系统安全漏洞检测方法及设备

1.本技术涉及联邦学习系统安全检测技术领域,尤其涉及一种基于联邦学习的系统安全漏洞检测方法及设备。


背景技术:

2.大数据时代,数据的重要性愈发凸显,更多的数据往往意味着更好,更强的模型,也就能发挥更多的作用,产生更高的经济效益。然而在生产实践中常常会遇到数据孤岛问题。联邦学习的提出解决了数据孤岛问题,联邦学习不需要将所有的数据都集中到一个中心节点来训练机器学习模型,而是让每一个拥有数据的节点用本地的数据来训练一个本地模型,各节点在每一轮的迭代中共享本地的模型参数,由中心节点来聚合所有的模型参数,得到一个当前的全局模型,最终模型收敛,中心节点就得到了一个最终的全局模型。联邦学习既能帮助多个参与方搭建共享的高性能模型,又符合用户隐私和数据保密性的要求。随着联邦学习的发展,联邦学习模型也面临着诸多安全风险,由于联邦学习的分布式结构以及节点与中心节点间的通信行为,传统的网络攻击方法例如重放攻击可能成为新的模型投毒方式,现有技术中,联邦学习中在面对重放攻击时的抵御手段较少,导致基于联邦学习的系统容易受到重放攻击的入侵。


技术实现要素:

3.为至少在一定程度上克服相关技术中联邦学习的系统容易受到重放攻击的入侵的问题,本技术提供一种基于联邦学习的系统安全漏洞检测方法及设备。
4.本技术的方案如下:
5.根据本技术实施例的第一方面,提供一种基于联邦学习的系统安全漏洞检测方法,包括:
6.模拟待检测联邦学习系统的联邦模型训练过程;
7.在所述联邦模型训练过程中,随机选取联邦模型的训练节点进行模拟攻击;
8.对受到所述模拟攻击之前的联邦模型和受到所述模拟攻击之后的联邦模型分别进行仿真,并将仿真结果进行对比生成对比结果;
9.根据所述对比结果判断所述待检测联邦学习系统的安全性能。
10.优选的,在本技术一种可实现的方式中,所述随机选取联邦模型的训练节点进行模拟攻击,包括:
11.基于预先训练的重放攻击模型向联邦模型的练节点进行模拟攻击。
12.优选的,在本技术一种可实现的方式中,所述重放攻击模型用于阻止所述联邦模型收敛,或者使所述联邦模型收敛在坏的局部最小值。
13.优选的,在本技术一种可实现的方式中,所述重放攻击模型通过控制至少一个所述联邦模型的训练节点阻止所述联邦模型收敛,或者使所述联邦模型收敛在坏的局部最小值。
14.优选的,在本技术一种可实现的方式中,还包括:统计被攻击训练节点的个数占全部训练节点个数的比例和各被攻击训练节点的被攻击次数作为所述联邦模型的被攻击强度。
15.优选的,在本技术一种可实现的方式中,根据所述对比结果判断所述待检测联邦学习系统的安全性能,包括:
16.根据所述联邦模型的被攻击强度和所述对比结果判断所述待检测联邦学习系统的安全性能。
17.优选的,在本技术一种可实现的方式中,所述随机选取联邦模型的训练节点进行模拟攻击,包括:
18.随机选取联邦模型的训练节点进行控制;
19.使被控制的各地方训练节点接收中心节点发送的当前轮次的模型参数,并进行解密;
20.使被控制的各地方训练节点使用解密后的模型参数和本地数据训练本地模型;
21.使被控制的各地方训练节点更新解密后的模型参数;
22.使被控制的各地方训练节点加密更新后的模型参数并发送到中心节点。
23.根据本技术实施例的第一方面,提供一种基于联邦学习的系统安全漏洞检测设备,包括:
24.模拟模块,用于模拟待检测联邦学习系统的联邦模型训练过程;
25.选取模块,用于在所述联邦模型训练过程中,随机选取联邦模型的训练节点进行模拟攻击;
26.仿真模块,用于对受到所述模拟攻击之前的联邦模型和受到所述模拟攻击之后的联邦模型分别进行仿真,并将仿真结果进行对比生成对比结果;
27.判断模块,用于根据所述对比结果判断所述待检测联邦学习系统的安全性能。
28.本技术提供的技术方案可以包括以下有益效果:本技术中的基于联邦学习的系统安全漏洞检测方法,包括:模拟待检测联邦学习系统的联邦模型训练过程;在联邦模型训练过程中,随机选取联邦模型的训练节点进行模拟攻击;对受到模拟攻击之前的联邦模型和受到模拟攻击之后的联邦模型分别进行仿真,并将仿真结果进行对比生成对比结果;根据对比结果判断待检测联邦学习系统的安全性能。本技术中在待检测联邦学习系统进行模型训练的过程中随机选取联邦模型的训练节点进行模拟攻击来评测待检测联邦学习系统的安全性能,可以提前了解待检测联邦学习系统到对于重放攻击的防御程度,从而及时做出改进和完善。
29.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
30.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
31.图1是本技术一个实施例提供的一种基于联邦学习的系统安全漏洞检测方法的流程示意图;
32.图2是本技术一个实施例提供的一种基于联邦学习的系统安全漏洞检测方法中随机选取联邦模型的训练节点进行模拟攻击的流程示意图;
33.图3是本技术一个实施例提供的一种高安全性能的联邦学习系统的联邦模型仿真结果;
34.图4是本技术一个实施例提供的另一种高安全性能的联邦学习系统的联邦模型仿真结果;
35.图5是本技术一个实施例提供的又一种高安全性能的联邦学习系统的联邦模型仿真结果;
36.图6是本技术一个实施例提供的一种低安全性能的联邦学习系统的联邦模型仿真结果;
37.图7是本技术一个实施例提供的另一种低安全性能的联邦学习系统的联邦模型仿真结果;
38.图8是本技术一个实施例提供的又一种低安全性能的联邦学习系统的联邦模型仿真结果;
39.图9是本技术一个实施例提供的一种基于联邦学习的系统安全漏洞检测设备的结构示意图。
40.附图标记:模拟模块-21;选取模块-22;仿真模块-23;判断模块-24。
具体实施方式
41.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
42.一种基于联邦学习的系统安全漏洞检测方法,包括:
43.s11:模拟待检测联邦学习系统的联邦模型训练过程;
44.联邦模型训练过程一般包括:
45.1、各个节点发送模型参数到中心节点;
[0046][0047]
2、中心节点对参数进行聚合,例如联邦加权平均算法,得到当前的联邦模型;
[0048][0049]
3、中心节点将聚合后的参数发送给各节点,各个节点根据参数在本地更新模型,其中η
t
为t轮次时的学习率,λ是一个防止过拟合的正则化参数,b
t
表示一个大小为b的梯度批处理的训练数据示例(xi,yi),

l表示损失函数的梯度。
[0050]
4、以上三步一直循环,直到模型收敛或者达到最大训练次数,此时中心节点得到一个最终的联邦模型;
[0051]
pc→gfed
[0052]
5、中心节点将最终的联邦模型发送给各个节点。
[0053]
[0054]
其中,各个节点:p1,p2,lpn;中心节点:pc;本地数据集:d1,d2,ldn;全局数据集:d=d1∪d2∪ldn;t轮次时的本地模型:t轮次时的全局模型:g
t
;t轮次时的本地参数:t轮次时的全局参数:ω
t
;最终模型:g
fed
,g
sum

[0055]
s12:在联邦模型训练过程中,随机选取联邦模型的训练节点进行模拟攻击;
[0056]
联邦学习的结构存在着安全风险,针对模型参数的模型投毒攻击越来越频繁,目前主流的安全防御手段是差分隐私和同态加密对模型参数进行加密或者扰动,实现节点与中心节点间的密文传输。但是这些方法并不能防御重放攻击,本实施例中随机选取至少一个联邦模型的节点进行重放攻击,进而可以检测系统是否存在着联邦学习重放攻击系统安全漏洞。
[0057]
本实施例中,基于预先训练的重放攻击模型向联邦模型的练节点进行模拟攻击。
[0058]
重放攻击模型通过控制至少一个联邦模型的训练节点阻止联邦模型收敛,或者使联邦模型收敛在坏的局部最小值。
[0059]
定义联邦学习中的重放攻击模型:
[0060][0061][0062][0063]
ri=α,ri∈[1

n]
[0064]
其中是α定义的参数,rr代表重放广度(reply range),表示在联邦学习中被攻击训练节点在总训练节点中所占的比例。ri代表重放强度(reply intensity),表示在联邦学习中某个被攻击训练节点受到攻击的次数。
[0065]
随机选取联邦模型的训练节点进行模拟攻击,参照图2,包括:
[0066]
s121:随机选取联邦模型的训练节点进行控制;
[0067]
s122:使被控制的各地方训练节点接收中心节点发送的当前轮次的模型参数,并进行解密;
[0068]
s123:使被控制的各地方训练节点使用解密后的模型参数和本地数据训练本地模型;
[0069]
s124:使被控制的各地方训练节点更新解密后的模型参数;
[0070]
s125:使被控制的各地方训练节点加密更新后的模型参数并发送到中心节点。
[0071]
优选的,本实施例中,还统计被攻击训练节点的个数占全部训练节点个数的比例和各被攻击训练节点的被攻击次数作为联邦模型的被攻击强度。
[0072]
s13:对受到模拟攻击之前的联邦模型和受到模拟攻击之后的联邦模型分别进行仿真,并将仿真结果进行对比生成对比结果;
[0073]
s14:根据对比结果判断待检测联邦学习系统的安全性能。
[0074]
具体的,根据联邦模型的被攻击强度和对比结果判断待检测联邦学习系统的安全性能。
[0075]
优选的,本实施例中选用的框架是tensorflowfederated(tff),实验环境是
18.04.1-ubuntu,intel(r)xeon(r)cpu e5-2678v3@2.50gh,2.50ghz ram 64.0gb,数据集采用mnist。
[0076]
本实施例中,以联邦模型的训练节点个数为10个,分别对高安全性能和低安全性能的联邦学习系统的仿真图进行举例说明。
[0077]
高安全性能的联邦学习系统的联邦模型仿真结果参照图3-图5。
[0078]
图2为正常的联邦学习进程,没有进行重放攻击,即受到模拟攻击之前的联邦模型的仿真结果。
[0079]
图3为10个节点中有1个节点受到了1次重放攻击的仿真结果。
[0080]
图4为10个节点中有1个节点受到了10次重放攻击的仿真结果。
[0081]
对比三次的实验结果可以发现并没有显著的差异,在这三次的实验中模拟的各个训练节点(包括被攻击训练节点)的本地数据质量较为良好且平均,重放攻击没有放大被攻击训练节点对于全局模型的影响,因为该被攻击训练节点的数据质量良好,因此对于全局模型并不会造成显著的负面影响。因此,可以看出该联邦学习系统的安全性能较高。
[0082]
低安全性能的联邦学习系统的联邦模型仿真结果参照图6-图8。
[0083]
图6为正常的联邦学习进程,没有进行重放攻击,即受到模拟攻击之前的联邦模型的仿真结果。
[0084]
图7为10个节点中有2个节点受到了2次重放攻击的仿真结果。
[0085]
图8为10个节点中有2个节点受到了10次重放攻击的仿真结果。
[0086]
对比三次的实验结果可以发现,被攻击训练节点的数据质量较低,其他节点不做改变,实验结果如上图所示,可以看到全局模型的准确率出现了不同程度的变化,这说明被攻击训练节点的影响放大到了全局模型,影响了全局模型的收敛与模型性能,即该联邦学习系统存在着遭受重放攻击的安全漏洞,该联邦学习系统的安全性能较低。
[0087]
本实施例中的基于联邦学习的系统安全漏洞检测方法,包括:模拟待检测联邦学习系统的联邦模型训练过程;在联邦模型训练过程中,随机选取联邦模型的训练节点进行模拟攻击;对受到模拟攻击之前的联邦模型和受到模拟攻击之后的联邦模型分别进行仿真,并将仿真结果进行对比生成对比结果;根据对比结果判断待检测联邦学习系统的安全性能。本技术中在待检测联邦学习系统进行模型训练的过程中随机选取联邦模型的训练节点进行模拟攻击来评测待检测联邦学习系统的安全性能,可以提前了解待检测联邦学习系统到对于重放攻击的防御程度,从而及时做出改进和完善。
[0088]
一种基于联邦学习的系统安全漏洞检测设备,参照图9,包括:
[0089]
模拟模块21,用于模拟待检测联邦学习系统的联邦模型训练过程;
[0090]
选取模块22,用于在联邦模型训练过程中,随机选取联邦模型的训练节点进行模拟攻击;
[0091]
仿真模块23,用于对受到模拟攻击之前的联邦模型和受到模拟攻击之后的联邦模型分别进行仿真,并将仿真结果进行对比生成对比结果;
[0092]
判断模块24,用于根据对比结果判断待检测联邦学习系统的安全性能。
[0093]
可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
[0094]
需要说明的是,在本技术的描述中,术语“第一”、“第二”等仅用于描述目的,而不
能理解为指示或暗示相对重要性。此外,在本技术的描述中,除非另有说明,“多个”的含义是指至少两个。
[0095]
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本技术的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本技术的实施例所属技术领域的技术人员所理解。
[0096]
应当理解,本技术的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
[0097]
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0098]
此外,在本技术各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0099]
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0100]
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0101]
尽管上面已经示出和描述了本技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本技术的限制,本领域的普通技术人员在本技术的范围内可以对上述实施例进行变化、修改、替换和变型。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1