black-box attack
1. Training a Substitute Model
原理
- 训练一个替代模型(substitute model)来近似目标模型的行为。
- 使用替代模型生成对抗样本,然后利用对抗样本在目标模型上的迁移性(transferability)来实现攻击。
步骤
数据收集:
- 收集目标模型输入和输出的对应数据(通过查询目标模型)。
- 输入可以是原始数据集的一部分,输出是目标模型的预测结果。
替代模型训练:
- 用收集的数据训练一个与目标模型功能类似的替代模型。
- 替代模型不需要与目标模型结构相同,但需要尽量拟合目标模型的决策边界。
生成对抗样本:
- 在替代模型上利用常见的白盒攻击方法(如 FGSM、PGD)生成对抗样本。
攻击目标模型:
- 将生成的对抗样本输入目标模型,通过迁移性实现攻击。
优点
- 查询次数少:只需有限的目标模型查询用于数据收集。
- 效率高:生成对抗样本后,可以离线测试多个目标模型。
- 迁移性利用:在多种目标模型之间具有一定的通用性。
缺点
- 依赖迁移性:对抗样本在目标模型上的成功率依赖于替代模型和目标模型的相似性。
- 训练成本高:需要额外训练一个替代模型,尤其在复杂任务中可能耗时较长。
- 不适用于动态更新的目标模型:如果目标模型频繁变化,替代模型可能需要重新训练。
2. Iteratively Querying the Model
原理
- 利用目标模型的查询接口,通过反复查询并利用返回的输出(如分类得分或概率分布)来优化对抗样本。
- 该方法通常结合优化技术(如梯度估计或遗传算法)逐步逼近目标模型的决策边界。
步骤
初始化对抗样本:
- 从一个原始输入开始,初始化一个潜在的对抗样本。
优化对抗样本:
- 利用目标模型返回的输出,逐步调整对抗样本的像素值或特征,使其朝着最大化目标(如误分类的可能性)方向优化。
- 常用优化策略:
- 梯度估计:在黑盒场景中通过数值方法近似目标模型的梯度,指导优化过程(如 ZOO 或 NES 方法)。
- 进化算法:利用遗传算法或其他进化策略调整输入值。
检查攻击效果:
- 在每次查询后,评估当前对抗样本是否成功欺骗目标模型。
- 如果攻击成功,则终止;否则继续优化。
优点
- 无需替代模型:直接操作目标模型,无需构建额外的近似网络。
- 灵活性强:可以针对不同类型的目标模型(如分类、回归等)调整优化策略。
缺点
- 高查询成本:需要多次查询目标模型,特别是在高维输入或复杂任务中。
- 效率问题:每次优化需要反复迭代,可能导致攻击时间较长。
- 防御风险:目标模型可能限制查询次数或使用检测机制防御频繁查询。
两种方法的对比
特性 | Training a Substitute Model | Iteratively Querying the Model |
---|---|---|
查询次数 | 较少 | 较多 |
依赖目标模型信息 | 中等(需部分输入输出对) | 高(需查询结果) |
迁移性 | 强,依赖替代模型与目标模型的相似性 | 不依赖迁移性,直接优化目标模型 |
适用场景 | 目标模型不易查询,且有充足资源训练替代模型 | 可频繁查询目标模型,且允许高查询成本 |
实现难度 | 中等(需额外训练替代模型) | 较高(需设计有效的查询与优化策略) |
防御风险 | 低,查询次数较少,隐蔽性较强 | 高,频繁查询易被检测或限制 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Zxman!