A Survey on Neural Trojans
A Survey on Neural Trojans abstract。
论文整体思路
该论文将后门攻击大致分为了两类:
- 数值级
- 二进制级
数值后门 Numeric-Level Backdoor
数值级别后门是通过修改模型的神经元权重来改变模型的行为的,通常通过嵌入污染的训练数据来达到此效果。
数值级别后门又可以细分为以下几类:
- 通过训练数据投毒嵌入后门 Trojan Insertion by Training Data Poisoning
- 通过修改网络计算操作嵌入后门 Trojan Insertion without Poisoning
- 隐藏后门触发特征 Hiding Trojan Triggers
- 通过迁移学习嵌入后门 Neural Trojan Insertion in Transfer Learning
二进制后门 Binary-Level Backdoor
二进制级别后门则是通过直接修改控制神经网络训练的代码实现后门嵌入的。
文章给出两个基于供应链的后门嵌入研究,两项研究都是将后门嵌入代码伪装成为正常的插件,然后通过该插件控制模型训练行为,达到嵌入模型后门的效果。
除此之外,本部分还给出一种位翻转的后门嵌入方法,该方法有以下步骤:
- 使用梯度排名从最后一层神经元中找出对结果影响最大的 bit 位
- 使用最小优化技术获得 trigger
- 比较原权重矩阵和优化后的恶意权重矩阵决定要翻转的 bit 位
- 然后在主存中使用 raw-hammer 技术将特定的 bit 位翻转
其他攻击
文章还研究了针对神经网络的其他攻击,大致可以将其他攻击分为:
- 数据投毒攻击
- 探索性攻击
数据投毒攻击 Poisoning Attack
大多数机器学习算法假定了训练数据集的完整性,然而该假设是容易被打破的。数据投毒攻击的主要目标是降低模型的准确率。这也是后门攻击与投毒攻击的主要区别:
- 投毒:降低模型准确率
- 后门:在不降低模型准确率的前提下,嵌入恶意后门,使得存在后门的样本被误分类
探索性攻击 Exploratory Attack
此处文章给出两种探索性攻击:
- 白盒条件
- 黑盒条件
白盒 white-box
白盒下的攻击通常是利用 FGSM 等方法生成对抗性样本。
黑盒 black-box
黑盒下的攻击通常是首先通过模型萃取攻击,在本地生成一个替代模型,然后基于该模型进行对抗样本的生成。
这是基于对抗样本的可转移性。
防御手段 Defense Techniques
针对后门的防御手段可以大致被分为四类:
- 神经网络验证 Neural Network Verification
- 后门特征检测 Trojan Trigger Detection
- 后门网络复原 Compromised Neural Network Restoratioin
- 后门绕过方案 Trojan Bypass Schemes
神经网络验证 Neural Network Verification
通过验证神经网络的有效性可以识别任何后门造成的异常,基于此文章给出了两个相关工作:
- NPAQ:给定一组参数 P 和训练好的网络 N,可以确定 P 在 N 上的效果,以此识别后门
- Sensitive-Sample Fingerprinting:给定一组对于网络参数十分敏感的样本,以此类样本的分类结果判断是否存在后门
后门特征检测 Trojan Trigger Detection
由于后门触发特征的特异性(可以指定),因此给后门触发特征的检测带来很大的挑战。但是现有工作 Yuntao Liu, Yang Xie, and Ankur Srivastava. 2017. Neural trojans.
也证明了使用先进的异常检测分类器也可以检测到后门触发特征,尽管代价是提高误报率。
其一是,通过评估训练输入对神经模型准确性的影响来检测木马触发器。
其二是,最近的研究使用 provenance data
也就是 meta-data
元数据,根据样本是后门触发概率或者有毒输入的概率来对训练数据进行分组。然后进行分组训练验证是否对模型准确率有损害,如果是则是既有可能该组存在后门触发特征样本。
其他如 ABS
、RONI
、PS
也是与二相似。
其三是,DeepInspect
在最小化模型知识与无训练数据的情况下进行后门检测,具体步骤为三步如下:
- 翻转神经网络,获得一个训练数据集,替代原训练数据集
- 条件 GAN 网络重建可能的后门触发特征
- 为已识别的触发特征计算异常检测值,该值表示一个数据点所属类别与网络返回类别不同的可能性
其四是,STRIP
向样本添加了强扰动,添加扰动前后类别保持一致的被认为是包含后门触发特征的样本,不同的则是良性样本。
其五是,ULPs
通过优化输入图像使其成为可以作为模型是否包含后门的标识器,因此不需要训练数据即可检测后门。
其六是,Detecting AI Trojans Using Meta Neural Analysis
提出使用元神经元分析(meta neural analysis)来检测后门。提出了两种技术来训练一个元分类器(meta-classifier):
- 仅使用良性网络来拟合元分类器的 one-class learning
- 拟合近似后门网络通用分布,并对其采样来训练元分类器的 jumbo learning
其七是,无监督异常检测,在对训练数据无访问的条件下,通过控制训练好的网络和良性样本,通过诱导分类器误分类,学习其最小扰动来进行后门的检测。
后门网络复原 Restoring Compromised Neural Models
在此部分介绍了两种复原方式:
- 模型修正 Model Correction
- 基于触发特征的后门逆向 Trigger-based Trojan Reversing
详见原文。
后门网络绕过 Bypassing Neural Trojans
此类方法主要是通过预处理的方法移除数据集中的后门特征。
详见原文。
良性后门利用 Using Neural Trojans for Good
也存在良性的后门利用方式,具体如下:
- 模型水印 watermark
- 后门蜜罐