Analyzing User-Level Privacy Attack Against Federated Learning

news2025/7/30 9:57:48

Analyzing User-Level Privacy Attack Against Federated Learning

IEEE JSAC CCF-A期刊 宋梦凯(武汉大学网络安全实验室)

Summary
  • 提出了针对FL用户级隐私的基于GAN的攻击(mGAN-AI),主要是从每个client的更新中计算出相应的数据代表,然后用这些近似真实的数据训练GAN的鉴别器和生成器,最终GAN的生成器就可以生成某个client的私有数据。
  • 其中比较重要的是client representative的计算和匿名条件下representative 近似度衡量的设计,其中包括鉴别模型和识别模型的训练。
  • 最后再MNIST和AT&T数据集上进行测试,并与基于参数更新的攻击对比,体现了基于Representative攻击的优势。
  • 与MI攻击、GAN-based攻击对比。体现了在non-IID数据上的优越性。
Threat Model
Learning Scenario
  • 应用环境:学习环境,有N(>=2)个client。客户端k的偏置分布pk被认为是其客户端级隐私,为了简单起见,后面的模型用图片分类器。基于图片分类进行攻击,并查看效果,因为图片重构效果可视化也比较好。
Malicious Server
  • 本文中Server是攻击主体,也是比较早的将攻击主体作为服务器的,一般攻击者都是恶意的client。
  • 恶意的server:目的是重构某个client的数据。
    只分析来自客户端的周期性更新(即被动攻击),也可以故意隔离受害者训练的共享模型,以进行下一步的攻击(主动攻击)。
    被动攻击这里应该是半诚实的server,在进行攻击的时候不会影响模型的正常训练、学习。而主动攻击会将受害者client与其他client隔离,并单独针对victim client训练GAN,这里server是恶意的,因为改变的模型,影响了学习过程。
Communication Protocol
  • 采用加密的聚合可以防止攻击者直接获取跟新,但是server不能评估client更新的有效性,万一存在恶意client的时候会影响模型的可用性。
  • 在本论文的实验中采用明文传输。实际上聚合的时候不需要知道更新的来源,匿名化可以通过第三方匿名网络来实现,这里考虑了client匿名和非匿名两种情况。实际为了隐私用匿名的更好。
APPROACH UNDER NON -ANONYMOUS ENVIRONMENT
Overview of mGAN-AI
  • GAN的原理是在真实数据和生成数据上共同训练鉴别器和生成器,在FL环境下,server接触不到client的真实数据。server只能接触到来自client 的更新,这里用client提交的更新当作client本地训练鉴别器的更新,就相当于将FL的思想用到GAN中。生成器可以在server中产生数据。
  • Fig. 2. Illustration of the proposed mGAN-AI from a malicious server in the federated learning. There are N clients, and the vth client is attacked as the victim. The shared model at the tth iteration is denoted as Mt, and ukt denotes corresponding update from the kth client. On the malicious server, a discriminator D (orange) and generator G (blue) are trained based on the update uvt from the victim, the shared model Mt, and representatives Xk , Xv from each client. Xaux denotes an auxiliary real dataset to train D on the real-fake task.
    mGAN-AI的结构介绍
    • 其中有N个client,victim代表受害者,第t次迭代的共享模型表示为Mt, u t k u^k_t utk表示第t次迭代,第k个client的更新。其中利用client的更新计算出client representatives,然后将辅助数据集aux的representatives、other client的representative和representative of victim 放入鉴别器D和生成器G进行训练,其中辅助数据将是server判断收敛的真实数据集(小部分)。
    • 其中多任务鉴别器可以鉴别输入特征的来源身份、真实性、类别。鉴别器的模型结构与共享模型的一样,只是输出层不同,因为之前的层都是提出特征,最后才分类输出。
Structure
  • 鉴别器的三个功能:
    • 真假数据判断(GAN初始的功能)
    • 对输入的分类
    • 分辨身份,是victim还是other
  • image-20221124212115844 - ![image-20221125102732434](https://img-blog.csdnimg.cn/img_convert/d9610ec67e621eb9b7d1de22b9990563.png) ![image-20221125102748927](https://img-blog.csdnimg.cn/img_convert/97c15262e3da1c7cb4efa66cea897ecb.png) - D就是鉴别器的输出,Loss 就是训练时对三个输出的损失函数。Loss损失函数的定义时GAN论文中提出的。Lshare是除输出层以外的所有层,因为他们共享除输出层以外的层,只是输出时的激活函数不同(分类任务不同)。 - x是输入样本,但是server无法访问这些具体的数据,因此根据每个客户端对服务器的更新来计算client特征X。 - $Loss_c$是X类别(伪造的X)的损失函数,CE是交叉熵函数,这里就是求鉴别器D鉴别身份与真实身份y的交叉熵损失。 - 更新D的目标是$Loss_r+Loss_i$越来越小。就是鉴别真实与否和鉴别X的client身份越来越准。 - 更新G的目标是$Loss_c-Loss_r+Loss_i$是类别的损失-真实性的损失+client身份ID的损失,越来越小。 - 其实这里是不太明白为什么minimize上面两个Loss组合的。 - 不应该D越更新,越可以更好的区分real and fake,那当x来自Preal的时候,Dreal(x)应该趋于1,当x来自Pfake的时候,Dreal(x)应该会减小吧,最后,那Loss_real 应该越大吧。我也是刚接触这方面,如果哪里错了或者学的不足还请您多指教。
Passive Attack
  • image-20221125115015711
  • 当被动攻击的时候,server充当半诚实的server,只获取client的更新进行分析,而不修改共享模型 M t M_t Mt或引入对抗性影响。
  • 鉴别器D在每次迭代时由Mt+uvt初始化,这样模型就会倾向于受害者v。就相当于额外victim会再进行一次更新。
  • 因为D每次继承M,这是根据真实数据训练的,所以慢慢基于fake data的训练会少与真实数据,这时候需要补偿fake data的训练。
  • 算法一中的Update是通过以下更新完成。
    • image-20221125144141689
      • 和 平时的梯度优化类似。
Active Attack
  • 被动攻击是隐蔽的,因为server只需要获取client的更新即可。而主动攻击是将victim与其他client进行隔离,即除了恶意的server还包含一个管理的server。这个关联server只连接victim client,只接收他的更新,就做到了隔离。其中共享的模型不再是 M t M_t Mt而是 M i s o M^{iso} Miso M i s o M^{iso} Miso只受到victim跟新的影响。这个关联server也只在victim上执行mGAN-AI攻击。初始化的时候和被动攻击一样, M i s o M^{iso} Miso = M 0 M_0 M0=D.
  • 通过遵循与被动攻击类似的训练方案,在附属服务器上训练mGAN AI,生成器将生成具有更高质量和更可区分身份的样本,因为mGAN是纯基于目标victim数据训练的,不会受到其他数据的影响。而且鉴别器将不用进行身份鉴别和代表数据计算。恶意server会主动向victim发送 M i s o M^{iso} Miso进行更新,违反了FL初始规则,但不会影响FL。
Calculation of Client Representatives
  • 之前攻击的时候需要计算客户表示来与生成的fake representative进行训练,来优化G和D。这里介绍了怎么通过更新来计算每个client的表示。
  • 客户端的表示被定义为在共享模型上训练后实现与真实样本相同更新的合成样本,就是要求输入到同一个模型中,输出相同更新的数据。二者的主要特征分布应该趋同。理想的是 u t X k u^{X_k}_t utXk = u t k u^{k}_t utk,二者更新u相同。
    • image-20221125152353205
      image-20221125152408660
      image-20221125152418200
    • 上式6基于优化的方法基于共享模型来计算 X k X_k Xk,目标就是最小 u t X k u^{X_k}_t utXk u t k u^{k}_t utk的二范数。
    • 式子6进一步正则化利用(7)
      • 7中 X k X_k Xk是一组图片,也就是一个小批次的。i和j是单个图像x的行和列(长和宽)
      • L o s s T V Loss_{TV} LossTV计算邻域方差来增强图像的空间平滑度。
    • 式子(8):λ平衡了增强图像平滑度的效果。我们使用盒约束的L-BFGS来计算XK。根据经验,有效的Xt可以在几次更新后实现。第七节的实验验证了代表在识别任务中的有效性。
APPROACH UNDER ANONYMOUS ENVIRONMENT
  • 为了解决匿名化带来的挑战。提出了一种预链接性攻击,用于关联来自相应客户端的更新,确保匿名环境下的重建攻击。
Problem Formulation and Overview
  • 非匿名下,client更新是带有身份的。但是一般的联邦学习只需要收集所有的更新进行聚合,不需要知道哪个更新是来自哪个client,所以攻击要考虑匿名条件下。
  • 将预链接攻击形似化为验证任务。
    • 其中恶意服务器旨在验证在不同的训练迭代中两个给定的参数更新集是否属于同一客户端的更新。通过关联来自不同客户端的定期更新来重新识别匿名模型更新,而不是通过识别IP地址这种方式进行验证。
  • 周期性的参数更新也存在与client相关的对应模式,这种模式反映了客户端数据分布特征。参数更新在每轮更新中都会受到不可预测的影响,因此也会影响我们的验证,所以用之前提到的client representative来替代参数更新进行验证。
  • 预链接攻击
    • image-20221125161734769
    • 每个身份id都有一个对应的队列Q存储client表示。
    • 从匿名更新 U 1 ∗ U^{*}_1 U1中计算出X1(应该是一组client表示),并随机附上身份标签。就是每个身份id的Q都有了对应的K个X,因为后面来了新的 X t + 1 X_{t+1} Xt+1进行比较的时候要进行K次投票,每次投票就是将 X t + 1 X_{t+1} Xt+1与Q中的一个X进行相似度计算,最后哪个相似度最大,哪个Q代表的身份就是 X t + 1 X_{t+1} Xt+1的身份。
    • 经过之前投票机制和相似度计算求出 X t + 1 X_{t+1} Xt+1的身份后,将 X t + 1 X_{t+1} Xt+1更新到 Q i d Q_{id} Qid中,之前需要把之前的X出队。
Representatives Similarity Measurement Design(之前讲了代表计算)
  • image-20221125163351156
    • 将识别模型和验证模型融合在一起,同时预测身份和计算相似性度量。给定一对客户端代表,卷积层首先提取他们的特征嵌入。然后利用平均池化层对特征表示进行下采样,提高了模型的泛化能力,加快了训练速度。最后,由softmax激活的识别层输出与每个客户端身份对应的概率向量。同时,平方层计算特征的差异,sigmoid层输出特征的相似度。
    • R e p 1 Rep_1 Rep1 R e p 2 Rep_2 Rep2是一对client 表示,所为上图模型的输入,输出是[0,1],表示是否来自同一client。
    • 使用CE(交叉熵损失)作为训练损失,而不是文献36中的方法。使用Imagenet上的与训练模型作为初始化 M t M_t Mt,这更有助于收敛。
    • 算法二中sim()函数的实现:将平均池化层的输出作为客户端代表的区分描述符。然后通过它们的L2归一化CNN嵌入之间的欧几里德距离来计算相似度。
  • 训练损失
    因为代表相似度设计要实现验证和识别身份两种功能,所以相应有两个损失。识别损失和验证损失。它们由识别标签和验证标签监督。
    • 识别损失
      • image-20221125165116424
        • CE:求模型预测的身份和真实身份的CE(交叉熵),这就是身份识别的损失函数。
        • M i d M_id Mid是身份识别模型的输出,也就是模型的预测,后面的id是实际的id。
    • 身份鉴别损失
      • 孪生网络直接将后几层嵌入作为客户端代表描述符d1、d2。通常,来自微调CNN的后几层具有辨别能力。它比中间层中的激活输出更紧凑。为了融合该特征,我们使用了一个非参数平方层,该层将两个描述符d1、d2作为输入,然后求二者平方,也就是对应Square Layer。
      • 最后Square Layer层的输出进行Sigmoid函数激活,输出的是两个client代表为统同一client的概率。
      • 与传统二分类方法类似,我们使用CE进行身份鉴别。
        • image-20221125165802948
        • 其中s是匹配的标签,当s为1的时候(来自一个client),损失函数只用前半部分,否则用后半部分。
    • 之前提到的 R e p 1 Rep_1 Rep1 R e p 2 Rep_2 Rep2
      • 就是之前提到了client代表,为了训练模型来判断两者是否来自一个client,和来自哪个client。这里的client 代表也就是X,从每个client更新那计算得来。非匿名条件是通过第五部分,E中解释的。当时可以得知哪个client是哪个client。
      • 设计了一个影子联邦学习模型来生成 R e p 1 Rep_1 Rep1 R e p 2 Rep_2 Rep2来训练上面的识别和鉴别模型。
      • 其中恶意server拥有 X a u x X_{aux} Xaux数据集(本来目的是判断FL训练效果或者收敛什么的)来训练这个影子模型。
        • 首先将Xaux辅助数据集划分为M部分,每个部分都是一个训练集。将每个部分随机用1-N标记(即身份标识)。这么模拟某部分数据集是某client的训练数据集。
          然后攻击者初始化一个和原始模型一样的共享模型并设置一样的目标。
          然后用这些数据集中的影子client进行训练,并对共享模型进行更新。
        • M t ‘ M^`_t Mt u t k ′ u_t^{k'} utk:获取这两个就可以计算client代表,方法同上文中的 非匿名情况下的client representatives计算。相当于用真实的辅助数据模拟生成了Rep。
        • 最后的( X t k X_t^{k} Xtk, k k k)作为识别模型的训练数据(输出是身份).
        • ( X t k 1 X_t^{k1} Xtk1, X t k 2 , X_t^{k2}, Xtk2s)是验证模型的训练数据,s就是标签(1 or 0).
      • 总之就是用知道的数据集Xaux随机分为N部分并随即标为1-N,模拟N个client,用这些client的更新和模型 M t M_t Mt计算出X(其中身份是已知的),用X和已知的身份信息训练上文中提到的鉴别模型、识别模型。
Experiment
Datasets and setup
  • MNIST和AT&T(人脸)数据集。
  • image-20221125184431421
Performance of Linkability Attack

模拟10个client,投票数3

  • 评估标准:匹配准确性和精度
    • 前者描述了当馈送可能来自非相邻迭代的随机选择对时的精度,而后者描述了当从相邻迭代馈送不同客户端的Rep和Repk的匹配库时的排序精度。
  • 在实验中,共享模型在迭代150次左右达到收敛,因此使用第150个共享模型。优化目标由识别损失和验证损失两部分组成。我们给他们定了同等的权重。训练中,从相同/不同的客户身份中抽样正/负对。
  • image-20221125191434588
    • 基于rep的攻击实现了高的训练/测试匹配精度,这表明了代表在辨别能力方面的进步。特别是在AT&T数据集上,与基于更新的攻击相比,基于rep的攻击收敛更快,测试精度更高。这里比较的测试精度
    • MNIST上二者差异不明显。MNIST数据集上的较小方差导致共享模型对客户端本地模型的影响较小。周期性更新的辨别能力不会因外部干扰而大大减弱,从而使基于更新的攻击获得与基于rep的攻击类似的结果。因此,考虑到联合学习中的非IID数据,与基于更新的攻击相比,基于rep的攻击带来了更强的威胁。
Privacy Attack
  • 评估被动攻击,这里数据分布模拟真实不平衡的数据分布。而且一个client可以拥有不同的类。被动攻击是只分析client的更新,不对FL结构或者学习过程进行改变。
  • 基于MNIST
    • 10个client,每个随机选3种数字作为自己的训练数据。图7为实验结果,图7中有10种数字,所以图7不是一次实验结果。
    • image-20221125201356171
  • 基于AT&T
    • N=10。受害者的可分辨特征被指定为戴眼镜.实验结果图8表明,mGAN-AI工具具有针对性。因为重建的照片是两张戴眼镜的,而且其他照片比较模糊。
    • image-20221125201600799
Quantitative and Qualitative Comparison(定量和定性分析)
  • 与反演攻击和之前基于GAN的攻击进行对比
  • image-20221125202508568
Defenses
  • 加密传输,对发送的参数进行加密,安全聚合、同态加密,让敌手无法获取真实的更新信息。
  • 可信执行环境(TEE): TEE创建一个与操作系统并行的隔离环境,保证所加载代码和数据的机密性和完整性。在联邦学习的情况下,训练可以在服务器上的TEE内部执行。那么中间值,例如参数更新,就不能被恶意服务器访问
  • 动态参与,训练了可以退出,让攻击不能持续更新。因为这里是每一个迭代,D都会用 M t M_t Mt u t v u_t^{v} utv进行更新。如果以后没有v的更新了,就不好继续更新了。
Related Work
GAN
  • https://www.bilibili.com/video/BV1rb4y187vD
  • GAN就是同时训练两个模型一个是鉴别器,一个是生成器,鉴别器的目的是鉴别什么是生成的数据,什么是原来真实的数据,生成器的目的是生成鉴别器无法鉴别的伪造数据。让两者相互博弈,达到纳什均衡,GAN对抗网络的初衷还是想让生成器更胜一筹,让鉴别器鉴别不出来真假。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

UniPro助力半导体企业之低代码平台篇:高效协同快速响应

在《UniPro助力半导体企业之特色篇:缺陷管理覆盖全流程》中,我们介绍了UniPro如何帮助半导体企业完成在研发过程中的Bug管理,然而缺陷管理也并非UniPro的全部,除此之外,UniPro有着完整的项目管理体系,涵盖了…

相控阵天线(二):非规则直线阵列天线(稀布阵列、稀疏阵列、平方率分布阵列)

目录非规则线阵概述不均匀递变间距阵列稀布阵列稀疏阵列不均匀相位递变阵列不均匀幅度激励阵列代码示例非规则线阵概述 非规则线阵主要包括以下情况: 1. 不均匀间距阵列: a)不均匀间距递变阵列:单元间距按照一定的系数递增&#…

傻白入门芯片设计,IP, MCM, SiP, SoC 和 Chiplet的区别(二)

一、IP: 早期的复制电路都是全定制,比如Intel的4004cpu,这种设计非常耗时。考虑到cpu的很多模块有相似的地方,能不能把这些东西模块化?于是就有了IP核的概念,Intelligent Property,即知识产权核…

智慧运维解决方案-最新全套文件

智慧运维解决方案-最新全套文件一、智能运维的必然性二、建设思路三、建设方案1、IT资产和配置管理2、自动化运维管理3、一体化运维平台四、获取 - 智慧运维全套最新解决方案合集一、智能运维的必然性 运维场景多样化。随着IT业务持续增长,为保证业务连续性&#xf…

相控阵天线(八):圆环阵列天线和球面阵列天线

目录圆环阵圆环阵方向图函数均匀圆环阵示例圆环阵层间距的影响非均匀圆环阵示例球面阵列球面阵方向图函数球面阵示例圆环阵 多个单元分布在一个圆环上的阵列称为圆环阵列。这是一种有实际意义的阵列结构,可应用于无线电测向、导航、地下探测等系统中。 圆环阵方向…

微服务介绍

目录一、系统架构演变单体应用架构垂直应用架构分布式架构SOA架构微服务架构二、微服务架构介绍微服务架构常见问题微服务架构常见概念服务治理服务调用服务网关服务容错链路追踪微服务架构常见问题解决方案ServiceComdServiceCloudServiceCloud AlibabaSpringCloud Alibaba介绍…

[论文评析-CV]MediaPipe: A Framework for Building Perception Pipelines, ArXiv,2019

MediaPipe: A Framework for Building Perception Pipelines文章信息前言框架介绍MediaPipe用于目标检测(1)Detection branch:(2)Tracking branch:MediaPipe框架重要的概念调度其他References文章信息 论文题目:MediaPipe: A Framework for Building Perception Pi…

mysql误删数据后 快速恢复的办法

手抖不小心把表里的数据删除或修改错误怎么办?该如何快速恢复呢?遇到这样的问题怎么办?希望下面这篇文章能够帮助到你! 第一步:保证mysql已经开启binlog,查看命令: 查看binklog是否开启 show…

运动耳机品牌排行榜前十名有哪些,2022年六款运动耳机值得入手

近几年来,运动健身潮流一直都非常火热,但一个人运动难免会感到枯燥,这个时候最需要的就是音乐的陪伴了,佩戴着运动耳机听音乐,运动的时间也会过得越来越快,不过在选购运动耳机的过程会比挑选普通蓝牙耳机还…

pycharm社区版不能使用conda

修改成cmd 本质是conda init 问题 专业版的直接在终端改成cmd就行了

(DS90UB3702TRURRQ1) LT8640SHV-2低噪声降压稳压器QFN

LT8640/LT8640-1降压稳压器采用Silent Switcher架构,设计用于最大限度地降低EMI/EMC辐射并在高达3MHz的频率下提供高效率。由于具有2.5μA的超低静态电流(当输出处于全面调节状态时),因此适用于要求在非常小负载电流条件下获得极高…

ICP算法加速优化--多线程和GPU

LZ之前的文章ICP算法实现(C) 用C实现了基础的ICP算法,由于该算法是一种迭代的优化算法,里面含有大量循环操作以及矩阵运算,可以通过使用多线程或者GPU硬件来进行加速,具体分别可以通过OpenMP和CUDA编程实现…

六、【React基础】组件实例三大核心属性之三 refs + 事件处理

文章目录1、字符串形式的ref(过时/不推荐)2、回调形式的ref(推荐!!!)● 回调ref中回调次数的问题3、createRef创建ref容器(最新最推荐)4、事件处理理解:组件内…

Web3D应用开发在线IDE【中文版】

nunuStudio 是一个Web 3D应用程序的集成开发环境,它提供用于在 3D 世界中创建和编辑对象的工具,支持JavaScript和Python对3D场景进行二次开发。nunuStudio中文版 由 BimAnt 提供。 如果你曾经使用过其他类似的框架(unity、playcanvas、godot …

Spring Boot 3.0 正式发布了!一个超重要的版本!!

首发于 JavaGuide (「Java学习面试指南」一份涵盖大部分 Java 程序员所需要掌握的核心知识。准备 Java 面试,首选 JavaGuide!) 紧跟着 Spring Framework 6.0 的正式发布,就在昨天,Spring Boot 3.0 也正式发布了! 这是一…

供应多臂PEG衍生物4-Arm PEG-Azide,4-Arm PEG-N3,四臂-聚乙二醇-叠氮

1、名称 英文:4-Arm PEG-Azide,4-Arm PEG-N3 中文:四臂-聚乙二醇-叠氮 2、CAS编号:N/A 3、所属分类:Azide PEG Multi-arm PEGs 4、分子量:可定制,四臂-PEG 2000-叠氮、4-Arm PEG-N3 20000、…

深入分析序列化和反序列化原理,终于知道serialVersionUID到底有什么用了

一个问题引发的思考 下面是一个简单的socket通信demo。 通信数据类: package com.zwx.serialize.demo; public class SocketUser { public SocketUser(String id, String name) {this.id id;this.name name; }private String id; private String name;public St…

ADAU1860调试心得(2)硬件和软件的详细说明

硬件 一台64位的PC,一块ADAU1860EVB开发板,一个LARK-1860专用仿真器,音频线若干,mini USB线一根,一个到三个输入音源,可以是PC或者手机或者其他模拟音频输入设备, 一个输出音源设备,…

什么是DCS系统?DCS和SCADA的区别

如果你在工业自动化的企业环境中操作,可能听说过分布式控制系统 (DCS) 和监控和数据采集 (SCADA) 系统。 DCS系统和SCADA系统有很多共同点,因为它们都被称为受控计算机系统,接收和评估合法数据以实现远程访问监控和管理。 DCS(分布式控制系…

Python实现BP神经网络ANN单隐层分类模型项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 BP(back propagation)神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一…