反击联邦学习中的攻击
反击联邦学习中的攻击
原文:
towardsdatascience.com/fighting-back-against-attacks-in-federated-learning/
联邦学习 (FL) 正在
然而,随着计算和数据分散到许多设备上,新的安全挑战也随之而来。攻击者可以加入训练过程并微妙地影响它,导致准确性下降、输出偏差或模型中隐藏的后门。
在这个项目中,我们着手研究如何在联邦学习中检测和减轻此类攻击。为此,我们构建了一个多节点模拟器,使研究人员和行业专业人士能够更有效地重现攻击和测试防御措施。
这为什么很重要
-
非技术性示例: 想象一下一本由许多餐厅厨师共同贡献的共享食谱书。每位厨师都会更新一些食谱,加入自己的改进。一个不诚实的厨师可能会故意添加错误的配料来破坏菜肴,或者悄悄加入只有他们知道如何修复的特殊风味。如果没有人仔细检查食谱,所有餐厅的未来食客都可能吃到被破坏或被操纵的饭菜。
-
技术性示例: 与数据中毒(操纵训练示例)和模型中毒(更改权重更新)相同的概念出现在联邦学习中。当联盟具有非 IID 数据分布、不平衡数据分区或晚加入的客户端时,这些攻击尤其具有破坏性。当代防御措施,如 Multi KRUM、Trimmed Mean 和 Divide and Conquer,在某些情况下仍然可能失败。
构建多节点联邦学习攻击模拟器
为了评估联邦学习对现实世界威胁的弹性,我们在 Scaleout Systems FEDn 框架 上构建了一个多节点攻击模拟器。这个模拟器使得在受控环境中重现攻击、测试防御措施以及扩展实验(拥有数百甚至数千个客户端)成为可能。
关键功能:
-
灵活部署: 使用 Kubernetes、Helm 和 Docker 运行分布式联邦学习作业。
-
现实数据设置: 支持 IID/非 IID 标签分布、不平衡数据分区和晚加入的客户端。
-
攻击注入: 包括实施常见的中毒攻击(标签翻转、少即是多)并允许轻松定义新的攻击。
-
防御基准测试: 集成现有的聚合策略(FedAvg、修剪均值、多 KRUM、分而治之)并允许对一系列防御策略和聚合规则进行实验和测试。
-
可扩展实验: 可以从单个配置文件中调整模拟参数,如客户端数量、恶意份额和参与模式。
使用FEDn 的架构意味着模拟可以从强大的训练编排、客户端管理和通过Studio 网页界面进行可视化监控中受益。
值得注意的是,FEDn 框架支持服务器功能。这一特性使得通过攻击模拟器实现新的聚合策略并对其进行评估成为可能。
要开始使用 FEDn 的第一个示例项目,这里是快速入门指南。
FEDn 框架对所有学术和研究项目免费,以及工业测试和试验。
我们研究过的攻击
-
标签翻转(数据中毒) – 恶意客户端在其本地数据集中翻转标签,例如将“猫”改为“狗”以降低准确性。
-
少即是多(模型中毒) – 攻击者对其模型更新进行小但针对性的调整,以将全局模型输出推向自己的目标。在本论文中,我们每 3 轮应用一次少即是多攻击。
超越攻击——理解无意影响
虽然这项研究侧重于故意的攻击,但它对于理解大规模联邦中由于配置错误或设备故障引起的边缘贡献的影响同样有价值。
在我们的食谱示例中,即使是一个诚实的厨师也可能因为烤箱损坏或秤不准确而意外使用错误的原料。错误是无意的,但它仍然以可能对许多贡献者重复时造成危害的方式改变了共享食谱。
在跨设备或车队学习设置中,数千或数百万异构设备向共享模型贡献时,故障传感器、过时的配置或不稳定的连接可能会以类似恶意攻击的方式降低模型性能。研究攻击弹性也揭示了如何使聚合规则对这种无意噪声具有鲁棒性。
缓解策略详解
在联邦学习(FL)中,聚合规则决定了如何组合来自客户端的模型更新。鲁棒的聚合规则旨在减少异常值的影响,无论这些异常值是由恶意攻击还是故障设备引起的。以下是我们在测试中使用的策略:
-
FedAvg(基线) – 简单地平均所有更新,不进行过滤。非常容易受到攻击。
-
Trimmed Mean(TrMean) – 对每个客户端的每个参数进行排序,然后在平均之前丢弃最高和最低的值。减少了极端异常值,但可能会错过细微的攻击。
-
Multi KRUM – 根据更新与参数空间中最近邻居的接近程度对每个更新进行评分,仅保留总距离最小的那些。对选择的更新数量(k)非常敏感。
-
EE Trimmed Mean(新开发) – TrMean 的适应性版本,使用 epsilon-greedy 调度来决定何时测试不同的客户端子集。对客户端行为的改变、迟到和 non IID 分布更具弹性。
本文中展示的图像、表格和图表最初由 Scaleout 团队设计。
实验
在 180 次实验中,我们评估了不同聚合策略在变化攻击类型、恶意客户端比例和数据分布下的表现。有关更多详细信息,请参阅完整论文。

上表展示了使用非 IID 标签分布和部分不平衡数据分区进行标签翻转攻击的一系列实验之一。表中显示了测试准确率和测试损失 AUC,这些指标是在所有参与客户端上计算的。每个聚合策略的结果以两行显示,对应于两种后期策略(从第 5 轮开始参与的良性客户端或从第 5 轮开始参与的恶意客户端)。列将结果分为三个恶意比例,每个聚合策略产生六个实验配置。每个配置中的最佳结果以粗体显示。
虽然表格显示所有防御策略的响应相对一致,但个别图表呈现了完全不同的视角。在 FL 中,虽然联盟可能达到一定的准确度,但同样重要的是要检查客户端的参与情况——具体来说,哪些客户端成功参与了训练,哪些被拒绝为恶意。以下图表展示了不同防御策略下的客户端参与情况。

图 1:TrMean – 标签翻转 – 非 IID 部分不平衡 – 20%恶意活动
在 20%恶意客户端的标签翻转攻击下,对非独立同分布、部分不平衡数据,Trimmed Mean(图 1)保持了整体准确率,但从未完全阻止任何客户端的贡献。虽然坐标修剪减少了恶意更新的影响,但它单独过滤参数而不是排除整个客户端,允许良性和恶意参与者在整个训练过程中保持聚合。
在有 30%晚加入的恶意客户端和非独立同分布、不平衡数据的情况下,Multi-KRUM(图 2)从第 5 轮开始错误地选择了恶意更新。高数据异质性使得良性更新看起来不太相似,允许恶意更新被评为最中心之一,并在剩余的训练过程中持续存在于三分之一的聚合模型中。

图 2:Multi-KRUM – 标签翻转攻击 – 非独立同分布不平衡 – 30%恶意活动(k=3)*
为什么我们需要自适应聚合策略
现有的鲁棒聚合规则通常依赖于静态阈值来决定哪些客户端更新应包含在聚合新的全局模型中。这突出了当前聚合策略的不足,这些不足可能使它们容易受到晚加入的客户端、非独立同分布数据分布或客户端之间数据量不平衡的影响。这些见解促使我们开发了 EE-Trimmed Mean (EE-TrMean)。
EE-TrMean:一种 epsilon 贪婪聚合策略
EE-TrMean 基于经典的 Trimmed Mean,但增加了用于客户端选择的探索与利用、epsilon 贪婪层。
-
探索阶段:所有客户端都被允许贡献,并执行一个正常的 Trimmed Mean 聚合轮次。
-
探索阶段:最少被修剪的客户端将通过基于之前参与轮次的平均分数系统被纳入探索阶段。
-
两个阶段的切换由具有衰减 epsilon 和 alpha 渐变的 epsilon-greedy 策略控制。
每个客户端根据其参数在每一轮修剪中是否存活来获得分数。随着时间的推移,算法将越来越倾向于选择得分最高的客户端,同时偶尔探索其他客户端以检测行为的变化。这种自适应方法允许 EE-TrMean 在数据异质性和恶意活动较高的情况下提高弹性。

图 3:EE-TrMean – 标签翻转 – 非独立同分布部分不平衡 – 20%恶意活动
在一个标签翻转场景中,有 20%的恶意客户端和后期良性的非独立同分布(non-IID)、部分不平衡的数据加入者,EE-TrMean (图-3) 在探索和利用阶段之间交替——最初允许所有客户端,然后选择性地阻止得分低的客户端。虽然偶尔由于数据异质性(仍然比已知策略好得多)排除了一个良性客户端,但它成功地在训练过程中识别并最小化了恶意客户端的贡献。这种简单而强大的修改提高了客户端的贡献。文献报告称,只要大多数客户端是诚实的,模型的准确性就保持可靠。
| Sigvard Dackevall,ML 工程师,Scaleout [email protected] | Salman Toor,Scaleout 联合创始人兼 CTO
乌普萨拉大学,副教授,
| 组织:Scaleout Systems |
|---|

浙公网安备 33010602011771号