目录
一、人工智能与安全
1.1 引言
1.2 若干安全问题
二、深度学习即服务中的数据泄露
2.1深度学习即服务(MLaaS)
2.2MLaaS中的数据泄露问题
2.3 MLaaS服务提供者的防御方案
三、对抗样本攻击
3.1 对抗样本攻击的定义
3.2对抗样本攻击的特点
3.3 对抗样本攻击的方法
3.4 对抗样本攻击的安全模型
3.5 对抗样本:超越分类任务
3.6 对抗样本:超越数字空间
3.7 对抗样本:超越视觉领域
四、针对对抗样本的防御
4.1 防御方法分类
4.2 启发式的主动防御
4.3 可证明的主动防御
4.4 基于最小扰动优化的方法
4.5 基于随机平滑技术的方法
4.6 前沿主动防御方案及其缺点
4.7 被动防御
4.8 基于特征的方法
4.9 基于模型/密写分析的方法
4.10 前沿被动防御方案的缺点
五、神经网络后门攻击
5.1 神经网络的后门攻击
5.2 后门攻击的主要方法
5.3 基于投毒的后门攻击
5.4 基于模型参数修改的攻击
5.5 后门攻击的防御方法
5.6 后门攻击与其他攻击的区别
六、总结
人工智能的技术震惊了世界,同时也带来了安全隐患。
2016年3月,AlphaGo以4比1击败李世石。
2017年3月,以3比0击败柯洁。从此人类在围棋上向计算机俯首称臣。
人工智能从未如此强大,但因此带来的安全隐患也从未如此显著。
机器自己也可以是坏蛋 — 后门问题
对机器学习的被动攻击—数据泄露问题
对机器学习的主动攻击—对抗样本问题
深度神经网络:与传统机器学习方法相比,深度神经网络模型的效果提升得益于更多的参数、更多的数据、更多的计算。
优点:不需要特征工程,算法简单易于实现。
缺点:需要更丰富的训练数据,需要更多的计算资源。
深度学习即服务:可能一:用户提供数据和模型,服务提供模型优化。可能二:用户提供数据,服务提供资源和算法进行训练。可能三:用户提供查询,服务提供资源、数据、模型和预测结果。常见的MLaaS平台:Amazon AWS、IBM Watson、百度飞浆
模型的训练数据泄露给查询用户:服务提供者使用私有数据集训练模型。查询用户企图通过查询窃取训练数据。eg:侧信道攻击(获取缓存读写量和内核运行时间等,从而推测模型训练数据):DeepSniffer (ASPLOS’20)、模型反演攻击(使用公共信息帮助推断模型输出与训练数据之间的关联):SecretRevealer (CVPR’20), ModelInversion (CCS’16)、混合攻击(侧信道+模型反演):Hu et al. (ASPLOS’20)、成员推断攻击:训练等效模型,以判断某个特定样本是否存在于训练集中:Shokri et al. (S&P’17),Sablayrolles et al. (ICML’19)、
服务商的模型参数泄露给查询用户:服务商训练好的模型是私有知识产权。用户企图通过查询窃取服务商训练好的模型参数或其训练时使用的超参数。
建立等效模型(通过查询模型,巧妙地构造训练集,使用相同的训练算法得到与目标模型近似等效的模型): KnockoffNets (CVPR’20), Tramer et al. (Security’16), Reith et al. (WPES’19)、超参数窃取(原理上与等效模型方法相似,首先构造训练数据集合,使用相同的训练方法,在模型的超参数空间中使用神经网络模型进行搜索):Cache Telepathy (Security’20), Wang and Gong (S&P’18)
用户查询数据泄露给服务提供者:用户查询数据以明文方式提交。但是用户的查询数据是敏感的隐私内容。
需要保护 (1) 原始查询内容; (2) 服务返回的查询结果。
目前已有的保护方法:
基于Homomorphic Encryption的方法:DELPHI (Usenix Security’20)、LoLa (ICML’19)、CryptoNets (ICML’16)
基于Garbled Circuits的方法:XONN (Usenix Security’19)、MiniONN (CCS’17)
基于Trustzone的方法:Narra et al. (arxiv’19)
保护隐私的模型训练: 通过差分隐私等技术扰动原始训练样本,使攻击恢复出的数据效果变差。DP-SGD (CCS’16)
保护隐私的模型发布: 通过差分隐私等技术扰动模型本身,确保原始模型不能被攻击者反演。Yu et al. (S&P’19)
基于对抗训练的保护方法: 在模型训练中加入关于成员推断攻击的对抗训练过程,将原始的最小化求解转变为关于成员推断攻击的最小-最大化求解过程。Nasr et al. (CCS’18)
采用对抗样本的模型训练:在模型训练过程中,向原始训练数据集中添加关于成员推断攻击的对抗样本,提高模型对抗成员推断攻击的能力。MemGuard (CCS’18)
分析用户查询的保护方法:在MLaaS的用户查询接口处添加关于查询的分析模块,对可疑的用户查询进行干预。 PRADA (EuroS&P’19)
MLaaS场景中的攻防态势仍在升级,还有很多可能等待探索……
深度神经网络能够对原始输入样本进行高精度的正确分类。在模型预测阶段,对输入样本添加一些人眼无法察觉的细微扰动(得到所谓对抗样本),导致模型以高置信度给出错误的分类结果。
隐蔽性高:人眼基本无法分别图片是否加入扰动。
侵害面广:对抗样本攻击能够侵害大多数基于各种深度神经网络架构的分类任务模型。
攻击力大:能在欺骗分类器以将输入图片识别为任意类别;存在通用扰动让分类器对所有图片错误分类。
迁移性强:针对某一模型生成的对抗样本对其他一些模型也具有威胁性。
基本原理:针对模型损失函数,优化样本扰动策略以实现模型误分类的目的。损失函数与正确的分类只是相关而已,我们可以让它与我们想要的分类更加相关!
优化方法分类:选择某种好的优化方法,例如Box-constrained L-BFGS [ICLR14]。把优化问题做巧妙规约,使其可以较容易地算出,如Carlini-Wagner攻击方法 [S&P17] 。
优化目标分类:无目标攻击:让攻击对样本分类错误,但并不指定分类错成哪一类。有目标攻击:使目标模型将样本分类为指定的错误类别。
白盒攻击:攻击者具有关于其目标模型的完整知识,包括神经网络架构和模型参数。
黑盒攻击:攻击者完全不了解目标模型的神经网络架构、参数等信息,只能通过模型的查询访问结果来生成对抗样本。
灰盒攻击:攻击者仅了解目标模型的结构,但不了解目标模型的具体参数。
针对语义分割模型FCN和目标检测模型Faster-RCNN进行对抗样本攻击 [ICCV17]
针对图像自编码器(一种压缩算法),生成对抗样本。扰动后的输入样本经过编码和解码过程后,会被标记为攻击者指定的错误分类。 [S&PW18]
针对基于样例图片的相似图片检索,通过对图片库中的图片进行对抗扰动,使其无法被正确检索出 [CVPR20]
真实物理空间的对抗样本攻击—通过对物体的物理修饰,达到产生对抗样本的效果。
此类攻击面临的挑战:镜头感知能力有限;不具背景扰动能力;环境因素可变性强;材质也会影响攻击效果。
所以,在生成对抗样本时需要:考虑多种环境因素及其动态性;考虑不同角度和距离;将扰动限定在特定目标(如:路牌)内,由色块代替像素值。
音频对抗样本:在源音频样本中加入人耳不可难以察觉的轻微扰动,从而导致:音频转录→错误的目标文本。语音指令→智能助手执行错误指令。
自然语言对抗样本:在文本中加入不易发现的拼写错误和替换,从而导致:情感分析→在正向/负向情绪间进行任意操纵。
图的对抗样本:通过修改图连接信息、节点属性信息以达到图分类错误或者节点分类错误……
主动防御:通过增强模型的健壮性(Robustness)来实现防御。包括:启发式防御(或称为经验式防御),如对抗训练、梯度混淆等;可证明防御。
被动防御:通过检测对抗样本来实现防御。包括:基于特征的对抗样本检测;基于模型的对抗样本检测;基于密写分析的对抗样本检测。
主要思想是使用各种“看起来合理的”方法来增加产生对抗样本的难度,但这些方法能否奏效并无保障。
主要思想:证明对于任意输入,当存在的扰动被限定在一定范围内,模型输出保持稳定。所使用的方法包括:基于最小扰动优化的方法;基于随机平滑(Random smoothing)技术的方法。
主要思想:优化模型在最坏情况下的能够抵抗的最小扰动的下限,以此作稳定性的认证指标。(该优化问题被证明为NP-complete)
精确分析求解 :Satisfiability Modulo Theory , Mixed-integer Programming .
近似解求解:Relaxation of Nonlinearity , Lagrange Dual , LP-relaxed Dual .
主要思想:利用随机平滑技术结合差分隐私、假设检验等方法保证当限制扰动在以正确输入为中心的一个有限空间(例如一个球)内时,模型输出保持稳定。
几种前沿主动防御方案:启发式主动防御: TRADES(NeurIPS 2018 Adversarial Vision Challenge winner);基于最小扰动优化的防御方法: WSMK ;基于随机平滑技术的防御方法: f-divergence based Random Smoothing
这些方案的主要缺点:TRADES需要大量训练样本;WSMK的理论证明只限于对小模型有效;f-divergence based Random smoothing不适用于大范数(尤其是无穷范数)的攻击。
主要思想:识别出对抗样本,将其剔除
防御方法:基于特征的对抗样本检测方法 、基于模型的对抗样本检测方法、基于密写分析的对抗样本检测方法
核心思想: 发现对抗样本的某种特征(与正常输入的某种不同点),通过检测该特征来发现对抗样本。
基于模型的方法:主要思想:模型本身可以用来做分类,当然也就可以用来做对抗样本检测。例如:在模型中加入对抗样本这个新分类、利用卷积层输出构建cascade分类器、利用PCA输出训练分类器。
基于密写分析的方法:主要思想:把用某种已知方法产生的对抗样本当成含有密写信号的图像,从而进行检测。例如:对相邻像素点差异进行建模,据此检测。
通常只对已知对抗样本攻击有效;假设检测者对对抗样本的生成方法有比较好的了解;大多数方法是启发式的,缺乏理论支撑;容易进入猫鼠游戏的循环。
基本原理:攻击者在模型中埋设可由预先设定的触发器(trigger)触发的后门。
正常输入→正确类别;带trigger的输入→攻击者指定类别(target label)。
风险场景:使用第三方发布的模型;使用第三方提供的数据进行训练;使用第三方平台进行训练;联邦学习:非完全受控的训练过程
训练阶段进行攻击 – 训练数据投毒:模型训练者就是攻击者。两种投毒策略:Modification attack:部分训练数据上加贴图(即trigger) 并标记为指定的label;Blending attack:部分训练数据混入噪音(即trigger) 并标记成指定的label。
针对发布模型的攻击 –模型篡改:在已发布的模型中插入后门;基本想法:在二次训练中,通过修改模型中的特定神经元,从而触发对trigger的异常激活以影响模型的输出。
设置trigger与target label;产生poisoned samples并将其加入训练集;用被污染的数据集进行训练,得到带后门的模型。
攻击流程:Trigger生成:攻击者扫描模型,找出一组特定的神经元,将选定的神经元与模型进行反向转换,生成trigger。训练数据生成:攻击者通过逆向工程产生训练数据,并在部分数据中加入trigger且调整这些数据的label。模型再训练:攻击者使用生成的数据集再训练模型。
基于trigger生成的后门检测:通过生成网络或逆向工程,重建后门攻击可能使用的trigger,进而判断模型是否包含后门。代表方法:DeepInspect(IJCAI-19)、Neural Cleanse(S&P-19)。
基于神经元扫描的后门检测:通过扫描模型,尝试发现异常神经元,从而判断模型是否包含后门。代表方法:ABS(CCS-19)。
对抗样本攻击 vs. 后门攻击
对抗样本攻击:模型不是恶意的,输入是恶意的。
后门攻击:模型本身就是恶意的。
传统的数据投毒攻击 vs. 后门攻击
传统的数据投毒:目的在于降低模型的泛化性能,希望使模型在测试集上表现欠佳。
后门攻击:对正常输入的表现接近于正常模型,但对于带trigger输入会分类到指定类别。
本文分析了与人工智能相关的三类安全问题:深度学习即服务中的数据泄露问题、对抗样本攻击问题、神经网络后门攻击问题。这些问题都是近期热点,值得我们进一步深入研究。