赞
踩
下表和下图为联邦学习中常见的安全性问题,本文重点关注模型鲁棒性问题中的后门攻击问题。
攻击手段 | 安全性问题 | 攻击方与被攻击方 | 攻击点 | 攻击目的 |
---|---|---|---|---|
拜占庭攻击 | 模型鲁棒性 | 恶意客户端攻击服务器 | 针对训练数据或针对局部模型投毒 | 无目标攻击,影响全局模型性能 |
后门攻击 | 模型鲁棒性 | 恶意客户端攻击服务器 | 针对训练数据或针对局部模型投毒 | 影响目标子任务的性能 |
推理攻击 | 隐私保护 | 恶意服务器或恶意客户端攻击客户端 | 针对客户端参数或全局模型参数推理 | 获取客户端信息 |
从上图中可以看出后门攻击问题在联邦学习安全性问题中所处的位置。
本文首先根据应用场景将对后门攻击的防御分为了横向联邦学习和纵向联邦学习场景中对后门的防御。
注:如果不特殊说明,本文中的后门攻击均指的是横向联邦学习中的后门攻击。在文章的靠后部分,也用了少量篇幅对纵向联邦学习中的后门攻击进行了介绍。
然后,本文根据防御手段实施的时间点,将防御方法细分为了客户端训练时、聚合前、聚合中和聚合后4个部分。
其中客户端训练时的防御手段即指攻击者采用的是黑盒攻击,各客户端在提交更新至服务器之前所采用的防御。防御手段主要是检查训练数据或修改训练过程。而其他和聚合过程相关的防御手段则假设攻击者采用的是白盒攻击,防御手段主是检查或修改客户端提交的模型结果。
聚合后的防御手段即指服务器已经完成了对当前一轮全局模型的聚合操作,然后再采用防御措施消除恶意更新的贡献,从而去除其中的后门。
而聚合前和聚合中的防御手段都是指服务器在得到客户端提交的更新之后所采用的防御手段,这两者并不是有很明显的划分界限。本文的划分方法是,如果防御措施仅仅是在原本的模型聚合之前多进行了一些操作,比如添加噪声或剔除恶意客户端,而并没有对原本的聚合算法本身进行修改,则将其归类为聚合前。如果防御措施是对聚合算法本身进行了修改,比如在聚合时对不同局部更新的权重进行了重新加权或调整了不同局部更新的学习速率等超参数,则将其归类为聚合中。
对更下级更细的分类标准,将在后面具体讲解防御方法时进行说明。
本文根据攻击手段实施的对象,将其细分为了针对训练数据和针对局部模型的后门攻击。
其中针对训练数据的攻击手段即假设攻击者能力是黑盒攻击,只能改变恶意客户端的局部训练数据,而无法对其训练流程和训练出来的模型进行修改。
针对局部模型的攻击手段即假设攻击者能力是白盒攻击,能完全控制恶意客户端的局部训练数据和训练流程,并可以直接对训练出来的模型进行修改。
当然,在后门攻击中,针对训练数据投毒和针对局部模型投毒的手段并不能完全分离,一般需要同时将两种方法结合使用。
因为后门攻击不像符号翻转等无目标攻击手段,仅需直接修改本地模型的符号,而不需要对数据进行任何操作就可以到达攻击的效果。因为不对数据进行修改尤其是不对标签进行修改就意味着无法植入后门。
同时,后门攻击也不像集中式学习中的标签翻转等攻击手段,仅需修改训练数据的标签,而不需要对训练出来的局部模型进行任何操作就可以到达攻击的效果。因为由于联邦学习的客户端有很多,所以聚合时会稀释后门模型的贡献,因此往往需要对训练出来的恶意模型的参数进行放大等修改操作。
虽然这两类手段在具体攻击中一般会同时使用,但是本文仍然以这两类手段为标准进行划分。根据攻击是更侧重于针对训练数据投毒,还是更侧重于针对局部模型投毒,将其分为对应的类。
注:上图中针对训练数据的攻击中有一类手段是基于标签翻转的攻击。需要说明区别的是,无目标的攻击中也有标签翻转攻击,但其是将任意类的标签进行翻转。而在后门攻击中,标签翻转是仅对某一类标签进行翻转,仅在目标类上降低模型精度。
对更下级更细的分类标准,将在后面具体讲解攻击方法时进行说明。
如上图所示,除了依据投毒对象进行分类之外,根据恶意客户端的行为,后门攻击还有其他分类方式。
但往往同一种攻击手段经过一定的调整是可以多种场景下进行的,比如,基于标签翻转的后门攻击既可以通过放大模型参数进行单轮的集中式后门攻击,而放大因子也可以由多个恶意客户端在多轮中进行分担,进行多轮的分布式后门攻击。
一般来说,针对模型投毒的效果优于针对数据投毒的效果,分布式后门攻击的效果优于集中式后门攻击的效果,分工协作的后门攻击的效果优于无分工协作的后门攻击的效果,多轮攻击的效果优于单轮攻击的效果,自适应攻击的效果优于非自适应攻击的效果。
本文的剩余部分主要分为4个部分,依次介绍了后门攻击问题定义、后门攻击的防御方法、后门攻击的攻击方法以及纵向联邦学习中的后门攻击。
一般仅假设攻击者是客户端,而非服务器,否则将很容易植入后门。在实际场景中,也只有受信任的服务器才能进行联邦聚合。
如果不特殊说明,本文中所有防御措施所考虑的攻击者能力都是更加强大的白盒攻击。本文假设攻击者是黑盒攻击的场景,仅存在于在客户端训练时进行防御的防御方法。
L c l a s s = L t r a i n + L t a r g e t L_{class}=L_{train}+L_{target} Lclass=Ltrain+Ltarget
其中 L t r a i n L_{train} Ltrain干净训练数据的经验损失项, L t r a i n L_{train} Ltrain后门训练数据的经验损失项。
为了达到隐蔽性,需要使中毒模型尽可能与良性模型难以区分。比如,可以使中毒模型与良性模型之间的距离(如欧几里德距离)小于服务器异常检测区分能力的阈值 η \eta η,攻击者可以通过将本地恶意模型与全局模型或基于良性数据训练的本地模型进行比较来估计此距离。
L a t t a c k e r = α L c l a s s + ( 1 − α ) L a n o L_{attacker}={\alpha}L_{class}+(1-\alpha)L_{ano} Lattacker=αLclass+(1−α)Lano
其中, L c l a s s L_{class} Lclass为上文提到的简单的目标损失函数, L a n o L_{ano} Lano为本地恶意模型与良性模型的偏差,超参数 α \alpha α控制攻击隐蔽性和攻击有效性之间的权衡。
一般假设仅防御方是服务器,部分情况下也将良性客户端当作防御方,尤其是当攻击者的能力是黑盒攻击的时候。
下表是将防御方法用到的10种思想进行了简要对比,包括基于过滤投毒数据的防御、基于增强模型稳定性的防御、基于差分隐私的防御、基于特征提取与特征选择(基于降维)的防御、基于修改协议过程的防御、基于综合运用多种技术的防御、基于相似性的防御、基于统计的防御、基于联邦遗忘的防御和基于全局模型性能的防御。
防御思想 | 防御时间 | 攻击者模型 | 原理 | 与安全聚合是否兼容 | 代价 | 主要局限性 |
---|---|---|---|---|---|---|
基于过滤投毒数据 | 客户端 | 黑盒模型 | 训练无后门的局部模型 | 兼容 | 需要提前训练大量过滤器 | 需要假设攻击者仅能操控训练数据 |
基于增强模型稳定性 | 客户端 | 黑盒模型 | 训练无后门的局部模型 | 兼容 | 也降低了模型的良性性能 | 需要假设攻击者仅能操控训练数据 |
基于差分隐私 | 聚合前 | 白盒模型 | 削弱恶意更新的影响 | 不兼容 | 也降低了模型的良性性能 | 无法防御不改变模型权重大小的无目标攻击 |
基于降维 | 聚合前 | 白盒模型 | 检测并剔除恶意更新 | 不兼容 | 也剔除了具有较大偏差的良性客户端 | 模型更新的最优潜在表示还没有得到很好的研究 |
基于修改协议过程 | 聚合前 | 白盒模型 | 检测并剔除恶意更新 | 兼容 | 需要对现有的联邦学习系统进行较大修改 | 与已有的联邦学习系统的兼容性问题 |
基于相似性 | 聚合中 | 白盒模型 | 削弱恶意更新的影响 | 不兼容 | 也削弱了具有较大偏差的良性客户端的影响 | 很容易被高级攻击手段绕过 |
基于统计 | 聚合中 | 白盒模型 | 检测并剔除恶意更新 | 不兼容 | 一部分良性客户端的更新被忽略 | 对非IID分布的数据效果有限 |
基于联邦遗忘 | 聚合后 | 白盒模型 | 消除恶意更新的贡献 | 不兼容 | 需要额外的存储开销或通信开销 | 必须要基于知道恶意客户端是哪一个 |
基于全局模型性能 | 聚合后 | 白盒模型 | 验证全局模型是否存在后门 | 兼容 | 需要额外的通信开销 | 只能放弃中毒的模型而不能消除恶意客户端影响 |
本大节的剩余部分将对每一类思想进行介绍,以及依据近年的文献介绍更加具体的实现方法。
防御后门攻击的一种数学方法是训练具有差分隐私的模型,具体的可以通过裁减更新、添加高斯噪声来实现。
由于针对模型投毒的后门攻击可能会产生具有较大范数的更新,因此可以让服务器忽略范数超过某个阈值 M M M的更新或将其剪裁到阈值 M M M的范围之内。这样可确保每个模型更新的范数较小,从而缓解恶意更新对服务器的影响。
添加高斯噪声可以在不太影响模型整体性能的情况下,减轻恶意更新的影响。
由于针对局部模型进行投毒的后门攻击的更新往往范数较大,因此可以让服务器将范数超过阈值 M M M的更新剪裁到阈值 M M M的范围之内。这样可确保每个模型更新的范数较小,减轻恶意更新对服务器的影响。
【2019 NeurIPS】Can You Really Backdoor Federated Learning
在低维的潜在特征空间,来自恶意客户端的异常模型更新可以很容易被区分。因此通过提取高维模型的特征,在低维特征空间中进行判别,可以防御后门攻击。
利用模型更新在低维潜在空间中的表示来检测异常模型更新。因为低维嵌入空间在保留了数据本质特征同时,去除了噪声和不相关的特征,使得恶意模型更新的特征与正常模型更新的特征差异更大。
基于这种思想,考虑用一个变分自编码器来模拟模型更新的低维嵌入。同时收集在集中训练中获得的无偏模型更新,对这些更新的坐标进行随机采样,用于训练变分自编码器。由于良性客户端的更新和无偏模型的更新的差异比恶意客户端的更新和无偏模型的更新的差异要小得多,所以可以通过这种自编码器检测出恶意模型更新。
【2020 arXiv】Learning to Detect Malicious Clients for Robust Federated Learning
在参数空间的一个子集中,恶意客户端提交的参数更新与良性客户端的参数更新相比,具有更加独特的特征。对上传的模型进行PCA降维分解,然后进行聚类,将最大的类对应的更新视为正常更新,其他类对应的更新视为恶意更新。
【2020 ESORICS】Data Poisoning Attacks Against Federated Learning Systems
由于联邦学习中数据分布是非IID的,所以不同客户端提交的模型更新会出现较大差异,这增加了服务器检测恶意更新的难度,同时安全聚合也不允许服务器检查模型更新。而一组良性客户端模型更新的平均值则相对分布得比较集中,于是考虑先对客户端分组进行聚合,对分组聚合的结果进行检测后,再进行最终的聚合。
【2021 arXiv】Meta Federated Learning
由于现有的后门攻击方法都是基于全参数的投毒,如果只上传更新参数的一部分,将大大降低恶意模型的毒性。因此设计参数 d d d来控制每个客户端模型更新的上传比例,这使得恶意客户端很难进行后门攻击。
另外设计了一套安全的聚合协议,用于防止推理攻击,从而保护客户端隐私,同时这种协议也可以让服务器验证用户提交的更新向量中非零分量的个数。
客户端:
服务器:
【2022 IEEE】Secure Partial Aggregation: Making Federated Learning More Robust for Industry 4.0 Applications
正因为每一类防御方法都有其缺点,所以可以考虑同时使用多种防御手段,综合每一类方法的优点,使防御更加可靠,也可以防止过分依赖某一种方法而带来的不可接受的负面影响(比如添加过多噪声对主任务精度造成的影响)。
这种方法综合运用了基于聚类的防御方法、基于剪裁的防御方法和基于添加噪声的防御方法,且剪裁的阈值和添加的噪声量是动态自适应变化的。将对异常模型更新的检测和权值的裁剪相结合,首先剔除具有高后门影响的局部更新,然后通过剪裁和加噪来消除残余的后门。实现了去除后门所需的剪裁因子和噪声量的最小化,以保持全局模型的良性性能。
【2021 arXiv】FLGUARD: Secure and Private Federated Learning
【2021 arXiv】FLAME: Taming Backdoors in Federated Learning
利用欧式距离、余弦相似度等计算模型的相似性。根据相似性调整局部模型的权重或学习速率。或利用基于聚类的方法找到离群值,并从中去除离群值。
当每个客户端的训练数据都是非IID时,由于诚实客户端的梯度更新存在多样性,而恶意客户端的行为更加相似,所以恶意客户端将上传比诚实客户之间更相似的更新。为了更好地估计客户端的相似性,可以计算所有历史更新的相似性,而非某一轮迭代中的更新的相似性。并基于特定特征的相似性来调整每个客户端的学习速率,从而减少恶意更新的影响。
【2020 RAID】The Limitations of Federated Learning in Sybil Settings
用余弦关系判断相似性,然后利用一个阈值,将相似性过低的数据直接剔除,仅让相似度较高的更新参与最终的模型聚合,从而避免恶意更新的影响。
并且这种方法中相似性的计算是用当前轮的局部更新向量与上一轮的全局更新结果进行比较,即是用当前的输入以及之前得到的结果去判断当前的输入是否是诚实的更新向量,相当于是基于前面的经验去判断后面的数据。
【2021 arXiv】Robust Federated Learning with Attack-Adaptive Aggregation
由于后门攻击会在局部模型的权重上有所暴露,故首先对CNN某一层中过滤器的梯度进行零中心化预处理,然后采用无监督的异常检测手段来评估预处理过的过滤器,为每个客户端计算异常得分。最后根据客户端的异常得分来确定其是否为恶意客户端,大多数良性客户端的得分会分布在一个很小的范围内,而恶意的客户端应该有显著的更高或更低的分数。
【2022 arXiv】ARIBA: Towards Accurate and Robust Identification of Backdoor Attacks in Federated Learning
根据中位数、平均值等统计特性,选择一个或多个有代表性的客户端更新,并使用其来估计真实更新的中心,从而避免恶意模型的参数的影响。
利用局部模型更新每一维的中值作为聚合后的全局模型更新。
【2018 ICML】Byzantine-Robust Distributed Learning: Towards Optimal Statistical Rates.
选择局部模型更新对应维度的修剪后的平均值作为聚合后的全局模型更新。
【2018 ICML】Byzantine-Robust Distributed Learning: Towards Optimal Statistical Rates.
将一种经典鲁棒性回归算法(重复中值线性回归)扩展到了联邦学习环境。对局部模型每一维,用回归算法得到线性回归,根据每个模型在该维上的参数的标准差求相应的置信度,并乘以该参数的标准差得到在该维上的权重。然后将每个模型的所有维的权重求和,作为聚合时该局部模型的权重,聚合后得到全局模型。
【2019 arXiv】Attack-Resistant Federated Learning with Residual-based Reweighting
对每个回合的每一维,根据客户端更新的符号信息,调整聚合时的学习速率。如果更新方向相同的模型数量超过某个阈值,则朝着最小化该维度上的损失的方向正常更新;反之,说明可能是攻击方在将参数向后门引导,则朝着最大化该维度上的损失的方向更新,具体操作为将该维的学习率变为原来的相反数。
【2021 AAAI】Defending Against Backdoors in Federated Learning with Robust Learning Rate
在联邦训练过程之后,从全局模型中彻底有效地删除指定客户端的贡献,从而完全消除恶意客户端的影响。
将联邦学习过程中客户端的历史参数更新保存在服务器上,用于重建遗忘模型,并用一种校正方法对保存的更新值进行校正,快速构建遗忘模型。相当于用服务器的存储空间换取遗忘模型的构建时间。
【2021 IEEE】FedEraser: Enabling Efficient Client-Level Data
首先从全局模型中减去目标客户端累积的历史更新来消除其贡献,然后用旧的全局模型作为教师模型来训练遗忘模型,通过知识蒸馏的方法来恢复模型的性能。
【2022 arXiv】Federated Unlearning with Knowledge Distillation
利用客户端的本地数据集测试全局模型,从而验证全局模型是否具有后门。
传统的基于性能的测试一般是利用服务器上的辅助数据集测试每个本地模型,并依据准确率、损失函数等性能剔除恶意模型。而由于联邦学习任务通常涉及大量客户端,因此对其进行全面测试几乎是不可能的。同时由于恶意模型在主任务和后门任务上都可以达到很高的准确性,因此服务器上有限的测试数据很难发现恶意异常。而由于客户端的本地数据集具有多样性,并且可以多个客户端并行测试,故可以考虑将聚合后的全局模型发送给客户端进行测试。
由于客户端的私有数据集提供了丰富多样的已标记的数据集,所以不仅可以将客户端的数据用于训练,还可以用于检测模型中毒。在服务器训练出全局模型之后,随机选择一组客户端,根据其本地数据验证全局模型,并通过反馈回路投票决定接受或拒绝该模型,如果确定为中毒模型,则将其放弃。并且经过实验评估,这种方法的正确性并不依赖于诚实客户端拥有后门数据。
【2020 arXiv】BaFFLe: Backdoor detection via Feedback-based Federated Learning
客户端通过从训练数据中除去带有后门的投毒数据,从而训练出无后门的局部模型。
服务器使用可解释(XAI)模型和分类器训练后门过滤器,并使用不同的XAI模型和不同的分类器组合训练多个过滤器,以保证每个过滤器的可用性和随机性。
其中之所以要使用可解释模型,是为了提取样本的重要特征,因为如果直接将触发器的大小设置为一个固定的值将有损训练出来的过滤器的通用性,因此可以通过提取并检测输入样本的重要特征来识别触发区域。
然后服务器将每个过滤器被随机发送到客户端,用于识别后门输入。对于被确定为后门的输入,客户端用模糊和标签翻转策略来清理数据上的后门触发区域,恢复数据的可用性。其中随机发送过滤器是为了防止攻击者故意对特定的过滤器进行攻击。
服务器端训练后门过滤器:
客户端触发检测、触发清理和标签翻转:
触发检测。当客户端接受输入数据 a a a时,用客户端的本地模型 L L L输出其分类结果 y y y。然后得到显示数据样本重要特征的热图 S = I ( L , a , y ) S=I(L,a,y) S=I(L,a,y),并根据阈值 α \alpha α得到最重要特征的大小 s s s。后门分类器利用最重要特征大小 s s s判断样本是否为后门样本。若数据 a a a是后门,则对数据 a a a进行后门的两步操作。
触发清理。若数据 a a a是后门,可以推断后门触发区域贡献了 a a a最重要的特征,于是将原始图像中与最重要的特征相对应的部分提取出来作为 S ′ S^{'} S′。对于 S ′ S^{'} S′区域的每一个像素,触发器清理器会通过对它周围的像素值取平均对其进行代替,从而模糊掉可疑触发区域。
标签翻转。将模糊后的数据再次输入到局部模型 L L L中,将模型输出的最大概率类别作为输入数据的预测类别,而如果预测类别与原始预测结果相同,则模型选择第二个最可能的类别作为预测结果。
【2021 IEEE】Mitigating the Backdoor Attack by Federated Filters for Industrial IoT Applications
根据信息论,通过增加训练阶段参数的不确定性,可以提高模型的稳定性和泛化程度。因此可以通过丢弃部分优化信息来提高模型的泛化程度。而模型的泛化能力越强,抵御对抗样本带来的后门攻击的能力就越强。
dropout是指在随机梯度下降(SGD)优化过程中,随机将梯度在某个分量上的权重设置为0,从而提高了模型的泛化能力和稳定性。而模型泛化能力越强,抵御对抗样本带来的后门攻击的能力就越强。
分别研究dropout比例与模型准确率(clean ACC)和后门攻击准确率(backdoor ACC)的关系。
定义评价学习模型稳定性的泛化误差的上界 ϵ \epsilon ϵ。
研究dropout比例与泛化误差上界的关系。
基于过渡点设置最优的dropout参数。可以通过泛化误差上界发生急剧下降变化的点,来找到clean ACC很高,而backdoor ACC很低的过渡点,这个过渡点对应的dropout参数即为最优的dropout参数。
【2021 IEEE】Stability-Based Analysis and Defense against Backdoor Attacks on Edge Computing Services
下表是将攻击手段用到的4种思想进行了简要对比,包括基于标签翻转的后门攻击、基于植入触发器的后门攻击、基于修改训练过程的后门攻击和基于修改训练后模型的后门攻击。
攻击思想 | 攻击对象 | 攻击者模型 | 原理 | 是否可以自适应攻击 | 主要局限性 |
---|---|---|---|---|---|
基于标签翻转 | 训练数据 | 黑盒模型 | 对特定类别的标签进行修改,然后训练 | 否 | 只对数据进行投毒,攻击性较弱 |
基于植入触发器 | 训练数据 | 黑盒模型 | 用触发器对样本进行覆盖,然后训练 | 否 | 只对数据进行投毒,攻击性较弱 |
基于修改训练过程 | 局部模型 | 白盒模型 | 修改训练过程中的模型参数或损失函数 | 是 | 需要对防御方的防御方法有一定了解 |
基于修改训练后模型 | 局部模型 | 白盒模型 | 训练后直接修改模型参数 | 是 | 需要对防御方的防御方法有一定了解 |
如上表所示,本文将针对训练数据的投毒攻击又分为了基于标签翻转的后门攻击和基于植入触发器的后门攻击。针对这一点本文的分类标准是,如果攻击者并未对输入的数据进行修改,而仅对数据的标签进行了修改,则将其归类为基于标签翻转的后门攻击;而如果攻击者同时对输入的数据和标签进行修改,相当于构造对抗样本,则将其归类为基于植入触发器的后门攻击。
如上表所示,本文将针对局部模型的投毒攻击又分为了基于修改训练过程的后门攻击和基于修改训练后模型的后门攻击。针对这一点本文的分类标准是,如果攻击发生在模型的训练过程中,则将其归为基于修改训练过程的后门攻击;如果攻击主要发生在模型正常训练结束之后,则将其归为基于修改训练后模型的后门攻击。
本大节的剩余部分将对每一类思想进行介绍,以及依据近年的文献介绍更加具体的实现方法。
攻击者对局部模型训练数据中的某一类数据的标签进行修改,用中毒的数据和干净的数据共同构成训练集,在模型训练过程中实现攻击,从而在目标输入上生成特定的错误输出。(无目标的攻击中也有标签翻转攻击,但其是将任意类的标签进行翻转。而在后门攻击中,标签翻转是仅对某一类标签进行翻转,仅在目标类上降低模型精度。)
攻击者将数据集中某一类的所有数据的标签都由 c s r c c_{src} csrc改为 c t a r g e t c_{target} ctarget,将后门数据和良性数据集一起训练出一个恶意模型。如果后门数据再次出现,那么训练好的全局模型将会对它们进行错误分类。
但往往为了增强攻击效果,一般会将标签翻转攻击与针对模型的攻击混合使用,比如可以用下面的两个步骤替代上述步骤2。
【2020 AISTATS】How To Backdoor Federated Learning
【2020 ESORICS】Data Poisoning Attacks Against Federated Learning Systems
边界样本位于输入数据分布的尾部,它们以低概率出现,并且不太可能是训练或测试数据的一部分,于是可以考虑对边界样本数据进行投毒,从而植入后门。
由于投毒的对象是出现可能性较小的类别,所以边界情况的后门不会对经常出现的类别或比例较大用户产生影响,而是会导致占比较小类别的分类错误。
构造边界样本数据集。
攻击者不改变局部训练的流程,仅将恶意客户端的训练集变为 D ′ = D ∪ D e d g e D^{'}=D\mathop{\cup}D_{edge} D′=D∪Dedge,目标是最大限度提高局部模型在数据集 D ∪ D e d g e D\mathop{\cup}D_{edge} D∪Dedge上的准确率。
【2020 NeurIPS】Attack of the Tails: Yes, You Really Can Backdoor Federated
攻击者用触发器对样本进行覆盖,然后进行训练。那么训练好的全局模型将会把具有相同触发器的样本错误分类为攻击者想要的类。
当触发器不存在时,模型的行为是正确的,因此后门是隐蔽的,很难被发现。
单触发器后门攻击是只生成一个触发器,发送给攻击者控制的所有恶意客户端。
协同触发器后门攻击是每个恶意客户端的局部触发器都不相同,全局触发器由各独立的局部触发器组成。
随机触发器是独立于学习模型产生的。由于随机触发器与模型训练过程没有关联,所以它在触发后门模型后门的能力较弱。
模型依赖触发器是基于攻击者的局部模型生成的触发器,能最大限度地激活学习模型中的某些神经元,全局模型在聚合后更有可能记住模型依赖触发器。
分布式后门攻击是指有多个恶意客户端,本地触发器被注入到多个恶意客户端的本地训练数据集中,所有恶意客户端都有相同的后门任务。
集中式后门攻击是指全局触发器被注入到一个客户端的本地训练数据集。
分布式后门攻击把全局trigger的模式分解为独立的局部trigger,并且相应地嵌入到不同的恶意攻击方的训练集中。虽然在DBA中没有任一攻击方使用全局trigger进行投毒,但其效果比集中式攻击更好。
【2020 ICLR】DBA: Distributed Backdoor Attacks against Federated Learning
与随机触发器相比,模型依赖触发器是基于攻击者的局部模型生成的触发器,能最大限度地激活学习模型中的某些神经元,全局模型在聚合后更有可能记住模型依赖触发器。全局触发器由各种独立的局部触发器组成,并利用多个恶意客户端之间的协作来加强攻击效果。
【2022 IEEE】Coordinated Backdoor Attacks against Federated Learning with Model-Dependent Triggers
攻击者修改训练算法,或修改训练过程中的模型参数,实现攻击,从而在目标输入上生成特定的错误输出。与仅对数据进行投毒的后门攻击相比,具有更强的隐蔽性。
边界样本位于输入数据分布的尾部,它们以低概率出现,并且不太可能是训练或测试数据的一部分,于是可以考虑对边界样本数据进行投毒,从而植入后门。
由于投毒的对象是出现可能性较小的类别,所以边界情况的后门不会对经常出现的类别或比例较大用户产生影响,而是会导致占比较小类别的分类错误。
【2020 NeurIPS】Attack of the Tails: Yes, You Really Can Backdoor Federated
恶意攻击者为了达到隐蔽性,需要使中毒模型尽可能与良性模型难以区分。比如,可以使中毒模型与良性模型之间的距离(如欧几里德距离)小于服务器异常检测区分能力的阈值 η \eta η,攻击者可以通过将本地恶意模型与全局模型或基于良性数据训练的本地模型进行比较来估计此距离。
L a t t a c k e r = α L c l a s s + ( 1 − α ) L a n o L_{attacker}={\alpha}L_{class}+(1-\alpha)L_{ano} Lattacker=αLclass+(1−α)Lano
其中, L c l a s s L_{class} Lclass为训练数据的经验损失项, L a n o L_{ano} Lano为本地恶意模型与良性模型的偏差,超参数 α \alpha α控制攻击隐蔽性和攻击有效性之间的权衡。
这种方法并不是一种独立的方法,需要与其他方法结合使用。
攻击者直接修改模型参数(比如,缩放操作),实现攻击,从而在目标输入上生成特定的错误输出。
直接修改模型参数对模型进行替换的攻击能力强于仅对数据进行投毒的后门攻击。
将后门模型 X X X的权重按比例增大 γ = n η \gamma=\frac{n}{\eta} γ=ηn,以确保后门模型能在经过联邦平均等聚合方法之后继续保持影响,甚至直接用 X X X将全局模型取代。
【2020 AISTATS】How To Backdoor Federated Learning
边界样本位于输入数据分布的尾部,它们以低概率出现,并且不太可能是训练或测试数据的一部分,于是可以考虑对边界样本数据进行投毒,从而植入后门。
由于投毒的对象是出现可能性较小的类别,所以边界情况的后门不会对经常出现的类别或比例较大用户产生影响,而是会导致占比较小类别的分类错误。
【2020 NeurIPS】Attack of the Tails: Yes, You Really Can Backdoor Federated
当攻击者为主动方时,由于主动方有数据的标签,所以可以直接修改投毒数据集的标签,从而很容易地进行后门攻击。
所以一般只考虑被动方是攻击者,主动方进行防御的情况。
一般将主动方作为防御方。
当被动方不知道任何标签信息时,在某些情况下,可以从中间梯度 ∂ L ∂ H i \frac{{\partial}L}{{\partial}H_i} ∂Hi∂L 获得样本的标签信息。
【2020 ICML】Backdoor Attacks and Defenses in Feature-partitioned Collaborative Learning
假设攻击者至少知道一个样本的标签信息,且它与后门任务的目标标签具有相同的标签。攻击者用已知样本的梯度信息去替换要投毒样本的梯度信息,使之被分为攻击者指定的目标类别。
【2020 ICML】Backdoor Attacks and Defenses in Feature-partitioned Collaborative Learning
在主动方引入额外的防御训练层,比如可以在输出层之前加上一个具有32个节点的密集层。
【2020 ICML】Backdoor Attacks and Defenses in Feature-partitioned Collaborative Learning
先剪裁恶意放大的梯度,然后再加入噪声。
【2020 ICML】Backdoor Attacks and Defenses in Feature-partitioned Collaborative Learning
将每次迭代中的下降率作为阈值,将阈值以内的小幅度的梯度直接剪裁为0。
【2020 ICML】Backdoor Attacks and Defenses in Feature-partitioned Collaborative Learning
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。