趋近智
如前所述,数据投毒攻击通过操纵训练数据集,在机器学习模型的训练阶段对其进行破坏。然而,并非所有投毒攻击都有相同的目标。攻击者的具体目标决定了所用的策略,主要分为两类:可用性攻击和完整性攻击。理解这种区别对于识别和防范这些威胁非常重要。
可用性攻击,有时也称为无差别攻击,旨在降低训练模型的整体性能。攻击者的目标不一定是为了导致具体的错误分类,而是为了降低模型的普遍效用,通常通过整体或多个类别的准确率下降来衡量。可以将其理解为在模型用投毒数据集训练后,最大化其在干净、未见数据上的错误率。
这是如何实现的呢?攻击者通常会注入有噪声或矛盾的数据点到训练集中。这些投毒样本可能:
考虑一个损失函数 L(θ,D),其中 θ 代表模型参数,而 D=D干净∪D投毒 是训练数据集。可用性攻击旨在精心制作 D投毒,使得在 D 上最小化损失的参数 θ∗,即 θ∗=argminθL(θ,D),在干净的测试集 D测试 上评估时,导致性能不佳(高损失或高错误率)。注入的数据有效地阻碍了模型从训练数据中进行泛化的能力。
攻击者选择可用性策略,可能只是为了破坏竞争对手的模型或干扰依赖机器学习的服务,而无需对模型如何失败进行精细控制。这些攻击有时比完整性攻击更容易实施,因为产生广泛的破坏性噪声可能需要较不精确的操纵。然而,整体性能的显著下降也可能通过标准验证程序更容易被检测到。
完整性攻击,或称目标攻击,则更具针对性。攻击者的目标是使模型以非常具体、预设的方式出现错误行为,同时理想情况下在大多数其他输入上保持正常性能。这使得攻击更具隐蔽性,并且如果目标失败带来严重后果,则可能更具破坏性。
完整性攻击的常见目标包括:
设计完整性攻击需要更高的复杂度。攻击者必须设计投毒样本 D投毒,这些样本能够巧妙地将模型的决策边界移动到精确位置,或创建对触发器敏感的特定内部表示。这些投毒点通常经过精心优化,使其接近特征空间中的目标实例,或模仿与错误类别相关的合法数据点(如在干净标签攻击中所示)。
这里的优化目标不同。攻击者希望找到 D投毒,使得由此产生的模型 θ∗=argminθL(θ,D干净∪D投毒) 满足攻击者的特定目标(例如,fθ∗(x目标)=y攻击者),同时使在一般干净测试集 D测试 上的性能基本保持不变,L(θ∗,D测试)≈L(θ干净∗,D测试),其中 θ干净∗ 是仅用干净数据训练的模型。
当攻击者有特定结果目标时,通常会选择完整性攻击,例如,绕过特定用户的认证系统,或导致竞争对手的产品在特定基准输入上失败。它们的隐蔽性使得使用简单的准确率监控难以检测。
| 特点 | 可用性攻击 | 完整性攻击 |
|---|---|---|
| 目标 | 降低模型整体性能 | 导致特定、有目标的错误行为 |
| 范围 | 不分目标,影响多项输入 | 有目标,影响特定输入/触发器 |
| 影响 | 普遍准确率/效用降低 | 特定失败模式,可能隐蔽 |
| 机制 | 注入噪声,增加特征重叠 | 精确边界操纵,触发器 |
| 可检测性 | 可能性更大(性能下降) | 可能性更小(隐蔽) |
| 示例 | 破坏垃圾邮件过滤器的整体F1 | 使垃圾邮件过滤器始终允许来自 [email protected] 的邮件 |
以下可视化内容说明了差异。可用性攻击可能会添加广泛混淆边界的噪声,而完整性攻击则会精心放置点,以局部移动边界,导致特定目标(星形)被错误分类。
二维特征空间显示了两个类别(A和B)的干净数据、一个可能的原始决策边界、一个完整性攻击目标点(星形)、旨在错误分类目标的完整性投毒点,以及在边界附近添加一般噪声的可用性投毒点。线段说明了每种投毒类型可能如何导致决策边界发生偏移。
选择可用性策略还是完整性策略,在很大程度上取决于攻击者的资源、对目标系统的了解以及最终目标。接下来,我们将检查实施这两种攻击的具体技术,从更详细的目标数据投毒方法开始,然后转向相关的后门攻击。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造