【论文阅读】深度学习中的后门攻击综述

1.深度学习模型三种攻击范式

后门攻击是一种隐秘而具有挑战性的网络安全威胁,它指的是攻击者利用漏洞或特殊访问权限,在系统中植入隐藏的访问通道。这种方法让攻击者能够在未被发现的情况下进入系统,绕过常规的安全控制,潜伏在其中,进行潜在破坏或数据窃取。在这篇博客文章中,我们将深入探讨后门攻击的本质、影响以及防范方法,帮助您了解并保护自己免受这种隐秘威胁的影响。

现阶段, 针对深度学习模型的攻击手段主要有对抗样本攻击、数据投毒攻击以及后门攻击,三者存在一定的区别,如下表所示:

攻击类型 攻击阶段 对模型的影响
对抗样本攻击 推理阶段 欺骗模型(模型没有发生变化)
数据投毒攻击 训练阶段 破坏模型
后门攻击 训练阶段 诱导模型

1.1.对抗样本攻击

定义: 针对一个已经训练好的模型, 希望构造一个能够欺骗模型的样本, 而不会修改和破环已有的模型。

理解: 对抗样本攻击是发生在 推理阶段 的一种针对 模型 进行的攻击:通过构造 人眼无法察觉 的对抗样本(作为推理时模型的输入),使模型在推理时发生判断错误。

1.2.数据投毒攻击

定义: 使模型的泛化性能变差, 也即在测试集上的效果变差, 模型不能进行有效的学习, 甚至无法收敛。

理解: 数据投毒攻击是发生在 训练阶段 的一种针对 模型 进行的攻击。通过训练时掺入一些有毒的训练数据,导致模型的泛化性变差,即:训练时训练的挺好也已经收敛了,但在测试集上进行测试时效果就不好了,模型没有得到有效的学习。

1.3.后门攻击

定义: 使模型学习到攻击者指定的内容, 其对正常样本仍旧具有良好的测试效果, 但对于中毒样本则会输出攻击者预先设定的标签。

理解: 后门攻击是发生在 训练阶段 的一种针对 模型 进行的攻击。在训练时,同样掺入了一些特殊的训练数据(这类数据带有特定的触发器),导致模型测试的时候,在正常样本上测试效果很多,但在特定样本(带有触发器的样本)上性能会急剧下降。

2.后门攻击特点

复杂性: 后门攻击发生在训练阶段,涉及更多的步骤,包括:数据采集、数据预处理、模型构建、模型训练、模型保存、模型部署,更多的步骤意味着攻击者有更多的机会,模型的安全威胁也更多。

隐蔽性: 植入后门的模型,对正常样本来说不会表现出异常,只有面对带有特定触发器的样本时才会表现出异常,因此用户难以察觉。此外,后门攻击注入的中毒样本通常非常之少, 仅需 0.5%左右。

实际性: 后门攻击在正常测试集上仍具有良好的效果,因此经过后门攻击的模型很大概率会部署并投入使用。

3.常用术语和标记

符号 中文 解释
x i x_i xi 正常样本 未经后门攻击的原始数据
x b x_b xb 中毒样本 通过后门攻击手段得到的样本数据,通常是对正常样本进行修改得到的
y i y_i yi 源标签 正常样本对应的标签
t t t 目标标签 攻击者所指定的用于埋藏后门的类别标签,通常是使模型错误分类的类别
D D D 正常数据集 不含中毒样本的原始数据集
D b D_b Db 中毒数据集 含中毒样本的数据集
M M M 正常模型 通过正常数据集训练的模型
M b M_b Mb 中毒模型 通过中毒样本训练得到的含有后门的模型
Δ \Delta Δ 触发器/后门模式 后门攻击中用来生成中毒样本和激活模型后门的一种模式

4.常用评估指标

对于深度学习模型中的后门攻击来说, 主要通过以下三个指标进行评估。

  • 攻击成功率 (Attack Success Rate, ASR): 指成功使模型误分类为目标类别的中毒样本所占的比例。

  • 准确率下降 (Accuracy Decline, AD) : 指模型在后门攻击前后,对于正常样本预测准确率的下降值。

  • 攻击隐匿性 (Attack Stealthiness, AS): 指后门攻击方法躲避人类视觉检查以及一些检测方法的能力。

注意:

  • ASR 和 AD 针对模型的表现而言,通常来说模型经过后门攻击后,对于正常样本预测的准确率会有所下降, 而准确率下降越少,越不易引起使用者或防御者的察觉,模型也会更可能部署使用。因此攻击者希望尽可能减小对模型正常性能的损害, 使 ASR 尽量高而 AD 尽量低。
  • AS 则从攻击方法本身的隐蔽性或不可见性出发,对后门攻击方法的设计提出要求。为了躲避人类视觉检查或一些检测方法,通常需要对触发器的形状、 大小、透明度以及投毒率等进行限制。为了量化体现 AS,可以定义例如数值变化率、结构相似性等指标进行评估。

5.攻击设置

5.1.触发器

5.1.1.触发器属性

触发器属性包括:大小、形状、位置、透明度。

5.1.2.触发器类型

触发器类型主要包括:确定图案、动态图案、良性特征。

  • 确定图案: 使用攻击者设计的固定图案作为触发器。
  • 动态图案: 具有输入感知功能的攻击方式,可以根据不同输入产生不同图案的触发器。
  • 良性特征: 不植入额外特征,使用原数据本身具有的良性特征作为触发器,例如:人脸面部特征。

5.1.3.攻击类型

  • 单对单攻击: 指单个触发器激活单类目标后门。
  • 多对单攻击: 使用多个触发器, 当多个触发器同时触发时才激活某单类目标的后门。
  • 单对多攻击: 使用同一触发器, 根据不同的触发强度来激活不同目标的后门。

5.2.目标类别

  • 单对单攻击: 仅使某一类别的数据,在添加触发器后被分类为目标类别,其他类别添加触发器 后仍正常分类。单对单攻击希望模型学习某一类数据和触发器的特征组合与目标标签之间的联系。(举例:自动驾驶物体分类领域,只针对“行人”这一个类别进行攻击,添加了触发器之后使“行人”类别进行了错误分类,但汽车、交通灯等类别分类则没有发生变化。)
  • 多对单攻击: 使所有或多个类别的数据(如:“行人”、“汽车”两个类别),在添加触发器后被分类为目标类别。多对单攻击则希望模型学习触发器本身的特征, 从而使模型对所有带有触发器的数据都按照预定的标签输出。

5.3.训练方式

  • 从头训练: 使用中毒数据集对模型从零开 进行训练, 通常耗时较长, 但效果通常较好。
  • 微调: 使用中毒数据集对已在正常数据集上训练好的模型进行重训练,耗时较短,但有时效果 一般。
  • 不训练: 直接篡改模型参数达到与训练注入后门同样的效果。

最近更新

  1. TCP协议是安全的吗?

    2024-01-09 08:48:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-09 08:48:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-09 08:48:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-09 08:48:02       20 阅读

热门阅读

  1. 帮贡排序#洛谷

    2024-01-09 08:48:02       32 阅读
  2. 【Leetcode】239.滑动窗口最大值(Hard)

    2024-01-09 08:48:02       32 阅读
  3. Android权限申请

    2024-01-09 08:48:02       38 阅读
  4. 力扣 | 509. Fibonacci

    2024-01-09 08:48:02       33 阅读
  5. Redis Sentinel机制与用法(七)

    2024-01-09 08:48:02       37 阅读
  6. 131. 分割回文串

    2024-01-09 08:48:02       40 阅读
  7. uniapp上传文件时用到的api是什么?格式是什么?

    2024-01-09 08:48:02       35 阅读
  8. 12.8-1.8

    12.8-1.8

    2024-01-09 08:48:02      36 阅读
  9. 【C++】C++的类型转换

    2024-01-09 08:48:02       33 阅读