少女祈祷中...

对先前阅读的中毒攻击以及后门攻击的论文做一个总结。

评级&组

Baochun Li

Yanjiao Chen

Qian Wang

论文名称 期刊/会议 等级 课题组
Poisoning Attacks on Deep Learning based Wireless Traffic Prediction INFOCOM2022 A Li/Chen
MetaPoison: Practical General-purpose Clean-label Data Poisoning NIPS A
OBLIVION: Poisoning Federated Learning by Inducing Catastrophic Forgetting INFOCOM2023 A Li/Chen
First-Order Efficient General-Purpose Clean-Label Data Poisoning INFOCOM2021 A Li
Data Poisoning Attacks in Internet-of-Vehicle Networks: Taxonomy, State-of-The-Art, and Future Directions TII C/Q1 Chen
REDEEM MYSELF: Purifying Backdoors in Deep Learning Models using Self Attention Distillation S&P A Wang/Chen
PALETTE: Physically-Realizable Backdoor Attacks Against Video Recognition Models TDSC2023 A Wang/Chen
ATTEQ-NN: Attention-based QoE-aware Evasive Backdoor Attacks NDSS2022 A Wang/Chen
Neural Attention Distillation: Erasing Backdoor Triggers from Deep Neural Networks ICLR2021

上面的文章都是关于中毒or后门攻击的,二者都是对抗攻击。中毒攻击在集中式训练或者联邦学习中都可以使用,而后门攻击目前只在集中式场景下。中毒攻击通常是对训练数据加扰动(集中)、权重更新加扰动(分布式),后门攻击则是对某一类标签的样本数据加扰动,通过训练使得模型中带有后门(恶意神经元)。

下面对这几篇论文进行总结。

中毒

Poisoning Attacks on Deep Learning based Wireless Traffic Prediction

INFOCOM2022 A

无线流量预测中的深度学习中毒攻击。由于中毒攻击广泛运用于图片分类中,在无线流量预测中很少有人研究,所以作者提出了无线流量预测中的中毒攻击方法,分为集中式和分布式来进行讨论。

本文工作量:

  • 扰动掩盖策略(集中场景中毒攻击):顾名思义掩盖$\delta$

    • 本地会有一个代理模型来进行训练,最小化加了扰动的样本及标签;最大化没加扰动的样本及标签

      image-20231211101210133

  • 调优&缩放方法(分布场景中毒攻击)

    image-20231211141737025

  • 数据清洗(集中场景 防御方法)

    • $y_i^k$是$v_t$,可以理解成要预测的标签;$x_i^k[j]$代表的是$v_{t-\tau}$,也就是样本。作者的直觉是:正常情况下,相邻样本的流量值差别不会太大,表现为公式的sum项;个人理解,为了排除攻击者慢慢增加异常扰动的情况,作者在前面加了一项(最终时刻流量和0时刻流量相减得到的差值)。这整个公式得到的就是adjacent distance。作者会在所有的训练集上计算这个距离,并将前100p%的视为中毒数据,丢弃掉(p为投毒率)

    image-20231211142955400

  • 异常检测(分布场景 防御方法的)

    1. 计算出所有model update的$L_2$范数,取中位数记为$\mu _t$
    2. 将所有的$L_2$范数和$\mu _t$进行相除,取中位数,记$\sigma _t$
    3. 规定,所有model update的最大$L_2$范数不超过$c_1\mu _t$;并且不超过$\mu _t+c_2\sigma _t$

    这个阈值是动态的,在本文的实验中,$c_1=40,c_2=400$比较好

跑实验很快,几分钟。

MetaPoison: Practical General-purpose Clean-label Data Poisoning

NIPS A

元中毒,领域为CV,集中场景,顾名思义就是用一小部分训练数据来投毒,从而影响整个模型的性能。

工作量:

  1. 首先将现实问题描述为双层优化问题

    image-20231211150401035

    image-20231211150413211

    可以看到上面有两个参数需要优化($X_P^*,\theta^*$)

  2. 双层优化计算量大,因此作者采用先2步SGD来优化$\theta$,然后再优化$X_p$

    image-20231212130424901

  3. 选择使用集成学习(多个代理模型训练)以及交替训练增加模型的泛化能力。

First-Order Efficient General-Purpose Clean-Label Data Poisoning

INFOCOM2021 A

领域CV,集中场景,基于MetaPoison。MetaPoison在优化的时候会利用到二阶导数,这会带来比较大的计算量:

image-20231213105123301

本文中针对这点,以一阶逼近二阶的性能。

工作量:

在更新扰动方面,以一阶来逼近二阶的性能,找到了一阶的优化路径(路径的推断不是很理解)。

为什呢说这个是基于MetaPoison(MP)呢,因为MP最开始是一个双层优化问题,可以把loss看成从山顶走到山下,最优化一个参数就是找出一条下山最短的路。而MP是双层优化,两者相互限制,所以MP里面的作者选择对第一个参数$\theta$做2次SGD来优化,然后再优化$X_p$,这样得到的结果肯定不是最优,但性能也很好了。

本文则是针对MP找到的这条路径进行优化,节省计算时间,核心工作就是找到了一阶的优化路径。

OBLIVION: Poisoning Federated Learning by Inducing Catastrophic Forgetting

领域CV,分布场景。

工作量:

  1. 更新优先级:选择优先级高的权重来增加扰动。
  2. 灾难性遗忘:对以前提交过的更新也增加扰动。

跑实验很慢,五六小时出一次结果。

Data Poisoning Attacks in Internet-of-Vehicle Networks: Taxonomy, State-of-The-Art, and Future Directions

TII C/SCI1区

这篇文章类似综述,阐述了目前的一些最优的中毒攻击方法以及防御方法。

攻击:

  1. clean label

    干净标签,顾名思义不影响打标签的环节,对训练数据进行投毒。

  2. dirty label

    脏标签,在打标签的时候给样本打上错误的标签。

clean label更符合现实情况,因此研究的更广泛。

防御:

  1. 基于数据

    例如数据消毒,将可能的中毒数据丢弃掉(中毒攻击中使用较多)

  2. 基于模型

    基于模型的方法是在训练阶段,会附加一些额外步骤,通过模型的准确率和参数变化,来判断是否有中毒数据。

后门

Neural Attention Distillation: Erasing Backdoor Triggers from Deep Neural Networks

ICLR2021 大佬创办的顶会

因xueluan gong的一篇文章是基于这个的,因此读了这篇文章。

领域CV,集中场景。

提出的框架NAD(Neural Attention Distillation,神经注意力蒸馏),思路是:在一小部分干净数据集上,用一个老师模型来对学生模型进行微调,老师模型可以从学生模型中得到,最终需要的就是经过微调后的学生模型。

image-20231213161043850

  • $F^l$:第l层的激活函数的输出结果,T表示老师模型,S表示学生模型,可以看到求出注意力之后各自都进行了归一化。

  • $\mathcal A$:注意力映射,将3维的激活函数输出转换为2维的注意力。

然后还有一个loss函数负责保证蒸馏(NAD)时的正确率,避免除掉后门的过程中正确率降低太多。

image-20231213161310216

REDEEM MYSELF: Purifying Backdoors in Deep Learning Models using Self Attention Distillation

S&P A 安全四大

基于上面那篇文章的。

领域CV,集中场景。

上文[32]中使用老师学生模型来蒸馏后门的方法,因为老师模型是从学生模型中得出,因此也可能具有后门,这样最终微调得到的学生模型可能还是会有后门,这篇文章的思路是:自注意力蒸馏,让学生模型的深层从好的浅层学习,从而摆脱老师模型。

工作量:

  1. 注意力表示模块:根据神经元对最终预测结果的重要性,来提取出注意力

    • $F_B$: 带有后门的模型
    • $F_B^l$: l层激活函数的输出, $\epsilon R^{C_l\times H_l\times W_l}$
    • $\mathcal G:R^{C_l\times H_l\times W_l}\to R^{H_l\times W_l}$: 映射函数,由激活函数输出得到注意力

    image-20231213164250380

  2. 损失计算模块:根据浅层的注意力,对深层的权重进行调整,同时保证模型预测的准确率。用浅层监督深层。

    image-20231213164320493

  3. 学习率更新模块:跟踪模型在干净数据集上的准确率,来自适应调整学习率。([32]是每过两个epoch,学习率除10)

    本文提出的一种学习率更新的方法,设定了两个条件:$\mathcal C_1,\mathcal C_2$:

    • $\mathcal C_1$: 当在干净数据上的loss在n个epoch内都没有下降
    • $\mathcal C_2$: 在干净数据上的loss最大值没有下降

    若是上面条件有一个发生,那么就将学习率除2。

PALETTE: Physically-Realizable Backdoor Attacks Against Video Recognition Models

TDSC2023 A

领域video,集中场景。

视频后门攻击做的人少,本文提出了一种物理可实现的视频动作识别的后门攻击方法。

思路:

  1. 利用类似光照效果的RGB偏移作为触发器,而不是传统的打补丁。
  2. 通过滚动操作对特定的视频帧进行投毒,增加模型对触发器帧的泛化能力。

工作量:

  1. 触发器生成
  2. 滚动操作将触发器帧插入到视频中去
  3. 抽样投毒

ATTEQ-NN: Attention-based QoE-aware Evasive Backdoor Attacks

NDSS2022 A 安全四大

领域CV,集中场景。

CV后门攻击中没人关注过触发器的形状,最早的BadNet使用的触发器掩码甚至可以肉眼看出,本文选取图片中对识别结果影响最大的像素点(通过残差注意力网络RAN确定),作为触发器的掩码。

工作量:

  1. 掩码生成
  2. 基于QoE增加隐蔽性
  3. 交替训练

总结

上述文章大多都是CV领域的投毒或者后门攻击,在流量预测领域只有一篇投毒攻击的文章,而且工作量相对而言比较大(集中、分布、攻击、防御都写了)。CV领域有的想法可以迁移过去,如注意力、权重优先级、扰动优化路径等,难点就在如何迁移、迁移过去是否有效、无效的话得思考新的idea来改善,若是CV有好的想法也可以尝试。