本发明涉及攻击检测,尤其涉及一种基于特征一致性的联邦学习攻击检测方法、系统及装置。
背景技术:
1、联邦学习是一种机器学习技术,允许多方在不泄露私人数据的情况下合作进行数据分析及预测,已经得到大规模应用,联邦学习在实际应用中展现了广泛的适用性,尤其适用于训练数据集由于隐私等原因无法公开的场景,在联邦学习模式下,中央服务器向多个客户端分发全局模型,客户端利用自己的数据,基于全局模型单独训练本地模型,然后,中央服务器收集本地模型的梯度更新,将梯度更新汇总到新的全局模型中,并开始进行下一轮训练。然而,研究表明,恶意客户端可以通过破坏本地模型,进而向全局模型引入投毒攻击,其中,包括无目标攻击和有目标攻击,无目标攻击试图减慢学习过程,降低任务的整体准确性甚至使得全局模型无法使用;有目标攻击将后门注入模型,使其错误地将木马数据样本预测为攻击者选择的类别,而对赶紧数据样本的预测不受影响。
2、目前,已经有很多研究工作针对联邦学习攻击提出了检测方法,包括为联邦学习提供可证明的收敛性保证,抵御拜占庭故障引起的投毒攻击,然而,此类方法仅适用于客户的训练数据是在独立同分布的情况下,并且要求中央服务器知道恶意客户端的数量;通过相似性测量和基于聚类的方法进行联邦学习攻击检测,此类方法仅针对几类特定攻击设计,并且依赖于已知恶意客户端的数量且中央服务器拥有根数据集,同时此类方法对有目标攻击的检测误判率较高;在训练过程中存在恶意客户端的情况下,提供可证明的鲁棒联邦学习方法,此类防御方法给客户端带来高昂的内存成本;基于查分隐私算法限制梯度和增加扰动的方法,为联邦学习提鲁棒性,但此类方法已被攻击者突破,攻击者可以通过调整攻击策略,成功在基于查分隐私的联邦学习系统中注入后门。
3、因此,目前针对联邦学习攻击的检测方法存在局限性:一是现有方法只能检测一部分特定的攻击,对隐蔽攻击的检测准确率较低,现有仅基于检测异常更新的方法无法有效应对隐蔽攻击;二是在非独立同分布的数据集下,有大量良性客户被误判为攻击者而被排除在训练之外,非独立同分布的情况下客户端梯度更新的特征和标签分布可能非常不均匀,因此,良性客户端的模型更新可能存在较大差异,此时会掩盖恶意客户端的异常情况,而依赖于跨客户端检测的现有检测方法无法区分恶意客户端和良性客户端,导致全局模型准确性下降。
技术实现思路
1、本发明针对现有技术中的缺点,提供了一种基于特征一致性的联邦学习攻击检测方法、系统及装置。
2、为了解决上述问题,本发明通过下述技术方案得以解决:
3、一种基于特征一致性的联邦学习攻击检测方法,包括以下步骤:
4、基于客户端进行梯度更新解耦合,提取符号向量、排序向量、分类器向量及特征提取器向量;
5、对符号向量、排序向量及分类器向量进行局部一致性检测,得到局部异常分数,判断局部异常分数与预设局部一致性分数阈值的关系,得到客户端局部检测结果;
6、对特征提取器向量进行任务一致性检测,得到任务相似性分数,判断任务相似性分数与预设任务一致性条件的关系,得到客户端任务检测结果;
7、获取特征提取器向量的数据一致性,得到数据域距离,判断数据域距离与预设数据一致性条件的关系,得到客户端数据检测结果;
8、基于客户端局部检测结果、客户端任务检测结果及客户端数据检测结果剔除恶意客户端,通过良性客户端对客户端梯度更新进行分析处理。
9、作为一种可实施方式,所述提取符号向量、排序向量、分类器向量及特征提取器向量,包括以下步骤:
10、基于客户端梯度更新的元素符号进行连接,得到符号向量;
11、对客户端梯度更新的元素进行排序,基于排序结果,得到排序向量;
12、基于客户端梯度更新,获取分类层权重及分类层偏差的连接,得到分类器向量;
13、基于客户端梯度更新获取客户端异常矩阵,对客户端异常矩阵进行联结得到特征提取器向量。
14、作为一种可实施方式,所述对符号向量、排序向量及分类器向量进行局部一致性检测,得到局部异常分数,判断局部异常分数与预设局部一致性分数阈值的关系,得到客户端局部检测结果,包括以下步骤:
15、对于符号向量、排序向量及分类器向量中的任意一种,通过主成分分析进行降维,得到降维向量;
16、基于降维向量得到局部异常分数,局部异常分数的计算方式,如下所示:
17、
18、madn=b·medi{|zi-medjzj|}
19、其中,表示局部异常分数,zi表示降维向量,medjzj表示降维向量的中值,medi{|zi-medjzj|}表示序列|zi-medjzj|的中值,b表示常数;
20、预设局部一致性分数阈值,若局部异常分数大于局部一致性分数阈值,则对应的客户端为恶意客户端。
21、作为一种可实施方式,所述对特征提取器向量进行任务一致性检测,得到任务相似性分数,判断任务相似性分数与预设任务一致性条件的关系,得到客户端任务检测结果,包括以下步骤:
22、构建特征提取器向量的固定特征模式,得到模式特征向量;
23、基于特征提取器向量及模式特征向量的任务相似性,得到任务相似性分数进而得到任务相似性分数集,任务相似性分数的计算方式及任务相似性分数集,分别如下所示:
24、
25、
26、
27、
28、其中,featvi表示特征提取器向量,featvp表示模式特征向量,ti表示任务相似性集,表示任务相似性分数,k表示k个特征提取层,表示第k层的中值;
29、预设任务一致性条件,任务一致性条件包括:任务相似性分数的最小值不大于第一任务相似性分数阈值、任务相似性分数的最小值小于第二任务相似性分数阈值及任务相似性分数的连线斜率小于预设斜率阈值中的任意一种;
30、基于任务相似性分数及任务相似性分数集,判断与预设任务一致性条件的关系,若符合任务一致性条件中的任意一种,则对应的客户端为恶意客户端。
31、作为一种可实施方式,所述获取特征提取器向量的数据一致性,得到数据域距离,判断数据域距离与预设数据一致性条件的关系,得到客户端数据检测结果,包括以下步骤:
32、在客户端多个训练轮次下得到多个特征提取器向量,计算多个特征提取器向量的平均值,得到特征提取器参考向量;
33、获取特征提取器向量及特征提取器参考向量的数据域距离,进而得到数据域距离集,数据域距离的计算方式及数据域距离集分别表示如下:
34、
35、
36、
37、
38、基于数据域距离集,得到数据域距离集范围,数据域距离集范围的计算方式表示如下:
39、
40、其中,表示数据域距离,表示特征提取器参考向量,featvi表示特征提取器向量,di表示数据域距离集,γi表示数据域距离集范围;
41、预设数据一致性条件,所述数据一致性条件包括数据域距离集的范围大于预设集合阈值或数据域距离大于预设距离阈值;
42、判断数据域距离或数据域距离集与预设数据一致性条件的关系,若符合数据一致性条件中的任意一种,则对应的客户端为恶意客户端。
43、作为一种可实施方式,所述基于客户端局部检测结果、客户端任务检测结果及客户端数据检测结果剔除恶意客户端,通过良性客户端对客户端梯度更新进行分析处理,包括以下步骤:
44、剔除所有恶意客户端,保留良性客户端,并基于良性客户端的梯度更新进行聚合并进行训练。
45、一种基于特征一致性的联邦学习攻击检测系统,包括向量获取模块、检测模块及分析处理模块;
46、所述向量获取模块,基于客户端进行梯度更新解耦合,提取符号向量、排序向量、分类器向量及特征提取器向量;
47、所述检测模块,用于对符号向量、排序向量及分类器向量进行局部一致性检测,得到局部异常分数,判断局部异常分数与预设局部一致性分数阈值的关系,得到客户端局部检测结果;对特征提取器向量进行任务一致性检测,得到任务相似性分数,判断任务相似性分数与预设任务一致性条件的关系,得到客户端任务检测结果;获取特征提取器向量的数据一致性,得到数据域距离,判断数据域距离与预设数据一致性条件的关系,得到客户端数据检测结果;
48、所述分析处理模块,基于客户端局部检测结果、客户端任务检测结果及客户端数据检测结果剔除恶意客户端,通过良性客户端对客户端梯度更新进行分析处理。
49、作为一种可实施方式,所述检测模块,被设置为:
50、对于符号向量、排序向量及分类器向量中的任意一种,通过主成分分析进行降维,得到降维向量;
51、基于降维向量得到局部异常分数,局部异常分数的计算方式,如下所示:
52、
53、madn=b·medi{|zi-medjzj|}
54、其中,表示局部异常分数,zi表示降维向量,medjzj表示降维向量的中值,medi{|zi-medjzj|}表示序列|zi-medjzj|的中值,b表示常数;
55、预设局部一致性分数阈值,若局部异常分数大于局部一致性分数阈值,则对应的客户端为恶意客户端;
56、构建特征提取器向量的固定特征模式,得到模式特征向量;
57、基于特征提取器向量及模式特征向量的任务相似性,得到任务相似性分数进而得到任务相似性分数集,任务相似性分数的计算方式及任务相似性分数集,分别如下所示:
58、
59、
60、
61、
62、其中,featvi表示特征提取器向量,featvp表示模式特征向量,ti表示任务相似性集,表示任务相似性分数,k表示k个特征提取层,表示第k层的中值;
63、预设任务一致性条件,任务一致性条件包括:任务相似性分数的最小值不大于第一任务相似性分数阈值、任务相似性分数的最小值小于第二任务相似性分数阈值及任务相似性分数的连线斜率小于预设斜率阈值中的任意一种;
64、基于任务相似性分数及任务相似性分数集,判断与预设预设任务一致性条件的关系,若符合任务一致性条件中的任意一种,则对应的客户端为恶意客户端;
65、在客户端多个训练轮次下得到多个特征提取器向量,计算多个特征提取器向量的平均值,得到特征提取器参考向量;
66、获取特征提取器向量及特征提取器参考向量的数据域距离,进而得到数据域距离集,数据域距离的计算方式及数据域距离集分别表示如下:
67、
68、
69、
70、
71、基于数据域距离集,得到数据域距离集范围,数据域距离集范围的计算方式表示如下:
72、
73、其中,表示数据域距离,表示特征提取器参考向量,featvi表示特征提取器向量,di表示数据域距离集,γi表示数据域距离集范围;
74、预设数据一致性条件,所述数据一致性条件包括数据域距离集的范围大于预设集合阈值或数据域距离大于预设距离阈值;
75、判断数据域距离或数据域距离集与预设数据一致性条件的关系,若符合数据一致性条件中的任意一种,则对应的客户端为恶意客户端。
76、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下所述的方法:
77、基于客户端进行梯度更新解耦合,提取符号向量、排序向量、分类器向量及特征提取器向量;
78、对符号向量、排序向量及分类器向量进行局部一致性检测,得到局部异常分数,判断局部异常分数与预设局部一致性分数阈值的关系,得到客户端局部检测结果;
79、对特征提取器向量进行任务一致性检测,得到任务相似性分数,判断任务相似性分数与预设任务一致性条件的关系,得到客户端任务检测结果;
80、获取特征提取器向量的数据一致性,得到数据域距离,判断数据域距离与预设数据一致性条件的关系,得到客户端数据检测结果;
81、基于客户端局部检测结果、客户端任务检测结果及客户端数据检测结果剔除恶意客户端,通过良性客户端对客户端梯度更新进行分析处理。
82、一种基于特征一致性的联邦学习攻击检测装置,包括存储器、处理器以及存储在所述存储器中并在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如下所述的方法:
83、基于客户端进行梯度更新解耦合,提取符号向量、排序向量、分类器向量及特征提取器向量;
84、对符号向量、排序向量及分类器向量进行局部一致性检测,得到局部异常分数,判断局部异常分数与预设局部一致性分数阈值的关系,得到客户端局部检测结果;
85、对特征提取器向量进行任务一致性检测,得到任务相似性分数,判断任务相似性分数与预设任务一致性条件的关系,得到客户端任务检测结果;
86、获取特征提取器向量的数据一致性,得到数据域距离,判断数据域距离与预设数据一致性条件的关系,得到客户端数据检测结果;
87、基于客户端局部检测结果、客户端任务检测结果及客户端数据检测结果剔除恶意客户端,通过良性客户端对客户端梯度更新进行分析处理。
88、本发明由于采用了以上的技术方案,具有显著的技术效果:
89、通过本发明的方法解决了现有联邦学习攻击检测方法的两大局限性,一方面通过分析客户端的梯度更新,检测到恶意客户端梯度更新与良性客户端梯度更新的差异,提高检测攻击种类的多样性;另一方面在非独立同分布的数据集下,解决客户端梯度更新的特征及标签分布之间的不均匀性,避免良性客户端之间的更新差异掩盖恶意客户端的异常情况,进而提高模型训练的准确性。