Page 358 - 《软件学报》2025年第5期
P. 358

2258                                                       软件学报  2025  年第  36  卷第  5  期


                 击. 成员推断攻击是指攻击者从模型参数或梯度中推断某个特定的数据是否包含在训练数据集中的攻击手段,
                 Nasr 等人  [17] 设计了一种主动成员推断攻击方法, 对一组目标数据进行梯度上升, 并根据其增加损失值的变化来判
                 断该目标数据是否存在训练数据集中; 属性推断攻击是指攻击者通过获取联邦学习模型参数或梯度来推断模型训
                 练数据的属性, 还可以推断出某个属性何时在训练数据中出现和消失; 训练数据推断攻击也称模型逆向攻击, 是指
                 攻击者从模型参数或梯度中提取和训练数据有关的隐私信息, 恢复用于模型训练的原始输入和标签. Hitaj 等人                               [18]
                 提出了使用生成对抗网络         (generative adversarial network, GAN) 来攻击联邦学习, 其中攻击者可以主动攻击其他
                 参与者, 通过训练     GAN  来生成其他参与者本地训练数据的原型样本. 隐私推理攻击的攻击目的和攻击方式与激
                 励欺诈攻击截然不同.
                    模型投毒攻击为参与者通过上传恶意的本地模型信息来阻碍联合模型的训练, 影响最终得到的联合模型性能
                 的攻击行为    [20,21,25] . 根据攻击目标, 投毒攻击可以分为两类: 非定向投毒攻击和定向投毒攻击. 非定向投毒攻击旨
                 在破坏联合模型的可用性, 通过注入大量的恶意数据或上传恶意梯度, 影响联合模型的性能, Cao                             等人  [19] 提出了
                 MPAF, 将虚假的参与者注入联邦学习系统, 并将放大后的虚假本地模型梯度上传至服务器来降低全局模型的测
                 试准确率; 定向投毒攻击的目标是破坏联合模型的完整性, 攻击者为具有特定特征的输入指定特定的标签, 以使联
                 合模型无法正确识别该类输入的标签, 而其他输入的标签识别不受影响, 即影响联合模型在目标子任务上的性能,
                 使其存在缺陷. 后门攻击是典型的定向投毒攻击, Bagdasaryan             等人  [9] 提出了使用模型替代来构造后门攻击模型,
                 防止聚合模型遗忘后门数据, 从而能够在联邦学习中对联合模型进行有效的后门攻击. 模型投毒攻击的攻击方式
                 虽然与本文提出的激励欺诈攻击相似, 都是通过修改上传梯度进行攻击, 但两者的攻击目的不同, 模型投毒攻击并
                 未考虑联邦学习的激励机制, 而激励欺诈攻击也并不关心上传的模型梯度是否会影响聚合后得到的全局模型性能.

                 1.4   联邦学习中的防御机制

                    目前联邦学习中防御机制的研究工作主要针对现有的两大类攻击方法.
                    针对联邦学习中的隐私推理攻击行为, 保护联邦学习中各参与者的隐私数据, 现有防御工作主要基于机器学
                 习中常见的隐私保护技术         [20] , 包括同态加密、安全多方计算和差分隐私. 同态加密技术允许对加密后的信息直接
                 进行运算, 运算后解密得到的结果与明文运算的结果相同; 安全多方计算使各参与者能够在不泄露隐私数据的情
                 况下共同进行数据运算; 差分隐私通过为数据增加噪声来保护隐私. 上述这些隐私保护技术只能防御联邦学习中
                 的推理攻击, 不仅无法防止激励欺诈攻击行为, 而且出于对数据隐私的保护, 这些防御方法阻止对各参与者的本地
                 模型梯度进行检验审查, 反而为投毒攻击和激励欺诈攻击提供了方便.
                    为了防止恶意参与者的投毒攻击行为, 排除低质量的模型梯度, 联邦学习中的安全防御机制研究工作主要可
                 以分为两类: 模型梯度检验        [4,5] 和调整全局模型更新算法     [6−8] .
                    模型梯度检验即对参与者上传的模型梯度进行评估检验, 未通过检验的劣质梯度无法用于全局模型更新, 相
                 应的, 该梯度对全局模型也就无法产生影响. 如              Zhang  等人  [4] 提出的  Refiner 使用了一种模型评估机制, 通过计算
                 每一个参与者上传的本地模型在联邦服务器持有的验证集上的损失函数值来检验梯度, 只有满足服务器预设定阈
                 值的梯度才能通过检验被服务器所接受, 同样只有通过检验的模型梯度才能够参与后续的模型聚合和贡献评估流
                 程. Zhang  等人  [5] 提出的  FLDetector 通过检查参与者上传的模型梯度的一致性来检测恶意参与者, 服务器会基于
                 参与者之前上传的梯度值预测其该轮的梯度, 并计算预测梯度值与实际梯度值之间的欧几里得                                (Euclidean) 距离
                 作为恶意性评分来检验模型梯度的一致性, 被检测出的恶意参与者无法继续参加后续的联邦学习.
                    调整全局模型更新算法指采用合适的模型更新算法来尽可能减少具有破坏性的模型梯度对全局模型的影响,
                                                                              [6]
                                                                                             [7]
                 在存在部分恶意梯度的情况下仍然可以训练得到一个高质量的联合模型. Krum 、Trimmed-Mean 和                           FLTrust [8]
                 是拜占庭稳健     (Byzantine-robust) 的全局模型更新算法. 其中   Krum  是在所有参与者的本地模型中选择单个模型作
                 为新的全局模型, 计算每个模型梯度与其最近的               N −k −2 个模型梯度之间的      Euclidean  距离, 被选中的模型计算得
                 到的梯度距离值最小; Trimmed-Mean       在计算新的全局模型时会分别聚合模型参数的各个维度, 针对任一维度,
                 Trimmed-Mean  先将所有模型参数对应维度的值进行排序, 在排除最大和最小的                   k 个值后, 将剩下的    N −2k 个值的
   353   354   355   356   357   358   359   360   361   362   363