【论文阅读笔记】BaFFLe: Backdoor Detection via Feedback-based Federated Learning

news2025/1/11 22:55:08

个人阅读笔记,如有错误欢迎指出

会议:2021 IEEE 41st International Conference on Distributed Computing Systems (ICDCS) BaFFLe: Backdoor Detection via Feedback-based Federated Learning | IEEE Conference Publication | IEEE Xplore

问题:

        识别、防御联邦学习中的后门攻击

创新点:

        不在聚合器端实现检测后门,利用客户端私有数据的可用性进行后门检测

方法:

        防御原理:在所有客户端用各自的数据以及先前被接受的全局模型在全局模型中进行中毒检测,若大量客户端验证全局模型时在某个类的数据中出现大量的错误分类,则可认定为此模型已经被攻击者投毒。

        防御策略示意,当全局模型被大多数客户端认为被投毒后,服务器端则拒绝此次更新,全局模型不变,当全局模型被被大多数客户单认可时,则更新模型。

        跨轮次信任:

                在固定测试集上对最新的全局模型进行预测,并基于此预测决定拒绝阈值

                如果当前模型超过估计差距,则被视为中毒并被丢弃

        对早期模型的信任:

                训练早期模型不稳定,注入的后门可以忽略不计

        反馈回路:

                设置仲裁阈值q,若多数客户端在其本地数据集上验证后接受模型,则接受本轮更新,否则把前一轮的更新作为本轮更新G^{r+1} \gets G^{r-1}

                验证函数章节中有实例化的验证函数为例

        处理恶意投票:

                阈值q的取值取决于能容忍的恶意客户端的数量,即n_M<q

                同时,保证诚实的客户端发现中毒模型,即超过设定阈值的客户端数量大于恶意客户端数量n_M<n-q+1

                从而有n_M<q<n-n_M

                由于数据的异质性,存在部分诚实客户端\rho误判的情况,则n_M+(1-\rho) \cdot (n-n_M)<q \leq n-(n_M+(1-\rho)\cdot(n-n_M))=\rho \cdot (n-n_M),即可将阈值定为q:=\rho \cdot (n-n_M),而\rho的值可由实验确定,因此可以得到qn_M

        总体防御算法:

以语义后门为例,实现模型验证:

        验证原理:诚实客户端的更新在连续的几轮更新上不会显著影响模型在某些类上的正确率,而新注入的后门攻击会显著增加模型在某些分类上的错误率。如图

        定义了两种误差参数,一是属于类y却被错误分类到其他类,另一个为不属于类y却被错误分类到类y,误差分别定义如下,以此来衡量模型是否可疑。

        算法流程:

        获取历史认为良好的l+1个模型, 分别计算偏差值,随后计算当前模型的偏差值,使用异常检测算法Local Outlier Factor计算它的LOF值,若更新模型的LOF值大于先前正常模型的LOF均值,则认定为模型被投毒。

        l值的选取:足够大以获取稳定的参考值,足够小保证太旧的模型不在其中,测试不同大小的l根据经验选取最优值。

实验:

攻击方法:使用模型替换攻击

实验分组:分为只客户端验证,clients-only(BAFFLE-C),只服务器端验证,server-only(BAFFLE-S)以及客户端、服务器端双重验证(BAFFLE)

数据集分配:即C-S%比例,为客户端以及服务器验证模型需要的数据集分配比例

攻击时间:

        1.模型趋近于稳定后攻击与防御

        2.模型尚未稳定就进行防御,随后进行攻击

实验结果:

        l的大小对假阳性率FP以及假阴性率FN的影响

        l的增加总会造成更高的假阴性率与更少的假阳性率。这可能是由于邻域中有太多的小异常值,从而降低了新更新的异常值因子。l=10时在FEMNIST数据集中假阴性率为1,因此l不能过小。具有反馈回路(即有客户端验证)性能优于近服务器验证。

        阈值q的大小对假阳性率FP以及假阴性率FN的影响

        在CIFAR数据集中,改变q对加过影响较大,在5 \leq q \leq 7时,效果较好,且在这种情况下,BAFFLE以及BAFFLE-C的性能一般都优于BAFFLE-S。在FEMNIST数据集中,改变q的值似乎不会影响在BAFFLE以及BAFFLE-C下的FP以及FN。

        投毒时间影响:模型未稳定时投毒,并在后续继续投毒以及进行防御:

        在CIFAR数据集中,早先的投毒会在良性的更新中被模型迅速遗忘,在后续的投毒中此防御方法也能检测出了每次投毒。

        在FEMNIST数据集中,早先投毒影响也会逐渐减小,由于模型收敛过慢而不明显。在后续的投毒中此防御方法也仅有一次投毒未检测出。

        防御自适应攻击,假设攻击者知道整个防御模型以及防御参数l以及q,攻击者手动对模型更新进行处理。(尽管实际很难实现)

        将在攻击者认为低于阈值的投毒称为自适应投毒,结果表明BAFFLE的检测效果很好。BAFFLE-S有部分的假阳性以及假阴性率。

        十个客户端的防御自适应攻击的实验

        大多是都有5个或者更多的客户端拒绝了更新,也即最差时有五个客户端判断错误,即\rho = 0.5,由此可以估计最多可以忍受的攻击者数量,(1- \rho)(n - n_M) > n_M,求解得到n_M < (1-\rho)\cdot n / (2 - \rho)。当\rho = 0.4时,n_M < 3.75,当\rho = 0.5时,nM<3.33n_M < n_M < 3.33

        通信开销:

        为节省通信开销,在客户端验证通过时,直接进行下一轮的训练,以减小通信开销,另外减小了客户端等待验证客户端验证的时间消耗。

        通过模型压缩技术可以显著较小发送模型以及模型历史的通信开销。

总结

        能够与安全聚合兼容并且考虑到了客户端数据的异质性

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

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

相关文章

泰克(Tektronix) TCP305A电流探头TCPA300电流放大器

泰克Tektronix TCP305ATCPA300电流放大器 泰克 TCP305 电流探头是一种同时使用变压器和霍尔效应技术的分芯式探头。当通过 TEKPROBE Level II、TekConnect&#xff08;带 TCA-BNC&#xff09;或 TekVPI&#xff08;带 TPA-BNC&#xff09;接口连接到泰克示波器时&#xff0c;泰…

GPU服务器安装Anaconda

1.下载Anaconda安装包&#xff0c;官网地址&#xff0c;清华源地址。 在官网下载到本地之后&#xff0c;可以通过文件传输上传安装包到服务器&#xff0c;使用清华源地址可以直接使用wget下载所需版本&#xff0c;例如&#xff1a; wget https://mirrors.tuna.tsinghua.edu.c…

Hibernate 快速入门

Hibernate 快速入门 〇、前言一、搭建 Hibernate 项目步骤1:新建 Java 项目附录1:新建Java项目中的相关文件信息步骤2:添加 Hibernate 框架支持附录2:添加Hibernate框架支持后,Java项目中的相关文件信息步骤3:其他关键配置1、添加数据库驱动包(本文以MySQL为例)2、配置…

详解C语言assert宏

前言&#xff1a;我们经常在写代码时&#xff0c;发现一些大牛的代码中总有一句assert&#xff08;表达式&#xff09;&#xff0c;经过在网上的学习&#xff0c;笔者也浅显的了解了assert的相关知识&#xff0c;assert一般用于规范代码&#xff0c;避免不必要的错误&#xff0…

【Linux高级 I/O(5)】初识存储映射 I/O——mmap()和 munmap()(附代码示例)

存储映射 I/O 存储映射 I/O&#xff08;memory-mapped I/O&#xff09;是一种基于内存区域的高级 I/O 操作&#xff0c;它能将一个文件映射到进程地址空间中的一块内存区域中&#xff0c;当从这段内存中读数据时&#xff0c;就相当于读文件中的数据&#xff08;对文件进…

【数据库系统设计栗子】——图书借阅简单设计

图书借阅简单设计&#x1f60e; 前言&#x1f64c;需求分析——数据结构1.1图书信息1.2 书库信息1.3 图书库存信息1.4 用户1.5 借阅1.6 借阅记录概念模型E-R图 逻辑模型 总结撒花&#x1f49e; &#x1f60e;博客昵称&#xff1a;博客小梦 &#x1f60a;最喜欢的座右铭&#xf…

“三化”引领潮流,时尚代名词

大家好&#xff01;我是微三云小鱼&#xff01; 下面给大家分享一下“潮流文化” 如今越来越多的企业都在向数字化前进 而且也相信数字化代表着 向上、未来还是时尚&#xff0c; 各个企业都希望通过数字化 改变现代管理理念。 希望 像打开云计算一样拓展 另外一个渠道。 除了数…

Redis存在线程安全问题吗?让我们来谈谈!

大家好&#xff0c;我是你们的小米。在之前的文章中&#xff0c;我们谈到了Redis存在的线程安全问题。今天&#xff0c;我将以一个电商项目的实际案例来演示&#xff0c;为大家详细解析Redis线程安全问题的原因&#xff0c;并分享一些具体的解决措施。 为什么存在线程安全问题&…

Java程序设计入门教程--物体的抽象过程

类的概念 面向对象的思想来源于对客观世界的认知。 现实的世界是缤纷复杂、种类繁多&#xff0c;难于认识和理解的&#xff0c;但聪明的人们学会了把这些错综复杂的事物进行分类&#xff0c;从而使世界变得井井有条。比如我们由各式各样的汽车抽象出汽车的概念&#xf…

chatgpt赋能Python-python_label颜色

Python Label 颜色的重要性 在Python编程中&#xff0c;我们经常会使用Label来表示文本标签&#xff0c;并且经常需要为这些标签创建不同的颜色&#xff0c;以区分和凸显关键信息。正确选择和使用标签颜色将有助于提高代码的可读性和可维护性&#xff0c;并且在应用程序和Web开…

云渲染时能否关机或断网?

先说一下云渲染&#xff1a; 基于渲染农场&#xff0c;用户可以将自己制作好的文件打包&#xff0c;通过云渲染客户端将打包文件上传到云渲染的服务器进行渲染。以下是 云渲染中能否关电脑的相关回答&#xff1a; 1.提交、上传文件时可以关电脑吗&#xff1f; 不能。文件提交是…

【敬伟ps教程】颜色和图案的填充

文章目录 油漆桶工具填充命令前景色内容识别图案历史记录黑白灰 渐变图层样式填充填充图层 油漆桶工具 油漆桶工具可以填充前景色和图案&#xff0c;快捷键 G 选好前景色&#xff0c;点击画布&#xff0c;画布就会被填充前景色&#xff1b; 建立选区后&#xff0c;填充会在选…

迅为龙芯2K1000开发板国产处理器操作系统

1、硬件配置 国产龙芯处理器&#xff0c;双核64位系统&#xff0c;板载2GDDR3内存&#xff0c;流畅运行Busybox、Buildroot、Loognix、QT5.12 系统! 2、接口全 板载4路USB HOST、2路千兆以太网、2路UART、2路CAN总线、Mini PCIE、SATA固态盘接口、4G接口、GPS接口WIFI、蓝牙…

算法27:从暴力递归到动态规划(1)

题目&#xff1a;已知数列的规则为 1 1 2 3 5 8 13 21 ..... * 按照这种规则&#xff0c;求第n项, n > 2. 这是典型的斐波拉切数列, 公式为 F(n)F(n - 1)F(n - 2) 那么就可以推导出 F(n)F(n - 1) F(n - 2) F(n-1)F(n - 2) F(n - 3) F(n-2)F(n - 3) F(n - 4) F(3)F(n -…

Spring Boot 如何处理国际化

Spring Boot 国际化 在全球化的今天&#xff0c;很多应用程序需要支持多种语言和地区。为了满足不同用户的需求&#xff0c;应用程序需要提供多语言的支持。Spring Boot 提供了强大的国际化支持&#xff0c;使得开发人员能够轻松地为应用程序添加多语言支持。本文将介绍如何使…

chatgpt赋能Python-python_id用法

Python ID用法介绍 在 Python 编程中&#xff0c;ID 是一个极其重要的概念。ID 是一个对象在内存中的唯一标识符&#xff0c;每个对象都有一个唯一的 ID。在本文中&#xff0c;我们将介绍 Python ID 的用途和用法&#xff0c;并且给出一些示例&#xff0c;以帮助读者更好地理解…

lab4:以time/gettimeofday系统调用为例分析ARM64 Linux 5.4.34

一、ARM64 Linux系统调用过程 &#xff08;1&#xff09;svc指令触发系统调用。 &#xff08;2&#xff09;保存现场&#xff08;el0_sync处的内核汇编代码保存异常发生时程序的执行现场&#xff09;&#xff0c;然后根据异常发生的原因&#xff08;ESR_EL1寄存器&#xff09;…

“不务正业”的奶茶店三个月实现30+万收入

今天我和大家分享一个 我身边的案例。 我有一个朋友 和我分享他朋友的 一个奶茶店 互联网商城的故事。 19年李某开了一家 奶茶店&#xff0c;同时呢 自己在平台做了一个 线上购买奶茶的商城 他是怎么做的呢&#xff1f; 原来每次有客户来到店 购买奶茶的时候。 他会和客户说 扫…

BetaFlight Mark4 H7 Dual270 + BN880 + CRSF 配置存档

BetaFlight Mark4 H7 Dual270 BN880 CRSF 配置存档 1. 源由2. 配置2.1 端口2.2 系统2.3 对齐2.4 GPS2.5 救援2.6 PID2.7 Rate2.8 滤波2.9 接收器2.10 模式2.11 电机 3.差异4. 整机效果5. 飞行效果6. 参考资料 1. 源由 手头这台航模四轴&#xff0c;基本调试的差不多&#xf…

【数据分析之道-Numpy(八)】numpy统计函数

文章目录 专栏导读1、np.mean()2、np.median()3、np.std()4、np.var()5、np.min()6、np.max()7、np.sum()8、np.prod()9、np.percentile()10、np.any()11、np.all() 专栏导读 ✍ 作者简介&#xff1a;i阿极&#xff0c;CSDN Python领域新星创作者&#xff0c;专注于分享python领…