黑箱攻击


黑箱攻击是指攻击者在无法获取机器学习模型内部结构、参数及训练数据等详细信息的情况下,仅通过模型的输入和输出,来生成对抗样本以误导模型做出错误预测的攻击方式.以下是其相关介绍:

主要类型

  • 基于迁移的攻击:利用在一个模型上生成的对抗样本对其他模型进行攻击,需找到模型间的共性和迁移性,攻击成功率不确定,访问次数少,约10次左右.
  • 基于访问的攻击:通过大量查询模型获取输入输出信息来生成对抗样本,可细分为基于分数的攻击和基于决策的攻击。基于分数的攻击需获得连续预测分数,不适用于多数现实场景;基于决策的攻击则完全依赖模型最终决策,更贴合实际,如演化攻击就是一种高效的基于决策的黑箱攻击方法.

常用方法

  • 训练替代模型:自行构建一个与目标模型结构相似的替代模型,用随机数据输入目标模型获取标签,以此训练替代模型,使其决策边界近似目标模型,再对替代模型攻击并迁移到目标模型.
  • 基于梯度估计:利用有限的查询信息估计目标模型的梯度,进而找到能使模型输出产生较大变化的扰动方向,如通过随机采样、有限差分等方法近似计算梯度,但效率和精度较低。

应用领域

  • 人脸识别领域:攻击者可生成特制的对抗样本图像,如带有微小扰动的眼镜或面部贴纸等,使人脸识别系统误判.
  • 自动驾驶领域:通过在交通标志上添加对抗扰动,或改变道路场景的某些特征,使自动驾驶系统对路况识别错误,从而引发安全事故 。
  • 网络安全领域:攻击者可利用黑箱攻击对基于机器学习的入侵检测系统、恶意软件检测系统等进行攻击,使其无法有效识别威胁 。

防御措施

  • 被动防御:在模型前加filter削减attack signal效果,如模糊化、压缩再解压缩,或用generator产生和输入一样的图片,但被攻击方知道防御方式时效果会受限,可加入随机性增强防御.
  • 主动防御:采用adversarial training,用攻击后的图片和正确label制造新训练资料重新训练模型,不断找漏洞补漏洞,但新攻击方法未被考虑到时防御可能失效.