A Framework for Evaluating Gradient Leakage Attacks in Federated Learning

news2024/11/25 3:06:18

联邦学习中梯度泄漏攻击评估框架

摘要:

针对问题:从客户端向联邦服务器共享本地参数更新也可能容易受到梯度泄漏攻击,并侵犯客户端关于其训练数据的隐私。

提出了一个原则性框架,用于评估和比较不同形式的客户端隐私泄露攻击。

首先提供实验分析,以展示对手如何通过简单地分析来自本地训练的共享参数更新(例如,本地梯度或权重更新向量)来重建私有本地训练数据。

然后,分析联邦学习中不同的超参数配置和攻击算法的不同设置如何影响攻击效率和攻击成本。框架还测量、评估和分析了在使用通信高效 FL 协议时不同梯度压缩比下客户端隐私泄露攻击的有效性。

实验还包括一些初步的缓解策略,以强调提供系统的攻击评估框架对于深入了解联邦学习中各种形式的客户端隐私泄露威胁和开发攻击缓解的理论基础的重要性。

引言:

面临的威胁:FL 中的默认隐私不足以通过基于梯度的重建来保护底层训练数据免受隐私泄露攻击。通过在执行联合平均之前拦截客户端共享给 FL 服务器的局部梯度更新,对手可以重建具有高重建精度的局部训练数据,从而侵犯客户端隐私并欺骗 FL 系统通过非法和悄悄地潜入客户机密训练数据,使 FL 系统容易受到客户隐私泄露攻击。

提出了一个原则性框架,用于评估和比较不同形式的客户端隐私泄露攻击。

  1. 通过攻击表征,了解不同的攻击机制和攻击面,对手可以利用这些机制和攻击面通过简单地分析共享参数更新(例如,局部梯度或权重更新向量)来重建私有局部训练数据。
  2. 通过引入多维评估指标和开发评估试验台,提供了关于联邦学习的不同配置和攻击算法的不同设置如何影响客户端隐私泄露攻击的成功率和成本的测量研究和定量和定性分析.
  3. 受攻击影响分析的启发,提出了一些具有初步结果的缓解策略,以强调提供系统评估框架以全面分析联邦学习中的客户端隐私泄漏威胁和有效缓解方法的重要性。

问题描述:

框架将研究 FL 超参数的不同配置对隐私泄露攻击的成功率和成本的影响

威胁模型:

假设的出发点:在 FL 系统中,客户端是客户端隐私泄漏 (CPL) 攻击最脆弱的攻击面,因为客户端是将其本地训练参数更新发送到 FL 服务器的那个。

假设客户端可以以有限的方式受到损害:对手无法访问私有训练数据,但可以拦截要发送到 FL 服务器的本地参数更新,并能够访问和运行保存的本地模型可执行文件(检查点数据)在受感染的客户端上发起白盒梯度泄漏攻击。

假设联邦服务器是诚实但好奇的(FL 服务器将诚实地执行局部参数更新的聚合并管理联合学习的迭代轮次):FL 服务器可能会好奇并可能分析来自某些客户端的定期更新以执行客户端隐私泄漏攻击并获得对受害客户端的私人训练数据的访问权限。

鉴于基于梯度的聚合和基于模型权重的聚合在数学上是等价的,可以从局部梯度和局部训练学习率获得局部模型参数差异。在本文中,使用了基于梯度的聚合。即使客户端和服务器之间的网络连接是安全的,在本地参数更新准备上传到服务器之前,客户端隐私泄露攻击也可能发生在受感染的客户端上。

最后,分布式训练可以发生在具有中央服务器的联合场景中,也可以发生在客户端通过对等网络 连接的分散场景中。在分散设置中,客户端节点将首先执行本地计算以更新其本地模型参数,然后将更新后的梯度发送到其邻居节点。在这两种情况下,客户端隐私泄露攻击都可能发生在受感染的客户端节点上。

客户端隐私泄漏攻击:

客户端隐私泄露攻击是一种基于梯度的特征重构攻击,攻击者可以设计一种基于梯度的重构学习算法,将第t轮的梯度更新,比如\bigtriangledown w_{_{k}}\left ( t \right ),由客户端共享,重建局部训练计算中使用的私有数据。对于图像或视频剪辑的联邦学习,重建算法将首先使用与攻击初始化种子具有相同分辨率的虚拟图像,并在中间局部模型上运行该攻击种子的测试,以使用该攻击种子梯度之间的向量距离损失函数计算梯度损失以及来自客户本地培训的实际梯度。这种重建攻击的目标是将精心设计的小噪声迭代地添加到攻击种子中,以便从这种重建的攻击种子中生成的梯度将近似于在本地训练数据上计算的实际梯度。当从虚拟初始数据重建的攻击种子的梯度收敛到训练数据的梯度时,重建攻击终止。当基于梯度的重建损失函数最小化时,重建的攻击数据也将收敛到具有高重建置信度的训练数据。算法 1 给出了客户端隐私泄露攻击方法的示意图。

 

 在算法 1 中,当 FL 服务器和客户端共享权重更新时,第 4-6 行将权重更新转换为梯度。本地训练的学习率\eta _{k}。假设在我们的原型系统中的所有客户端都是相同的。第 8 行调用虚拟攻击种子初始化,这将在第 3.1 节中详细说明。第 9 行是从本地训练共享的实际梯度中获取标签。由于与其他标签相比,针对训练输入数据的真实标签的局部训练更新应该是最积极的,因此私有训练数据的真实标签的梯度符号将不同于其他类及其绝对值值通常是最大的。第 10-14 行介绍了迭代重建过程,该过程根据客户端梯度更新生成重建的私有训练数据。如果重构算法收敛,则客户端隐私泄露攻击成功,否则CPL攻击失败。第 12-13 行表明,当攻击重建数据的梯度与私有训练数据的实际梯度之间的 L2 距离最小时,虚拟种子重建的攻击数据收敛于私有本地训练数据,导致客户端隐私泄露。在第 12 行中,使用基于标签的正则化器来提高攻击优化的稳定性。重建私有训练数据标签的另一种方法是初始化一个虚拟标签,并将其输入迭代近似算法以进行攻击优化 [45],其方式与内容重建优化类似。图 1 提供了针对四个数据集的四个说明性示例攻击的可视化:LFW [15]、CIFAR100 [20]、MNIST [21] 和 CIFAR10 [20]。

 从算法 1 中得出两个有趣的观察结果。

首先,攻击方法中的多个因素会影响客户端隐私泄露攻击的攻击成功率(ASR),例如虚拟攻击种子数据初始化方法(第8行),攻击迭代终止条件(T),选择梯度损失(距离)函数(第 12 行),攻击优化方法(第 13 行)。

其次,联邦学习中一些超参数的配置也可能影响 CPL 攻击的有效性和成本,包括批量大小、训练数据分辨率、激活函数的选择以及是否使用基线通信协议将梯度更新上传到 FL 服务器或一种有效的沟通方法。

 

 

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

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

相关文章

路径规划算法:基于纵横交叉优化的路径规划算法- 附代码

路径规划算法:基于纵横交叉优化的路径规划算法- 附代码 文章目录 路径规划算法:基于纵横交叉优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化…

Eclipse导入项目的配置步骤说明

1.数据库创建并导入 (1)打开navicat,右击,选择创建数据库,进入新建数据库页面,输入数据库名称。我这里创建的是report数据库。 (2)右击自己创建的数据库,选择运行sql文件…

【C++】STL——stack OJ练习

文章目录 1. 最小栈思路分析AC代码拓展思维 2. 栈的压入、弹出序列思路讲解AC代码 3. 逆波兰表达式求值思路讲解AC代码拓展:中缀表达式如何转后缀 这篇文章我们来做几道stack相关的OJ题,练习一下stack的使用。 1. 最小栈 先来看第一道题——&#xff1a…

【人工智能】常见问题以及解答

1 什么是人工智能 人工智能(Artificial Intelligence, AI)是一门涉及计算机科学、数学、心理学、哲学等多个领域的交叉学科,旨在研究如何使计算机能够像人一样地思考、学习和行动。 在过去几十年中,人工智能技术得到了广泛的应用…

LNMP部署

LNMP部署 一、安装Nginx服务二、安装mysql服务三、安装配置PHP解析环境四、部署 Discuz!社区论坛 Web 应用五、fpm参数优化 LNMP架构: LNMP代表的就是:Linux系统下NginxMySQLPHP这种网站服务器架构Linux是一类Unix计算机操作系统的统称&#…

【P47】JMeter JSON断言(JSON Assertion)

文章目录 一、JSON断言(JSON Assertion)参数说明二、准备工作三、测试计划设计3.1、Assert JSON Path exists3.2、Additionally assert value3.3、Expect null3.4、Invert assertion (will fail if above conditions met) 一、JSO…

双链表、循环链表、静态链表

目录 一、双链表1、为什么要引入双链表2、双链表的插入操作3、双链表的插入操作 二、循环链表1、循环单链表2、循环双链表 三、静态链表 一、双链表 1、为什么要引入双链表 单链表结点中只有一个指向其后继的指针,使得单链表只能从头结点依次顺序地向后遍历。要访…

数据治理核心保障数据质量监控开源项目Apache Griffin分享

文章目录 概述定义为何要做数据质量监控基本概念特性架构 安装Docker部署Docker 镜像批处理使用Docker 镜像流处理使用UI界面操作 概述 定义 Apache Griffin 官网地址 https://griffin.apache.org/ 源码release最新版本0.6.0 Apache Griffin 官网文档地址 https://griffin.apa…

MySQL学习(联结,组合查询,全文本搜索)

联结 SQL最强大的功能之一就是能在数据检索查询的执行中联结表; 关系表 为什么要使用关系表? 使用关系表可以储存数据不重复,从而不浪费时间和空间;如果有数据信息变动,只需更新一个表中的单个记录,相关…

研发工程师玩转Kubernetes——Node失效后的Pod的调度实验

在《研发工程师玩转Kubernetes——多Worker Node部署》中,我们创建了Master Node: UbunutA,以及四个Worker Node:UbunutB、UbunutC、UbunutD和UbunutE。本节我们将使用Deployment创建只含有一个nginx的Pod,然后关掉它所在的主机以模拟Node失效…

使用Adobe Acrobat DC对.jpg和.png格式图片转换为.eps图片格式举例

使用Adobe Acrobat DC对.jpg和.png等格式图片转换为.eps图片格式举例 在进行有的文档排版编辑时候(比如使用winEdt进行排版CTEX文件时候),需要添加.eps格式的图片,然而电脑中的画图,word和ppt等中无法实现.eps格式图片…

centos7 glib2.0 arm版本的编译

最近在看bluez代码,想编译个例子来玩一下,然后bluez里的例子会用到 libglib-2.0 库里的接口,于是开始了漫长的编译 arm 版本的 libglib-2.0,Linux 系统有时就是很麻烦,要编译一个库,结果发现依赖一大堆库&a…

Linux命令学习之帮助命令man

cat /proc/version和uname -a可以查看CentOS内核使用版本。 我使用的Linux操作系统发行版本号是7.6.1810,可以通过cat /etc/redhat-release进行查看。 man man是manual的缩写,是操作说明的意思。 使用man touch想要看一下touch的使用帮助,…

OpenMMLab开营笔记

摘要 很高兴能加入OpenMMLab AI实战营,成为第二期4班的一名学员。OpenMMLab经过几年的发展和沉淀,其开源项目已经覆盖到计算机视觉的各个领域。OpenMMLab 为香港中文大学-商汤科技联合实验室 MMLab 开源的算法平台,不到两年时间,…

文件操作之文件包含全解(41)

<!#include file”1.asp”--> 作者&#xff1a;沙漠里的鲸 https://www.bilibili.com/read/cv14178731/ 出处&#xff1a;bilibili 文件包含的作用就是将这个文件包含进去之后&#xff0c;会调用指定文件的代码。先将文件包含才能执行里面的一些相关代码&#xff0c;比如…

SAP-MM-标准报表路径

一、SAP MM模块系统自带的标准报表很多&#xff0c;常见报表都放在每个主题的“清单显示”和“报表”文件夹下&#xff0c;如下图所示&#xff1a; 二、另外&#xff0c;还有一些报表&#xff0c;放在另外一个地方&#xff0c;需要时&#xff0c;可以随时进行查看&#xff0c;前…

陷入困境?Taos创建超表带来的错误!

taos创建超表时报错 运行如下命令 let res await cursor.query("CREATE STABLE meters1 (ts TIMESTAMP, value FLOAT, slot INT,rack INT,nameId VARCHAR(32),adName VARCHAR(32),dbNumber INT,dataType VARCHAR(28), unit VARCHAR(28)) TAGS (location binary(64), gr…

2GT齿轮的齿形参数

文章目录 2GT齿轮的齿形参数概述笔记齿的种类方形齿半圆弧齿全圆弧齿精确圆弧齿修正圆弧齿梯形齿齿形参数用SW画一个2GT齿END 2GT齿轮的齿形参数 概述 零件上用到了2GT的同步轮和惰轮, 想在装配图上将2个齿轮皮带都画上, 看看有没有干涉. 整体修改是否合理. 在淘宝店家的主页…

Linux系统下imx6ull QT编程——开发环境及 U盘拷贝文件(十)

Linux QT编程 文章目录 Linux QT编程前言一、开发环境二、文件拷贝 前言 前面学习了一些基础&#xff0c;然后qt我也有学过&#xff0c;直接动手在开发板上进行编程吧&#xff0c;但是开发板需要安装环境&#xff0c;需要拷贝一些文件&#xff0c;我使用得是U盘。 一、开发环…

【C++进阶5-红黑树】噩梦般的存在?手提AVLTree暴揍红黑树!

今天&#xff0c;带来无数人的噩梦——红黑树的讲解。文中不足错漏之处望请斧正&#xff01; 如果还没看过AVLTree讲解的一定要去看看&#xff0c;看完才能更好理解红黑树&#xff01; 是什么 红黑树是自平衡的二叉搜索树。 红黑树的规则: 每个结点非黑即红 根结点为黑叶子…