[SIGIR 2023] 操纵联邦推荐系统:合成用户中毒及其对策

Manipulating Federated Recommender Systems: Poisoning with Synthetic Users and Its Countermeasures

摘要

联合推荐系统(FedRecs)被认为是隐私保护技术,以在不共享用户数据的情况下协作地学习推荐模型。由于所有参与者都可以通过上传梯度直接影响系统,因此FedRec很容易受到恶意客户端的中毒攻击。然而,大多数现有的中毒攻击FedRecs要么是基于一些先验知识或具有较低的有效性。为了揭示FedRecs的真实的漏洞,在本文中,我们提出了一种新的中毒攻击方法,在不依赖任何先验知识的情况下,有效地操纵目标项目的排名和曝光率。具体来说,我们的攻击操纵目标项目的曝光率由一组合成的恶意用户上传有毒梯度考虑目标项目的替代产品。我们在两个真实世界的推荐数据集上使用两个广泛使用的FedRecs(Fed-NCF和Fed-LightGCN)进行了广泛的实验。 实验结果表明,我们的攻击可以显着提高不受欢迎的目标项目的曝光率与极少数的恶意用户和更少的全球时代比国家的最先进的攻击。除了揭示安全漏洞,我们设计了一种新的对策中毒攻击FedRecs。具体来说,我们提出了一个分层梯度裁剪稀疏更新,以抵御现有的中毒攻击。实验结果表明,该防御机制提高了FedRecs的鲁棒性。

引言

推荐系统被广泛地部署在许多在线场景中(例如,电子商务(Wei等人,2007; Chen等人,2020 b)和社交媒体(Yin等人,2015; Yin and Cui,2016; Wang等人,2020年)),帮助用户从海量信息中发现自己感兴趣的内容。传统的推荐系统需要收集用户的个人数据以集中的方式训练推荐模型(Zhang et al. 2019年)。随着人们对隐私的日益关注和新的隐私保护法规(例如:欧盟的GDPR(Voigt和Von dem Bussche,2017)和CCPA(Harding等人,2019)在美国)、联合推荐器(FedRecs)(Ammad-Ud-Din等人,2019年)最近已经成为一种隐私保护解决方案,可以在个人设备之间协作学习推荐模型,而无需将用户的原始数据上传到中央服务器。

虽然FedRecs可以减轻训练推荐系统的隐私问题,但最近的研究(Zhang et al. 2022 b; Rong等人,2022 b,a)示出了FedRecs固有地易受梯度中毒攻击(也称为模型中毒攻击)的影响,因为它们的开放和分散的特性允许任何客户端参与训练过程,并且恶意客户端可能参与其中(Tolpegin等人,2020年)的情况。具体而言,具有受损设备的用户将上传污染的梯度以实现针对性的对抗目标(例如:操纵项目等级和暴露率)。PipAttack(Zhang等人,2022 b)提出了对FedRecs的梯度中毒攻击的第一个工作,以提高目标项目的曝光机会。但它需要许多恶意用户,并假设对手知道所有项目的流行度信息。FedRecAttack(Rong等人,2022 b)实现了具有更少恶意用户的项目促销。 然而,它基于一个更强的假设,即恶意用户可以从良性用户那里获取一定比例的数据,这在大多数FedRec中并不适用。(Rong例如,2022a)提出了一种无需先验知识假设的梯度中毒攻击。然而,它的性能是不稳定的和不期望的,因为它从高斯分布中随机采样向量来充当目标项的嵌入的代理。综上所述,现有的梯度中毒攻击FedRecs要么是基于不切实际的先验知识,或与不理想的性能。此外,虽然这些工作强调了对梯度攻击的新防御机制的迫切需要,但尚未开发出有效的防御解决方案。

为了揭示中毒攻击对FedRecs的真实的威胁,本文提出了一种新的梯度中毒攻击方法PSMU(Poisoning with Synthetic Malicious Users)。PSMU旨在提高目标项目的暴露率(即,以使目标项目出现在更多用户的前K个推荐列表中)。PSMU的想法基于我们的有趣发现,即随机构建的合成用户和真实的用户的前K个推荐之间的相似性由于流行性偏差而惊人地高(Abdollahpouri等人,2019年),如表1所示。基于这一发现,我们提出了一个假设,如果一个目标项目有一个高的曝光率之间的合成用户,那么这个项目将有很高的机会被推荐给真实的用户的FedRecs。在此假设下,PSMU如下工作。 恶意用户在参与FedRec的训练过程时随机选择一组项作为交互项。然后,恶意用户基于随机选择的肯定项学习合成用户嵌入,并基于合成用户嵌入优化目标项的排名。此外,为了进一步提高目标项目的竞争性,我们通过增加目标项目的备选方案来扩大竞争集。目标项目的预测偏好得分要求高于前K个推荐项目及其替代项目的预测偏好得分(即,目标项目的竞争集合)。

FedRecs的脆弱性凸显了对针对中毒攻击的新防御的及时需求。遗憾的是,没有现有的工作试图为FedRecs中的这个安全问题提供解决方案。在一般的联邦学习中已经进行了一些研究(例如,联合分类(Zhang等人,2021b)),但它不能直接应用于FedRecs,因为FedRecs和一般联邦学习之间存在以下主要差异。(1)与一般的联邦学习不同,来自不同客户端的数据不是IID。因此,来自不同客户端的相同项目的梯度可能彼此显著不同。然而,广泛使用的拜占庭防御方法(例如,克鲁姆(Blanchard等人,2017)、Bulyan(Guerraoui等人,2018)、修剪平均值(Yin等人,2018))中,通常假设客户端的数据具有相同的分布,并直接比较客户端上传的梯度以消除中毒效应。 因此,它们通常会导致FedRecs的性能显著下降(参见第5.7节中的详细信息)。(2)与一般的联邦学习相比,FedRecs中的服务器不能访问客户端的私有参数。因此,依赖于访问整个模型的现有防御方法不能在FedRecs中工作(Fang et al. 2020年)的情况。

在本文中,我们提出了一种新的防御方法对梯度中毒攻击的中心服务器,命名为分层梯度裁剪与稀疏更新(HiCS)。首先,中央服务器剪辑所有接收到的梯度以避免主导梯度。第一剪辑限制中毒梯度的效果。然而,它仍然是不够的,因为我们不能设置一个太小的裁剪因子,以保证收敛。因此,进一步采用具有稀疏更新的自适应裁剪来对抗梯度中毒攻击。具体地,经裁剪的梯度将在存储器组中累积。服务器仅选择库中的几个最重要的项嵌入梯度来更新模型。在更新之前,利用自适应裁剪因子将另一裁剪应用于累积梯度,以进一步减小污染梯度的影响。

为了证明我们提出的攻击和防御的通用性和有效性,我们用两个常用的FedRecs(Fed-NCF(Ammad-Ud-Din等人,2019)和Fed-LightGCN(He等人,2020))在两个真实世界数据集(MovieLens-1 M(哈珀和Konstan,2015)和Amazon Digital Music(McAuley等人,2015))。实验结果验证了梯度中毒攻击对FedRecs的威胁,即使没有任何用户和项目的先验知识,并且恶意用户非常少。同时,实验结果也表明了我们提出的防御方法对所有现有的中毒梯度攻击的有效性。

综上所述,本文的主要贡献如下:

·我们提出了一个有趣的发现,在随机构造的合成用户和真实的用户的前K个推荐之间存在很大一部分重叠项目,这强烈支持我们的猜想,如果目标项目在合成用户中享有高曝光率,则它将在基于CF的推荐系统中在真实用户中具有高曝光率。

·提出了一种有效的FedRecs梯度中毒攻击方法PSMU,该方法可以在不需要先验知识的情况下操纵项目的排名,并且恶意用户更少,全局历元更少,揭示了FedRecs更严重的梯度中毒攻击漏洞。

·据我们所知,我们是第一个提出基于梯度裁剪和稀疏更新的防御方法(HiCS),以解决FedRecs上的梯度中毒攻击的威胁。

·使用两个广泛使用的FedRecs在两个真实世界的推荐数据集上进行了大量的实验,验证了我们的攻击和防御方法的通用性和有效性。

2.相关工作

2.1.联合推荐系统

由于 FedRecs 提供了一种隐私保护解决方案来训练推荐系统 (Zheng 等人,2016年),它们近年来引起了越来越多的关注。阿马德等人。 (Ammad-Ud-Din 等人,2019)提供了第一个 FedRec 框架。之后,近年来又提出了很多扩展版本 (Long et al .,2023年)。穆罕默德等人。 (穆罕默德等人,2020)改进了用户抽样和聚合策略,以加速 FedRec 的收敛过程。FedRec++  (Liang 等人,2021年)探索了一种通过显式反馈学习推荐系统的安全方法。  (吴等人,2021年)和 (Wu 等人,2022b)尝试使用图形神经网络 (Scarselli 等人,2008年)和对比学习 (Chen et al . ,2020a; 余等。,2022年)在 FedRecs 中。伊姆兰等。 (伊姆兰等人,2022年)提出了一种资源高效的 FedRec 来学习用户偏好。

2.2.对联邦推荐系统的攻击

随着 FedRecs 的广泛应用,潜在的安全问题引起了研究人员的关注 (Zhang 和 Yin,2022年; 王等人。,2022年; 元等。,2023a),而中毒攻击是最近新出现的威胁之一。一般来说,投毒攻击可以分为数据投毒和梯度投毒。

数据中毒攻击。数据中毒攻击通过注入对抗性交互来污染训练数据来进行攻击 (Kapoor 等人,2017年)。为了创建高质量的虚假交互,数据中毒攻击必须利用整个数据集的信息 (Fang 等人,2018; 张等人。,2021a; 黄等人。,2021年; 范等。,2022年; 张等人。,2022a)。因此,数据中毒攻击通常在集中式推荐系统中进行研究。  (吴等人,2022a)是FedRecs中唯一的数据中毒攻击,但它的重点是降低FedRecs的准确性,这与我们的工作主题无关。

梯度中毒攻击。梯度中毒攻击(也称为模型中毒攻击)专门针对联邦学习(FL)场景 (Fang et al .,2020)。PipAttack  (张等人,2022b)是第一个在 FedRecs 中进行梯度中毒攻击的工作。它通过将目标项目的嵌入调整为与流行项目的嵌入相似来提升目标项目。PipAttack 有两个缺点:(1)它假定所有项目的流行信息都可用于恶意用户;(2) 它依赖于很大比例的恶意用户(例如超过10%). FedRecAttack  (荣等人,2022b)以较少的恶意用户实现了攻击者的目标,然而,它基于甚至破坏 FedRec 协议的更强假设,即它需要从良性用户访问一定比例的交互数据。  (荣等人,2022a)是唯一不依赖于任何先验知识的梯度中毒攻击。然而,它不够有效,因为它只是根据高斯分布随机生成的向量来近似用户嵌入。因此,现有的中毒攻击要么需要无法获得的先验知识,要么性能低下,无法揭示中毒攻击对 FedRecs 的真正威胁。

防御。FedRecs 中针对中毒攻击的防御仍未得到充分探索。FRU  (Yuan et al . ,2023b)提供了一种使用联合取消学习的恢复方式 (Nguyen 等人,2022年)有效地重建被破坏的 FedRecs。但是,它不能直接防御中毒攻击。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/28357.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

JAVA 实现 Redis 发布订阅

Redis 发布订阅 发布订阅:消息发布者发布消息 和 消息订阅者接收消息,两者之间通过某种媒介联系起来 例如订杂志,当自己订阅了爱格杂志,每个月会发刊一本。到发布的时候派送员将杂志送到自己手上就能看到杂志内容。只有我们订阅了…

C语言之结构体讲解

目录 结构体类型的声明 结构体初始化 结构体成员访问 结构体传参 对于上期指针初阶(2)我们后期还会讲数组指针是什么?大家可以先思考一下,后期我们会讲 1.结构体的声明 结构是一些值的集合,这些值被称为成员变量&am…

第二类曲线积分

文章目录 第二类曲线积分一、向量场是什么?二、向量场可视化三、计算1. 计算方式一2. 计算方式二 第二类曲线积分 因为之前学习第二类曲线的时候,不是很理解;所以最近看了mit的多元微积分课程,做一些课程笔记。 一、向量场是什么…

字符集和java的编码与解码

一、ASCII和GBK字符集 计算机存储一个英文字符需要一个字节。 ASCII字符集,包括128(0000000B~1111111B)个数据,存储英文字母和字符,对于欧美国家够用。 例如,存储字符’a’,查询ASCII得到为97&a…

C语言中的基本数据类型

C语言中的基本数据类型分别为以下几种 整型、浮点型、字符类型 整型又分为整型int、短整型short、长整型long 浮点型分为单精度浮点型float、双精度浮点型double 1、短整型short 2.整型 3.长整型 短整型、长整型、整形都是表示整形的,并且输出结果也都为10&…

【大数据之Hive】十一、Hive-HQL查询之基本查询

基础语法 select [all | distinct] select_expr,select_expr, ...from table)name --从什么表查[where where_condition] --过滤[group by col_list] --分组查询[having col_list] --分组后过滤[order by col_list] --排序[cluster by col_list | …

leetcode 152.乘积最大子数组

题目描述 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 测试用例的答案是一个 32-位 整数。 子数组 是数组的连续子序列。 来源:力扣&a…

C++入门攻略

C补足C语言部分缺陷 1.命名空间:1.1 命名空间namespace关键字1.命名空间中可以定义变量、函数、类型2.命名空间可以嵌套3.相同命名空间共存 1.2 命名空间的使用方式:1.名称加用域作用限定符的方式访问(同上)2.使用using引入某个空…

Java并发之 Lock 锁

一、Lock接口 1 Lock简介&地位&作用 锁是一种工具,用于控制对共享资源的访问Lock和synchronized是最常见的两个锁,他们都能够达到线程安全的目录,但是使用和功能上又有较大的不同Lock接口最常见的实现类就是ReentrantLock通常情况下…

C:\Users\BC>conda -V ‘conda‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

C:\Users\BC>conda -V ‘conda’ 不是内部或外部命令,也不是可运行的程序 或批处理文件。 注意!:Anaconda安装路径和Scripts路径,两个都添加进去Path 解释:将 Anaconda 安装路径和 Scripts 路径都添加到系统的 PA…

文心一言 VS 讯飞星火 VS chatgpt (40)-- 算法导论5.4 4题

四、一次聚会需要邀请多少人,才能让其中 3 人的生日很可能相同? 文心一言: 为了解决这个问题,我们需要先计算出所有可能的生日组合数,然后计算出其中生日相同的组合数。 已知需要邀请的人数为:23人 根据组合数公式…

k8s如何使用ceph rbd块存储(静态供给、存储类动态供给)

目录 前言安装ceph集群ceph集群创建rbd块存储rbd块存储不支持ReadWriteManyk8s配置rbd块存储(静态供给)创建secret创建pv创建pvck8s节点安装客户端依赖包部署pod查看pod验证是否持久化 k8s配置rbd块存储(动态供给)查看官网ceph集群…

【ARM AMBA AXI 入门 6 - AXI3 协议中的锁定访问之AxLOCK信号】

文章目录 1.1 Locked accesses 1.1 Locked accesses 当主机使用 AxLOCK 信号来指示事务是锁定的事务时,互连(Interconnect)必须确保只有该主机可以访问目标从属区域,直到来自同一主机的未锁定事务完成。互连中的仲裁器(arbiter)必须执行此限制。 在主机…

湖南大学CS-2017(另一张)期末考试解析

【特别注意】 答案来源于wolf 是我在备考时自己做的,仅供参考,若有不同的地方欢迎讨论。 【试卷评析】 有必要一做。 【试卷与答案】 由于这张试卷没有电子版,我就直接拍我自己的作答了

Monocle2拟时基因富集分析

****Monocle2全部往期精彩系列:1、群成员专享:Monocle2更新(就是重新梳理一下)2、一键跑完monocle2?3、ggplot2个性可视化monocle2结果4、ggplot修饰monocle2拟时热图:一众问题全部解决5、Monocle2终极修改…

Day975.如何使用JWT结构化令牌 -OAuth 2.0

如何使用JWT结构化令牌 Hi,我是阿昌,今天学习记录的是关于如何使用JWT结构化令牌的内容。 OAuth 2.0 规范并没有约束访问令牌内容的生成规则,只要符合唯一性、不连续性、不可猜性就够了。这就意味着,可以灵活选择令牌的形式&…

天然气井远程监控解决方案

天然气井远程监控解决方案 一、项目背景 随着天然气开发规模日益增长,天然气井的数量也在不断增加。且位置分散环境恶劣。传统的人工巡检方式越来越不能满足天然气井的生产需求和安全保障。天然气井井由储罐和集气站组成。 集气站通过计量站将天然气输入储罐或由集…

深入学习 Mybatis 的四大组件源码

博主介绍: ✌博主从事应用安全和大数据领域,有8年研发经验,5年面试官经验,Java技术专家✌ Java知识图谱点击链接:体系化学习Java(Java面试专题) 💕💕 感兴趣的同学可以收…

社会心理学(1) 社会心理学的定义

今天开始 我们一起学习一门课程 社会心理学 社会心理学 他是 应用心理学 或者 心理学专业的一个必修课 吴江霖教授说过 心理学应该分为两大分支 生理心理学 和 社会心理学 如果认同他的观点 那么 社会心理学可谓是相当重要了 社会心理学的定义之广可以说 有多少社会心理学教…

【MySQL数据库一】MySQL数据库初体验

MySQL数据库初体验 1.数据库基本概念1.1 数据Data1.2 表1.3 数据库1.4 数据库管理系统1.5 数据库系统 2.数据库的发展3.主流的数据库介绍3.1 SQL Server(微软公司产品)3.2 Oracle (甲骨文公司产品)3.3 DB2(IBM公司产品…
最新文章