本博客地址:https://security.blog.csdn.net/article/details/122784012
一、联邦学习攻击的一些概念
在机器学习任务中,参与方通常会扮演三种不同的角色:
● 输入方,如数据的原始拥有者;
● 计算方,如模型建立者和推理服务提供者;
● 结果方,如模型查询者和用户;
对机器学习系统的攻击可能在任何阶段发生,包括数据发布、模型训练和模型推理。
在模型训练阶段,发生的攻击叫作重构攻击
。计算方的目的是重构数据提供者的原始数据,或者学习关于数据的更多信息,而不是最终模型所提供的信息。重构攻击是联邦学习的主要隐私关注点。
在模型推理阶段,一个敌对的结果方可能会使用反向工程技术来获取模型的额外信息,以此实施模型反演攻击
或成员推理攻击
。
在数据发布阶段,发生的则主要是特征推理攻击
。
二、攻击者的类型
● 半诚实的敌手:在半诚实敌手模型中,敌手诚实地遵守协议,但也会试图从接收到的信息中学习更多除输出以外的信息。
● 恶意的敌手:在恶意的敌手模型中,敌手不遵守协议,可以执行任意的攻击行为。
三、常见的攻击方式
3.1、重构攻击
敌手的目标是在模型的训练期间抽取训练数据,或抽取训练数据的特征向量。在集中式学习中,来自不同数据方的数据被上传至计算方,这使得数据很容易受到敌手(例如一个具有恶意的计算方)的攻击。大型企业可能会从用户中收集原始数据,然而收集到的数据可能会用于其他目的或者是未经用户知情同意便传达给第三方。
在联邦学习中,每一个参与方使用自己的本地数据来训练机器学习模型,只将模型的权重更新和梯度信息与其他参与方共享。然而,如果数据结构是已知的,梯度信息可能也会被利用,从而泄露关于训练数据的额外信息。明文形式的梯度更新可能也会在一些应用场景中违反隐私规定。
为了抵御重构攻击,应当避免使用存储显式特征值的机器学习模型,例如支持向量机(SVM)和k近邻(kNN)模型。在模型训练过程中,安全多方计算和同态加密可以被用来通过保护计算中间结果来抵御重构攻击。在模型推断过程中,计算方只应当被授予对模型的黑盒访问权限。安全多方计算和同态加密可以被用于在模型推断阶段保护用户请求数据的隐私。
3.2、模型反演攻击
敌手被假设为对模型拥有白盒访问权限或黑盒访问权限。对于白盒访问,敌手不需要存储特征向量便能获取模型的明文内容。对于黑盒访问,敌手只能查询模型的数据和收集返回结果。
敌手的目的是从模型中抽取训练数据或训练数据的特征向量,拥有黑盒权限的敌手也可能会通过实施方程求解攻击,从回应中重构模型的明文内容。
理论上,对于一个N维的线性模型,一个敌手可以通过N+1次查询来窃取整个模型的内容。该问题的形式化是从(x,hθ(x))
中求解θ
。敌手也能通过“查询-回应”过程对来模拟出一个与原始模型相似的模型。
为了抵御模型反演攻击,应当向敌手暴露尽可能少的关于模型的信息。对模型的访问应当被限制为黑盒访问,模型输出同样应当受限。
3.3、成员推理攻击
敌手对模型至少有黑盒访问权限,同时拥有一个特定的样本作为其先验知识。敌手的目标是判断模型的训练集中是否包含特定的样本。
敌手通过机器学习模型的输出试图推断此样本是否属于模型的训练集,此时敌手的目标是获知给定样本是否在模型的训练集中,假设敌手为对模型拥有白盒访问权限或黑盒访问权限和一个样本,那么敌手将基于机器学习模型的输出来推理一个样本数据是否隶属于该模型的训练集。
3.4、特征推理攻击
敌手出于恶意目的,将数据去匿名化或锁定记录的拥有者。在数据被发布之前,通过删除用户的个人可识别信息(也称为敏感特征)来实现匿名化,是保护用户隐私的一种常用方法。
然而,这种方法已被证明并非十分有效,一般情况下,当在面对能够获取其他背景知识的强大敌手时,匿名化将会失效。