2. 机器学习安全基础

要理解对抗样本与 Corner Case 的生成工程,必须先回到机器学习系统本身:模型并不是在“理解”世界,而是在高维空间中拟合一个从输入到输出的映射。这个映射在训练分布附近表现良好,但一旦输入偏离训练流形、落入低密度区域,或攻击者有针对性地扰动特征,模型就可能给出高置信度的错误判断。本节从脆弱性来源、威胁模型、攻击面分类和安全评估指标四个角度,建立后续章节共同依赖的安全基础。

一、模型脆弱性的四个来源

模型脆弱性并非单一缺陷,而是数据、模型、训练目标与部署环境共同作用的结果。

  • 数据层面:训练数据无法覆盖真实世界的长尾分布,导致模型对罕见光照、遮挡、雨雾、传感器噪声等 Corner Case 缺乏鲁棒性;标签噪声与采样偏差会进一步放大错误边界。
  • 模型层面:深度网络在高维空间中存在大量近似线性区域,输入上的微小扰动可沿梯度方向累积,最终跨越决策边界;模型容量越大,决策面越复杂,可被利用的“捷径”也越多。
  • 目标层面:经验风险最小化只优化平均损失,不约束局部 Lipschitz 常数,也不惩罚对无关特征的依赖,因此模型可能学到背景纹理、水印等非因果特征。
  • 部署层面:预处理、量化、蒸馏、传感器误差与数据漂移会改变输入分布,使离线评估通过的模型在线上出现新的失效模式。
核心结论:脆弱性 = 分布外输入 × 高维非线性决策面 × 非鲁棒训练目标 × 部署环境扰动。对抗样本只是其中一种被主动构造的极端表现。

二、威胁模型:先定义攻击者,再谈防御

威胁模型(Threat Model)用于明确攻击者的能力边界与目标,是安全评估的起点。缺少威胁模型的“鲁棒性”结论没有意义。常用维度包括:

维度典型取值对评估的影响
攻击目标无目标 / 有目标有目标攻击更难,成功率通常更低
攻击知识白盒 / 灰盒 / 黑盒白盒可访问梯度,黑盒仅能查询输出
扰动约束L∞ / L2 / L0 / 语义约束决定扰动预算与人类可感知程度
攻击时机训练期 / 推理期投毒、后门与逃逸攻击路径不同
攻击频率单步 / 迭代 / 自适应自适应攻击是防御评估的黄金标准

在工程实践中,建议用配置化方式固化威胁模型,便于复现与对比:

threat_model:
  goal: untargeted          # targeted | untargeted
  knowledge: black-box      # white-box | gray-box | black-box
  norm: Linf                # Linf | L2 | L0 | semantic
  epsilon: 8/255            # 扰动预算
  queries: 1000             # 黑盒查询上限
  adaptivity: true          # 是否针对防御自适应

三、攻击面分类:从数据到部署的全链路

攻击面(Attack Surface)指系统中可被攻击者利用以影响模型行为的入口。按生命周期可划分为训练期与推理期两大类,再细分为数据、模型、接口与系统四个层面。

机器学习系统攻击面分类 训练期攻击面 数据投毒 污染训练集,降低整体精度或植入偏差 后门植入 触发器与目标标签绑定,正常样本不受影响 模型窃取 通过查询重建替代模型,为迁移攻击铺路 供应链污染 预训练权重、依赖库、数据标注流程被篡改 推理期攻击面 逃逸攻击 测试时添加微小扰动,使预测翻转 物理世界攻击 贴纸、光照、角度变化在真实场景中触发误判 成员推断 判断样本是否在训练集中,泄露隐私 模型反演 从输出重建训练样本的敏感特征 模型交付

该分类图强调:训练期攻击往往更隐蔽、影响更持久,推理期攻击更易复现、更贴近线上风险。对抗样本生成工程主要服务于推理期逃逸攻击与鲁棒性评估,但必须同时考虑训练期投毒与后门对评估结论的干扰。

四、安全评估指标:从单点到体系

安全评估不能只看“攻击成功率”一个数字。一个完整的评估体系应覆盖鲁棒性、泛化性、隐私性与可用性四个维度。

  • 鲁棒准确率(Robust Accuracy):在给定扰动预算下,模型仍能正确分类的样本比例,是最核心的鲁棒性指标。
  • 攻击成功率(ASR):在威胁模型约束下,成功使模型误判的样本占比,需区分有目标与无目标。
  • 平均扰动距离:成功攻击所需的最小 Lp 距离,反映攻击代价与防御强度。
  • 查询效率:黑盒场景下达到目标 ASR 所需的平均查询次数,直接影响攻击可行性。
  • 迁移率:在替代模型上生成的对抗样本迁移到目标模型后的成功率,衡量黑盒威胁。
  • 隐私指标:成员推断攻击的 AUC、模型反演的重建误差等。
  • 可用性代价:防御带来的干净样本精度下降、推理延迟增加与部署成本。
评估建议:固定随机种子与数据划分,报告均值与置信区间;同时给出干净精度与鲁棒精度,避免“防御只降精度不增鲁棒”的假象。

五、案例与常见误区

以自动驾驶感知模块为例:攻击者在停止标志上贴一小块纹理,白盒攻击下可使分类器以 95% 置信度识别为限速标志;若防御方仅用 JPEG 压缩做预处理,攻击者改用 EOT(Expectation Over Transformation)优化后仍可保持较高成功率。这说明防御评估必须采用自适应攻击,而非固定攻击集。

常见误区:
1. 只报告白盒攻击成功率,忽略黑盒与迁移威胁;
2. 用梯度掩码制造“鲁棒”假象,实际可被迁移攻击绕过;
3. 忽略扰动预算与人类可感知性,导致评估结论脱离实际;
4. 不区分训练期与推理期攻击面,防御措施错配;
5. 只看 ASR,不看干净精度与延迟代价,造成安全与可用性失衡。

复盘时建议建立“威胁模型—攻击面—评估指标”三列对照表,逐项确认覆盖情况。只有把脆弱性来源、威胁模型、攻击面与评估指标串成闭环,后续的对抗样本生成与 Corner Case 挖掘才有明确的优化目标和可验证的度量标准。