攻击面确定的主要攻击场景概述如下:
- 逃避攻击:这是对抗环境中最常见的攻击类型。攻击者试图通过在测试阶段调整恶意样本来规避系统。此设置不会对训练数据产生任何影响。
- 中毒攻击:这种类型的攻击称为训练数据污染,发生在机器学习模型的训练期间。对手试图通过注入精心设计的样本来毒害训练数据,最终损害整个学习过程。
- 探索性攻击:这些攻击不影响训练数据集。鉴于对模型的黑盒访问,他们试图获得尽可能多的有关底层系统的学习算法和训练数据模式的知识。
训练阶段的攻击。
训练期间的攻击试图通过更改用于训练的数据集来直接影响或破坏模型。对训练阶段最直接且可以说是最弱的攻击是仅访问部分或全部训练数据。根据对抗能力改变模型有三种主要的攻击策略。
- 数据注入:对手无法访问训练数据和学习算法,但能够向训练集添加新数据。他可以通过将对抗性样本插入训练数据集中来破坏目标模型。
- 数据修改:对手无权访问学习算法,但可以完全访问训练数据。他通过在将数据用于训练目标模型之前修改数据来直接对训练数据进行毒害。
- 逻辑损坏:对手有能力干扰学习算法。这些攻击称为逻辑损坏。显然,设计针对这些可以改变学习逻辑从而控制模型本身的对手的策略变得非常困难。
测试阶段的能力。
测试时的对抗性攻击不会篡改目标模型,而是迫使其产生错误的输出。此类攻击的有效性主要取决于对手可获得的有关模型的信息量。测试阶段攻击可大致分为白盒攻击和黑盒攻击。
白盒攻击。在对机器学习模型的白盒攻击中,对手拥有有关用于分类的模型 (f ) 的全部知识(例如,神经网络的类型以及层数)。攻击者拥有有关训练(例如梯度下降优化)中使用的算法(训练)的信息,并且可以访问训练数据分布(μ)。他还知道经过充分训练的模型架构的参数 (θ )。对手利用可用信息来识别模型可能存在漏洞的特征空间,即模型具有高错误率的特征空间。然后,通过使用对抗性示例制作方法更改输入来利用该模型,我们稍后将对此进行讨论。白盒攻击对内部模型权重的访问对应于非常强的对抗性攻击。
黑盒攻击。相反,黑盒攻击假设对模型一无所知,并使用有关设置或过去输入的信息来分析模型的漏洞。例如,在预言机攻击(下面有介绍)中,对手通过提供一系列精心设计的输入并观察输出来利用模型。黑盒攻击可以进一步分为以下几类:
- 非自适应黑盒攻击:对于目标模型 (f ),非自适应黑盒攻击者只能访问目标模型的训练数据分布 (μ)。然后,对手为模型架构 f ' 选择一个过程 train',并在数据分布 μ 中的样本上训练局部模型,以近似目标分类器学习的模型。对手使用白盒攻击策略在本地模型 f ' 上制作对抗性示例,并将这些精心设计的输入应用于目标模型以强制错误分类。
- 自适应黑盒攻击:对于目标模型(f),自适应黑盒对手没有任何有关训练过程的信息,但可以将目标模型作为预言机访问。该策略类似于密码学中的选择明文攻击。对手向目标模型发出自适应预言机查询,并标记精心选择的数据集,即,对于任意选择的 x,对手通过查询目标模型 f 来获取其标签 y 。然后,攻击者选择过程 train' 和模型架构 f ',在通过查询目标模型获得的元组 (x, y) 上训练代理模型。然后,代理模型通过遵循白盒攻击技术来生成对抗样本,以迫使目标模型对恶意数据进行错误分类。
- 严格的黑盒攻击:黑盒对手有时可能不包含数据分布μ,但有能力从目标分类器收集输入输出对(x,y)。然而,他不能像自适应攻击程序那样改变输入来观察输出的变化。该策略类似于密码学中的已知明文攻击,并且对于大量输入输出对来说最有可能成功。
在黑盒攻击中要记住的一点是,对手既不会尝试学习用于训练目标模型的随机性 r ,也不会尝试学习目标模型的参数 θ 。黑盒对手的主要目标是在非自适应攻击的情况下训练具有数据分布 μ 的本地模型,在自适应攻击的情况下通过查询目标模型来训练精心选择的数据集。表 1 显示了黑盒攻击和白盒攻击之间的简要区别。
描述 黑盒攻击 白盒攻击 对手知识Adversary Knowledge 限制了只能观察,对某些被探测输入的网络输出 的知识 对网络架构和训练得到的参数的详细了解。 攻击策略
基于贪心局部搜索,通过观察输入的变化生成对当前输出的实际梯度的隐式近似。基于网络损失函数相对于输入的梯度。
Oracle Attack(预言机攻击)是一种在密码学和安全领域中常见的攻击手法。它通常涉及利用对目标系统或协议的询问响应,以获得关键信息或破坏系统的安全性。
具体而言,Oracle Attack 的特征如下:
利用系统响应: 攻击者通过向系统发送请求并观察系统的响应,利用这些响应来推断出系统内部的敏感信息。
不知道系统的内部机制: Oracle 攻击通常发生在攻击者对系统的内部机制一无所知的情况下。攻击者只能通过系统的响应来推断其内部状态。
被动式攻击: Oracle Attack 是一种被动的攻击方式,因为攻击者并不主动干扰系统的运作,而是通过观察系统的行为来获取信息。
多样性的应用: Oracle Attack 不限于特定的应用场景,它可以用于各种密码学协议、安全协议或者加密系统中。
类型: Oracle Attack 的类型包括 Padding Oracle Attack(填充预言机攻击)、Timing Oracle Attack(时序预言机攻击)等,具体的攻击方式取决于系统的实现细节。
常见的 Oracle Attack 类型:
Padding Oracle Attack: 这是一种针对使用填充(padding)的加密算法的攻击方式。攻击者通过利用填充错误的系统响应,逐步推断出加密信息的内容。
Timing Oracle Attack: 这种攻击涉及到观察系统的响应时间。攻击者根据系统响应的时间来推断系统内部信息,特别是在涉及密码学时序的场景中,如比特交换或加密操作。
Oracle Attack 强调了系统在处理错误或异常情况时可能泄漏的信息,而攻击者则通过对系统响应的分析来逐步了解系统的内部机制,最终实施更有针对性的攻击。对于这类攻击,系统设计者需要特别注意避免通过响应来泄露过多的信息,采取防御措施以增强系统的安全性。
对抗性目标。
攻击者试图向分类系统提供输入 x*,从而导致错误的输出分类。对手的目标是从模型的不正确性推断出来的。根据对分类器输出完整性的影响,对抗目标可大致分类如下:
- 置信度降低:对手试图降低目标模型预测的置信度。例如,可以以较低的置信度来预测“停止”标志的合法图像,从而具有较小的类别归属概率。也可以理解为最后的mlp层的输出,在经过softmax时,对正确分类的类别的值降低。
- 错误分类:攻击者试图将输入示例的输出分类更改为与原始类别不同的任何类别。例如,“停车”标志的合法图像将被预测为与停车标志类别不同的任何其他类别。
- 有针对性的错误分类:攻击者试图产生输入,迫使分类模型的输出成为特定的目标类别。例如,分类模型的任何输入图像都将被预测为具有“go”符号的图像类别。有针对性的错误分类:攻击者试图产生输入,迫使分类模型的输出成为特定的目标类别。例如,分类模型的任何输入图像都将被预测为具有“go”符号的图像类别。
- 源/目标错误分类:攻击者试图将特定输入的分类输出强制为特定目标类别。例如,“停止”标志的输入图像将被分类模型预测为“前进”标志。
探索性攻击
探索性攻击不会修改训练集,而是尝试通过探测学习器来获取有关状态的信息。对抗性示例的设计方式使得学习者在测试阶段将它们作为合法示例传递。
模型反转(MI)攻击
模型反转攻击是一种针对机器学习模型的攻击方法,其目标是通过分析模型的输出,推导出模型的输入数据或其他敏感信息。这种攻击的本质是试图逆向工程目标模型,以还原或获取与模型相关的信息。
攻击者可能使用模型反转攻击来破解、绕过或滥用机器学习系统,特别是在涉及敏感数据或隐私信息的应用中。以下是模型反转攻击的一般步骤和特征:
-
观察模型输出: 攻击者通过观察目标模型的输出,可能是模型的预测结果或其他响应。
-
构建逆向模型: 基于观察到的输出,攻击者尝试构建一个逆向模型,该模型能够生成类似于目标模型输出的输入数据。
-
推导输入信息: 通过逆向模型,攻击者期望能够推导出原始输入数据的一些关键信息,例如敏感特征或隐私内容。
使用 API 进行模型提取
特拉梅尔等人。 [73]提出了简单的攻击来提取流行模型类别的目标机器学习模型,例如逻辑回归、神经网络和决策树。所提出的攻击是严格的黑盒攻击,但可以在本地构建功能上接近目标的模型。作者演示了针对 BigML 和 Amazon Machine Learning 等在线 ML 服务提供商的模型提取攻击。机器学习即服务提供商提供的机器学习 API 返回精确的置信度值以及类别标签。由于攻击者没有有关模型或训练数据分布的任何信息,因此他可以尝试通过查询未知 d + 1 个参数的 d + 1 个随机 d 维输入,在给定置信值和方程的情况下对未知参数或特征进行数学求解。
推理攻击
阿特尼塞等人。 [11]表明可以使用元分类器从机器学习分类器收集相关信息。考虑到对模型(例如,通过公共 API)和训练数据的黑盒访问,攻击者可能有兴趣了解该数据是否是模型训练集的一部分。他们试验了使用隐马尔可夫模型的语音识别分类器,并提取了不应明确捕获的信息,例如用户的口音。
Shokri 等人提出的另一种推理攻击。 [67]是隶属推断,即确定给定数据点是否属于与训练数据集相同的分布。这种攻击可能属于非自适应或自适应黑盒攻击的类别。在典型的黑盒环境中,攻击者向目标模型发送带有数据点的查询并获得模型的预测。模型给出的输出是一个概率向量,它指定数据点是否属于某个类别。为了训练攻击模型,建立了一组影子模型。由于对手知道给定记录是否属于训练集,因此可以采用监督学习,然后将相应的输出标签馈送到攻击模型,以训练它区分影子模型在训练数据成员上的输出与非训练数据成员上的输出。
Shadow models(影子模型)是一种用于攻击和评估机器学习系统的技术。这种方法涉及训练一个与目标模型相似但未经过授权的模型,以模拟目标模型的行为。攻击者使用这个影子模型来获取对目标模型的信息,进而进行各种恶意活动。
以下是使用影子模型进行攻击的一般步骤:
-
构建影子数据集: 攻击者首先收集与目标模型相似的数据,并使用这些数据来训练一个称为影子模型的本地模型。
-
模拟目标模型: 影子模型的架构和超参数被设计成与目标模型相似。这包括使用相似的特征和类别标签,以及尽可能地匹配目标模型的输入和输出。
-
查询目标模型: 使用影子模型,攻击者向目标模型发送查询,并观察其输出。这可以是对目标模型的推理查询或其他类型的交互。
-
训练攻击模型: 利用收集到的信息,攻击者可以训练一个更精确的攻击模型,该模型能够模拟目标模型的行为并生成准确的预测。
-
执行攻击: 攻击者使用训练有素的攻击模型进行各种活动,可能包括欺骗目标模型、生成对抗性示例或其他形式的滥用。
影子模型攻击强调了在机器学习系统中保护隐私和防范对抗性攻击的重要性。为了缓解这种攻击,可以采取一些防御措施,例如巧妙设计数据集以减少信息泄漏,使用差分隐私技术,或者利用对抗性训练方法来增强模型的鲁棒性。
逃避和投毒攻击
逃避攻击是对机器学习系统最常见的攻击。恶意输入被巧妙地修改,以迫使模型做出错误预测并逃避检测。中毒攻击的不同之处在于,输入在训练期间被修改,并且模型在受污染的输入上进行训练以获得所需的输出。
生成对抗攻击(GAN)
Goodfellow 等人[30]引入了生成对抗网络,其目的是生成与训练集相似的样本,具有几乎相同的分布。 GAN 流程,如图所示。如图8所示,由判别式深度学习网络D和生成式深度学习网络G组成。判别式网络的作用是区分从原始数据库中获取的样本和GAN生成的样本。首先用随机噪声初始化生成网络。它的作用是产生与鉴别器的训练集相同的样本。形式上,G 被训练来最大化 D 犯错误的概率。这次比赛使两个模型的准确性都得到了提高。当 D 无法区分训练集中的样本和 G 生成的样本时,该过程结束。实体和对手处于持续的决斗中,一个(生成器)试图愚弄另一个(鉴别器),而另一个则试图防止被欺骗。被愚弄了。
对抗性例子生成
训练阶段修改
学习过程通过分析训练集来微调假设 h 的参数 θ。这使得训练集容易被对手操纵。巴雷诺等人。 首先创造了“中毒攻击”一词;按照 Kearns 等人的工作,训练数据集被操纵(“中毒”),目的是改变目标模型的决策边界特征。 从而挑战了学习系统的完整性。训练集的中毒攻击可以通过两种方式完成:直接修改训练数据的标签,或者根据对手的能力操纵输入特征。我们对这两种技术进行了简要概述,但没有太多技术细节,因为训练阶段攻击需要更强大的对手,因此通常并不常见。
- 标签操纵:如果对手有能力仅修改训练标签,那么他必须在学习模型的全部或部分知识的情况下获得最脆弱的标签。一种基本方法是随机对标签进行扰动,即从训练数据子集的随机分布中选择新标签。研究表明,随机翻转 40% 的训练标签会显着降低 SVM 分类器的性能 。
- 输入操纵:在这种情况下,攻击者更强大,可以利用学习算法的知识修改训练数据的标签和输入特征,从而有效地在中毒数据上训练模型。
克洛夫特等人。 提出了一项研究,其中他们表明,通过在训练数据集中插入恶意点,可以逐渐改变异常检测分类器的决策边界。他们使用的学习算法以在线方式运行。学习算法的参数值是根据在线学习场景中定期收集的训练数据样本进行微调的。因此,对于对手来说,在训练数据集中注入新点本质上是一项简单的任务。中毒数据点可以通过解决线性规划问题来获得,其目标是最大化训练数据均值的位移。
在离线学习场景中,Biggio 等人。提出了一种攻击场景,其中对手使用梯度上升算法将输入制作到与局部最大误差相对应的训练数据集中。研究表明,将这些精心设计的输入插入训练集中会降低 SVM 分类器对测试数据的推理准确性。按照他们的方法,提出了一个通用的中毒框架[60]作为一个优化问题,如果目标学习模型中使用的损失函数是凸的并且其输入域是连续的,则可以找到足以进行对抗性分类的训练集的最佳变化。
测试阶段生成
白盒攻击:在本小节中,我们精确讨论对手如何在白盒设置中制作对抗样本。帕佩诺特等人。 [23]介绍了一个基于最近文献中讨论的攻击方法的通用框架。该框架分为两个阶段:(a) 方向灵敏度估计和 (b) 扰动选择,如图 10 所示。该图提出了使用 DNN 进行图像分类的对抗性示例制作过程,该过程可以推广到任何监督学习算法。
假设X是输入样本,F是经过训练的DNN分类模型。对手的目标是有选择地对样本 X 添加扰动 δX,从而生成恶意样本 X* = X + δX,使得 F(X*) = Y*,其中 Y* ≠ F(X) 是目标输出取决于对手的目标。对手从合法样本 X 开始。由于攻击设置是白盒攻击,因此对手可以访问目标模型 F 的参数 θF。对手采用两步过程来制作对抗性样本,如下所述:
- 方向敏感性估计:攻击者通过识别样本 X 附近的输入空间中的方向来评估和估计输入特征向量的输出变化,以了解模型如何响应输入特征的变化。
- 扰动选择:然后,对手利用敏感信息的知识来选择扰动δX,以获得最有效的对抗性扰动。
对手可以通过在每次迭代时用 X + δX 替换 X 来重复这两个步骤,直到满足他的目标,使得用于从有效示例制作 X* 的扰动之和需要尽可能小。这有助于对抗样本保持人眼无法察觉的状态。
通用样本保持人眼无法察觉。使用大扰动来制作对抗性样本变得无关紧要。因此,最好定义适当的范数“.”来表示两个输入点之间的差异,从而将对抗性样本形式化“作为以下优化问题的解决方案”
方向灵敏度估计
在这一步中,攻击者获取样本 X(一个 n 维输入向量),并尝试找出模型在哪些维度上表现符合攻击者的预期,并且扰动尽可能小。这可以通过改变 X 的输入分量并评估模型对这些变化的敏感性来实现。有多种技术可以评估模型的敏感性,下面将讨论其中一些技术。
- L-BFGS:2014 年,Szegedy 等人。 是第一个将以下最小化问题形式化为搜索对抗性示例的人。
形式上,等式找到 δX,使得输入示例 X 尽管被 f 准确标记,但如果用 δX 扰动,结果是对抗性示例 X* = X + δX 并且 X* 仍然属于输入域 D,它被分配目标标签l ≠ h(X)。对于像 DNN 这样的非凸模型,作者使用 L-BFGS 优化来求解方程。尽管该方法具有良好的性能,但在计算对抗性样本时计算成本较高。
- 快速梯度符号法(FGSM):
Goodfellow 等人提出了方程的有效解决方案。他们提出了一种 FGSM,它使用损失(成本)函数相对于输入数据的梯度,一步计算对输入数据的扰动,目标是最大化损失。对抗性示例是使用以下等式生成的:
这里,J是训练模型的成本函数,∇x表示模型相对于具有正确标签ytrue的正常样本X的梯度,ε表示控制扰动幅度的输入变化参数。最近的文献使用了 FGSM 的一些其他变体
- 基于雅可比行列式的方法:Papernot et al.[62]引入了一种不同的方法,通过使用训练模型的雅可比行列式,使用前向导数来寻找灵敏度方向。该方法提供与每个输入特征相对应的输出特征的梯度。由此获得的知识用于使用复杂的显着性图方法来制作对抗性样本,我们将在稍后讨论该方法。这种方法对于源-目标错误分类攻击特别有用。
扰动选择在获得有关网络敏感性的知识后,对手将尝试确定目标模型将在最小扰动下产生错误分类的维度。扰动的输入维度可以有两种类型:
- 扰动所有输入维度:Goodfellow 等人。 出使用 FGSM 来计算相对于输入维度的成本函数梯度,并扰动每个输入维度,但在梯度符号方向上扰动量较小。 FGSM 方法有效地最小化了由对手与原始训练样本之间的距离计算的损失。
- 扰动选定的输入维度:Papernot 等人。 [62]使用显着图来扰乱有限数量的输入维度。使用显着性图的目的是为输入维度的组合分配值,以指示该组合是否会有助于对抗目标。该方法有效地减少了在制作对抗性示例时受到干扰的输入特征的数量。给定所有维度以降序排序对抗性显着性值,可以通过按顺序选择输入维度来制作扰动。目标类 t 的合法示例 x 的分量 i 的显着性值 S(x, t)[i] 使用以下等式进行评估:综上所述,具有高显着性值 S(x, t)[i] 的输入分量 i 将导致样本误分类为目标类。每种方法都有其自身的优点和缺点。第一种方法可以相对较快地生成对抗样本,但扰动较高,使其更容易检测。第二种方法实际上减少了扰动,但计算量较大。
黑盒攻击:在本小节中,我们详细讨论在黑盒设置中生成对抗样本。在非自适应和严格的黑盒场景中制作对抗样本是简单的。在这两种情况下,对手都可以访问大量数据集来训练近似目标模型决策边界的本地替代模型。一旦局部模型得到高置信度的训练,任何白盒攻击策略都可以应用于局部模型来生成对抗性示例,由于“可转移性”[19](将在后面讨论),这些示例最终可以用来欺骗目标模型)。然而,在自适应黑盒设置中,对手无法访问大型数据集,因此通过有选择地查询目标模型作为预言机来扩充单独或随机选择的数据集。 Paper not etal 提出的数据集增强的流行方法之一。[35]接下来讨论。
基于雅可比行列式的数据增强虽然对手可以对 Oracle 进行无限查询以获得任何给定输入的输出,但考虑到要查询的输入的连续域,该过程并不适合,并且系统也可能检测到对手的异常行为。另一种方法可以是沿以下方向启发式生成对抗性输入给定原始训练集,模型的输出是变化的。有了更多的输入-输出对,可以很容易地为 atarg etOracle O 捕获方向。因此,对手在查询预言机标签时遵循的贪婪启发式是对样本进行优先排序,以替代具有与预言机决策边界相同的决策边界的 DNN F。决策边界可以通过评估替代 DNN 的雅可比矩阵 Jf 的符号来确定:sgnJ F ðxÞ OðxÞ 1⁄2� ð Þ,其中 x 是输入标签。原始数据点 x 使用术语 λ*sgnJ F ðxÞ OðxÞ 1⁄2� ð Þ 进行增强,以生成“新的合成训练点”[35]。迭代数据增强技术可以使用以下等式进行总结:
对抗样本的可转移性
对抗性样本具有一个属性,即为欺骗特定模型而生成的样本可以用于欺骗其他模型,无论其底层架构如何,从而导致第 2.2.2 节中讨论的自适应黑盒攻击。该属性被称为“对抗性样本的可转移性”[19]。由于在黑盒攻击的情况下,对手无法访问目标模型 F,因此他可以在本地训练替代模型 F 0 以生成对抗性示例 X + δX,然后将其转移到受害者模型。形式上,如果 X 是原始输入,则可转移性问题可以表示为优化问题(1)。它大致可以分为两类:
- 技术内可迁移性:模型 F 和 F 0 均使用类似的机器学习技术进行训练(例如,两者都是 NN 或 SVM)
- 跨技术可迁移性:如果 F 和 F 0 中的学习技术不同,例如,一个是 NN,另一个是 SVM。
该替代模型实际上将知识设计对抗性输入转移到受害者模型。由于对手在给定多个数据点的情况下查询目标模型的输出的能力有限,因此该模型可以被视为预言机。为了训练替代模型,如上所述的数据集扩充用于捕获有关预测输出的更多信息。作者还介绍了“在执行基于雅可比行列式的数据集增强时,通过储层采样来选择有限数量的新输入 K”[19]。它减少了对预言机的查询数量。然而,替代模型架构的选择并不影响可转移性。
这些攻击已被证明可以推广到不可微分的目标模型,例如,逻辑回归 (LR) 和 DNN(可微分模型)“都可以有效地用于学习许多分类器的替代模型”,并使用 SVM、决策树、DNN 进行训练和最近的邻居。跨技术可转移性大大减少了对手强制对精心设计的输入进行错误分类所需的分类器知识量。学习替代模型减轻了攻击在典型的基于黑盒的攻击中推断架构、学习模型和参数的需要。
协作深度学习中基于 GAN 的攻击
希塔吉等人。 [21] 提出了一种基于 GAN 的攻击,用于在训练阶段从“协作深度学习框架中的诚实受害者”中提取信息。 GAN 倾向于生成与训练集中的样本相同的样本,而无需访问原始训练集。在典型的白盒设置中,对手的动机是在不损害隐私的情况下提取有关不属于自己数据集的标签的有形信息。图 12 显示了所提出的攻击,该攻击使用 GAN 生成与协作学习设置中的训练数据相似的样本,并且对模型共享参数的访问受到限制。 A、V 参与协作学习。 V(受害者)选择标签 [x, y]。对手 A 也选择标签 [y, z]。因此,虽然 y 类对于 A 和 V 都是通用的,但 A 没有关于 x 的任何信息,因此尝试收集关于 x 类的尽可能多的信息。 A 使用 GAN 生成类似于 x 类的实例,并将它们作为 z 类注入到分类器中。 V 发现很难区分两个类(x 和 z),因此揭示了有关 x 类的大量信息。因此,通过模仿样本,攻击者可以在受害者本人的帮助下获得有关类别的额外信息。
作者[21]证明,GAN 攻击在与 MI 攻击、基于 DP 的协作学习等并列进行的所有实验中都是成功的。 “只要判别器在学习,GAN 就会生成好的样本”。
对抗性分类
达尔维等人。 [43]从成本敏感博弈论的角度将对抗性分类定义为两个参与者之间的博弈:模型(分类器)和对手,每个人都竞争以最大化其效用。分类器尝试从训练集中学习函数 yc = C(x),以准确预测训练集中的实例。攻击者将训练数据中的实例从 x 修改为 x0 = A(x),并试图迫使分类器对训练数据中的实例进行错误分类。分类器和对手不断地试图通过最大化自己的收益来击败对方。分类器使用成本敏感的贝叶斯学习器来最小化其预期成本,同时假设对手始终采用其最优策略,而对手则尝试修改特征以最小化其自己的预期成本[27,63]。系统中自适应对手的存在会显着降低分类器的性能,特别是当分类器未知对手的存在和类型时。分类器的目标是最大化其预期效用(UC),而对手会尝试找到最佳的特征修改策略以最大化其预期效用(UA):
支持向量机的规避和中毒攻击
SVM 是用于检测系统中的恶意软件和入侵的流行分类器。由于SVM的平稳性,即训练样本和测试样本应该使用相同的分布。然而,在对抗性学习中,灵活且适应性强的对手可以修改数据,从而破坏平稳性,以便利用学习系统中存在的漏洞。
比吉奥等人。 [64]使用基于梯度下降的方法,演示了对基于内核的分类器的规避攻击[65]。即使对手对分类器的决策函数没有任何了解,它也可以通过学习代理分类器来逃避分类器。作者考虑了两种设置,其中对手完全或不了解特征空间和分类器的判别函数;对手可以“在替代训练集上学习替代分类器”。即使对手使用代理数据模仿实际模型的可能性很小,SVM 也可能以相对较高的概率被欺骗。形式上,寻找样本 x 的最优策略可以表述为一个优化问题,其目标是最小化分类器判别函数 g(x) 的值,如方程 (3) 所示:
然而,如果 ĝ(x) 是非凸的,梯度下降算法可能会导致样本支持之外的局部最小值。为了解决这个问题,在等式(4)中引入了附加组件:
比吉奥等人。 [42]还以中毒攻击的形式证明,对手可以通过操纵训练数据迫使支持向量机在测试样本上产生错误分类的输出。尽管训练数据被篡改以包含精心设计的攻击样本,但假设测试数据没有被操纵。为了进行攻击,攻击者打算找到一组点并将它们添加到训练数据集中,这最多会降低 SVM 的分类准确性。在现实场景中很难完全了解训练数据集,但获得与实际训练数据集具有相同分布的代理数据集对于攻击者来说可能并不困难。在这些假设下,最优的攻击策略如下:
Rubinstein 等人[66]提出的另一类针对 SVM 的攻击称为隐私攻击,其基础是试图破坏训练数据的机密性。对手的最终目标是通过尝试检查从测试数据的分类器获得的分类结果或直接检查分类器来单独获取每个训练实例的特征和标签。
对协作系统的中毒攻击
推荐和协作过滤系统在现代电子商务系统的业务策略中发挥着至关重要的作用。李波等人。 [48]展示了对协同过滤系统的中毒攻击,如果攻击者拥有学习者的完整知识,他就可以生成恶意数据来降低系统的有效性。用于基于分解的协同过滤的两种最流行的算法是交替最小化[67]和核范数最小化[68]。前一数据矩阵M可以通过求解优化问题来确定,如下所示:
对异常检测系统的对抗性攻击
异常检测是指检测不符合预期模式或行为的事件。克洛夫特等人。 [59]分析了“在线质心异常检测系统”作为数据中毒攻击的行为。为了检测测试示例 x 和给定数据集 X 的异常,如果 x 位于与样本空间 X 的概率密度函数相比密度较低的区域,则将 x 标记为异常值。作者使用了训练数据的有限滑动窗口,其中,当每个新数据点到达时,质心会发生变化
如图 13 所示,利用算法和训练数据集的先验知识,攻击者将尝试迫使异常检测算法接受位于实心圆之外的攻击点 A,即“A − c”> r。