AAAI Technical Track on Data Mining and Knowledge Management
Untargeted Attack against Federated Recommendation Systems via Poisonous Item Embeddings and the Defense
DOI:
摘要
联邦推荐(FedRec)可以在不收集用户数据的情况下训练个性化推荐器,但分散的性质使其容易受到中毒攻击。大多数以前的研究集中在有针对性的攻击,以促进某些项目,而非有针对性的攻击,旨在降低FedRec系统的整体性能仍然较少探索。事实上,无针对性的攻击可能会破坏用户体验,并给服务提供商带来严重的经济损失。然而,现有的无目标攻击方法对FedRec系统不适用或无效。在本文中,我们深入研究了FedRec系统的非目标攻击及其防御。(i)我们提出了ClusterAttack,一种新的非目标攻击方法。它上传有毒梯度,将项目嵌入收敛到几个密集的聚类,这使得推荐器为同一聚类中的这些项目生成相似的分数,扰乱排名顺序。 (ii)我们提出了一种基于一致性的防御机制(UNION),以保护FedRec系统免受此类攻击。我们设计了一个对比学习任务,正则化的项目嵌入朝向均匀分布。然后,服务器通过估计更新后的项目嵌入的一致性来过滤这些恶意梯度。在两个公共数据集上的实验表明,ClusterAttack可以有效地降低FedRec系统的性能,同时规避许多防御方法,UNION可以提高系统对各种非目标攻击的抵抗力,包括我们的ClusterAttack。
引言
近年来,个性化推荐系统已被广泛用于缓解用户的信息过载问题(Wu et al. 2019; Li et al. 2020; Jin et al. 2020)。大多数传统的加密器都是在集中的用户数据上进行训练的,这有数据泄露的风险,并引起了隐私问题(Wu et al. 2018; Yang et al. 2020)。此外,一些隐私法规,如GDPR和CCPA,使得收集用户数据进行集中模型训练变得更加困难。联邦学习(FL)是一种分散的训练范式,它使多个客户端能够协作学习全局模型,而无需共享其本地模型。
数据(McMahan et al. 2017)。一些研究已经将FL应用于训练隐私保护联邦推荐(FedRec)系统(Lin et al. 2021; Liang,Pan和Ming 2021)。
不幸的是,已知FL易受中毒攻击(Bhagoji et al. 2019; Bagdasaryan et al. 2020; Cao,Jia,and Gong 2021)。其分散的训练过程允许攻击者任意修改本地训练数据或上传的梯度,以实现某些恶意目标。根据攻击者的目标,中毒攻击可以分为有针对性和无针对性攻击。在FedRec场景中,以前的研究主要集中在试图推广某些目标项目的有针对性的攻击(Zhang et al. 2022 a; Rong et al. 2022)。旨在降低FedRec系统整体性能的无针对性攻击仍然较少探索(Wu等人,2022)。事实上,如果没有有效的防御机制,无针对性的攻击可以持续破坏系统的用户体验,这将导致服务提供商的客户和收入严重损失(Li et al. 2016)。 因此,有必要对FedRec系统的非目标攻击及其防御进行研究。
针对FedRec系统的无目标中毒攻击面临着几个关键挑战。首先,攻击方法必须有效,即使是一小部分恶意客户端。考虑到推荐系统通常有数百万用户,攻击者控制大量客户端是不切实际的。其次,攻击者只能访问存储在恶意客户端上的一小部分数据,因为客户端从不在FL框架中共享其本地训练数据。由于现有的针对集中式推荐模型学习的中毒攻击方法通常需要对完整的训练数据有很强的了解(Fang et al. 2018; Wu et al. 2021 a),因此它们在FedRec场景中是不可行的。第三,非目标攻击旨在降低FedRec系统在任意输入上的整体性能。它比只操纵某些目标项上的模型输出的有针对性的攻击更具挑战性。 第四,许多攻击者都是在带有大量噪声的隐式用户反馈上训练的,这使得它们在一定程度上对恶意干扰具有鲁棒性(Yu和Qin 2020; Wang et al. 2021)。
为了解决这些问题,本文首先提出了一种新的无目标模型中毒攻击方法-其主要思想是上传有毒梯度。它的主要思想是上传有毒梯度,将推荐模型的项目嵌入收敛到几个密集的聚类中,这可以让推荐器为同一聚类中的这些接近的项目生成相似的分数,并扰乱排名顺序。具体来说,我们分裂的项目嵌入到几个集群的自适应聚类机制和计算恶意梯度,减少类内方差。为了使我们的攻击更难被检测到,我们在将恶意梯度上传到服务器之前,使用从正常梯度估计的范数界来裁剪恶意梯度。由于现有的防御方法不能有效地防御恶意攻击,我们进一步提出了一种基于一致性的防御机制(UNION),以保护FedRec系统免受此类攻击。我们要求所有良性客户端使用额外的对比学习任务来训练本地推荐模型,该任务将项目嵌入规则化为空间中的均匀分布。 然后,服务器通过估计更新的项嵌入的一致性来识别这些恶意梯度。此外,我们的UNION机制可以与许多现有的Byzantine-robust FL方法相结合,为FedRec系统提供更全面的保护。在两个公开数据集上的大量实验表明,我们的恶意攻击可以有效地降低FedRec系统的性能而不被检测到,我们的UNION机制可以提高系统对许多非目标攻击的抵抗力,包括我们的恶意攻击。
我们的主要工作如下:·我们提出了一种新的无目标模型中毒攻击方法,它揭示了FedRec系统的安全风险,即使在现有的防御方法。·我们提出了UNION,这是一种防御机制,可以提高FedRec系统对各种非目标中毒攻击的抵抗力。据我们所知,它是第一个专门用于FedRec系统的防御机制。·在两个公共数据集上进行的大量实验验证了我们的攻击和联合方法的有效性。
![图1:我们的ClusterAttack。](https://i-blog.csdnimg.cn/blog_migrate/4a9835deb01cb93f60170ac0bb2e9080.png)
方法
在这一节中,我们将详细介绍我们的非目标模型中毒攻击方法ClusterAttack和我们针对FedRec系统的防御机制UNION。
ClusterAttack
为了降低FedRec系统的整体性能,我们的恶意攻击旨在毒害项目嵌入,这些项目嵌入广泛用于大多数推荐模型(Kang和McAuley 2018; Wang et al. 2019)。由于推荐模型通常基于用户嵌入和项目嵌入来预测排名得分,将这些项嵌入聚合成几个密集的聚类。因此,推荐器倾向于为相同聚类中的这些接近的项目生成相似的分数,并打乱排名顺序。图1说明了恶意攻击的过程。
当选择进行模型训练时,恶意客户端从服务器接收最新的全局模型,其中包含项嵌入{v}(步骤1)。我们首先应用k-means(Lloyd 1982)将它们分成具有质心{c}的K个聚类{C}(步骤2)。然后,我们计算以下损失函数来衡量集群内方差:
计算每个项嵌入的恶意梯度以最小化上述攻击损失,即,Δ g= Δ L/Δ v(步骤3)。为了使我们的攻击更隐蔽,我们进一步使用正常项嵌入梯度的估计范数来裁剪BLOG。具体来说,对于每个恶意客户端u∈ U,我们使用原始损失函数和本地训练数据计算正常梯度(步骤4)。然后计算所有正态项嵌入梯度的L范数的均值μ和标准差σ。假设这些范数遵循高斯分布,我们为嵌入恶意客户端u的每个项生成合理的范数界b= μ + λσ,其中λ是从[0,3]中随机采样的数字。因此,被裁剪的恶意项嵌入梯度被公式化如下:
并使用正常梯度g更新其本地用户模型(步骤6和7)。
考虑到簇数K对攻击效果的影响较大,我们进一步设计了自适应的聚类机制,在每轮攻击后自动调整K值(步骤8),如算法1所示。由于对攻击者的攻击效果的唯一反馈是等式(2)中的Lattack,因此我们在攻击过程中跟踪它并计算其偏差校正指数移动平均线Lattack。我们使用两个计数器来记录平滑攻击损失分别增加和减少的回合数。如果在过去的几轮中大多数情况下,K_L都增加了,我们假设K的当前值太小,攻击损失不能很好地收敛。因此,我们增加K的值以使攻击更容易。相反,如果攻击持续下降,我们进一步降低K值以执行更强的攻击。
UNION机制
我们的黑客攻击表明,维护项目嵌入的分布对于保护FedRec系统至关重要。因此,我们进一步提出了一种基于均匀性的防御机制(UNION),该机制通过对比学习任务将项目嵌入规则化为空间中的均匀分布。然后,服务器过滤掉这些导致异常分布项嵌入的恶意梯度。
客户端。我们要求所有良性客户端使用额外的对比学习(CL)任务来训练本地推荐模型。