7.1 机器学习系统的漏洞
- 收集训练数据的开放性
系统为了满足持续收集最新用户行为需要持续收集信息,因此开放性会为攻击者恶意注入数据提供了可能性。 - 应用界面的开放性
通过业务层面的用户界面获得分类器检测的反馈结果。 - 用户行为的可修改性
- 分类设计中的常识性知识
- 跨领域跨应用的相似性
- 隐私的漏洞
指的是训练数据涉及部分个人隐私。
7.2 攻击者及其目的
攻击者分为四类:
- 机器学习模型的逃避者。根本目的是逃避系统的识别检测,这种攻击为定向攻击;
- 机器学习模型的扰乱者。目的是扰乱机器学习模型;
- 系统破坏者。目的是攻击检测系统,使之不可用;
- 隐私窃取者。目的是获得系统中用户的个人隐私行为。
对抗攻击分为三类: - 定向攻击。指让目标模型将对抗样本分到指定的类别,对于对抗样本有明确的类别预期;
- 非定向攻击。让目标模型将对抗样本分到错误的类别里;
- 隐私窃取攻击。目的不是破坏训练过程和结果,而是为了窃取用户的个人信息。
7.3 知识及攻击者的能力
攻击者的攻击能达到怎样的程度取决于两个方面,一是掌握的知识,二是攻击者自身的能力。
7.3.1 知识
-
内部知识
原始数据:即还没有经过处理的训练数据集;对于监督学习而言,包含标签信息;
样本特征:即经过特征处理完之后,最终用于分类器训练的属性集合;
特征选择算法:即从原始数据到数据特征之间的映射方法,通常包括信息增益、卡方统计等特征选择算法;
特征提取方法:包括SVD分解、各种用于特征抽取的深度学习模型等;
机器学习模型:可以是有监督的分类器,也可以是无监督的聚类算法等,模型的参数、结构也都属于这种知识。 -
外部知识
按照大类来分,例如监督学习,无监督学习,强化学习,深度学习等;按照小类来分,例如SVM, KNN, 决策树,XGBoost以及各种深度学习模型。
7.3.2 攻击者的能力
根据内部知识的不同,从弱到强分为以下五种:
- 访问机器学习应用程序的能力;
- 训练数据的获取能力;
- 操控训练数据的能力;
- 获取样本特征空间的能力;
- 获取机器学习模型的能力。
7.4 攻击行为和分类
7.4.1 攻击行为
- 针对训练阶段输入数据的攻击
- 针对特征空间的攻击
- 针对分类器模型的逃避攻击
最核心的攻击目标,相应的攻击行为包括利用损失函数进行梯度计算,利用梯度选择最佳攻击特征,生成攻击样本,利用决策函数实施逃避攻击。 - 推理阶段的迁移攻击
- 对隐私信息的攻击
7.4.2 攻击行为分类
- 根据攻击者对模型知识掌握的多少进行分类,分为白盒攻击,黑盒攻击和灰盒攻击;
- 根据攻击行为所针对的机器学习阶段进行分类:分为投毒攻击,逃避攻击等;
- 根据被攻击的机器学习模型进行分类