当前位置: 首页 > news >正文

[ndss 2023]确保联邦敏感主题分类免受中毒攻击

Securing Federated Sensitive Topic Classification against Poisoning Attacks

摘要

我们提出了一种基于联邦学习 (FL) 的解决方案,用于构建能够检测包含敏感内容的 URL 的分布式分类器,即与健康、政治信仰、性取向等类别相关的内容。尽管这样的分类器解决了以前的局限性离线/集中式分类器,它仍然容易受到恶意用户的中毒攻击,这些用户可能试图通过传播错误的模型更新来降低良性用户的准确性。为了防止这种情况,我们开发了一种基于主观逻辑和基于残差的攻击检测的鲁棒聚合方案。结合理论分析、跟踪驱动的模拟以及原型和真实用户的实验验证,我们表明我们的分类器可以高精度检测敏感内容,快速学习新标签,并在中毒攻击时保持鲁棒性来自恶意用户的输入,以及来自非恶意用户的不完美输入。

一、引言

大多数人并不知道即使在敏感网络域上也存在跟踪服务。当谈到许多人对其在线隐私的焦虑时,在癌症讨论论坛、约会网站或具有非主流政治亲和力的新闻网站上被跟踪可以被视为“房间里的大象”。一般数据保护条例 (GDPR)  [33]对敏感个人数据的收集和处理施加了具体限制,“揭示种族或民族血统、政治观点、宗教或哲学信仰或工会会员身份,以及基因数据、用于唯一识别自然人的生物识别数据、数据关于健康或有关自然人性生活或性取向的数据”。世界各地的其他公共机构也是如此,例如在加利福尼亚州(《加利福尼亚州消费者隐私法》(CCPA)  [34]), 加拿大 [35], 以色列 [36], 日本 [37]和澳大利亚 [38]。

在最近的一篇论文中,Matic 等人。 [4]展示了如何训练分类器来检测 URL 的内容是否与上述任何敏感类别相关。使用从 Curlie 获得的 156,000 个敏感 URL 来训练分类器 [32]众包网络分类项目。尽管已证明具有很高的准确性,但该方法由于集中与固定训练集相关而存在局限性。第一个限制意味着该方法不能“按原样”使用来驱动隐私保护分布式分类系统。第二个限制意味着覆盖与尚未见过的敏感内容相关的新标签并不简单。例如,在他们的工作中,健康类别的分类准确率超过 90%。然而,2020 年从 Curlie 获得的培训标签并不包含任何与 COVID-19 大流行相关的标签。因此,如稍后所示,该分类器对 COVID-19 相关网站进行分类的准确率仅为 53.13%。

联邦学习(佛罗里达州)  [5,13]为上述两个限制提供了一个自然的解决方案,即集中训练和固定训练集的训练。FL 允许不同的客户在本地训练他们的分类模型,而无需透露他们标记的新的或现有的敏感 URL,同时通过共享模型更新进行协作,这些模型更新可以组合起来构建卓越的全局分类模型。FL 已在大量实际应用中证明了其价值,包括移动计算 [46,47,48]健康和医疗应用 [49,50,51]。然而,由于其本质,FL 很容易受到所谓的中毒攻击 [26,12]由恶意客户端安装,这些客户端可能会故意使用错误标签或后门模式训练其本地模型,然后传播结果更新,以降低其他良性客户端的分类准确性。防御此类攻击的最先进方法依赖于强大的聚合 [27,20,16,15,8,60],正如我们稍后将演示的那样,其收敛速度很慢,因此对于我们在本文中解决的敏感内容分类问题来说是不切实际的。

我们的贡献:在本文中,我们采用 FL 进行敏感内容分类。我们展示了如何开发一种强大的 FL 方法来对可能包含 GDPR 敏感内容的任意 URL 进行分类。这种基于 FL 的解决方案允许构建一个分布式分类器,该分类器可以以 Web 浏览器扩展的形式提供给最终用户,以便:(i) 在他们导航到此类网站之前和期间向他们发出警告,尤其是在这些网站被填充时与跟踪器,以及 (ii) 允许他们贡献新标签,例如有关 COVID-19 的健康相关网站,从而使分类器始终保持最新状态。据我们所知,该方法代表了 FL 首次用于此类任务。

我们的第二个主要贡献是开发声誉评分,以保护我们基于 FL 的解决方案免受中毒攻击 [12,26]。我们的方法基于主观逻辑的新颖组合 [3]具有基于残留的攻击检测。我们的第三个贡献是开发了一个广泛的理论和实验性能评估框架,用于研究我们提出的机制的准确性、收敛性和抗攻击能力。我们的最终贡献是在名为EITR (代表隐私的“房间里的大象”)的原型系统中实施我们的方法,以及我们对真实用户的初步实验验证,其任务是为准确分类 COVID-19 相关 URL 提供新标签。

我们的发现:通过结合理论分析、模拟和真实用户实验,我们:

  • 过实验证明我们基于 FL 的分类器达到了与 [4]。

  • 通过分析证明,在数据中毒攻击下,我们围绕主观逻辑构建的基于声誉的鲁棒聚合,在标准假设下收敛到相应拜占庭容错问题的近乎最优解决方案。由此产生的性能差距由恶意用户的百分比决定。

  • 根据联邦平均等最先进的算法对我们的解决方案进行实验 评估5] , 坐标中位数 [20] , 截尾均值 [20] , 愚人金 [15,8] , 基于残差的重新加权 [16]和 FLTrust  [60],并通过使用不同的真实世界数据集证明我们的算法在拜占庭攻击下具有鲁棒性。我们证明,我们的解决方案在收敛速度方面优于这些流行的解决方案,其范围为1.6×到2.4×同时达到相同或更好的精度。此外,我们的方法产生最一致和最低的攻击成功率 (ASR),与所有其他方法相比平均提高至少 72.3%。

  • 使用我们的EITR浏览器扩展程序验证我们基于 FL 的解决方案可以快速学习对有关 COVID-19 的健康相关网站进行分类,即使考虑到真实用户提供的嘈杂/不一致的输入也是如此。

本文其余部分的结构如下: 第二部分介绍了我们主题的背景。第三节 介绍了我们基于FL的敏感内容分类的声誉方案及其理论分析和保证。第四部分 介绍了我们针对最先进技术进行的广泛性能评估,第五部分介绍了 我们的EITR浏览器扩展的一些初步结果。第六节 总结了本文,并指出了正在进行的和未来的工作,包括将我们的方法推广到其他主题。

二背景

Ⅱ-A针对敏感内容的集中式离线分类器

马蒂奇等人。 [4]展示了如何开发能够检测包含敏感内容的 URL 的文本分类器。该分类器是集中式的,开发的目的是进行一次性离线研究,旨在估计包含此类内容的网络百分比。尽管达到了至少 88% 的准确率,但利用通过过滤 Curlie 网络分类项目精心收集的高质量训练集 [32],此分类器不能“按原样”使用来保护访问由跟踪服务填充的敏感 URL 的真实用户。

Ⅱ-B为用户开发实用分类器的挑战

从离线到在线:[中的分类器 4]使用包含 156,000 个敏感 URL 的数据集进行训练。尽管是近期文献中同类数据中最大的数据集,但该数据集是静态的,因此代表了收集时的敏感主题。当然,这并不意味着用这些数据训练的新分类器永远无法准确地对属于这些敏感类别的新 URL 进行分类。这是因为健康等类别涉及的内容和术语不会随时间发生根本变化。当然,可能会出现新类型的敏感内容,无论出于何种原因,使用从同一敏感类别的过去内容中提取的特征可能无法如此准确地进行分类。与最近的 COVID-19 大流行相关的内容就是一个例子。尽管健康类别在训练集中有 74,764 个 URL  [4]这导致健康的分类准确率为 88%,正如我们稍后将在图 14 VC 节中间 看到的那样, [的分类器 4]在我们测试的 COVID-19 URL 中,只有 53.13% 准确地分类为健康。这应该不足为奇,因为 [的数据集4]对应于 2020 年头几个月之前生成的内容,在此期间,COVID-19 尚未成为热门话题。因此,我们需要找到一种方法来更新现有的分类器,使其在新的敏感内容出现时保持准确。

从集中式到分布式:保持分类器最新的一种自然方法是要求最终用户在遇到新的敏感 URL 时对其进行标记。最终用户可以向集中式服务器报告此类 URL,然后可以使用这些 URL 来重新训练分类模型。然而,这带来了明显的“第二十二条军规”性质的隐私挑战,因为为了通过警告用户敏感 URL 上存在跟踪器来保护用户,他们首先需要向潜在不受信任的集中式服务器报告他们访问了此类 URL 。即使采用一些解决数据稀缺问题的方法,例如半监督学习,用户的手动标记仍然很敏感,并且可能会受到不可信服务器的损害。正如已经提到的,联邦学习是一种很有前途的解决方案,可以通过进行分布式(尽管是保护隐私的)模型训练来避免上述 Catch22。在解决我们问题的 FL 方法中,用户将在本地标记新 URL(例如,将 COVID-19 URL 标记为“健康”),在本地重新训练分类器模型,然后将模型更新(而不是标记数据)发送到集中式服务器,该服务器从以下位置收集此类更新:所有用户,编译新版本的模型并将其重新分发给他们。在第三节中, 我们展示了如何开发 [的敏感主题分类器的分布式版本]4]使用FL。使用 FL 的缺点是分布式学习组容易受到攻击,例如第四节中讨论的“标签翻转”中毒 攻击。本文开发了一种用于减轻此类攻击的信誉方案。第六节讨论了其他类型的攻击和保护参与基于 FL 的敏感内容分类系统的用户隐私的措施 。

Ⅱ-C相关工作

隐私保护众包:Price $heriff 等服务也面临着与上一段讨论的类似挑战。54]和EyeWnder  [55]分别使用众包来检测在线价格歧视和定向广告。安全多方计算(SMPC)技术,例如私有�-方法 [56] 用于允许最终用户以保护隐私的方式在集中式服务器中发送数据。Price $heriffeyeWnder执行的集中计算不属于 ML 性质,因此数据匿名化成为主要挑战,而 SMPC 非常适合。将内容分类为敏感或不敏感是一种更复杂的基于 ML 的算法,对于该算法,FL 是比 SMPC 更自然的解决方案。
FL 的一般作品: FL  [5,13]是一种引人注目的技术,用于训练大规模分布式机器学习模型,同时保持安全性和隐私性。FL 的动机是本地训练数据始终由客户端保存,服务器无法访问这些数据。由于这种好处可以减轻隐私问题,一些公司已在现实世界的服务中使用 FL。在移动设备中,FL用于预测键盘输入 [46] , 人员流动性 [47]和物联网行为 [48]。FL 还应用于医疗保健领域来预测疾病 [49,50],检测患者相似度 [51]同时克服任何隐私限制。对于分类来说,FL不仅仅用于图像分类 [52]还有文本分类 [53]。
对中毒攻击的抵抗力:由于其性质 [26,12],FL容易受到中毒攻击,例如标签翻转 [16]和后门攻击 [12]。因此,几种防御方法被开发出来 [20,16,15,8]。虽然这些最先进的方法在某些情况下表现出色,但它们并非没有局限性。首先,它们不适合我们的敏感内容分类,这需要分类器对互联网上出现的“新鲜”敏感信息做出非常快速的响应。在现有方法中,主要目标是实现高分类精度。这是通过对客户提供的模型更新进行统计分析并在聚合阶段之前丢弃可疑的异常值来实现的。然而,由于服务器默认不信任每个人,即使诚实的客户端发现了一些新的敏感标签,其相应的更新也可能被丢弃或分配较低的权重,直到更多的客户端开始发现这些标签。这会导致新标签的学习速度变慢。

二、近期研究 [26,12]已经表明,现有的拜占庭鲁棒 FL 方法仍然容易受到局部模型中毒的影响,因为它们由于不跟踪先前聚合轮次的信息而导致健忘。因此,攻击者可以通过跨时间传播攻击来有效地发起攻击 [31]。例如,[22]最近表明,即使经过无限的训练周期,任何忽略过去的聚合都无法收敛到有效的解决方案。

前面的研究证明了将客户之前的长期表现纳入评估其可信度的重要性。最近很少有研究考虑过这种方法 [60,22]。在 [22],作者建议利用历史信息进行优化,但不用于评估可信度。在 [60],根据客户端和服务器模型更新之间的余弦相似度为每个客户端模型更新分配信任分数,该信任分数在服务器的根数据集上进行训练(详细信息请参见第 IV-A 3节)。然而,服务器获取额外的数据(例如根数据集)来训练服务器端模型是不切实际的。此外,由于服务器只收集一次根数据,并且在整个训练过程中不会更新它,因此当随着时间的推移出现新类型的内容时,根数据可能会变得过时,从而损害分类器的性能。最近的其他研究采用了光谱分析 [63] , 差分隐私 [65]和深度模型检查 [66]来防范中毒攻击,但是,同样,他们不使用历史信息来评估客户端的可靠性。为了衡量客户端的可信度而不在服务器上收集额外的数据,在接下来的部分中,我们将展示如何设计一个强大的聚合方法来根据客户端的历史行为自动生成声誉,这对于真正的基于 FL 的去中心化来说是一种更现实的方法系统作为客户端的浏览器扩展实现。

三、用于对 Web 上的敏感内容进行分类的鲁棒 FL 方法

在本节中,我们首先展示如何为敏感内容构建基于 FL 的分类器。然后我们设计一个声誉评分来防止中毒攻击。我们从理论上分析了基于 FL/信誉的组合解决方案,并在常见操作假设下建立了收敛性和准确性保证。

Ⅲ-A用于对敏感内容进行分类的 FL 框架

表I给出了我们在本文剩余部分中使用的符号。在FL中,客户端从其本地模型向服务器提供更新的参数,服务器聚合这些参数以构建全局模型 M 。

III-B A挫败中毒攻击的声誉得分

图2:基于声誉的聚合算法概述。
图2:基于声誉的聚合算法概述。

图2显示了我们基于信誉的聚合算法的概述,该算法由三个组件组成:攻击检测方案、信誉模型和聚合模块。攻击检测方案重新缩放并纠正从客户端接收的破坏性更新。然后,信誉模型根据每个客户端过去的检测结果计算每个客户端的信誉。最后,聚合模块通过使用客户端的信誉分数作为权重来平均客户端的更新来计算全局模型。我们将在以下小节中详细介绍每个组件。

III-B1攻击检测方案

我们的攻击检测方案旨在通过识别可疑更新并应用重新缩放算法来减少可疑更新的影响。在每次迭代中,当来自客户端的模型更新到达服务器时,我们在那里应用算法1来重新调整更新中这些参数的值的范围。

对值范围的这种限制不仅旨在最大限度地减少攻击者异常更新的影响,还旨在限制重复中位数回归的斜率。考虑到所有参与者在第1轮中的第0个参数,我们计算该系列的标准差第2个参数。然后,我们将它们按升序排序,并通过从最高值中减去最低值来确定范围。如果结果高于阈值ω  ,则通过分别减去和添加其标准差来重新缩放最高值和最低值,以进一步限制其范围。

 III-B2声誉模型

为了演示声誉模型如何演变,我们考虑四种情况,其中每个客户端:(i)在同一迭代中仅攻击一次,(ii)在同一迭代中发起攻击后连续攻击,(iii)在不同迭代中仅攻击一次,(iv)在不同迭代中发起攻击后连续攻击。在这里,客户端在训练本地模型时利用污染数据进行第IV-A2节中描述的攻击,而服务器使用我们的攻击检测机制来识别这些攻击。

Refer to caption

图三:当户端(X )(a)在第三次迭代时攻击一次,并且(B)在第三次迭代时和之后连续攻击时,具有 X模型参数的客户端( X )中的信誉分数的衰减。

图3显示了前两个场景(i)-图3a和(ii)-图3b,分别是在单次和连续攻击下,客户端 X 在其本地模型中具有 X参数。在图3a中,所有客户端在第三次迭代中只攻击一次。当他们开始攻击时,他们的声誉得分急剧下降。在这两种情况下,我们观察到拥有更多参数的客户端在声誉得分上有较大的相对下降。这也与第III-C节中的推论1相容,即,增加全局模型中的参数 X 的数量导致较低的错误率。

图4显示了最后两个场景(iii)和(iv),分别是客户端在其本地模型中有20个参数,在单一和连续攻击下。在图4a中,客户端X 仅在 X迭代时发起攻击。我们观察到,只有一次攻击会导致声誉得分至少下降25.11%。在图4b中,客户端X 在 X迭代时发起攻击,并在随后的迭代中继续攻击。最后,我们观察到80%的信誉评分低于0.5,这大约是诚实客户信誉评分的一半,这意味着他们在整个聚合过程中可能造成的损害大大减少。

Refer to caption

图四:在具有相同模型参数的客户端X 中,当它们(a)在X迭代时攻击一次并且(B)在X 迭代开始攻击之后连续攻击时信誉分数的衰减。

此外,我们考虑了一种情况,其中攻击者在较长的时间内传播中毒,同时使用更多的模型参数。图5(左)描述了在不同参数大小下进行40次迭代的攻击。图5(右)描述了每50到80次迭代重复100万个参数的攻击。这些数字表明,即使攻击者在多次迭代中传播我们的中毒,然后试图通过善意的行为来恢复他们的声誉得分,我们的检测方案仍然可以识别他们。这是因为我们的攻击检测和信誉方案按顺序工作。攻击检测方案检测恶意更新,而不考虑任何信誉分数,并纠正他们,以减轻损害。然后,信誉方案基于检测结果修改信誉分数。此外,使用更多模型参数的攻击者遭受的声誉降低略高,这与推论1一致。

III-B3聚合算法

在服务器获得校正更新和每个客户端的标准化声誉之后,它使用平均加权声誉作为权重来聚合更新,以获得当前迭代的全局模型更新。通过这种方式,即使在许多训练轮中,攻击者仍然无法从目标方向明显地改变参数,这确保了所产生的全局模型的质量,这将在接下来的实验和分析中得到证明。

相关文章:

  • “新华三杯”第十届成都信息工程大学ACM程序设计竞赛(同步赛)L. 怎么走啊(最短路+二分 分段函数)
  • 视频监控案例分析
  • Jenkins离线安装部署教程简记
  • SQL Server ,使用递归查询具有层级关系的数据。
  • 家政预约小程序带商城,图文详解
  • LeetCode刷题--- 二叉搜索树中第K小的元素
  • 如何使用 Flutter 和地理位置 API 构建基于位置的移动应用程序?
  • 【前端】HTML5 CSS3新特性(学习笔记)
  • 12. IO
  • 2-2基础算法-递归/进制转换
  • mysql 与mssql 命令有那些区别
  • 【算法系列篇】递归、搜索和回溯(三)
  • HarmonyOS学习0基础版
  • 【深度学习】注意力机制(三)
  • weston 1: 编译与运行傻瓜教程(补充)
  • django开发-定时任务的使用
  • Java反射-动态类加载和重新加载
  • linux安装openssl、swoole等扩展的具体步骤
  • Linux各目录及每个目录的详细介绍
  • Redis 懒删除(lazy free)简史
  • Spring框架之我见(三)——IOC、AOP
  • 猴子数据域名防封接口降低小说被封的风险
  • 记一次删除Git记录中的大文件的过程
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 入手阿里云新服务器的部署NODE
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 微信开源mars源码分析1—上层samples分析
  • 微信小程序实战练习(仿五洲到家微信版)
  • 物联网链路协议
  • 一份游戏开发学习路线
  • puppet连载22:define用法
  • ​​​​​​​​​​​​​​Γ函数
  • ​configparser --- 配置文件解析器​
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #android不同版本废弃api,新api。
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (1)常见O(n^2)排序算法解析
  • (PHP)设置修改 Apache 文件根目录 (Document Root)(转帖)
  • (每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第3章 信息系统治理(一)
  • (学习日记)2024.01.09
  • (转)memcache、redis缓存
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)一些感悟
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .bat批处理(三):变量声明、设置、拼接、截取
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET 8.0 发布到 IIS
  • .net Application的目录
  • .NET CF命令行调试器MDbg入门(一)
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • .NET牛人应该知道些什么(2):中级.NET开发人员