【论文阅读】Efficient and secure federated learning against backdoor attacks
Efficient and secure federated learning against backdoor attacks -- 高效且安全的可抵御后门攻击的联邦学习
- 论文来源
- 问题背景
- TLDR
- 系统及威胁模型
- 实体
- 威胁模型
- 方法展开
- 服务器初始化
- 本地更新
- 本地压缩
- 高斯噪声与自适应扰动
- 聚合与解压缩
- 总体算法
- 总结
- 优点
- 缺点
论文来源
名称 | Efficient and secure federated learning against backdoor attacks |
---|---|
期刊 | TDSC 2024 |
作者 | Yinbin Miao;Rongpeng Xie;Xinghua Li;Zhiquan Liu, Member, IEEE;Kim-Kwang Raymond Choo , Senior Member, IEEE;Robert H. Deng , Fellow, IEEE |
DOI | DOI: 10.1109/TDSC.2024.3354736 |
问题背景
- 隐私泄露: 联邦学习(FL)中,客户端上传的模型更新(即使不是原始数据)也可能泄露其本地数据的敏感信息。
- 后门攻击: 由于FL的分布式特性,恶意客户端可以上传带有后门触发器的模型更新,使得最终的全局模型在遇到特定触发器时产生错误输出。
- 通信开销: DNN(Deep Neural Networks)模型参数量巨大,导致客户端上传模型更新时产生高昂的通信成本。
- 本地差分隐私 (LDP) 的局限性:
- 非自适应性: 传统LDP方法(如添加高斯噪声)通常对所有参数施加相同强度或随机强度的噪声,可能对关键参数造成过度扰动,严重损害模型效用。一些改进方案(如[LDP-FL])虽考虑了分层特性,但仍不够精细(例如,同一层参数仅扰动到两个固定值)。
- 效用损失: 为了抵抗后门攻击,有时需要较强的噪声,这会进一步降低模型准确率。
TLDR
论文提出了一种名为 ESFL 的方案,通过结合==自适应本地差分隐私 (Adaptive LDP) ==和 ==压缩感知 (Compressive Sensing, CS) ==来应对上述挑战。
- 自适应 LDP 核心思想:
- 两阶段噪声添加:
- 首先,在本地对模型参数(或更新)添加传统的高斯噪声,这为抵抗后门攻击提供基础防御。
- 然后,利用一种更精细的自适应扰动函数来“调节”已添加的高斯噪声。这个自适应函数会考虑DNN模型每层参数的实际分布(计算每层的范围中心 c l c_l cl 和半径 r l r_l rl),并根据每个参数值与其层范围中心的偏移量 μ \mu μ 来进行扰动。这种方法旨在更智能地控制噪声的规模,减少对模型效用的过度损害。论文强调了先加高斯噪声再进行自适应调节的顺序至关重要。
- 两阶段噪声添加:
- 压缩感知 (CS):
- 在客户端对模型更新进行噪声扰动之前,先使用离散余弦变换 (DCT) 和压缩感知技术对其进行压缩,从而显著减少上传到服务器的数据量,降低通信开销。
- 服务器在聚合了所有客户端的压缩更新后,再进行一次性的解压缩。
系统及威胁模型
实体
系统结构如图:
- 服务器作为聚合器,负责收集 N t N_t Nt 个本地模型更新并将其聚合为全局模型更新以优化全局模型。在本文方案中,它还需要执行解压操作。
- 非恶意客户端是隔离的设备,负责在干净数据集上进行本地模型训练、压缩和噪声添加。
- 恶意客户端将使用其选择的触发器在有毒数据集上进行本地模型训练,然后在上传之前压缩并放大模型更新。并且,他们不添加噪声。
威胁模型
- 服务器是半诚实的,它诚实地聚合所有上传的本地模型更新,不会遗漏任意一个客户端的数据,但它可以通过在每个通信回合中跟踪本地全局模型更新来侵犯客户端隐私,从而推断出关于任何客户的信息。
- 客户端被分为两类:半诚实和恶意。前者诚实地遵循算法,但从全局模型中推断其选择的受害者的私人信息。后者则在其数据注入或改变带有精心设计触发器的实例,并使用后门训练有害模型。
- 本文的威胁可以总结如下:
- 客户端数据隐私泄露:如果模型更新以明文形式传输,半诚实的服务器和半诚实客户端可能会推断出训练数据的私人信息。
- 后门攻击:对于恶意客户端,他们会对模型训练过程发起后门攻击,使模型误分类带有触发器的输入。
- 模型效率降低:后门攻击可能导致部分测试样本被误分类,从而损害模型的效用。
方法展开
服务器初始化
- 服务器会对所有客户端发放一个初始模型。
- 此外,服务器会为客户端模型的每一层协商一个数值区间: [ c l − r l , c l + r l ] [ c_l-r_l , c_l + r_l ] [cl−rl,cl+rl] 以及一对集合 ( C , R ) (C,R) (C,R),其中 l ∈ [ 1 , L ] l\in [1,L] l∈[1,L] , L L L 表示网络层数, C C C 表示包含 L L L 个范围中心的集合, R R R 表示包含 L L L 个对应范围半径的集合。
本地更新
在每一轮,服务器从 N N N 个客户端中选定 N t N_t Nt 个客户端参与训练。
如果是恶意客户端,在训练结束后会进行后门攻击。
本地压缩
客户端更新训练之后,会对参数改变量进行参数压缩,压缩率为 C R ∈ ( 0 , 1 ) CR\in (0,1) CR∈(0,1) ,将每一层的参数量以相同的压缩率进行参数压缩。
高斯噪声与自适应扰动
在非恶意客户端得到 c i t c_i^t cit 后,为了抵御后门攻击,非恶意客户端首先为每一层的参数添加高斯噪声。然后进行自适应噪声的添加:
-
客户端首先计算每层的范围区间 [ c l − r l , c l + r l ] [ c_l-r_l , c_l + r_l ] [cl−rl,cl+rl]:
-
然后计算偏移: μ \mu μ
μ = w − c l \mu = w-c_l μ=w−cl -
如果改写上式: w = c l + μ w=c_l+\mu w=cl+μ ,可以发现权重 w w w 的扰动本质上是偏移量 μ \mu μ 的扰动。
-
类似LDP-FL,ESFL将扰动函数 M M M 设计为分段函数,根据不同条件以不同方式扰动不同的权重。
- 首先,基于隐私预算计算伯努利变量 b b b 的分布概率:
- 然后非恶意客户端从满足上述概率的伯努利分布中随机抽样,并按如下方式扰动权重 w w w.
- 首先,基于隐私预算计算伯努利变量 b b b 的分布概率:
聚合与解压缩
在非恶意客户端 进行本地训练、压缩和添加噪声后,它将压缩后的扰动本地模型更新 p i t p_i^t pit 上传至服务器。需要注意的是,恶意客户端不会对其 c i t c_i^t cit 添加噪声。
- 当服务器收集到 N t N_t Nt 个本地模型更新后便开始聚合,然后再进行解压缩。
- 压缩的全局模型: y t = ∑ i = 1 N t p i t y^t=\sum_{i=1}^{N_t}p_i^t yt=∑i=1Ntpit。
在算法 4 中,用 y ∗ , l t y_{*,l}^t y∗,lt 表示 y t y^t yt 的第 l l l 层权重,用 Δ w ∗ , l t \Delta w_{*,l}^t Δw∗,lt 表示最终完整全局模型更新 Δ w t \Delta w^t Δwt 的第 l l l 层更新。 - 服务器首先计算第 l l l 层权重的压缩数 m l m_l ml,然后根据压缩比 C R CR CR 获取原始数字 n l n_l nl,最后在逆离散余弦变换后对 y ∗ , l t y_{*,l}^t y∗,lt 进行解压。在获得 L L L 个重构的 Δ w ∗ , l t \Delta w_{*,l}^t Δw∗,lt 后,服务器将其组装成完整的全局模型更新 Δ w t \Delta w^t Δwt,并更新全局模型 w t = w t − 1 + ς N ⋅ Δ w t w^t = w^{t−1} + \frac{\varsigma}{N} \cdot \Delta w^t wt=wt−1+Nς⋅Δwt 。
总体算法
ESFL的总体流程如图:
总体算法如:
总结
- ESFL通过巧妙地结合自适应LDP和压缩感知,在抵抗后门攻击、保护隐私、维持模型效用和提高通信效率方面取得了显著的平衡和改进。然而,这种平衡是以增加一定的计算复杂度和参数调优难度为代价的,并且仍受到差分隐私和有损压缩固有局限性的影响。
优点
- 增强的后门攻击防御能力
- 通过高斯噪声和自适应扰动的两阶段机制,ESFL能比仅依赖一种噪声或简单自适应机制(如CAFL)更有效地抵抗后门攻击,其攻击成功率 (ASR) 较低。
- 自适应机制使得噪声能更好地针对潜在的恶意操纵进行调整。
- 改进的隐私保护下模型效用
- 相较于传统的、非自适应的本地差分隐私 (LDP) 方法(如仅添加固定强度或随机高斯噪声),ESFL的自适应扰动机制能更精细地控制噪声,减少对模型关键参数的过度损害,从而在保证 ϵ \epsilon ϵ-LDP 的同时,更好地保持模型在主任务上的准确率。
- 通信效率高
- 通过采用压缩感知 (CS) 和离散余弦变换 (DCT),在客户端上传模型更新前对其进行压缩,显著减少了上行链路的通信开销,这对于资源受限的客户端和大规模联邦学习系统尤为重要。
- 更精细的自适应性
- ESFL的自适应扰动不仅考虑了DNN的分层特性,还考虑了每层内每个参数相对于该层范围中心的偏移量,实现了比先前方案(如[9]中将同一层参数扰动到固定两个值)更细致的噪声控制。
- 形式化的隐私保障
- 论文提供了ESFL满足 ϵ \epsilon ϵ-LDP 的形式化数学证明。
缺点
- 增加的计算复杂度
- 客户端: 需要执行DCT、CS压缩以及两阶段的噪声添加,比简单加噪方案计算量更大。
- 服务器端: 需要执行CS解压缩(包括聚合后的恢复和IDCT),这可能比简单聚合更耗时。
- 自适应扰动需要计算每层的参数范围中心和半径,也带来额外开销。
- 参数调优的复杂性
- ESFL引入了多个需要仔细调整的超参数,如隐私预算 ϵ \epsilon ϵ、压缩率CR、高斯噪声的标准差等。这些参数的最优选择可能依赖于具体任务、数据集和模型架构,找到最佳组合可能具有挑战性。
- 压缩感知的固有局限性
- CS是一种有损压缩技术。虽然DCT有助于提高模型更新的稀疏性,但并不能保证完美恢复,尤其是在压缩率较高或模型更新并非高度稀疏时。恢复误差可能会影响最终模型的精度。
- CS恢复算法本身的计算开销也可能较大。
- 噪声的固有影响
- 尽管ESFL致力于优化噪声的添加,但任何差分隐私机制引入的噪声都会不可避免地对模型效用造成一定程度的损害,相较于没有隐私保护和攻击的理想情况,准确率仍会有所下降。
- 对模型和数据特性的依赖
- DCT对模型更新的稀疏化效果可能因模型结构和数据特性的不同而异,这会影响CS的压缩性能和恢复质量。
- 自适应扰动的有效性也依赖于对各层参数范围的准确估计。
- 防御范围的特定性
- ESFL主要针对特定的后门攻击进行设计和优化。虽然LDP提供了通用的隐私保护,但其针对其他类型的攻击(如更广泛的投毒攻击、模型推断攻击等)的防御效果可能需要进一步评估。
相关文章:

【论文阅读】Efficient and secure federated learning against backdoor attacks
Efficient and secure federated learning against backdoor attacks -- 高效且安全的可抵御后门攻击的联邦学习 论文来源问题背景TLDR系统及威胁模型实体威胁模型 方法展开服务器初始化本地更新本地压缩高斯噪声与自适应扰动聚合与解压缩总体算法 总结优点缺点 论文来源 名称…...

Java中的代理机制
目录 什么叫代理 静态代理 优缺点 优点: 缺点: 动态代理 JDK动态代理 核心类 JDK动态代理的实现 步骤 示例 特点 CGLIB动态代理 代理机制对比 总结 什么叫代理 代理模式是一种比较好理解的设计模式。简单来说就是我们使用代理对象来代替…...
Kotlin扩展函数提升Android开发效率
在Android开发中,Kotlin的扩展函数(Extension Functions)犹如一把神奇的瑞士军刀,它能显著提升代码简洁性和开发效率。以下是通过实战案例展示的扩展函数魔法手册: 一、扩展函数基础原理 // 给View添加渐显动画扩展 f…...

Jenkins linux安装
jenkins启动 service jenkins start 重启 service jenkins restart 停止 service jenkins stop jenkins安装 命令切换到自己的下载目录 直接用命令下载 wget http://pkg.jenkins-ci.org/redhat-stable/jenkins-2.190.3-1.1.noarch.rpm 下载直接安装 rpm -ivh jenkins-2.190.3-…...
加速pip下载:永久解决网络慢问题
一文教你解决 pip 下载太慢了的问题 || 下载时因为网络不好中断下载的问题 一、找到 pip 配置文件路径 1.配置文件位置: Windows 系统的 pip 配置文件默认不存在,需要手动创建,路径为: C:\Users\你的用户名\pip\pip.ini 用户目…...
WPF 触发器 Trigger
触发器 Trigger 触发器(Trigger)是 WPF 中的一种机制: 当某个条件满足时,自动改变控件的某些属性,比如颜色、大小、透明度等。 换句话说,就是"如果……那么就……" 的一种规则。 常见触发器类…...

Webug4.0靶场通关笔记-靶场搭建方法(3种方法)
目录 一、虚拟机绿色版本 1. 开启phpstudy 2. 访问靶场 二、Docker版本 1.拉取镜像 2.启动镜像 三、源码安装版本 1. 搭建环境 (1)安装PHPStudy (2)WeBug4.0靶场源码 (3)安装Navicat ÿ…...
Python核心编程深度解析:作用域、递归与匿名函数的工程实践
引言 Python作为现代编程语言的代表,其作用域管理、递归算法和匿名函数机制是构建高质量代码的核心要素。本文基于Python 3.11环境,结合工业级开发实践,深入探讨变量作用域的内在逻辑、递归算法的优化策略以及匿名函数的高效应用,…...

【Web】LACTF 2025 wp
目录 arclbroth lucky-flag whack-a-mole arclbroth 看到username为admin能拿到flag 但不能重复注册存在的用户 这题是secure-sqlite这个库的问题,底层用的是C,没处理好\0字符截断的问题 (在 Node.js 中,由于其字符串表示方式…...

【日撸 Java 三百行】综合任务 1
目录 Day 10:综合任务 1 一、题目分析 1. 数据结构 2. 相关函数基本知识 二、模块介绍 1. 初始化与成绩矩阵的构建 2. 创建总成绩数组 3. 寻找成绩极值 三、代码与测试 小结 拓展:关于求极值的相关算法 Day 10:综合任务 1 Task&…...
yocto的每个recipe都是在工作路径中完成
Yocto项目中每个Recipe的编译过程都会将源文件解压或搬运到tmp/work/下的特定工作目录,并在此完成所有构建任务。具体流程可分为以下关键步骤: 一、源码处理阶段 源码获取(do_fetch) Recipe通过SRC_URI变量指定源码来源(如Git仓库、HTTP下载或本地文件)。这些文件会被下载…...
玩转Docker | 使用Docker部署DailyTxT日记工具
玩转Docker | 使用Docker部署DailyTxT日记工具 一、DailyTxT介绍DailyTxT简介DailyTxT 特点二、系统要求环境要求环境检查Docker版本检查检查操作系统版本三、部署DailyTxT服务下载DailyTxT镜像编辑部署文件创建容器检查容器状态检查服务端口安全设置四、访问DailyTxT服务访问D…...
初等数论--欧拉定理及证明
0. 证明前置知识 同余类(剩余类) r n ‾ { x ∣ x m n r , m ∈ Z } \overline{r_n} \{ x| xmnr,m \in Z\} rn{x∣xmnr,m∈Z} r n ‾ \overline{r_n} rn表示模 n n n后余 r r r的同余类(剩余类) 比如 2 5 ‾ { ⋯…...
Oracle非归档模式遇到文件损坏怎么办?
昨天夜里基地夜班的兄弟,打电话说有个报表库连不上了,赶紧起来连上VPN查看一下,看到实例宕机了,先赶紧startup起来。 1.查看报错信息 环境介绍:Redhat 6.9 Oracle 11.2.0.4 No Archive Mode 查看alert log 关键报…...
机器人领域和心理学领域 恐怖谷 是什么
机器人领域和心理学领域 恐怖谷 是什么 恐怖谷是一个在机器人领域和心理学领域备受关注的概念,由日本机器人专家森政弘于1970年提出。 含义 当机器人与人类的相似度达到一定程度时,人类对它们的情感反应会突然从积极变为消极,产生一种毛骨悚然、厌恶恐惧的感觉。这种情感…...
树莓派4的v4l2摄像头(csi)no cameras available,完美解决
根据2025年最新技术文档和树莓派官方支持建议,no cameras available错误通常由驱动配置冲突或硬件连接问题导致。以下是系统化解决方案: 一、核心修复步骤 强制禁用传统驱动 sudo nano /boot/firmware/config.txt确保包含以下配置(2025年新版…...
每日一题:两个仓库的最低配送费用问题
文章目录 两个仓库的最低配送费用问题一、问题描述二、解题思路(一)初始假设(二)差值定义(三)选择最优(四)计算答案 三、代码实现四、代码分析(一)输入处理&a…...

华为私有协议Hybrid
实验top图 理论环节 1. 基本概念 Hybrid接口: 支持同时处理多个VLAN流量,且能针对不同VLAN配置是否携带标签(Tagged/Untagged)。 核心特性: 灵活控制数据帧的标签处理方式,适用于复杂网络场景。 2. 工作…...
Redis 基本数据类型解析
Redis 是一个高效的内存数据存储系统,广泛应用于缓存、消息队列、排行榜、实时数据处理等场景。其高性能的特点部分源自其丰富的数据结构,Redis 提供了多种数据类型,能够支持不同的使用需求。本文将详细介绍 Redis 的八种基本数据类型。 1. …...

数据库实验10
设计性实验 1.实验要求 1.编写函数FsumXXX,1~n(参数)求和; GO CREATE FUNCTION Fsum065 (n INT) RETURNS INT AS BEGIN DECLARE sum INT 0 WHILE n > 0 BEGIN SET sum sum n SET n n - 1 END RETURN sum END …...
Yocto是如何使用$D目录来构建文件系统的?
Yocto最终会将所有Recipe的${D}(部署目录)下的文件整合到根文件系统中,但这一过程并非简单收集所有内容,而是通过分阶段打包、依赖管理和定制化配置实现的。以下是核心机制的解析: 一、${D}目录的作用与文件收集原理 ${D}的定位 ${D}是模拟目标系统根文件结构的临时目录(…...

jflash下载时出现 Could not read unit serial number! 的解决方法
出现的原因是由于Jlink原厂固件SN码是-1 我用的版本是v6.40 解决方法:添加序列号 1.打开:J-Link commander 之后在命令栏输入:exec setsnxxxxxxxx 2.添加序列号到license,打开J-Link License Manager V6.40 jlink-v640下载软件…...

Linux 信号终篇(总结)
前文:本文是对信号从产生到被处理的过程中的概念和原理的总结,如果想了解具体实现,请查看前两篇博客:Linux 信号-CSDN博客、Linux 信号(下篇)-CSDN博客 一、信号的产生 1.1 信号产生的五种条件 ①键盘组…...
使用Kotlin Flow实现Android应用的响应式编程
在Android应用中使用Kotlin Flow实现响应式编程可以分为以下步骤,结合最佳实践和生命周期管理: 1. 添加依赖 在build.gradle中确保包含协程和生命周期相关依赖: dependencies {implementation("org.jetbrains.kotlinx:kotlinx-corouti…...
react中的用法——setDisabled dva dispatch effects
setDisabled 在react中,setDisabled通常是指通过状态管理来控制某个组件(如按钮、输入框等)的禁用状态。虽然react本身没有内置的setDisabled方法,但你可以使用useState钩子来实现类似的功能。以下是一个简单的示例,展…...
(九)Java Object类的使用全面解析
一、Object类概述 1.1 Object类在Java中的地位 在Java语言中,Object类是所有类的超类,位于类继承树的顶端。它是Java类层次结构中的根类,每个类都直接或间接继承自Object类。当我们定义一个类时,如果没有明确使用extends关键字指…...

LVGL对象(Objects)
文章目录 🧱 一、LVGL 中的对象(lv\_obj)🔹 lv\_obj\_t 的作用 🧩 二、对象的分类结构(类比继承)🧰 三、对象的创建与销毁✅ 创建对象示例:创建一个按钮❌ 删除对象 &…...
自然语言到 SQL 转换:开启智能数据库交互新时代
引言 随着人工智能技术的飞速发展,自然语言处理(NLP)领域取得了显著的进步。其中,将自然语言转换为 SQL 语句的技术尤为引人注目。这种技术能够帮助用户,尤其是那些不熟悉 SQL 的业务人员,快速从数据库中获…...

服务器配置错误导致SSL/TLS出现安全漏洞,如何进行排查?
SSL/TLS 安全漏洞排查与修复指南 一、常见配置错误类型 弱加密算法与密钥问题 使用弱密码套件(如DES、RC4)或密钥长度不足(如RSA密钥长度<2048位),导致加密强度不足。 密钥管理不当(如私钥未加密存…...

路由重发布
路由重发布 实验目标: 掌握路由重发布的配置方法和技巧; 掌握通过路由重发布方式实现网络的连通性; 熟悉route-pt路由器的使用方法; 实验背景:假设学校的某个分区需要配置简单的rip协议路由信息,而主校…...