即传统的机器学习训练,在模型训练之前,各方的数据需要被数据收集者集中收集,然后由数据分析者进行模型训练。数据收集者和数据分析者可以不同
缺点:用户的数据被收集之后,用户很难获得对数据的控制权
联邦学习则是通过共享一个全局模型,参与者的数据保留在本地,只需将训练后的模型更新参数上传到参数服务器,由参数服务器整合参数,从而实现模型更新即可。
与传统机器学习相比,联邦学习提高了学习效率,还能解决数据孤岛问题,保护本地数据隐私。
需要收集数据,将数据收集者收集的训练数据分发给多个服务器,然后由中央服务器协调进行迭代,从而训练出最终模型
随着机器学习的进一步深入研究,其安全和隐私问题也收到越来越多的重视。有学者将机器学习的CIA模型表示如下:
研究表明,在机器学习的各个阶段,CIA模型的三个特性都有可能被破坏,且对应的攻击方法被称为机密性攻击、完整性攻击和可用性攻击。
机密性攻击:通过窃取训练数据中的敏感信息,或者暴露目标模型及预测结果来进行攻击
完整性攻击是通过诱导模型行为,使模型输出结果为指定的分类标签或者是使模型输出错误的结果、降低模型的置信度等
可用性攻击主要用于阻止用户获得模型的正确输出或者是干预用户获得的模型,使模型不具备可靠性
敌手模型常常被用来刻画一个敌手的强弱。目前普遍接受的敌手模型或攻击者模型是以敌手目标、敌手知识、敌手能力和敌手策略这4个维度刻画的。
敌手目标是指敌手期望达到的破坏程度和专一性。破坏程度包括完整性、可用性和隐私性、专一性包括针对性和非针对性。
破坏完整性:未经过数据拥有者的同意对数据进行增删、修改或破坏
破坏可用性:使目标服务不可用
破坏隐私性:窃取隐私数据
破坏专一性:针对性目标和非针对性目标则是可以产生针对性的目标破坏或者非针对性的破坏
敌手知识是指敌手对目标模型或目标环境拥有的信息多少,包括模型的训练数据、模型结构及参数和通过模型得出的信息等.
敌手能力是指敌手对训练数据和测试数据的控制能力,可以将敌手对数据的影响定义为诱发性的(对数据集有影响)或者探索性的(对数据集无影).
也可将敌手能力定义为敌手是否可以干预模型训练、访问训练数据集、收集中间结果等
根据敌手对数据、模型的控制能力可进一步将敌手分为强敌手和弱敌手。强敌手是指敌手可以一定程度地干预模型训练、访问训练数据集和收集中间结果等;而弱敌手则只能通过攻击手段获取模型信息或者训练数据信息。
敌手策略是指敌手采取的攻击方式。通常在机器学习的不同阶段采用不同的攻击方式。如在训练阶段常采用投毒攻击。在预测阶段采用对抗攻击、隐私攻击等
由于机器学习主要分为训练和预测两个阶段。在训练阶段常见的安全威胁为投毒攻击,在预测阶段常见的安全威胁包括对抗攻击、隐私攻击和预测数据的隐私泄露。
投毒攻击就是敌手可以通过修改、删除或注入不良数据,改变原有数据集,使模型训练的结果产生偏差。
投毒攻击会破坏模型的完整性和可用性。
根据攻击的目标可以将投毒攻击分为破坏完整性目标的投毒攻击和破坏可用性目标的投毒攻击
破坏完整性目标的投毒攻击就是敌手通过选择一个精心构造的恶意数据注入你的训练数据集中,通过这个精心构造的恶意数据,来破坏模型的完整性。如“后门”攻击,攻击者将“后门”植入模型中,其隐蔽性极强,只对具有特定后门触发器的输入样本做出特定的错误预测。
破坏可用性目标的投毒攻击主要是使模型不可用.该类攻击主要是通过破坏原来训练数据的概率分布,使得训练出的模型决策边界偏离或者使得模型精度降低
根据投放数据的类型可以具体分为数据投毒和模型投毒。
数据投毒是对训练集中的样本进行污染(如添加错误的标签或者有偏差的数据),如标签翻转攻击
模型投毒则是发送错误的参数或者是损坏的模型来破坏学习过程(如控制本地模型参数),如后门攻击(模型能正确分类正常样本,同时能够识别携带触发器的样本并预测攻击者希望的分类结果)
对抗攻击是指敌手在模型原始输入上添加对抗扰动,选择和产生对抗扰动十分非常关键,对抗扰动一般是微小的并且有能力使模型产生错误输出。
根据敌手对模型的了解程度可将对抗攻击分为白盒攻击和黑盒攻击两类。
将寻找添加的对抗扰动问题定义为一个优化问题。
求解优化问题的方法:
1.L-BFGS,该方法攻击成功率高,但同时计算成本高。
2.C&W攻击。改进L-BFGS的目标函数,并通过改变变量解决边界约束问题
3.EAD。在C&W攻击的基础上结合弹性网正则,该方法生成的对抗样本相较于C&W生成的对抗样本具有更好的迁移性。
4.基于求解优化问题构造通用扰动的算法。该算法基于深度神经网络特征映射的雅可比矩阵的(p,q)-奇异向量
1.快速梯度符号法(FGSM)。该方法假设数据点附近决策边界是线性的,因此沿着梯度的反方向添加扰动即可。该方法能快速生成对抗样本,但是线性条件往往不成立,且该方法是单步攻击方法,成功率较低。
2.基本迭代方法I-FGSM(BIM)。该方法使用贪婪法在每次迭代中将对抗样本沿梯度方向移动,然而迭代方法生成的对抗样本很容易过拟合到局部极值点,因此迁移性较弱。
3.基于梯度的动量迭代攻击方法MI-FGSM。该方法在稳定更新方向的同时还能逃离局部极值点,使生成的对抗样本具有很高的迁移性,使其具有强大的黑盒攻击能力
4.M-DI2-FGSM方法,在3的基础上引入了输入转换,进一步提高了对抗样本的迁移性。
5.PGD。该方法是在2方法的基础上进行的改进,即每轮迭代的移动距离是随机
6.基于雅克比矩阵的JSMA。该方法的主要思想是通过添加噪声稀疏噪音的方式来构造对抗样例。该方法允许添加大的扰动,但是要求被扰动的像素点要少
基于梯度的攻击方法能很快的生成对抗样例,但是无法控制达到攻击目标的最优扰动规模。因此提出了Deepfool和UAP算法,寻找使分类器产生误判的最小扰动。
该方法生成的扰动具有更强的泛化能力和更强的黑盒攻击能力
对抗性转换网络(ATN):将任何输入样本转换为使目标网络产生错误分类的对抗样本,同时保证干扰最小。
AdvGAN:基于GAN的对抗样例生成方法,其中,生成器用于产生对抗扰动,鉴别器用于确保生成的对抗样例是真实的
对抗补丁生成算法,可以使其加到任何图片上都可以让原图被识别为特定类别。其中PS-GAN方法将GAN和Grad-CAM结合到对抗补丁的训练中,能训练一种更不易被发现但又拥有强攻击力的补丁
黑盒攻击具有普遍性和现实意义。根据攻击时采用的策略的不同,现有的黑盒攻击方法主要分为基于迁移性的方法、基于梯度估计的方法、基于决策的攻击方法和基于采样的方法
对抗样本具有迁移性,即:针对目标模型生成的对抗样本,同样有可能让其他模型出错。
攻击者利用与黑盒目标模型相同或具有类似分步的数据集上训练自己的模型,然后针对自己训练的模型生成对抗样本,利用对抗样本的迁移性欺骗黑盒的目标模型
零阶优化的有限差分算法ZOO,直接估计目标深度学习模型的梯度,来生成对抗样例。该方法需要较多的查询次数且依赖于模型的预测值,不适用于查询次数有限或者是模型结果为分类标签的情况。
因此,针对模型查询次数有限的情况,提出了利用随机特征分组和主成分分析算法以减少生成对抗样例所需的查询模型次数;还可以将梯度先验和老虎机优化算法相结合的算法;还提出了AutoZOO框架
针对只能获得模型预测的类别标签的情况,可利用边界攻击算法。其主要思想:将初始数据向原始样本靠近直到找到决策边界,并在决策边界上找到与原始样本最近的对抗样本。与基于迁移性的攻击相比,该方法所需的模型信息更少,易实现,但是需要更多的查询次数。在梯度掩藏,内部随机性或对抗训练等防御措施下,该方法攻击力更强
由于部分神经网络的预测函数是不平滑的,因此采用自然进化策略(NES)进行梯度估计不可靠。从而提出了有约束的NES公式作为目标函数,以正常输入样本为中心的领域上定义的概率密度分布来平滑损失函数.如果能够找到一个损失很小的分布,那么从该分布中采样的样本很可能就是对抗样例
隐私攻击是专注于隐私的一类攻击,攻击的目标是模型的隐私和数据的隐私。根据攻击的目标可将其分为模型提取攻击,数据提取攻击和成员推理攻击。根据获取隐私的方式可将隐私攻击分为重构攻击和成员推断攻击。
重构攻击指攻击者试图重构出训练数据中特定个体的敏感信息或者目标模型。重构出特定个体的敏感信息称为模型反演攻击,重构出目标模型的方法称为模型窃取攻击
模型反演攻击是指敌手通过访问模型API,通过一系列的查询来获取模型训练数据里的隐私数据的一种攻击手段。
且训练好的模型会“记忆”大量隐私信息,因此基于窃取到的替代模型进行模型反演攻击能够明显提升攻击效果
对于结构简单的机器学习模型,也可采用动态分析或计算记录间的相似度等方法可以推测出训练数据中个体的敏感信息
模型提取攻击的目的就是敌手通过对已经训练好
的模型进行应用程序接口查询来非法窃取模型参 数、模型结构,构建一个替代模型甚至非法获取模型本身的一种攻击方式
成员推理攻击的目的是为了判断某个给定样本是否被用于模型的训练中,即判断该样本是否是训练样本的成员。
成员推断攻击在“黑盒”模式下访问目标模型,利用模拟数据(访问模型API获取的数据)构建目标模型的影子模型,并基于影子模型的预测结果和目标模型的输出结果训练一个能够判断是否是目标模型训练数据的攻击模型(注意:1.用来训练影子模型的模拟数据应与真实训练数据具有相似的分布;2.影子模型的结构应该与目标模型一致)
成员推断攻击在“白盒”模式下,通过得到模型在训练集上的平均损失,并通过评估模型关于某条数据的损失是否超过训练平均损失来判断该数据是否是训练数据
1.隐私问题只是造成了训练数据的泄露,模型本身不会受到影;安全问题会导致模型的内在逻辑被恶意诱导或破坏,从而无法实现预期功能
2.隐私攻击大多发生在模型应用阶段;安全攻击即有可能发生在模型应用阶段,也有可能发生在模型训练阶段
投毒攻击是在训练数据中注入异常数据,因此,投毒样本可以被视为异常值。
从保护数据的角度出发:在训练模型之前要保证数据来源的真实性与可靠性(可以使用健壮的身份验证机制);如果不能保证使用安全的数据,要进行相应的检测来判断数据是否被污染,对于被污染的数据,要进行数据清理(攻击检测和删除)或者是鲁棒学习来净化训练样本。
鲁棒学习是基于主成分分析的投毒攻击检测模型。为了限制异常值对训练分布的影响,该检测模型约束PCA算法搜索一个特定方向,该方向的投影最大化了鲁棒投影跟踪估计的单变量离散度量,而不是标准偏差。
利用训练集中原始和变换后数据点的上下文信息来识别有毒数据,从而实现在潜在的对抗性环境中在线和定期重新训练机器学习模型。
只有当存在后门触发器时才会触发恶意行为,因此后门检测十分困难。
有学者提出了激活聚类(AC)方法,用于检测被植入后门触发器的训练样本,该方法通过分析训练数据的神经网络激活状态,以确定是否遭受后门攻击并且判断该样本是否是恶意样本。
也有学者提出了针对深度神经网络后门攻击的检测系统。该系统利用输入过滤、神经元修剪和unlearning等方法,能够识别深度神经网络中是否存在“后门”,并重建可能的后门触发器。
对抗攻击的防御手段有很多,如对抗训练、数据增强、数据去噪、数据压缩、防御蒸馏、梯度掩码、对抗样本检测、基于GAN的防御等方法
机器学习的隐私由于大规模数据收集和模型本身携带训练数据中的个体信息,因此对于隐私保护有两个研究方向:一是改变数据集中收集的训练模式;二是设计隐私保护方法,使模型训练过程实现隐私保护
针对机器学习的隐私保护主要有同态加密技术、安全多方计算技术和差分隐私保护机制等方式
同态加密技术允许直接在密文上面进行运算,运算之后解密的结果与明文下做运算的结果一致。同态加密技术常用于保护隐私的外包计算和存储中,主要是首先将数据加密,然后将加密的数据发给云进行存储或者计算,云直接在密态数据上进行操作。
安全多方计算是一个让互不相信的参与方能在自身私有输入上共同计算一个函数,进行协同计算的协议,允许在不公开各方真实数据的同时保证计算结果的正确性。其过程不会泄露除函数的输出之外的任何信息。
差分隐私(DP)是一种隐私定义,即函数的输出结果对于数据集里的任何特定记录都不敏感(比如两个数据集中只有1条记录有差别,查询这两个数据集且获得相同输出的概率非常接近。因此,用户即便获取了输出结果,也无法通过结果推测出输入数据来自哪一方)。为了保证这一性质,差分隐私通过给敏感数据添加噪声来实现。
DP技术按照数据收集方式的不同,可以分为中心化差分隐私和本地化差分隐私,主要区别在于差分隐私对于数据处理的阶段不同。
(1)中心化差分隐私依赖一个可信的第三方来收集数据,用户将本地数据发送不是到可信第三方,然后在收集的数据中进行差分隐私处理。但可信第三方在现实生活中通常很难获得。
(2)本地化差分隐私将数据隐私化的工作转移到每个参与方,参与方自己来处理和保护数据,再将扰动后的数据发送到第三方,由于发送的数据不是原始数据,因此不需要要求第三方是可信的。
中心化差分隐私技术的例子:
由于模型的使用增加,则噪声量也就随之增长,会导致模型的预测准确性降低。因此,提出了PATE框架,该框架先将训练数据划分成 N 个不相交的子集;然后用这些子集分别训练不同的模型,得到 N个独立的模型;最后在预测阶段,通过统计每个教模型的预测结果并选取票数最高的结果将预测结果。在统计票数时,引入拉普拉斯噪声。
本地化差分隐私技术的例子:
在联邦学习中,为了避免逆向推理出参与者的隐私信息,常常在参与者上传给服务器的参数中添加随机噪声。基于此,有学者提出DP和SGD(随机梯度下降)算法结合的隐私保护深度学习方法,该方法主要是通过在小批量步骤后利用噪声干扰本地梯度实现隐私保护。
差分隐私需要处理的数据可分为数值型和非数值型数据,针对不同的数据有不同的实现方法,前面说到差分隐私是通过添加噪声来实现的,那么要想知道不同算法函数需要添加的噪声才能提供差分隐私保护,就需要定义该算法在当前数据上的全局敏感度。
全局敏感度是指两个兄弟数据集D和D’(只相差一个元素)和一个查询函数f最大的变化范围,这里的敏感度为1.敏感度公式定义如下:
若是laplace,则采用L1敏感度,是高斯机制,则采用L2敏感度
对于数值型差分隐私,常采用Laplace或者高斯机制,对得到数值结果加入随机噪声即可实现差分隐私;对于非数值型的数据,一般采用指数机制并引入一个打分函数,对每一种可能的输出都得到一个分数,归一化之后作为查询返回的概率值
数值型差分隐私:
Laplace机制提供的是严格的隐私保护,而高斯机制则提供的是松弛的隐私保护机制(在laplace的基础上引入了松弛变量)
Laplace机制:
laplace噪声表示如下:
其中f表示的是查询函数, Y表示的是Laplace随机噪声, M(D)表示的是最后的返回结果。因此基于laplace机制的差分隐私公式可表示如下:
Pr{f(D)∈O} ≤ exp(ε)·Pr{f(D’)∈O}.
高斯噪声表示如下:
其中M(D)的定义和laplace一样,ε表示隐私预算,和噪声成负相关,δ表示松弛项,即允许容忍的误差,因此基于高斯的差分隐私保护表示如下:
值得注意的是隐私保护预算开销和联邦学习效率之间的平衡很难抉择。隐私保护预算较低会阻碍本地
模型收敛,较高会影响隐私保护的效果。且隐私保护不能保证参数传递过程中的机密性。
同态加密技术具有计算开销大、效率低、可用性差、使用场景广的特点,它适合集中式学习、外包计算等场景;
安全多方计算技术具有可用性高、通信开销大、效率低的特点,它适合分布式学习、联邦学习等场景;
差分隐私技术具有计算开销小、效率高、可用性差的特点,它适合训练数据的收集、模型参数保护等场景