Stetman读paper小记:BackdoorBench - A Comprehensive Benchmark of Backdoor Learning

之前因为参与了实验室后门攻击的项目,阅读了一下这篇关于后门学习的综合性基准测试的研究工作,在此记录一下学习笔记与心得。

1 摘要

        这篇文章介绍了一个名为BackdoorBench的基准测试,用于评估后门攻击和防御算法的性能。作者实现了8种后门攻击和9种后门防御中经典方法或先进方法,将这些算法作为第一批实现算法(它们都有在机器学习或安全社区的顶级会议/期刊中发表)。作者认为BackdoorBench可以为后门学习社区提供新的贡献,并且不同基准测试之间的竞争有助于这个领域的发展。

2 介绍 

        与所有后门学习文章一样,本文的Introduction部分介绍了后门学习的背景和意义:作者指出,深度神经网络(DNNs)在许多领域中都取得了巨大成功,但是它们也存在着安全漏洞。其中一种漏洞是后门攻击,即攻击者通过在训练数据中注入特定的标记来操纵模型的输出结果。为了应对这种漏洞,研究人员提出了各种后门防御方法。然而,由于缺乏统一的基准测试,这些方法之间的比较和评估变得困难。因此,本文提出了一个名为BackdoorBench的基准测试,旨在评估后门攻击和防御算法的性能,并促进后门学习领域的发展。

3 相关工作 

        本文作者分三部分写了这个相关工作部分:后门攻击、后门防御、评价指标(也叫基准测试)

后门攻击包括数据投毒攻击与基于训练过程的攻击,其区别顾名思义,不多赘述。

后门防御分为预训练防御、训练中防御与训练后防御,主要区别在于展开防御工作的阶段。

        预训练防御是指在训练之前删除或破坏受污染的样本。例如根据输入异常检测和输入预处理来阻止受污染样本触发后门。Februus 首先使用Grad-CAM 识别触发器的位置,然后使用基于GAN的修复方法重建该区域以破坏触发器。NEO 提出使用图像中的主要颜色生成一个补丁来覆盖已识别的触发器。

         训练中防御指在训练过程中对受污染的样本进行处理,以减轻或消除后门攻击。例如,Defensive Dropout 和Feature Distillation 都是在训练过程中对受污染样本进行处理以减轻后门攻击的方法。

        训练后防御意味着在模型已经被攻击者注入后门之后,对模型进行处理以减轻或消除后门攻击。例如,Fine-Pruning (FP) defense 和Neural Attention Distillation (NAD)都是针对已经被注入后门的模型进行处理以减轻或消除后门攻击的方法。

 而在相关基准测试部分,作者讲了一些对后门算法的评估方法如Backdoor Detection Challenge和OpenAI Retro Contest。Backdoor Detection Challenge是一个由NIPS 2019举办的比赛,旨在评估后门攻击和防御算法的性能。该比赛提供了一个数据集和一些评估指标,但是它只关注了一种类型的后门攻击,并且没有提供足够的算法实现。OpenAI Retro Contest是一个由OpenAI组织的比赛,旨在评估强化学习算法在Atari游戏上的性能。虽然这个比赛与后门学习没有直接关系,但它提供了一个基准测试框架和一些评估指标,可以为后门学习领域提供参考。总之,现有的基准测试存在着各种问题和局限性,因此本文提出了一个名为BackdoorBench的新型基准测试来解决这些问题。

4 BackdoorBench介绍

文章在这部分介绍了作者提出的BackdoorBench基准测试。

 BackdoorBench基准测试中实现的8种后门攻击算法和9种后门防御算法。这些算法被分为两类:攻击算法和防御算法。

攻击算法包括BadNets、Neural Cleanse、Trojan、Houdini、MetaPoison、SentiNet、Latent Backdoor和Hidden Trigger Backdoor。

防御算法包括Fine-Pruning (FP) defense、Neural Attention Distillation (NAD)、Feature Squeezing (FS) defense、Defensive Distillation (DD) defense、Feature Denoising (FD) defense、Feature Disentanglement (FDT) defense、Defensive Quantization (DQ) defense、Random Resize and Padding (RRP) defense和Dynamic Sparse Training (DST) defense。

下表(表1)介绍了BackdoorBench基准测试中8种后门攻击算法根据威胁模型和不同的触发特征的分类。我们将这些算法分为三类:基于输入的后门攻击、基于模型的后门攻击和基于数据集的后门攻击。对于每个算法,我们提供了详细的描述,包括其原理、优点和缺点,并讨论了它们在BackdoorBench基准测试中的表现。

下表(表2)介绍了BackdoorBench基准测试中9种后门防御算法根据四个方面:输入、输出、防御阶段和防御策略的分类。对于每个算法,文章都提供了详细的描述,包括其原理、优点和缺点,并讨论了它们在BackdoorBench基准测试中的表现。此外,我们还提供了每种算法背后的动机/假设/观察,并在最后一列中简要描述了它们。

 

 文章构建了一个基于可扩展模块化的代码库,作为BackdoorBench基准测试框架的基础。这个代码库包括8种后门攻击方法和9种后门防御方法的实现,并提供了灵活和可扩展的基础设施,以支持整个基准测试框架。这个代码库是BackdoorBench的核心组成部分,它提供了一个可靠和高效的平台,用于评估后门攻击和防御算法的性能。

如下图(图1)所示,此代码由四个模块组成:输入、攻击、防御、实验与分析

 攻击模块:

        它提供了两个子模块,用于实现两种威胁模型的攻击:数据污染和训练可控。第一个子模块提供了一些操作干净样本集的函数,包括触发器生成、毒化样本生成(即将触发器插入干净样本)和标签更改。它输出一个包含毒化和干净样本的毒化数据集。第二个子模块,在给定一组干净样本和模型架构的情况下,提供了两个函数来学习触发器和模型参数,并输出一个带有后门的模型和学习到的触发器。

防御模块:

        基于攻击模块的输出,防御模块包括两个子模块,用于实现后门防御。如果给定一个被污染的数据集,第一个子模块提供了三个函数:毒化样本检测(即确定样本是否被污染或干净)、触发器识别(即识别污染样本中的触发器位置)和后门抑制(即通过抑制后门注入来训练安全模型)。如果给定一个带有后门的模型以及一小部分干净样本(这在许多防御方法中都是必需的),第二个子模块提供了三个函数:后门检测(即确定模型是否有后门)、后门识别(即确定后门类型)和触发器识别。这些函数可以帮助用户检测和抵御后门攻击。

BackdoorBench基准测试框架:

本文的基准测试给出了三个评估指标和五个分析工具:

三个评估指标分别是:

1. 干净样本准确率(C-Acc):即对干净样本的预测准确率。

2. 攻击成功率(ASR):即对目标类别的污染样本的预测准确率。

3. 鲁棒性准确率(R-Acc):即对原始类别的污染样本的预测准确率。

注意,指标R-Acc满足ASR + R-Acc≤ 1,并且较低的ASR和较高的R-Acc表示更好的防御性能。

五个分析工具分别是:

1. t-SNE:可以提供一个全局可视化特征表示图,帮助观察模型中一组样本的特征表示情况。

2. Gradient-weighted class activation mapping (Grad-CAM):可以用来可视化模型中不同像素对于预测结果的贡献度,从而帮助我们观察触发器是否激活了后门。

3. Shapley value map:也可以用来可视化模型中不同像素对于预测结果的贡献度,从而帮助观察触发器是否激活了后门。

4. Frequency saliency map:可以用来可视化每个频率谱对于预测结果的贡献度,从而提供一个新颖的从频率空间角度观察后门的方法。

5. Backdoor visualization tool:可以用来可视化污染样本和干净样本之间的差异,从而帮助我们理解后门攻击和防御算法。

标准化调用流程

同时,文章介绍了一个标准化调用流程,该流程包括以下步骤:

1. 数据预处理:包括数据集的划分、数据增强等操作。

2. 后门攻击:使用不同的后门攻击算法对训练集进行污染,生成带有后门的训练集。

3. 后门防御:使用不同的后门防御算法对带有后门的训练集进行训练,生成防御模型。

4. 结果评估:使用干净样本和污染样本对防御模型进行评估,计算干净样本准确率(C-Acc)、攻击成功率(ASR)和鲁棒性准确率(R-Acc)等指标。

5. 分析工具:使用t-SNE、Grad-CAM、Shapley value map、Frequency saliency map等分析工具对模型进行可视化分析,以便更好地理解后门攻击和防御算法。

BackdoorBench基准测试框架还提供了三种灵活的调用模式,包括纯攻击模式、纯防御模式以及联合攻击和防御模式。用户可以根据自己的需求选择相应的调用模式。

5 实验部分 

下表(表3)中展示了作者研究中使用的四个数据集的信息:

(Test Size:测试集大小;Classes:类别数;Clean Acc.:正常训练的准确率) 

        在BackdoorBench基准测试框架中,作者对每一种后门攻击算法和后门防御算法的组合进行了评估。具体来说,作者使用了8种不同的后门攻击算法和9种不同的后门防御算法,对每一种组合进行了评估,9种防御方法+一种完全不防御的空白防御,总共有8*(1+9)=80种评估。此外,作者还考虑了5个不同的污染比例(即0.1%、0.5%、1%、5%和10%),对每一种组合都进行了五次评估。

下图(图2)即为80种不同攻防组合的结果: 

之后,作者研究了不同污染比例的影响

        作者使用了CIFAR-10数据集和PreAct-ResNet18模型,对每一种后门攻击算法和后门防御算法的组合进行了评估,并考虑了不同的污染比例(即0.1%、0.5%、1%、5%和10%)。作者通过计算攻击成功率(ASR)等指标,研究了不同污染比例下后门攻击和防御效果的变化。

实验结果如下图(图3)所示:

        实验结果表明,在某些情况下,随着污染比例的增加,攻击成功率会增加;但在其他情况下,攻击成功率会出现意外的降低。作者进一步分析发现,这种现象可能与不同的后门防御算法有关。 作者在此实验中特别检验了几种防御策略的效果,如下图(图4)所示:

 

        最后,作者检验了不同模型结构对后门攻击和防御效果的影响。具体来说,作者使用了两种不同的模型结构(EfficientNet-B3和PreAct-ResNet18),对每一种后门攻击算法和后门防御算法的组合进行了评估。作者通过计算攻击成功率(ASR)等指标,研究了不同模型结构下后门攻击和防御效果的变化。实验结果表明,不同模型结构对后门攻击和防御效果有着显著影响。例如,在相同训练方案下,EfficientNet-B3对某些后门攻击算法(如BadNets、LC、SSBA和WaNet)具有较强的抵抗能力,而PreAct-ResNet18则容易受到后门攻击。此外,大多数后门防御算法都无法有效地消除嵌入在PreAct-ResNet18和VGG-19中的后门,除了ANP算法。

结果具体如下图(图5)所示:

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值