Abstract
机器学习已经成为当前计算机领域研究和应用最广泛的技术之一,在图像处理、自然语言处理、 网络安全等领域被广泛应用。然而,一些机器学习算法和训练数据本身还面临着诸多安全威胁,进而影响到基于机器学习的面部检测、恶意程序检测、自动驾驶汽车等实际应用系统的安全性。由目前已知的、针 对 SVM 分类器、聚类、CNN、RNN等多种机器学习算法的安全威胁为出发点,介绍在机器 学习的训练阶段和测试/推理阶段中出现的、基于对抗样本的投毒、逃逸、模仿、逆向等攻击和隐私泄露 等问题,归纳针对机器学习的敌手模型及其安全评估机制,总结了训练过程和测试过程中的若干防御技 术和隐私保护技术,最后展望了下一步机器学习安全研究的发展趋势。
Introduction
机器学习安全性问题分类体系
针对机器学习安全 性问题的分类, Marco Barreno 最早提出从三个不同角度对攻击行为进 行分类,之后经过不断的完善,形成右图 所示 的分类体系。
第一个角度是依据攻击对分类器的影 响分为诱发型攻击(Causative Attack)(影响训练集) 和探索性攻击(Exploratory Attack)(不影响训练 集)。
第二个角度依据攻击造成安全损害(Security Violation)将其分为完整性攻击(Integrity Attack), 可用性攻击(Availability Attack)和隐私窃取攻击 (Privacy Violation Attack)。
第三个角度从攻击的专 一性(Specificity of an Attack)分为针对性攻击和 非针对性攻击(Indiscriminate Attack)。
机器学习敌手模型
敌手目标
敌手目标可以从两个角度描述,即攻击者期望造成的安全破坏程度(完整性、可用性或隐私性)和攻击的专一性(针对性、
非针对性)。例如:攻击者的目标可以是产生一个非针对性的破坏完整性的攻击,来最大化分类器的错误率;也可以产生针对性的窃取隐私的攻击,来从分类器中获得具体的客户隐私信息。
敌手知识
敌手的知识可以从分类器的具体组成来考虑,从敌手是否知道分类器的训练数据、特征集合、学习算法和决策函数的种类及其参数、分类器中可用的反馈信息(敌手通过输入数据得到系统返回的标签信息)等方面将敌手知识划分为有限的知识和完全的知识。
敌手能力
敌手的知识主要是指攻击者对训练数据和测试数据的控制能力。可以从以下几个方面定义:
第一是攻击对分类器造成的影响是探索性的还是诱发性的;
第二是敌手控制训练数据或者测试数据的程度;
第三是敌手操纵的特征的内容及具体程度。
攻击策略
敌手的攻击策略是指攻击者为了最优化其攻击目的会对训练数据和测试数据进行的修改措施。具体包括:
攻击哪些样本类型;
如何修改类别信息;
如何操纵特征等。
机器学习面临的安全问题
训练过程
投毒攻击(Poisoning Attack)主要是对机器学习在训练模型时需要的训练数据进行投毒,是一种破坏模型可用性和完整性的诱发型攻击。攻击者通过注入一些攻击者精心伪造的恶意数据样本(带有错误的标签和攻击的性质),破坏原有的训练数据的概率分布,从而使训练出的模型的分类或者聚类的精度降低,达到破坏训模型的目的。
测试/推理过程
测试/推理过程主要指训练出的模型来对新数据进行分类或者聚类的过程,是机器学习模型发挥其作用的阶段。攻击者利用训练模型的缺陷精心制作对抗样本来逃避检测或者模仿受害者以获得非法访问权限,甚至通过基于机器学习的相关应用程序接口来获取内部隐私的训练数据,达到获取受害者隐私信息的目的。我们常见的将针对测试/推理过程的攻击分为欺骗攻击(Spoofing Attack)(包括逃避攻击、模仿攻击)和逆向攻击。
机器学习安全防御技术
训练过程的防御技术
针对训练过程的投毒攻击行为, 由于其主要是采用在系统的训练过程注入恶意数据的手段, 因此其防御技术主要采用数据清洗(Data Sanitization)或者提高学习算法鲁棒性来对抗恶意训练数据。
数据清洗方法先将一个候选样本加入基础的训练数据集得到一个新训练数据集, 之后用得到新训练数据集学习出新分类器,再用同一个测试数据集来评估新分类器和原分类器(基础训练集学习得到) 的分类性能。 如果新分类器的错误率和原分类器的错误率相比差很多, 则认为这个候选数据是一个恶意数据,将其移除训练集,否则加入训练集。 该方法在垃圾邮件检测系统上实验取得了较好的效果,但该方法的操作比较繁琐,计算量比较大,不适合大规模候选集合的筛选。
测试/推理过程的防御技术
1.博弈论
Invariant SVM
NashSVM
2.采用考虑数据分布的主动防御机制在训练集中注入带有完全标注的对抗样本, 这种混合了合法样本和对抗样本训练出的模型有更强的鲁棒性。
3.Deep Contractive Networks
通过平滑模型输出的机制来加强模型在小扰动下的鲁棒性
通过使用更平滑的惩罚项来训练模型提高系统的鲁棒性。此外,防御精馏(Defensive Distillation) 技术也可以实现个平滑的目的
4.针对 DNN 中的对抗样本提出了针对训练过程的防御精馏技术。
该方法通过从原来的 DNN 精馏提取出来的类别概率知识,加入到一个小的 DNN 中, 从而在保持分类精度的同时提高模型泛化能力,降低了输入扰动对分类器模型的影响,可以训练出对输入扰动不敏感的平滑分类器模型,提高模型的鲁棒性。
隐私保护的机器学习技术
加密技术是对数据隐私的关键, 差分隐私(Differential Privacy)技术就是一种通过加密数据来保护隐私的方式。
差分隐私模型是一种被广泛认可的严格的隐私保护模型,它通过对数据添加干扰噪声的方式保护所发布数据中潜在的用户隐私信息。
同态加密(Homomorphic Encryption)技术也通过对数据的加密实现了对数据隐私的保护。同态加密允许用户直接对密文进行特定的代数运算,得到数据仍是加密的结果,与对明文进行同样的操作再将结果加密一样。
除了用数据的加密方法来防御一些攻击行为之外, 尽量减少机器学习模型 API 接口的敏感信息输出也是一种保护数据隐私性的思路。
Conclusion and the end
üML system 安全性很重要
ü敌手环境评估是一个好坑(研究热点)
ü隐私保护是提升安全性的重要途径
ü安全的深度学习模型也是一个好坑
ü新型ML算法设计要考虑安全和泛化还有开销