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 挖掘才有明确的优化目标和可验证的度量标准。