机器学习在数据层、模型层以及应用层面临的安全和隐私威胁,呈现出多样性、隐蔽性和动态演化的特点。
应用领域:计算机视觉、自然语言处理、语音识别等
应用场景:自动驾驶、人脸识别、智慧医疗等
Key words: machine learning; poisoning attack; adversarial example; model privacy; artificial intelligence security
引言
机器学习模型在生命周期的各个阶段都可能面临着不同程度的安全风险,导致模型无法提供正常的服务或者是泄露模型的隐私信息。例如,攻击者可能对模型的训练数据和输入样本进行恶意篡改或是窃取模型参数,从而破坏模型的机密性、可用性和完整性,这就是机器学习模型面临的安全与隐私问题。
机器学习的CIA模型
机器学习模型安全需求总结为三个特性:机密性(Confidentiality)、完整性(Integrity)和可用性
(Availability),即机器学习中的 CIA 模型。
机器学习的 CIA 三个特性都有可能被攻击破坏,所对应的攻击方法分别称为机密性攻击、完整性攻击和可用性攻击。
数据安全风险与保护
攻击者通过将精心制作的样本插入训练集中来操纵训练数据分布,以达到改变模型行为和降低模型性能的目的,这种类型的攻击被称为“数据投毒”(Data Poisoning)攻击。
投毒攻击
后门攻击(Backdoor Attack)
木马攻击(Trojan Attack)
防御方法
大多数针对投毒攻击的防御机制依赖于一个事实(前提),即投毒样本通常在预期输入分布之外。因此可以将投毒样本视为异常值,可以使用数据清理(即攻击检测和删除)和鲁棒学习(即基于对边远训练样本本质上不太敏感的鲁棒统计的学习算法)来净化训练样本。
鲁棒学习:基于主成分分析(Principal Component Analysis,PCA)的投毒攻击检测模型
数据清理:掩蔽特征(Masked Features)、DUTI
后门攻击检测:激活聚类(Activation Clustering,AC)
模型安全风险与保护
攻击者试图通过各种方法改变模型输入特征以绕过现实任务中的机器学习模型的检测,或直接对模型进行攻击以破坏其完整性,从而达到对抗的目的。
其中,攻击者最常用的攻击手段是通过向正常样例中添加精心设计的、人类无法感知的噪音来构造对抗性样例,这种攻击方法称为“对抗攻击”或者是“对抗样例攻击”。
与其他攻击不同,对抗性攻击的核心在于如何构造能促使机器学习模型产生误分类的对抗样例,因此主要攻击过程发生在对抗样例构造阶段。在对抗样例的构造过程中,根据攻击者所获取的目标模型具体信息多少分为白盒对抗攻击和黑盒对抗攻击。
白盒攻击(计算机视觉领域)
基于优化:EAD
基于梯度:FGSM、I-FGSM、PGD、JSMA
基于分类超平面:Deepfool算法、对抗扰动(Universal Adversarial Perturbation,UAP)
基于生成模型:对抗性转换网络(Adversarial Transformation Network,ATN)、条件生成模型(Conditional Generative Models)、GAN(Generative Adversarial Network)
对抗补丁:对抗补丁(Adversarial Patch)、PS-GAN
其他:空域变换
物理世界的实际攻击:变换期望算法(Expectation Over Transformation,EOT)、
R
P
2
RP_2
RP2(Robust Physical Perturbations)
黑盒攻击(计算机视觉领域)
基于迁移性的方法:蓄水池算法(Reservoir Sampling)
基于梯度估计的方法:基于零阶优化的有限差分算法ZOO
基于决策的攻击方法:边界攻击(Boundary Attack)
基于采样的方法:NES