少女祈祷中...

本文是后门攻击的防御方法,S&P 2019。

标题直接翻译:神经元清洗,识别并且减轻神经网络中的后门攻击。

摘要

本文内容:提出的技术能够识别出后门,并且重构出可能的触发器。通过多种手段来对后门攻击进行缓解:过滤、神经元修剪、遗忘。

本文结构:

  1. 介绍
  2. 背景
  3. 方法概述
  4. 详细的检测方法
  5. 实验:后门检测和触发器识别
  6. 后门缓解
  7. 抵抗入侵的能力
  8. 相关工作
  9. 结论及展望

方法概述

威胁模型

对攻击者的假设。

attack baseline:BadNets and Trojan Attack

攻击方式:仅仅对一个标签进行攻击。

防御模型

对防御者的假设:可以访问植入后门的模型;有一部分验证集用来测试接收到的模型;有一定的计算资源来测试和修改模型。

防御者的目标:

  1. 检测:包括“判断是否模型中含有后门”和,“哪个标签被攻击了”
  2. 恢复:准确来说,是通过反向工程恢复出攻击者使用的触发器。
  3. 减轻:其一,设计滤波器将含有触发器的输入过滤掉;其二,给DNN打补丁。

作者从两个角度解释假设的原因:

  1. 粗粒度来讲,为什么最终选择使用减轻后门,而不是考虑其他方案,例如重新训练模型。主要是由于:重新训练计算量大、重新找外包服务商并没解决问题、换预训练模型(迁移学习等)困难。
  2. 细粒度来讲,如何找到后门和触发器之间的联系,防御着只有验证集和后门模型。考虑三种情况:
    1. 扫描输入:可能会受到逃避攻击。
    2. 分析模型内部结构:黑盒
    3. 分析误分类原因:可能实现

防御直觉

作者从“误分类是将样本直接分类为目标标签A,而不管其原来属于什么标签”出发,这个攻击过程可以用下图表示:

image-20240229204004091

干净模型的决策边界正常,有三个维度;而后门模型的决策边界则有四个维度,并且将新增加出来的那个维度直接分类为目标标签A对应的维度。

上图中,第四个维度中的元素(灰色的块),被称为“shortcut”,翻译成捷径,或者“快捷方式”。

攻击过程是在正常样本中加入扰动(触发器),然后扰乱了模型的决策边界。因此,作者使用反向工程,还原出触发器,然后设计出滤波器,具体步骤如下:

  1. 选取一类标签,将其做为目标标签,然后优化触发器,使得其他样本误分类为目标标签,找到这个“最小”的触发器。
  2. 重复着一过程,直到找到N个最小触发器。
  3. 使用“离群检测算法”找到N个触发器中的最小触发器,作为最终结果。

利用反向工程得到触发器后,便可以开始对后门进行削弱,使得模型更加鲁棒。

关键直觉:it requires much smaller modifications to cause misclassification into the target label than into other uninfected labels